1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-01-12 02:28:11 +02:00

Miscellaneous improvements for Launcher UI:

- Implemented "show intro" toggle in settings
- Install/Update/Enable buttons are now visible even when mod info is hidden
- Fixed behaviour of show mod info switch, added more obvious button to enable it
- Removed no longer used "Enable mods on install" switch
- Added buttons to open data, user data and temporary directories
This commit is contained in:
Ivan Savenko 2014-08-04 14:03:57 +03:00
parent 42b349a594
commit 00cda400a1
8 changed files with 562 additions and 412 deletions

View File

@ -413,7 +413,7 @@ int main(int argc, char** argv)
if(!gNoGUI ) if(!gNoGUI )
{ {
if(!vm.count("battle") && !vm.count("nointro")) if(!vm.count("battle") && !vm.count("nointro") && settings["video"]["showIntro"].Bool())
playIntro(); playIntro();
SDL_FillRect(screen,nullptr,0); SDL_FillRect(screen,nullptr,0);
} }

View File

@ -49,7 +49,7 @@
"type" : "object", "type" : "object",
"additionalProperties" : false, "additionalProperties" : false,
"default": {}, "default": {},
"required" : [ "screenRes", "bitsPerPixel", "fullscreen", "spellbookAnimation","driver"], "required" : [ "screenRes", "bitsPerPixel", "fullscreen", "spellbookAnimation","driver", "showIntro" ],
"properties" : { "properties" : {
"screenRes" : { "screenRes" : {
"type" : "object", "type" : "object",
@ -69,6 +69,10 @@
"type" : "boolean", "type" : "boolean",
"default" : false "default" : false
}, },
"showIntro" : {
"type" : "boolean",
"default" : true
},
"spellbookAnimation" : { "spellbookAnimation" : {
"type" : "boolean", "type" : "boolean",
"default" : true "default" : true

View File

@ -69,8 +69,8 @@ CModListView::CModListView(QWidget *parent) :
ui->progressWidget->setVisible(false); ui->progressWidget->setVisible(false);
dlManager = nullptr; dlManager = nullptr;
disableModInfo();
loadRepositories(); loadRepositories();
hideModInfo();
} }
void CModListView::loadRepositories() void CModListView::loadRepositories()
@ -105,8 +105,10 @@ void CModListView::showEvent(QShowEvent * event)
void CModListView::showModInfo() void CModListView::showModInfo()
{ {
enableModInfo();
ui->modInfoWidget->show(); ui->modInfoWidget->show();
ui->hideModInfoButton->setArrowType(Qt::RightArrow); ui->hideModInfoButton->setArrowType(Qt::RightArrow);
ui->showInfoButton->setVisible(false);
loadScreenshots(); loadScreenshots();
} }
@ -114,6 +116,8 @@ void CModListView::hideModInfo()
{ {
ui->modInfoWidget->hide(); ui->modInfoWidget->hide();
ui->hideModInfoButton->setArrowType(Qt::LeftArrow); ui->hideModInfoButton->setArrowType(Qt::LeftArrow);
ui->hideModInfoButton->setEnabled(true);
ui->showInfoButton->setVisible(true);
} }
static QString replaceIfNotEmpty(QVariant value, QString pattern) static QString replaceIfNotEmpty(QVariant value, QString pattern)
@ -223,14 +227,21 @@ QString CModListView::genModInfoText(CModEntry &mod)
void CModListView::enableModInfo() void CModListView::enableModInfo()
{ {
showModInfo();
ui->hideModInfoButton->setEnabled(true); ui->hideModInfoButton->setEnabled(true);
ui->showInfoButton->setVisible(true);
} }
void CModListView::disableModInfo() void CModListView::disableModInfo()
{ {
hideModInfo(); hideModInfo();
ui->hideModInfoButton->setEnabled(false); ui->hideModInfoButton->setEnabled(false);
ui->showInfoButton->setVisible(false);
ui->disableButton->setVisible(false);
ui->enableButton->setVisible(false);
ui->installButton->setVisible(false);
ui->uninstallButton->setVisible(false);
ui->updateButton->setVisible(false);
} }
void CModListView::dataChanged(const QModelIndex & topleft, const QModelIndex & bottomRight) void CModListView::dataChanged(const QModelIndex & topleft, const QModelIndex & bottomRight)
@ -255,6 +266,8 @@ void CModListView::selectMod(const QModelIndex & index)
bool hasBlockingMods = !findBlockingMods(index.data(ModRoles::ModNameRole).toString()).empty(); bool hasBlockingMods = !findBlockingMods(index.data(ModRoles::ModNameRole).toString()).empty();
bool hasDependentMods = !findDependentMods(index.data(ModRoles::ModNameRole).toString(), true).empty(); bool hasDependentMods = !findDependentMods(index.data(ModRoles::ModNameRole).toString(), true).empty();
ui->hideModInfoButton->setEnabled(true);
ui->showInfoButton->setVisible(!ui->modInfoWidget->isVisible());
ui->disableButton->setVisible(mod.isEnabled()); ui->disableButton->setVisible(mod.isEnabled());
ui->enableButton->setVisible(mod.isDisabled()); ui->enableButton->setVisible(mod.isDisabled());
ui->installButton->setVisible(mod.isAvailable() && !mod.getName().contains('.')); ui->installButton->setVisible(mod.isAvailable() && !mod.getName().contains('.'));
@ -677,3 +690,8 @@ void CModListView::on_screenshotsList_clicked(const QModelIndex &index)
ImageViewer::showPixmap(pixmap, this); ImageViewer::showPixmap(pixmap, this);
} }
} }
void CModListView::on_showInfoButton_clicked()
{
showModInfo();
}

