1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-08-13 19:54:17 +02:00

Initial version of "About Project" tab

This commit is contained in:
Ivan Savenko
2023-06-30 15:24:43 +03:00
parent 26ee9c8ece
commit d90fb7eb3f
10 changed files with 747 additions and 431 deletions

View File

@@ -1,5 +1,6 @@
set(launcher_SRCS
StdInc.cpp
aboutProject/aboutproject_moc.cpp
modManager/cdownloadmanager_moc.cpp
modManager/cmodlist.cpp
modManager/cmodlistmodel_moc.cpp
@@ -21,6 +22,7 @@ set(launcher_SRCS
set(launcher_HEADERS
StdInc.h
aboutProject/aboutproject_moc.h
modManager/cdownloadmanager_moc.h
modManager/cmodlist.h
modManager/cmodlistmodel_moc.h
@@ -41,6 +43,7 @@ set(launcher_HEADERS
)
set(launcher_FORMS
aboutProject/aboutproject_moc.ui
modManager/cmodlistview_moc.ui
modManager/imageviewer_moc.ui
settingsView/csettingsview_moc.ui

View File

@@ -0,0 +1,64 @@
/*
* aboutproject_moc.cpp, part of VCMI engine
*
* Authors: listed in file AUTHORS in main folder
*
* License: GNU General Public License v2.0 or later
* Full text of license available in license.txt file, in main folder
*
*/
#include "StdInc.h"
#include "aboutproject_moc.h"
#include "ui_aboutproject_moc.h"
#include "../updatedialog_moc.h"
#include "../../lib/GameConstants.h"
#include "../../lib/VCMIDirs.h"
AboutProjectView::AboutProjectView(QWidget * parent)
: QWidget(parent)
, ui(new Ui::AboutProjectView)
{
ui->setupUi(this);
ui->lineEditUserDataDir->setText(pathToQString(VCMIDirs::get().userDataPath()));
ui->lineEditGameDir->setText(pathToQString(VCMIDirs::get().binaryPath()));
ui->lineEditTempDir->setText(pathToQString(VCMIDirs::get().userLogsPath()));
ui->lineEditBuildVersion->setText(QString::fromStdString(GameConstants::VCMI_VERSION));
}
void AboutProjectView::on_updatesButton_clicked()
{
UpdateDialog::showUpdateDialog(true);
}
void AboutProjectView::on_openGameDataDir_clicked()
{
QDesktopServices::openUrl(QUrl::fromLocalFile(QFileInfo(ui->lineEditGameDir->text()).absoluteFilePath()));
}
void AboutProjectView::on_openUserDataDir_clicked()
{
QDesktopServices::openUrl(QUrl::fromLocalFile(QFileInfo(ui->lineEditUserDataDir->text()).absoluteFilePath()));
}
void AboutProjectView::on_openTempDir_clicked()
{
QDesktopServices::openUrl(QUrl::fromLocalFile(QFileInfo(ui->lineEditTempDir->text()).absoluteFilePath()));
}
void AboutProjectView::on_pushButtonDiscord_clicked()
{
QDesktopServices::openUrl(QUrl("https://discord.gg/chBT42V"));
}
void AboutProjectView::on_pushButtonSlack_clicked()
{
QDesktopServices::openUrl(QUrl("https://slack.vcmi.eu/"));
}
void AboutProjectView::on_pushButtonGithub_clicked()
{
QDesktopServices::openUrl(QUrl("https://github.com/vcmi/vcmi"));
}

View File

@@ -0,0 +1,49 @@
/*
* aboutproject_moc.h, part of VCMI engine
*
* Authors: listed in file AUTHORS in main folder
*
* License: GNU General Public License v2.0 or later
* Full text of license available in license.txt file, in main folder
*
*/
#pragma once
#include "../StdInc.h"
namespace Ui
{
class AboutProjectView;
}
class CModListView;
class AboutProjectView : public QWidget
{
Q_OBJECT
public:
explicit AboutProjectView(QWidget * parent = 0);
public slots:
private slots:
void on_updatesButton_clicked();
void on_openGameDataDir_clicked();
void on_openUserDataDir_clicked();
void on_openTempDir_clicked();
void on_pushButtonDiscord_clicked();
void on_pushButtonSlack_clicked();
void on_pushButtonGithub_clicked();
private:
Ui::AboutProjectView * ui;
};

View File

@@ -0,0 +1,283 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>AboutProjectView</class>
<widget class="QWidget" name="AboutProjectView">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>745</width>
<height>389</height>
</rect>
</property>
<property name="windowTitle">
<string/>
</property>
<widget class="QPushButton" name="pushButtonSlack">
<property name="geometry">
<rect>
<x>150</x>
<y>300</y>
<width>229</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>VCMI on Slack</string>
</property>
</widget>
<widget class="QPushButton" name="pushButtonDiscord">
<property name="geometry">
<rect>
<x>160</x>
<y>270</y>
<width>229</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>VCMI on Discord</string>
</property>
</widget>
<widget class="QPushButton" name="pushButtonGithub">
<property name="geometry">
<rect>
<x>150</x>
<y>340</y>
<width>229</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>VCMI on Github</string>
</property>
</widget>
<widget class="QLabel" name="labelLanguageSocial">
<property name="geometry">
<rect>
<x>160</x>
<y>230</y>
<width>331</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Have a question? Found a bug? Want to help? Join us!</string>
</property>
</widget>
<widget class="QLabel" name="labelGameDir">
<property name="geometry">
<rect>
<x>97</x>
<y>112</y>
<width>277</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Game data directory</string>
</property>
</widget>
<widget class="QPushButton" name="openTempDir">
<property name="geometry">
<rect>
<x>597</x>
<y>170</y>
<width>92</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Open</string>
</property>
</widget>
<widget class="QLabel" name="labelTempDir">
<property name="geometry">
<rect>
<x>97</x>
<y>170</y>
<width>277</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Log files directory</string>
</property>
</widget>
<widget class="QPushButton" name="openUserDataDir">
<property name="geometry">
<rect>
<x>597</x>
<y>141</y>
<width>92</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Open</string>
</property>
</widget>
<widget class="QLineEdit" name="lineEditUserDataDir">
<property name="enabled">
<bool>false</bool>
</property>
<property name="geometry">
<rect>
<x>380</x>
<y>141</y>
<width>211</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string notr="true">/home/user/.vcmi</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
<widget class="QPushButton" name="openGameDataDir">
<property name="geometry">
<rect>
<x>597</x>
<y>112</y>
<width>92</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Open</string>
</property>
</widget>
<widget class="QLineEdit" name="lineEditGameDir">
<property name="enabled">
<bool>false</bool>
</property>
<property name="geometry">
<rect>
<x>380</x>
<y>112</y>
<width>211</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string notr="true">/usr/share/vcmi</string>
</property>
</widget>
<widget class="QLabel" name="labelUserDataDir">
<property name="geometry">
<rect>
<x>97</x>
<y>141</y>
<width>277</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>User data directory</string>
</property>
</widget>
<widget class="QLineEdit" name="lineEditTempDir">
<property name="enabled">
<bool>false</bool>
</property>
<property name="geometry">
<rect>
<x>380</x>
<y>170</y>
<width>211</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string notr="true">/home/user/.vcmi</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
<widget class="QLabel" name="labelDataDirs">
<property name="geometry">
<rect>
<x>110</x>
<y>90</y>
<width>277</width>
<height>15</height>
</rect>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Data Directories</string>
</property>
</widget>
<widget class="QLineEdit" name="lineEditBuildVersion">
<property name="geometry">
<rect>
<x>310</x>
<y>40</y>
<width>162</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string notr="true"/>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
<widget class="QLabel" name="labelBuildVersionDesc">
<property name="geometry">
<rect>
<x>130</x>
<y>40</y>
<width>151</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Build version</string>
</property>
</widget>
<widget class="QPushButton" name="updatesButton">
<property name="geometry">
<rect>
<x>540</x>
<y>60</y>
<width>151</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Check for updates</string>
</property>
</widget>
<widget class="QLabel" name="labelDataDirs_2">
<property name="geometry">
<rect>
<x>180</x>
<y>210</y>
<width>277</width>
<height>15</height>
</rect>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Our Community</string>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>

View File

@@ -54,6 +54,7 @@ void MainWindow::computeSidePanelSizes()
ui->modslistButton,
ui->settingsButton,
ui->lobbyButton,
ui->aboutButton,
ui->startEditorButton,
ui->startGameButton
};
@@ -231,6 +232,12 @@ void MainWindow::on_lobbyButton_clicked()
ui->tabListWidget->setCurrentIndex(TabRows::LOBBY);
}
void MainWindow::on_aboutButton_clicked()
{
ui->startGameButton->setEnabled(true);
ui->tabListWidget->setCurrentIndex(TabRows::ABOUT);
}
void MainWindow::updateTranslation()
{
#ifdef ENABLE_QT_TRANSLATIONS

View File

@@ -39,7 +39,8 @@ private:
MODS = 0,
SETTINGS = 1,
LOBBY = 2,
SETUP = 3
SETUP = 3,
ABOUT = 4,
};
void changeEvent(QEvent *event) override;
@@ -66,4 +67,5 @@ private slots:
void on_settingsButton_clicked();
void on_lobbyButton_clicked();
void on_startEditorButton_clicked();
void on_aboutButton_clicked();
};

View File

@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>490</height>
<width>900</width>
<height>536</height>
</rect>
</property>
<property name="sizePolicy">
@@ -196,6 +196,52 @@
</property>
</spacer>
</item>
<item>
<widget class="QToolButton" name="aboutButton">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>1</horstretch>
<verstretch>10</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>About</string>
</property>
<property name="iconSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>false</bool>
</property>
<property name="autoExclusive">
<bool>true</bool>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextUnderIcon</enum>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="startEditorButton">
<property name="sizePolicy">
@@ -322,6 +368,7 @@
<widget class="CSettingsView" name="settingsView"/>
<widget class="Lobby" name="lobbyView"/>
<widget class="FirstLaunchView" name="setupView"/>
<widget class="AboutProjectView" name="aboutView"/>
</widget>
</item>
</layout>
@@ -353,6 +400,12 @@
<header>firstLaunch/firstlaunch_moc.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>AboutProjectView</class>
<extends>QWidget</extends>
<header>aboutProject/aboutproject_moc.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>

View File

@@ -17,13 +17,11 @@
#include "../jsonutils.h"
#include "../languages.h"
#include "../launcherdirs.h"
#include "../updatedialog_moc.h"
#include <QFileInfo>
#include <QGuiApplication>
#include "../../lib/CConfigHandler.h"
#include "../../lib/VCMIDirs.h"
#ifndef VCMI_MOBILE
#include <SDL2/SDL.h>
@@ -101,10 +99,6 @@ void CSettingsView::loadSettings()
ui->checkBoxRepositoryDefault->setChecked(settings["launcher"]["defaultRepositoryEnabled"].Bool());
ui->checkBoxRepositoryExtra->setChecked(settings["launcher"]["extraRepositoryEnabled"].Bool());
ui->lineEditUserDataDir->setText(pathToQString(VCMIDirs::get().userDataPath()));
ui->lineEditGameDir->setText(pathToQString(VCMIDirs::get().binaryPath()));
ui->lineEditTempDir->setText(pathToQString(VCMIDirs::get().userLogsPath()));
ui->comboBoxAutoSave->setCurrentIndex(settings["general"]["saveFrequency"].Integer() > 0 ? 1 : 0);
Languages::fillLanguages(ui->comboBoxLanguage, false);
@@ -233,7 +227,6 @@ CSettingsView::CSettingsView(QWidget * parent)
{
ui->setupUi(this);
ui->lineEditBuildVersion->setText(QString::fromStdString(GameConstants::VCMI_VERSION));
loadSettings();
}
@@ -309,21 +302,6 @@ void CSettingsView::on_spinBoxNetworkPort_valueChanged(int arg1)
node->Float() = arg1;
}
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"];
@@ -336,11 +314,6 @@ void CSettingsView::on_comboBoxAutoSave_currentIndexChanged(int index)
node->Integer() = index;
}
void CSettingsView::on_updatesButton_clicked()
{
UpdateDialog::showUpdateDialog(true);
}
void CSettingsView::on_comboBoxLanguage_currentIndexChanged(int index)
{
Settings node = settings.write["general"]["language"];
@@ -380,7 +353,6 @@ void CSettingsView::on_listWidgetSettings_currentRowChanged(int currentRow)
ui->labelGeneral,
ui->labelVideo,
ui->labelArtificialIntelligence,
ui->labelDataDirs,
ui->labelRepositories
};

