1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-10-08 23:22:25 +02:00

Launcher: add setting allowing not to automatically check remote repositories

- add a button to the launcher which allows manual downloading
 - add a configuration option autoCheckRepositories to launcher settings
 - add ui elements to settings dialog to change autoCheckRepositories
This commit is contained in:
josch
2014-11-03 16:47:37 +01:00
parent 229ef66699
commit b962e11bd7
7 changed files with 115 additions and 39 deletions

View File

@@ -242,7 +242,7 @@
"type" : "object", "type" : "object",
"default": {}, "default": {},
"additionalProperties" : false, "additionalProperties" : false,
"required" : [ "repositoryURL", "enableInstalledMods" ], "required" : [ "repositoryURL", "enableInstalledMods", "autoCheckRepositories" ],
"properties" : { "properties" : {
"repositoryURL" : { "repositoryURL" : {
"type" : "array", "type" : "array",
@@ -256,6 +256,10 @@
"enableInstalledMods" : { "enableInstalledMods" : {
"type" : "boolean", "type" : "boolean",
"default" : true "default" : true
},
"autoCheckRepositories" : {
"type" : "boolean",
"default" : true
} }
} }
} }

View File

@@ -70,7 +70,10 @@ CModListView::CModListView(QWidget *parent) :
ui->progressWidget->setVisible(false); ui->progressWidget->setVisible(false);
dlManager = nullptr; dlManager = nullptr;
disableModInfo(); disableModInfo();
if (settings["launcher"]["autoCheckRepositories"].Bool())
{
loadRepositories(); loadRepositories();
}
} }
void CModListView::loadRepositories() void CModListView::loadRepositories()
@@ -99,8 +102,11 @@ void CModListView::showEvent(QShowEvent * event)
if (repositoriesChanged) if (repositoriesChanged)
{ {
repositoriesChanged = false; repositoriesChanged = false;
if (settings["launcher"]["autoCheckRepositories"].Bool())
{
loadRepositories(); loadRepositories();
} }
}
} }
void CModListView::showModInfo() void CModListView::showModInfo()
@@ -620,6 +626,11 @@ void CModListView::installMods(QStringList archives)
checkManagerErrors(); checkManagerErrors();
} }
void CModListView::on_refreshButton_clicked()
{
loadRepositories();
}
void CModListView::on_pushButton_clicked() void CModListView::on_pushButton_clicked()
{ {
delete dlManager; delete dlManager;

View File

@@ -91,6 +91,8 @@ private slots:
void on_pushButton_clicked(); void on_pushButton_clicked();
void on_refreshButton_clicked();
void on_allModsView_activated(const QModelIndex &index); void on_allModsView_activated(const QModelIndex &index);
void on_tabWidget_currentChanged(int index); void on_tabWidget_currentChanged(int index);

View File

@@ -34,7 +34,7 @@
<property name="spacing"> <property name="spacing">
<number>6</number> <number>6</number>
</property> </property>
<item row="0" column="0"> <item row="0" column="1">
<widget class="QLineEdit" name="lineEdit"> <widget class="QLineEdit" name="lineEdit">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
@@ -62,7 +62,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="2">
<widget class="QComboBox" name="comboBox"> <widget class="QComboBox" name="comboBox">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
@@ -111,7 +111,20 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="1" column="0" colspan="2"> <item row="0" column="3">
<widget class="QPushButton" name="refreshButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Download &amp;&amp; refresh repositories</string>
</property>
</widget>
</item>
<item row="5" column="1" colspan="3">
<widget class="QTreeView" name="allModsView"> <widget class="QTreeView" name="allModsView">
<property name="selectionMode"> <property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum> <enum>QAbstractItemView::SingleSelection</enum>

View File

@@ -39,6 +39,7 @@ void CSettingsView::loadSettings()
ui->spinBoxNetworkPort->setValue(settings["server"]["port"].Float()); ui->spinBoxNetworkPort->setValue(settings["server"]["port"].Float());
ui->comboBoxAutoCheck->setCurrentIndex(settings["launcher"]["autoCheckRepositories"].Bool());
// all calls to plainText will trigger textChanged() signal overwriting config. Create backup before editing widget // all calls to plainText will trigger textChanged() signal overwriting config. Create backup before editing widget
JsonNode urls = settings["launcher"]["repositoryURL"]; JsonNode urls = settings["launcher"]["repositoryURL"];
@@ -85,6 +86,12 @@ void CSettingsView::on_comboBoxFullScreen_currentIndexChanged(int index)
node->Bool() = index; node->Bool() = index;
} }
void CSettingsView::on_comboBoxAutoCheck_currentIndexChanged(int index)
{
Settings node = settings.write["launcher"]["autoCheckRepositories"];
node->Bool() = index;
}
void CSettingsView::on_comboBoxPlayerAI_currentIndexChanged(const QString &arg1) void CSettingsView::on_comboBoxPlayerAI_currentIndexChanged(const QString &arg1)
{ {
Settings node = settings.write["server"]["playerAI"]; Settings node = settings.write["server"]["playerAI"];

View File

@@ -39,6 +39,8 @@ private slots:
void on_changeGameDataDir_clicked(); void on_changeGameDataDir_clicked();
void on_comboBoxAutoCheck_currentIndexChanged(int index);
private: private:
Ui::CSettingsView *ui; Ui::CSettingsView *ui;
}; };