View File

@ -97,6 +97,8 @@ private slots:
void on_screenshotsList_clicked(const QModelIndex &index); void on_screenshotsList_clicked(const QModelIndex &index);
void on_showInfoButton_clicked();
private: private:
Ui::CModListView *ui; Ui::CModListView *ui;
}; };

View File

@ -26,6 +26,9 @@
<property name="bottomMargin"> <property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<property name="verticalSpacing">
<number>3</number>
</property>
<item row="0" column="0"> <item row="0" column="0">
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_2">
<property name="spacing"> <property name="spacing">
@ -166,7 +169,7 @@
<item row="0" column="2"> <item row="0" column="2">
<widget class="QWidget" name="modInfoWidget" native="true"> <widget class="QWidget" name="modInfoWidget" native="true">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred"> <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -202,147 +205,6 @@
<property name="bottomMargin"> <property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item row="1" column="4">
<widget class="QPushButton" name="uninstallButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>51</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Uninstall</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="disableButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>51</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Disable</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QPushButton" name="updateButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>51</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Update</string>
</property>
</widget>
</item>
<item row="1" column="0">
<spacer name="modButtonSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="5">
<widget class="QPushButton" name="installButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>51</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Install</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="enableButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>51</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Enable</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="6"> <item row="0" column="0" colspan="6">
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="currentIndex"> <property name="currentIndex">
@ -464,6 +326,179 @@ p, li { white-space: pre-wrap; }
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="2" column="0" colspan="3">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>6</number>
</property>
<item>
<widget class="QPushButton" name="showInfoButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>51</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Show details</string>
</property>
</widget>
</item>
<item>
<spacer name="modButtonSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="enableButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>51</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Enable</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="disableButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>51</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Disable</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="updateButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>51</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Update</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="uninstallButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>51</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Uninstall</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="installButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>51</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Install</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" colspan="3"> <item row="1" column="0" colspan="3">
<widget class="QWidget" name="progressWidget" native="true"> <widget class="QWidget" name="progressWidget" native="true">
<property name="enabled"> <property name="enabled">
@ -485,6 +520,12 @@ p, li { white-space: pre-wrap; }
<property name="leftMargin"> <property name="leftMargin">
<number>9</number> <number>9</number>
</property> </property>
<property name="topMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item> <item>
<widget class="QProgressBar" name="progressBar"> <widget class="QProgressBar" name="progressBar">
<property name="sizePolicy"> <property name="sizePolicy">
@ -533,11 +574,6 @@ p, li { white-space: pre-wrap; }
<tabstop>comboBox</tabstop> <tabstop>comboBox</tabstop>
<tabstop>allModsView</tabstop> <tabstop>allModsView</tabstop>
<tabstop>hideModInfoButton</tabstop> <tabstop>hideModInfoButton</tabstop>
<tabstop>enableButton</tabstop>
<tabstop>disableButton</tabstop>
<tabstop>updateButton</tabstop>
<tabstop>uninstallButton</tabstop>
<tabstop>installButton</tabstop>
</tabstops> </tabstops>
<resources/> <resources/>
<connections/> <connections/>

View File

