Add SettingsDialog

This commit is contained in:
Florian Märkl 2019-08-15 23:42:23 +02:00
commit d435a9d368
No known key found for this signature in database
GPG key ID: 125BC8A5A6A1E857
4 changed files with 101 additions and 2 deletions

View file

@ -42,7 +42,9 @@ add_executable(chiaki
include/registdialog.h
src/registdialog.cpp
include/host.h
src/host.cpp)
src/host.cpp
include/settingsdialog.h
src/settingsdialog.cpp)
target_include_directories(chiaki PRIVATE include)
target_link_libraries(chiaki chiaki-lib chiaki-cli-lib)

View file

@ -0,0 +1,39 @@
/*
* This file is part of Chiaki.
*
* Chiaki is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Chiaki is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Chiaki. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef CHIAKI_SETTINGSDIALOG_H
#define CHIAKI_SETTINGSDIALOG_H
#include <QDialog>
class Settings;
class QListWidget;
class SettingsDialog : public QDialog
{
Q_OBJECT
private:
Settings *settings;
QListWidget *registered_hosts_list_widget;
public:
SettingsDialog(Settings *settings, QWidget *parent = nullptr);
};
#endif // CHIAKI_SETTINGSDIALOG_H

View file

@ -20,6 +20,7 @@
#include <serveritemwidget.h>
#include <settings.h>
#include <registdialog.h>
#include <settingsdialog.h>
#include <QTableWidget>
#include <QVBoxLayout>
@ -128,7 +129,8 @@ void MainWindow::UpdateDiscoveryEnabled()
void MainWindow::ShowSettings()
{
qDebug() << "TODO: ShowSettings()";
SettingsDialog dialog(settings, this);
dialog.exec();
}
void MainWindow::UpdateDisplayServers()

View file

@ -0,0 +1,56 @@
/*
* This file is part of Chiaki.
*
* Chiaki is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Chiaki is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Chiaki. If not, see <https://www.gnu.org/licenses/>.
*/
#include <settingsdialog.h>
#include <QVBoxLayout>
#include <QDialogButtonBox>
#include <QListWidget>
#include <QPushButton>
#include <QGroupBox>
SettingsDialog::SettingsDialog(Settings *settings, QWidget *parent) : QDialog(parent)
{
this->settings = settings;
auto layout = new QVBoxLayout(this);
setLayout(layout);
auto registered_hosts_group_box = new QGroupBox(tr("Registered Consoles"));
layout->addWidget(registered_hosts_group_box);
auto registered_hosts_layout = new QHBoxLayout();
registered_hosts_group_box->setLayout(registered_hosts_layout);
registered_hosts_list_widget = new QListWidget(this);
registered_hosts_layout->addWidget(registered_hosts_list_widget);
auto registered_hosts_buttons_layout = new QVBoxLayout();
registered_hosts_layout->addLayout(registered_hosts_buttons_layout);
auto register_new_button = new QPushButton(tr("Register New"), this);
registered_hosts_buttons_layout->addWidget(register_new_button);
auto delete_host_button = new QPushButton(tr("Delete"), this);
registered_hosts_buttons_layout->addWidget(delete_host_button);
registered_hosts_buttons_layout->addStretch();
auto button_box = new QDialogButtonBox(QDialogButtonBox::Close, this);
layout->addWidget(button_box);
connect(button_box, &QDialogButtonBox::rejected, this, &QDialog::reject);
}