diff --git a/code/ryzom/tools/client/ryzom_installer/src/mainwindow.cpp b/code/ryzom/tools/client/ryzom_installer/src/mainwindow.cpp index bcb7cad68..a69426ffa 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/mainwindow.cpp +++ b/code/ryzom/tools/client/ryzom_installer/src/mainwindow.cpp @@ -41,6 +41,7 @@ CMainWindow::CMainWindow():QMainWindow() connect(m_downloader, SIGNAL(htmlPageContent(QString)), SLOT(onHtmlPageContent(QString))); connect(actionProfiles, SIGNAL(triggered()), SLOT(onProfiles())); + connect(actionSettings, SIGNAL(triggered()), SLOT(onSettings())); connect(actionUninstall, SIGNAL(triggered()), SLOT(onUninstall())); connect(actionQuit, SIGNAL(triggered()), SLOT(onQuit())); @@ -161,6 +162,32 @@ void CMainWindow::onProfiles() } } +void CMainWindow::onSettings() +{ + bool updated = false; + + { + CSettingsDialog dialog(this); + + if (dialog.exec()) + { + updated = true; + } + } + + if (updated) + { +// COperationDialog dialog(this); + +// dialog.setOperation(COperationDialog::OperationUpdateProfiles); + +// if (!dialog.exec()) +// { + // aborted +// } + } +} + void CMainWindow::onUninstall() { CConfigFile *config = CConfigFile::getInstance(); diff --git a/code/ryzom/tools/client/ryzom_installer/src/mainwindow.h b/code/ryzom/tools/client/ryzom_installer/src/mainwindow.h index e52d47cb1..aca37c3f3 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/mainwindow.h +++ b/code/ryzom/tools/client/ryzom_installer/src/mainwindow.h @@ -42,6 +42,7 @@ public slots: void onConfigureClicked(); void onProfiles(); + void onSettings(); void onUninstall(); void onQuit(); diff --git a/code/ryzom/tools/client/ryzom_installer/src/settingsdialog.cpp b/code/ryzom/tools/client/ryzom_installer/src/settingsdialog.cpp index a919bc2c7..7ffe515f5 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/settingsdialog.cpp +++ b/code/ryzom/tools/client/ryzom_installer/src/settingsdialog.cpp @@ -16,14 +16,31 @@ #include "stdpch.h" #include "settingsdialog.h" +#include "configfile.h" #ifdef DEBUG_NEW #define new DEBUG_NEW #endif -CSettingsDialog::CSettingsDialog():QDialog() +CSettingsDialog::CSettingsDialog(QWidget *parent):QDialog(parent) { setupUi(this); + + CConfigFile *config = CConfigFile::getInstance(); + + // only 64 bits OS can switch between 32 and 64 bits + use64bitsClientsCheckBox->setEnabled(config->has64bitsOS()); + + // read value from config + use64bitsClientsCheckBox->setChecked(config->use64BitsClient()); + + connect(installationDirectoryButton, SIGNAL(clicked()), SLOT(onInstallationDirectoryButtonClicked())); + + // resize layout depending on content and constraints + adjustSize(); + + // fix height because to left bitmap + setFixedHeight(height()); } CSettingsDialog::~CSettingsDialog() @@ -36,3 +53,14 @@ void CSettingsDialog::accept() QDialog::accept(); } + +void CSettingsDialog::onInstallationDirectoryButtonClicked() +{ + QString directory = QFileDialog::getExistingDirectory(this, tr("Please choose directory where to install Ryzom")); + + if (directory.isEmpty()) return; + +// m_dstDirectory = directory; + +// updateDestinationText(); +} diff --git a/code/ryzom/tools/client/ryzom_installer/src/settingsdialog.h b/code/ryzom/tools/client/ryzom_installer/src/settingsdialog.h index 1e20532f6..285a6417b 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/settingsdialog.h +++ b/code/ryzom/tools/client/ryzom_installer/src/settingsdialog.h @@ -30,9 +30,12 @@ class CSettingsDialog : public QDialog, public Ui::SettingsDialog Q_OBJECT public: - CSettingsDialog(); + CSettingsDialog(QWidget *parent = NULL); virtual ~CSettingsDialog(); +public slots: + void onInstallationDirectoryButtonClicked(); + private slots: void accept(); }; diff --git a/code/ryzom/tools/client/ryzom_installer/ui/mainwindow.ui b/code/ryzom/tools/client/ryzom_installer/ui/mainwindow.ui index 4fd935e41..cfb2b7a79 100644 --- a/code/ryzom/tools/client/ryzom_installer/ui/mainwindow.ui +++ b/code/ryzom/tools/client/ryzom_installer/ui/mainwindow.ui @@ -118,7 +118,7 @@ p, li { white-space: pre-wrap; } &Settings - + @@ -148,9 +148,9 @@ p, li { white-space: pre-wrap; } &Profiles - + - &Directories + &Settings