@ -2,6 +2,8 @@
#include "csettingsview_moc.h" #include "csettingsview_moc.h"
#include "ui_csettingsview_moc.h" #include "ui_csettingsview_moc.h"
#include <QFileInfo>
#include "../../lib/CConfigHandler.h" #include "../../lib/CConfigHandler.h"
#include "../../lib/VCMIDirs.h" #include "../../lib/VCMIDirs.h"
@ -27,6 +29,7 @@ void CSettingsView::loadSettings()
ui->comboBoxResolution->setCurrentIndex(resIndex); ui->comboBoxResolution->setCurrentIndex(resIndex);
ui->comboBoxFullScreen->setCurrentIndex(settings["video"]["fullscreen"].Bool()); ui->comboBoxFullScreen->setCurrentIndex(settings["video"]["fullscreen"].Bool());
ui->comboBoxShowIntro->setCurrentIndex(settings["video"]["showIntro"].Bool());
int neutralAIIndex = ui->comboBoxNeutralAI->findText(QString::fromUtf8(settings["server"]["neutralAI"].String().c_str())); int neutralAIIndex = ui->comboBoxNeutralAI->findText(QString::fromUtf8(settings["server"]["neutralAI"].String().c_str()));
int playerAIIndex = ui->comboBoxPlayerAI->findText(QString::fromUtf8(settings["server"]["playerAI"].String().c_str())); int playerAIIndex = ui->comboBoxPlayerAI->findText(QString::fromUtf8(settings["server"]["playerAI"].String().c_str()));
@ -36,8 +39,6 @@ void CSettingsView::loadSettings()
ui->spinBoxNetworkPort->setValue(settings["server"]["port"].Float()); ui->spinBoxNetworkPort->setValue(settings["server"]["port"].Float());
ui->comboBoxEnableMods->setCurrentIndex(settings["launcher"]["enableInstalledMods"].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"];
@ -46,10 +47,8 @@ void CSettingsView::loadSettings()
ui->plainTextEditRepos->appendPlainText(QString::fromUtf8(entry.String().c_str())); ui->plainTextEditRepos->appendPlainText(QString::fromUtf8(entry.String().c_str()));
ui->lineEditUserDataDir->setText(QString::fromUtf8(VCMIDirs::get().userDataPath().c_str())); ui->lineEditUserDataDir->setText(QString::fromUtf8(VCMIDirs::get().userDataPath().c_str()));
QStringList dataDirs; ui->lineEditGameDir->setText(QString::fromUtf8(M_DATA_DIR));
for (auto string : VCMIDirs::get().dataPaths()) ui->lineEditTempDir->setText(QString::fromUtf8(VCMIDirs::get().userCachePath().c_str()));
dataDirs += QString::fromUtf8(string.c_str());
ui->lineEditGameDir->setText(dataDirs.join(':'));
std::string encoding = settings["general"]["encoding"].String(); std::string encoding = settings["general"]["encoding"].String();
size_t encodingIndex = boost::range::find(knownEncodingsList, encoding) - knownEncodingsList; size_t encodingIndex = boost::range::find(knownEncodingsList, encoding) - knownEncodingsList;
@ -98,12 +97,6 @@ void CSettingsView::on_comboBoxNeutralAI_currentIndexChanged(const QString &arg1
node->String() = arg1.toUtf8().data(); node->String() = arg1.toUtf8().data();
} }
void CSettingsView::on_comboBoxEnableMods_currentIndexChanged(int index)
{
Settings node = settings.write["launcher"]["enableInstalledMods"];
node->Bool() = index;
}
void CSettingsView::on_spinBoxNetworkPort_valueChanged(int arg1) void CSettingsView::on_spinBoxNetworkPort_valueChanged(int arg1)
{ {
Settings node = settings.write["server"]["port"]; Settings node = settings.write["server"]["port"];
@ -133,3 +126,29 @@ void CSettingsView::on_comboBoxEncoding_currentIndexChanged(int index)
Settings node = settings.write["general"]["encoding"]; Settings node = settings.write["general"]["encoding"];
node->String() = knownEncodingsList[index]; node->String() = knownEncodingsList[index];
} }
void CSettingsView::on_openTempDir_clicked()
{
QDesktopServices::openUrl(QUrl::fromLocalFile(QFileInfo(ui->lineEditTempDir->text()).absoluteFilePath()));
}
void CSettingsView::on_openUserDataDir_clicked()
{
QDesktopServices::openUrl(QUrl::fromLocalFile(QFileInfo(ui->lineEditUserDataDir->text()).absoluteFilePath()));
}
void CSettingsView::on_openGameDataDir_clicked()
{
QDesktopServices::openUrl(QUrl::fromLocalFile(QFileInfo(ui->lineEditGameDir->text()).absoluteFilePath()));
}
void CSettingsView::on_comboBoxShowIntro_currentIndexChanged(int index)
{
Settings node = settings.write["video"]["showIntro"];
node->Bool() = index;
}
void CSettingsView::on_changeGameDataDir_clicked()
{
}