View File

@@ -26,7 +26,20 @@
<property name="bottomMargin"> <property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item row="5" column="3" colspan="4"> <item row="9" column="1" colspan="4">
<widget class="QLabel" name="LauncherSettings">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Launcher Settings</string>
</property>
</widget>
</item>
<item row="5" column="6" colspan="4">
<widget class="QLabel" name="labelGeneral"> <widget class="QLabel" name="labelGeneral">
<property name="font"> <property name="font">
<font> <font>
@@ -39,14 +52,14 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="3"> <item row="2" column="6">
<widget class="QLabel" name="labelUserDataDir"> <widget class="QLabel" name="labelUserDataDir">
<property name="text"> <property name="text">
<string>User data directory</string> <string>User data directory</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="4" colspan="3"> <item row="6" column="7" colspan="3">
<widget class="QSpinBox" name="spinBoxNetworkPort"> <widget class="QSpinBox" name="spinBoxNetworkPort">
<property name="minimum"> <property name="minimum">
<number>1024</number> <number>1024</number>
@@ -59,7 +72,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="5"> <item row="1" column="8">
<widget class="QPushButton" name="changeGameDataDir"> <widget class="QPushButton" name="changeGameDataDir">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
@@ -69,7 +82,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="2" column="4">
<widget class="QComboBox" name="comboBoxFullScreen"> <widget class="QComboBox" name="comboBoxFullScreen">
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>0</number>
@@ -86,7 +99,7 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="5" column="0" colspan="2"> <item row="5" column="1" colspan="4">
<widget class="QLabel" name="labelAISettings"> <widget class="QLabel" name="labelAISettings">
<property name="font"> <property name="font">
<font> <font>
@@ -99,21 +112,21 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="6"> <item row="1" column="9">
<widget class="QPushButton" name="openGameDataDir"> <widget class="QPushButton" name="openGameDataDir">
<property name="text"> <property name="text">
<string>Open</string> <string>Open</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="3"> <item row="1" column="6">
<widget class="QLabel" name="labelGameDir"> <widget class="QLabel" name="labelGameDir">
<property name="text"> <property name="text">
<string>Extra data directory</string> <string>Extra data directory</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="1" column="4">
<widget class="QComboBox" name="comboBoxResolution"> <widget class="QComboBox" name="comboBoxResolution">
<item> <item>
<property name="text"> <property name="text">
@@ -172,14 +185,14 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="2" column="0"> <item row="2" column="1">
<widget class="QLabel" name="labelFullScreen"> <widget class="QLabel" name="labelFullScreen">
<property name="text"> <property name="text">
<string>Fullscreen</string> <string>Fullscreen</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="11" column="0" colspan="7"> <item row="13" column="1" colspan="9">
<widget class="QPlainTextEdit" name="plainTextEditRepos"> <widget class="QPlainTextEdit" name="plainTextEditRepos">
<property name="lineWrapMode"> <property name="lineWrapMode">
<enum>QPlainTextEdit::NoWrap</enum> <enum>QPlainTextEdit::NoWrap</enum>
@@ -189,14 +202,14 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="6"> <item row="2" column="9">
<widget class="QPushButton" name="openUserDataDir"> <widget class="QPushButton" name="openUserDataDir">
<property name="text"> <property name="text">
<string>Open</string> <string>Open</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="4"> <item row="1" column="7">
<widget class="QLineEdit" name="lineEditGameDir"> <widget class="QLineEdit" name="lineEditGameDir">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
@@ -209,7 +222,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="7" column="1"> <item row="7" column="4">
<widget class="QComboBox" name="comboBoxNeutralAI"> <widget class="QComboBox" name="comboBoxNeutralAI">
<item> <item>
<property name="text"> <property name="text">
@@ -223,35 +236,35 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="3" column="6"> <item row="3" column="9">
<widget class="QPushButton" name="openTempDir"> <widget class="QPushButton" name="openTempDir">
<property name="text"> <property name="text">
<string>Open</string> <string>Open</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item row="1" column="1">
<widget class="QLabel" name="labelResolution"> <widget class="QLabel" name="labelResolution">
<property name="text"> <property name="text">
<string>Resolution</string> <string>Resolution</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="7" column="0"> <item row="7" column="1">
<widget class="QLabel" name="labelNeutralAI"> <widget class="QLabel" name="labelNeutralAI">
<property name="text"> <property name="text">
<string>Neutral AI</string> <string>Neutral AI</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="7" column="3"> <item row="7" column="6">
<widget class="QLabel" name="labelEncoding"> <widget class="QLabel" name="labelEncoding">
<property name="text"> <property name="text">
<string>Heroes III character set</string> <string>Heroes III character set</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="1"> <item row="6" column="4">
<widget class="QComboBox" name="comboBoxPlayerAI"> <widget class="QComboBox" name="comboBoxPlayerAI">
<item> <item>
<property name="text"> <property name="text">
@@ -260,14 +273,14 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="6" column="0"> <item row="6" column="1">
<widget class="QLabel" name="labelPlayerAI"> <widget class="QLabel" name="labelPlayerAI">
<property name="text"> <property name="text">
<string>Player AI</string> <string>Player AI</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="7" column="4" colspan="3"> <item row="7" column="7" colspan="3">
<widget class="QComboBox" name="comboBoxEncoding"> <widget class="QComboBox" name="comboBoxEncoding">
<item> <item>
<property name="text"> <property name="text">
@@ -296,14 +309,14 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="6" column="3"> <item row="6" column="6">
<widget class="QLabel" name="labelNetworkPort"> <widget class="QLabel" name="labelNetworkPort">
<property name="text"> <property name="text">
<string>Network port</string> <string>Network port</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="0" colspan="2"> <item row="0" column="1" colspan="4">
<widget class="QLabel" name="labelVideo"> <widget class="QLabel" name="labelVideo">
<property name="font"> <property name="font">
<font> <font>
@@ -316,7 +329,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="9" column="0" colspan="2"> <item row="11" column="1" colspan="4">
<widget class="QLabel" name="labelRepositories"> <widget class="QLabel" name="labelRepositories">
<property name="font"> <property name="font">
<font> <font>
@@ -329,14 +342,14 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="3"> <item row="3" column="6">
<widget class="QLabel" name="labelTempDir"> <widget class="QLabel" name="labelTempDir">
<property name="text"> <property name="text">
<string>Log files directory</string> <string>Log files directory</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="4" colspan="2"> <item row="2" column="7" colspan="2">
<widget class="QLineEdit" name="lineEditUserDataDir"> <widget class="QLineEdit" name="lineEditUserDataDir">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
@@ -355,7 +368,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="4" colspan="2"> <item row="3" column="7" colspan="2">
<widget class="QLineEdit" name="lineEditTempDir"> <widget class="QLineEdit" name="lineEditTempDir">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
@@ -374,14 +387,14 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0"> <item row="3" column="1">
<widget class="QLabel" name="labelShowIntro"> <widget class="QLabel" name="labelShowIntro">
<property name="text"> <property name="text">
<string>Show intro</string> <string>Show intro</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="1"> <item row="3" column="4">
<widget class="QComboBox" name="comboBoxShowIntro"> <widget class="QComboBox" name="comboBoxShowIntro">
<property name="currentIndex"> <property name="currentIndex">
<number>1</number> <number>1</number>
@@ -398,7 +411,7 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="4" column="0" colspan="2"> <item row="4" column="1" colspan="4">
<spacer name="spacerSections"> <spacer name="spacerSections">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
@@ -414,7 +427,7 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="8" column="0" colspan="2"> <item row="8" column="1" colspan="4">
<spacer name="spacerRepos"> <spacer name="spacerRepos">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
@@ -430,7 +443,7 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="0" column="3" colspan="4"> <item row="0" column="6" colspan="4">
<widget class="QLabel" name="labelDataDirs"> <widget class="QLabel" name="labelDataDirs">
<property name="font"> <property name="font">
<font> <font>
@@ -443,7 +456,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="2" rowspan="3"> <item row="1" column="5" rowspan="3">
<spacer name="spacerColumns"> <spacer name="spacerColumns">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@@ -459,6 +472,30 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="10" column="6">
<widget class="QComboBox" name="comboBoxAutoCheck">
<property name="currentIndex">
<number>1</number>
</property>
<item>
<property name="text">
<string>Off</string>
</property>
</item>
<item>
<property name="text">
<string>On</string>
</property>
</item>
</widget>
</item>
<item row="10" column="1" colspan="4">
<widget class="QLabel" name="labelAutoCheck">
<property name="text">
<string>Check repositories on startup</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>