View File

@@ -40,14 +40,10 @@ private slots:
void on_comboBoxNeutralAI_currentTextChanged(const QString & arg1);
void on_comboBoxEnemyAI_currentTextChanged(const QString & arg1);
void on_spinBoxNetworkPort_valueChanged(int arg1);
void on_openTempDir_clicked();
void on_openUserDataDir_clicked();
void on_openGameDataDir_clicked();
void on_comboBoxShowIntro_currentIndexChanged(int index);
void on_comboBoxAutoCheck_currentIndexChanged(int index);
void on_comboBoxDisplayIndex_currentIndexChanged(int index);
void on_comboBoxAutoSave_currentIndexChanged(int index);
void on_updatesButton_clicked();
void on_comboBoxLanguage_currentIndexChanged(int index);
void on_comboBoxCursorType_currentIndexChanged(int index);
void on_listWidgetSettings_currentRowChanged(int currentRow);

View File

@@ -79,11 +79,6 @@
<string>Artificial Intelligence</string>
</property>
</item>
<item>
<property name="text">
<string>Data Directories</string>
</property>
</item>
<item>
<property name="text">
<string>Mod Repositories</string>
@@ -112,37 +107,57 @@
<property name="geometry">
<rect>
<x>0</x>
<y>-345</y>
<y>-301</y>
<width>610</width>
<height>786</height>
<height>649</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout" columnstretch="3,0,1,1,1">
<item row="22" column="0">
<widget class="QLabel" name="labelDataDirs">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<layout class="QGridLayout" name="gridLayout" columnstretch="3,0,0,0,0">
<item row="14" column="0">
<widget class="QLabel" name="labelCursorType">
<property name="text">
<string>Data Directories</string>
<string>Cursor</string>
</property>
</widget>
</item>
<item row="5" column="4">
<widget class="QPushButton" name="pushButtonTranslation">
<item row="10" column="0">
<widget class="QLabel" name="labelFullScreen">
<property name="text">
<string/>
<string>Fullscreen</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="labelLanguageBase">
<property name="text">
<string>Heroes III Data Language</string>
<item row="9" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxResolution"/>
</item>
<item row="6" column="1" colspan="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="22" column="1" colspan="2">
<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="1" column="0">
@@ -152,15 +167,8 @@
</property>
</widget>
</item>
<item row="25" column="0">
<widget class="QLabel" name="labelTempDir">
<property name="text">
<string>Log files directory</string>
</property>
</widget>
</item>
<item row="16" column="0">
<widget class="QLabel" name="labelArtificialIntelligence">
<item row="8" column="0">
<widget class="QLabel" name="labelVideo">
<property name="font">
<font>
<weight>75</weight>
@@ -168,35 +176,99 @@
</font>
</property>
<property name="text">
<string>Artificial Intelligence</string>
<string>Video</string>
</property>
</widget>
</item>
<item row="24" column="0">
<widget class="QLabel" name="labelUserDataDir">
<item row="6" column="0">
<widget class="QLabel" name="labelNetworkPort">
<property name="text">
<string>User data directory</string>
<string>Network port</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="labelTranslation">
<item row="9" column="0">
<widget class="QLabel" name="labelResolution">
<property name="text">
<string>Heroes III Translation</string>
<string>Resolution</string>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="labelBuildVersionDesc">
<item row="22" column="0">
<widget class="QLabel" name="labelAutoCheck">
<property name="text">
<string>Build version</string>
<string>Check on startup</string>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QLabel" name="labelInterfaceScaling">
<item row="23" column="1">
<widget class="QCheckBox" name="checkBoxRepositoryDefault">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Interface Scaling</string>
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="18" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxNeutralAI">
<property name="currentText">
<string notr="true">BattleAI</string>
</property>
<item>
<property name="text">
<string notr="true">BattleAI</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">StupidAI</string>
</property>
</item>
</widget>
</item>
<item row="5" column="4">
<widget class="QPushButton" name="pushButtonTranslation">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="17" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxAlliedPlayerAI">
<property name="currentText">
<string notr="true">VCAI</string>
</property>
<item>
<property name="text">
<string notr="true">VCAI</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Nullkiller</string>
</property>
</item>
</widget>
</item>
<item row="23" column="2" colspan="3">
<widget class="QLineEdit" name="lineEditRepositoryDefault">
<property name="text">
<string notr="true"/>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="labelLanguageBase">
<property name="text">
<string>Heroes III Data Language</string>
</property>
</widget>
</item>
@@ -217,237 +289,17 @@
</item>
</widget>
</item>
<item row="11" column="0">
<widget class="QLabel" name="labelFullScreen">
<property name="text">
<string>Fullscreen</string>
</property>
</widget>
</item>
<item row="0" column="0">
<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="19" column="0">
<widget class="QLabel" name="labelNeutralAI">
<property name="text">
<string>Neutral AI in battles</string>
</property>
</widget>
</item>
<item row="6" column="1" colspan="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="21" column="0">
<widget class="QLabel" name="labelEnemyAI">
<property name="text">
<string>Enemy AI in battles</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="labelAutoSave">
<property name="text">
<string>Autosave</string>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="labelResolution">
<property name="text">
<string>Resolution</string>
</property>
</widget>
</item>
<item row="5" column="1" colspan="3">
<widget class="QLabel" name="labelTranslationStatus">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="17" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxEnemyPlayerAI">
<property name="currentText">
<string notr="true">VCAI</string>
</property>
<item>
<property name="text">
<string notr="true">VCAI</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Nullkiller</string>
</property>
</item>
</widget>
</item>
<item row="8" column="1" colspan="4">
<widget class="QLineEdit" name="lineEditBuildVersion">
<item row="24" column="2" colspan="3">
<widget class="QLineEdit" name="lineEditRepositoryExtra">
<property name="text">
<string notr="true"/>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxLanguageBase"/>
</item>
<item row="19" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxNeutralAI">
<property name="currentText">
<string notr="true">BattleAI</string>
</property>
<item>
<property name="text">
<string notr="true">BattleAI</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">StupidAI</string>
</property>
</item>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="labelNetworkPort">
<property name="text">
<string>Network port</string>
</property>
</widget>
</item>
<item row="25" column="1" colspan="3">
<widget class="QLineEdit" name="lineEditTempDir">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string notr="true">/home/user/.vcmi</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="14" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxDisplayIndex"/>
</item>
<item row="29" column="0">
<widget class="QLabel" name="labelRepositoryExtra">
<property name="text">
<string>Additional repository</string>
</property>
</widget>
</item>
<item row="23" column="0">
<widget class="QLabel" name="labelGameDir">
<property name="text">
<string>Game data directory</string>
</property>
</widget>
</item>
<item row="13" column="0">
<widget class="QLabel" name="labelShowIntro">
<property name="text">
<string>Show intro</string>
</property>
</widget>
</item>
<item row="15" column="0">
<widget class="QLabel" name="labelCursorType">
<property name="text">
<string>Cursor</string>
</property>
</widget>
</item>
<item row="24" column="4">
<widget class="QPushButton" name="openUserDataDir">
<property name="text">
<string>Open</string>
</property>
</widget>
</item>
<item row="27" column="0">
<widget class="QLabel" name="labelAutoCheck">
<property name="text">
<string>Check on startup</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxLanguage"/>
</item>
<item row="24" column="1" colspan="3">
<widget class="QLineEdit" name="lineEditUserDataDir">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string notr="true">/home/user/.vcmi</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="18" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxAlliedPlayerAI">
<property name="currentText">
<string notr="true">VCAI</string>
</property>
<item>
<property name="text">
<string notr="true">VCAI</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Nullkiller</string>
</property>
</item>
</widget>
</item>
<item row="25" column="4">
<widget class="QPushButton" name="openTempDir">
<property name="text">
<string>Open</string>
</property>
</widget>
</item>
<item row="9" column="0">
<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="20" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxFriendlyAI">
<property name="editable">
<bool>false</bool>
@@ -467,14 +319,7 @@
</item>
</widget>
</item>
<item row="18" column="0">
<widget class="QLabel" name="labelAlliedPlayerAI">
<property name="text">
<string>Adventure Map Allies</string>
</property>
</widget>
</item>
<item row="13" column="1" colspan="4">
<item row="12" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxShowIntro">
<property name="currentIndex">
<number>1</number>
@@ -491,34 +336,21 @@
</item>
</widget>
</item>
<item row="21" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxEnemyAI">
<property name="editable">
<bool>false</bool>
<item row="24" column="0">
<widget class="QLabel" name="labelRepositoryExtra">
<property name="text">
<string>Additional repository</string>
</property>
<property name="currentText">
<string notr="true">BattleAI</string>
</property>
<item>
<property name="text">
<string notr="true">BattleAI</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">StupidAI</string>
</property>
</item>
</widget>
</item>
<item row="17" column="0">
<widget class="QLabel" name="labelEnemyPlayerAI">
<widget class="QLabel" name="labelAlliedPlayerAI">
<property name="text">
<string>Adventure Map Enemies</string>
<string>Adventure Map Allies</string>
</property>
</widget>
</item>
<item row="11" column="1" colspan="4">
<item row="10" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxFullScreen">
<property name="toolTip">
<string>Select display mode for game
@@ -549,24 +381,123 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
</item>
</widget>
</item>
<item row="23" column="4">
<widget class="QPushButton" name="openGameDataDir">
<property name="text">
<string>Open</string>
<item row="20" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxEnemyAI">
<property name="editable">
<bool>false</bool>
</property>
<property name="currentText">
<string notr="true">BattleAI</string>
</property>
<item>
<property name="text">
<string notr="true">BattleAI</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">StupidAI</string>
</property>
</item>
</widget>
</item>
<item row="11" column="1" colspan="4">
<widget class="QSpinBox" name="spinBoxInterfaceScaling">
<property name="minimum">
<number>50</number>
</property>
<property name="maximum">
<number>400</number>
</property>
<property name="singleStep">
<number>10</number>
</property>
</widget>
</item>
<item row="15" column="0">
<widget class="QLabel" name="labelArtificialIntelligence">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Artificial Intelligence</string>
</property>
</widget>
</item>
<item row="21" column="0">
<widget class="QLabel" name="labelRepositories">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Mod Repositories</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxLanguage"/>
</item>
<item row="24" column="1">
<widget class="QCheckBox" name="checkBoxRepositoryExtra">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<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="13" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxDisplayIndex"/>
</item>
<item row="20" column="0">
<widget class="QLabel" name="labelFriendlyAI">
<widget class="QLabel" name="labelEnemyAI">
<property name="text">
<string>Friendly AI in battles</string>
<string>Enemy AI in battles</string>
</property>
</widget>
</item>
<item row="10" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxResolution"/>
<item row="11" column="0">
<widget class="QLabel" name="labelInterfaceScaling">
<property name="text">
<string>Interface Scaling</string>
</property>
</widget>
</item>
<item row="15" column="1" colspan="4">
<item row="13" column="0">
<widget class="QLabel" name="labelDisplayIndex">
<property name="text">
<string>Display index</string>
</property>
</widget>
</item>
<item row="5" column="1" colspan="3">
<widget class="QLabel" name="labelTranslationStatus">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="14" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxCursorType">
<item>
<property name="text">
@@ -580,120 +511,76 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
</item>
</widget>
</item>
<item row="28" column="0">
<item row="18" column="0">
<widget class="QLabel" name="labelNeutralAI">
<property name="text">
<string>Neutral AI in battles</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="labelTranslation">
<property name="text">
<string>Heroes III Translation</string>
</property>
</widget>
</item>
<item row="19" column="0">
<widget class="QLabel" name="labelFriendlyAI">
<property name="text">
<string>Friendly AI in battles</string>
</property>
</widget>
</item>
<item row="22" column="3" colspan="2">
<widget class="QPushButton" name="refreshRepositoriesButton">
<property name="text">
<string>Refresh now</string>
</property>
</widget>
</item>
<item row="23" column="0">
<widget class="QLabel" name="labelRepositoryDefault">
<property name="text">
<string>Default repository</string>
</property>
</widget>
</item>
<item row="4" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxLanguageBase"/>
</item>
<item row="26" column="0">
<widget class="QLabel" name="labelRepositories">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<item row="7" column="0">
<widget class="QLabel" name="labelAutoSave">
<property name="text">
<string>Mod Repositories</string>
<string>Autosave</string>
</property>
</widget>
</item>
<item row="14" column="0">
<widget class="QLabel" name="labelDisplayIndex">
<property name="text">
<string>Display index</string>
</property>
</widget>
</item>
<item row="28" column="1">
<widget class="QCheckBox" name="checkBoxRepositoryDefault">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="29" column="2" colspan="3">
<widget class="QLineEdit" name="lineEditRepositoryExtra">
<property name="text">
<string notr="true"/>
</property>
</widget>
</item>
<item row="27" column="1" colspan="2">
<widget class="QComboBox" name="comboBoxAutoCheck">
<property name="currentIndex">
<number>1</number>
<item row="16" column="1" colspan="4">
<widget class="QComboBox" name="comboBoxEnemyPlayerAI">
<property name="currentText">
<string notr="true">VCAI</string>
</property>
<item>
<property name="text">
<string>Off</string>
<string notr="true">VCAI</string>
</property>
</item>
<item>
<property name="text">
<string>On</string>
<string notr="true">Nullkiller</string>
</property>
</item>
</widget>
</item>
<item row="27" column="3" colspan="2">
<widget class="QPushButton" name="updatesButton">
<item row="12" column="0">
<widget class="QLabel" name="labelShowIntro">
<property name="text">
<string>Update now</string>
<string>Show intro</string>
</property>
</widget>
</item>
<item row="28" column="2" colspan="3">
<widget class="QLineEdit" name="lineEditRepositoryDefault">
<item row="16" column="0">
<widget class="QLabel" name="labelEnemyPlayerAI">
<property name="text">
<string notr="true"/>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="29" column="1">
<widget class="QCheckBox" name="checkBoxRepositoryExtra">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="23" column="1" colspan="3">
<widget class="QLineEdit" name="lineEditGameDir">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string notr="true">/usr/share/vcmi</string>
</property>
</widget>
</item>
<item row="12" column="1" colspan="4">
<widget class="QSpinBox" name="spinBoxInterfaceScaling">
<property name="minimum">
<number>50</number>
</property>
<property name="maximum">
<number>400</number>
</property>
<property name="singleStep">
<number>10</number>
<string>Adventure Map Enemies</string>
</property>
</widget>
</item>