View File

@ -23,14 +23,22 @@ private slots:
void on_comboBoxNeutralAI_currentIndexChanged(const QString &arg1); void on_comboBoxNeutralAI_currentIndexChanged(const QString &arg1);
void on_comboBoxEnableMods_currentIndexChanged(int index);
void on_spinBoxNetworkPort_valueChanged(int arg1); void on_spinBoxNetworkPort_valueChanged(int arg1);
void on_plainTextEditRepos_textChanged(); void on_plainTextEditRepos_textChanged();
void on_comboBoxEncoding_currentIndexChanged(int index); void on_comboBoxEncoding_currentIndexChanged(int index);
void on_openTempDir_clicked();
void on_openUserDataDir_clicked();
void on_openGameDataDir_clicked();
void on_comboBoxShowIntro_currentIndexChanged(int index);
void on_changeGameDataDir_clicked();
private: private:
Ui::CSettingsView *ui; Ui::CSettingsView *ui;
}; };

View File

@ -7,13 +7,68 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>700</width> <width>700</width>
<height>308</height> <height>420</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="5" column="3" colspan="4">
<widget class="QLabel" name="labelGeneral">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>General</string>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QLabel" name="labelUserDataDir">
<property name="text">
<string>User data directory</string>
</property>
</widget>
</item>
<item row="6" column="4" colspan="3">
<widget class="QSpinBox" name="spinBoxNetworkPort">
<property name="minimum">
<number>1024</number>
</property>
<property name="maximum">
<number>65535</number>
</property>
<property name="value">
<number>3030</number>
</property>
</widget>
</item>
<item row="1" column="5">
<widget class="QPushButton" name="changeGameDataDir">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Change</string>
</property>
</widget>
</item>
<item row="2" column="1"> <item row="2" column="1">
<widget class="QComboBox" name="comboBoxFullScreen"> <widget class="QComboBox" name="comboBoxFullScreen">
<property name="currentIndex"> <property name="currentIndex">
@ -31,112 +86,7 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="11" column="0" colspan="5"> <item row="5" column="0" colspan="2">
<widget class="QPlainTextEdit" name="plainTextEditRepos">
<property name="lineWrapMode">
<enum>QPlainTextEdit::NoWrap</enum>
</property>
<property name="plainText">
<string>http://downloads.vcmi.eu/Mods/repository.json</string>
</property>
</widget>
</item>
<item row="2" column="4">
<widget class="QLineEdit" name="lineEditUserDataDir">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>/home/user/.vcmi</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="labelPlayerAI">
<property name="text">
<string>Player AI</string>
</property>
</widget>
</item>
<item row="2" column="2">
<spacer name="spacerColumns">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>8</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="4">
<widget class="QLineEdit" name="lineEditGameDir">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>/usr/share/vcmi</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="7" column="3">
<widget class="QLabel" name="labelEnableMods">
<property name="text">
<string>Enable mods on install</string>
</property>
</widget>
</item>
<item row="5" column="4">
<widget class="QSpinBox" name="spinBoxNetworkPort">
<property name="minimum">
<number>1024</number>
</property>
<property name="maximum">
<number>65535</number>
</property>
<property name="value">
<number>3030</number>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QLabel" name="labelUserDataDir">
<property name="text">
<string>User data directory</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QLabel" name="labelGameDir">
<property name="text">
<string>Game directory</string>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2">
<widget class="QLabel" name="labelAISettings"> <widget class="QLabel" name="labelAISettings">
<property name="font"> <property name="font">
<font> <font>
@ -149,94 +99,17 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="8" column="0"> <item row="1" column="6">
<spacer name="spacerRepos"> <widget class="QPushButton" name="openGameDataDir">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>8</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0">
<widget class="QLabel" name="labelResolution">
<property name="text"> <property name="text">
<string>Resolution</string> <string>Open</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="0" colspan="2"> <item row="1" column="3">
<widget class="QLabel" name="labelVideo"> <widget class="QLabel" name="labelGameDir">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text"> <property name="text">
<string>Video</string> <string>Extra data directory</string>
</property>
</widget>
</item>
<item row="0" column="3" colspan="2">
<widget class="QLabel" name="labelDataDirs">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Data Directories (unchangeable)</string>
</property>
</widget>
</item>
<item row="9" column="0" colspan="2">
<widget class="QLabel" name="labelRepositories">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Repositories</string>
</property>
</widget>
</item>
<item row="4" column="3" colspan="2">
<widget class="QLabel" name="labelGeneral">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>General</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QComboBox" name="comboBoxPlayerAI">
<item>
<property name="text">
<string>VCAI</string>
</property>
</item>
</widget>
</item>
<item row="5" column="3">
<widget class="QLabel" name="labelNetworkPort">
<property name="text">
<string>Network port</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -299,39 +172,6 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="7" column="4">
<widget class="QComboBox" name="comboBoxEnableMods">
<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="3" column="0">
<spacer name="spacerSections">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>56</width>
<height>8</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QLabel" name="labelFullScreen"> <widget class="QLabel" name="labelFullScreen">
<property name="text"> <property name="text">
@ -339,7 +179,95 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="4"> <item row="11" column="0" colspan="7">
<widget class="QPlainTextEdit" name="plainTextEditRepos">
<property name="lineWrapMode">
<enum>QPlainTextEdit::NoWrap</enum>
</property>
<property name="plainText">
<string>http://downloads.vcmi.eu/Mods/repository.json</string>
</property>
</widget>
</item>
<item row="2" column="6">
<widget class="QPushButton" name="openUserDataDir">
<property name="text">
<string>Open</string>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QLineEdit" name="lineEditGameDir">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>/usr/share/vcmi</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QComboBox" name="comboBoxNeutralAI">
<item>
<property name="text">
<string>StupidAI</string>
</property>
</item>
<item>
<property name="text">
<string>BattleAI</string>
</property>
</item>
</widget>
</item>
<item row="3" column="6">
<widget class="QPushButton" name="openTempDir">
<property name="text">
<string>Open</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="labelResolution">
<property name="text">
<string>Resolution</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="labelNeutralAI">
<property name="text">
<string>Neutral AI</string>
</property>
</widget>
</item>
<item row="7" column="3">
<widget class="QLabel" name="labelEncoding">
<property name="text">
<string>Heroes III character set</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QComboBox" name="comboBoxPlayerAI">
<item>
<property name="text">
<string>VCAI</string>
</property>
</item>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="labelPlayerAI">
<property name="text">
<string>Player AI</string>
</property>
</widget>
</item>
<item row="7" column="4" colspan="3">
<widget class="QComboBox" name="comboBoxEncoding"> <widget class="QComboBox" name="comboBoxEncoding">
<item> <item>
<property name="text"> <property name="text">
@ -368,34 +296,169 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="6" column="1">
<widget class="QComboBox" name="comboBoxNeutralAI">
<item>
<property name="text">
<string>StupidAI</string>
</property>
</item>
<item>
<property name="text">
<string>BattleAI</string>
</property>
</item>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="labelNeutralAI">
<property name="text">
<string>Neutral AI</string>
</property>
</widget>
</item>
<item row="6" column="3"> <item row="6" column="3">
<widget class="QLabel" name="labelEncoding"> <widget class="QLabel" name="labelNetworkPort">
<property name="text"> <property name="text">
<string>Heroes III character set</string> <string>Network port</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="labelVideo">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Video</string>
</property>
</widget>
</item>
<item row="9" column="0" colspan="2">
<widget class="QLabel" name="labelRepositories">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Repositories</string>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QLabel" name="labelTempDir">
<property name="text">
<string>Log files directory</string>
</property>
</widget>
</item>
<item row="2" column="4" colspan="2">
<widget class="QLineEdit" name="lineEditUserDataDir">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>/home/user/.vcmi</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="4" colspan="2">
<widget class="QLineEdit" name="lineEditTempDir">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>/home/user/.vcmi</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="labelShowIntro">
<property name="text">
<string>Show intro</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="comboBoxShowIntro">
<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="4" column="0" colspan="2">
<spacer name="spacerSections">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>56</width>
<height>8</height>
</size>
</property>
</spacer>
</item>
<item row="8" column="0" colspan="2">
<spacer name="spacerRepos">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>8</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="3" colspan="4">
<widget class="QLabel" name="labelDataDirs">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Data Directories</string>
</property>
</widget>
</item>
<item row="1" column="2" rowspan="3">
<spacer name="spacerColumns">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>8</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>