diff --git a/cockatrice/src/dlg_connect.cpp b/cockatrice/src/dlg_connect.cpp index 7de8c3eb..2a39b4e1 100644 --- a/cockatrice/src/dlg_connect.cpp +++ b/cockatrice/src/dlg_connect.cpp @@ -161,21 +161,6 @@ DlgConnect::DlgConnect(QWidget *parent) : QDialog(parent) DlgConnect::~DlgConnect() = default; -void DlgConnect::actSaveConfig() -{ - bool updateSuccess = settingsCache->servers().updateExistingServer( - saveEdit->text().trimmed(), hostEdit->text().trimmed(), portEdit->text().trimmed(), - playernameEdit->text().trimmed(), passwordEdit->text(), savePasswordCheckBox->isChecked()); - - if (!updateSuccess) { - settingsCache->servers().addNewServer(saveEdit->text().trimmed(), hostEdit->text().trimmed(), - portEdit->text().trimmed(), playernameEdit->text().trimmed(), - passwordEdit->text(), savePasswordCheckBox->isChecked()); - } - - preRebuildComboBoxList(); -} - void DlgConnect::downloadThePublicServers() { btnRefreshServers->setDisabled(true); @@ -205,21 +190,19 @@ void DlgConnect::rebuildComboBoxList(int failure) UserConnection_Information uci; savedHostList = uci.getServerInfo(); - int i = 0; - for (auto pair : savedHostList) { + for (const auto &pair : savedHostList) { auto tmp = pair.second; QString saveName = tmp.getSaveName(); if (saveName.size()) { previousHosts->addItem(saveName); - - if (settingsCache->servers().getPrevioushostName() == saveName) { - previousHosts->setCurrentIndex(i); - } - - i++; } } + // On rebuild, set to RR + if (previousHosts->count() >= 2) { + previousHosts->setCurrentIndex(1); + } + btnRefreshServers->setDisabled(false); } diff --git a/cockatrice/src/dlg_connect.h b/cockatrice/src/dlg_connect.h index 31fe4e2b..179f6f3d 100644 --- a/cockatrice/src/dlg_connect.h +++ b/cockatrice/src/dlg_connect.h @@ -52,7 +52,7 @@ public slots: private slots: void actOk(); - void actSaveConfig(); + void passwordSaved(int state); void previousHostSelected(bool state); void newHostSelected(bool state); @@ -62,9 +62,9 @@ private slots: void rebuildComboBoxList(int failure = -1); private: - QGridLayout *newHostLayout, *connectionLayout, *loginLayout, *serverInfoLayout, *grid; + QGridLayout *connectionLayout, *loginLayout, *serverInfoLayout, *grid; QHBoxLayout *newHolderLayout; - QGroupBox *loginGroupBox, *serverInfoGroupBox, *btnGroupBox, *restrictionsGroupBox; + QGroupBox *loginGroupBox, *serverInfoGroupBox, *restrictionsGroupBox; QVBoxLayout *mainLayout; QLabel *hostLabel, *portLabel, *playernameLabel, *passwordLabel, *saveLabel, *serverIssuesLabel, *serverContactLabel, *serverContactLink; diff --git a/cockatrice/src/handle_public_servers.cpp b/cockatrice/src/handle_public_servers.cpp index c1308802..917fb5d6 100644 --- a/cockatrice/src/handle_public_servers.cpp +++ b/cockatrice/src/handle_public_servers.cpp @@ -87,7 +87,7 @@ void HandlePublicServers::updateServerINISettings(QMap jsonMa if (serverFound) { settingsCache->servers().updateExistingServerWithoutLoss(serverName, serverAddress, serverPort, serverSite); } else { - settingsCache->servers().addNewServer(serverName, serverAddress, serverPort, "", "", false); + settingsCache->servers().addNewServer(serverName, serverAddress, serverPort, "", "", false, serverSite); } }