aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--aoapplication.cpp6
-rw-r--r--aooptionsdialog.cpp20
-rw-r--r--aooptionsdialog.h3
-rw-r--r--networkmanager.cpp4
-rw-r--r--networkmanager.h4
5 files changed, 32 insertions, 5 deletions
diff --git a/aoapplication.cpp b/aoapplication.cpp
index 0133765a..43af15f7 100644
--- a/aoapplication.cpp
+++ b/aoapplication.cpp
@@ -13,13 +13,13 @@
AOApplication::AOApplication(int &argc, char **argv) : QApplication(argc, argv)
{
+ // Create the QSettings class that points to the config.ini.
+ configini = new QSettings(get_base_path() + "config.ini", QSettings::IniFormat);
+
net_manager = new NetworkManager(this);
discord = new AttorneyOnline::Discord();
QObject::connect(net_manager, SIGNAL(ms_connect_finished(bool, bool)),
SLOT(ms_connect_finished(bool, bool)));
-
- // Create the QSettings class that points to the config.ini.
- configini = new QSettings(get_base_path() + "config.ini", QSettings::IniFormat);
}
AOApplication::~AOApplication()
diff --git a/aooptionsdialog.cpp b/aooptionsdialog.cpp
index 6f325bb3..60d8a96a 100644
--- a/aooptionsdialog.cpp
+++ b/aooptionsdialog.cpp
@@ -145,6 +145,24 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) : QDi
GameplayForm->setWidget(6, QFormLayout::FieldRole, ShownameCheckbox);
+ NetDivider = new QFrame(formLayoutWidget);
+ NetDivider->setFrameShape(QFrame::HLine);
+ NetDivider->setFrameShadow(QFrame::Sunken);
+
+ GameplayForm->setWidget(7, QFormLayout::FieldRole, NetDivider);
+
+ MasterServerLabel = new QLabel(formLayoutWidget);
+ MasterServerLabel->setText("Backup MS:");
+ MasterServerLabel->setToolTip("After the built-in server lookups fail, the game will try the address given here and use it as a backup masterserver address.");
+
+ GameplayForm->setWidget(8, QFormLayout::LabelRole, MasterServerLabel);
+
+ QSettings* configini = ao_app->configini;
+ MasterServerLineEdit = new QLineEdit(formLayoutWidget);
+ MasterServerLineEdit->setText(configini->value("master", "").value<QString>());
+
+ GameplayForm->setWidget(8, QFormLayout::FieldRole, MasterServerLineEdit);
+
// Here we start the callwords tab.
CallwordsTab = new QWidget();
SettingsTabs->addTab(CallwordsTab, "Callwords");
@@ -298,6 +316,7 @@ void AOOptionsDialog::save_pressed()
configini->setValue("log_maximum", LengthSpinbox->value());
configini->setValue("default_username", UsernameLineEdit->text());
configini->setValue("show_custom_shownames", ShownameCheckbox->isChecked());
+ configini->setValue("master", MasterServerLineEdit->text());
QFile* callwordsini = new QFile(ao_app->get_base_path() + "callwords.ini");
@@ -319,6 +338,7 @@ void AOOptionsDialog::save_pressed()
configini->setValue("blip_rate", BlipRateSpinbox->value());
configini->setValue("blank_blip", BlankBlipsCheckbox->isChecked());
+ callwordsini->close();
done(0);
}
diff --git a/aooptionsdialog.h b/aooptionsdialog.h
index 55dda9b0..cc345ca8 100644
--- a/aooptionsdialog.h
+++ b/aooptionsdialog.h
@@ -46,6 +46,9 @@ private:
QLabel *UsernameLabel;
QLabel *ShownameLabel;
QCheckBox *ShownameCheckbox;
+ QFrame *NetDivider;
+ QLabel *MasterServerLabel;
+ QLineEdit *MasterServerLineEdit;
QWidget *CallwordsTab;
QWidget *verticalLayoutWidget;
QVBoxLayout *CallwordsLayout;
diff --git a/networkmanager.cpp b/networkmanager.cpp
index 8c0eaa7a..ea0d811c 100644
--- a/networkmanager.cpp
+++ b/networkmanager.cpp
@@ -19,6 +19,10 @@ NetworkManager::NetworkManager(AOApplication *parent) : QObject(parent)
QObject::connect(ms_socket, SIGNAL(readyRead()), this, SLOT(handle_ms_packet()));
QObject::connect(server_socket, SIGNAL(readyRead()), this, SLOT(handle_server_packet()));
QObject::connect(server_socket, SIGNAL(disconnected()), ao_app, SLOT(server_disconnected()));
+
+ QString master_config = ao_app->configini->value("master", "").value<QString>();
+ if (master_config != "")
+ ms_nosrv_hostname = master_config;
}
NetworkManager::~NetworkManager()
diff --git a/networkmanager.h b/networkmanager.h
index 32aef733..6954d19e 100644
--- a/networkmanager.h
+++ b/networkmanager.h
@@ -38,9 +38,9 @@ public:
const QString ms_srv_hostname = "_aoms._tcp.aceattorneyonline.com";
#ifdef LOCAL_MS
- const QString ms_nosrv_hostname = "localhost";
+ QString ms_nosrv_hostname = "localhost";
#else
- const QString ms_nosrv_hostname = "master.aceattorneyonline.com";
+ QString ms_nosrv_hostname = "master.aceattorneyonline.com";
#endif
const int ms_port = 27016;