mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 21:27:34 +00:00
Ladybird: Allow for setting the hompage through SettingsDialog
This commit is contained in:
parent
91e5b6d4f5
commit
d60f8807e3
2 changed files with 41 additions and 4 deletions
|
@ -5,15 +5,44 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "SettingsDialog.h"
|
#include "SettingsDialog.h"
|
||||||
|
#include "Settings.h"
|
||||||
|
#include <QCloseEvent>
|
||||||
|
#include <QLabel>
|
||||||
|
|
||||||
|
extern Browser::Settings* s_settings;
|
||||||
|
|
||||||
SettingsDialog::SettingsDialog(QMainWindow* window)
|
SettingsDialog::SettingsDialog(QMainWindow* window)
|
||||||
: m_window(window)
|
: m_window(window)
|
||||||
{
|
{
|
||||||
m_layout = new QBoxLayout(QBoxLayout::Direction::TopToBottom, this);
|
m_layout = new QFormLayout;
|
||||||
|
m_homepage = new QLineEdit;
|
||||||
|
m_ok_button = new QPushButton("&Save");
|
||||||
|
|
||||||
|
m_layout->addWidget(new QLabel("Homepage"));
|
||||||
|
m_layout->addWidget(m_homepage);
|
||||||
|
m_layout->addWidget(m_ok_button);
|
||||||
|
|
||||||
|
m_homepage->setText(s_settings->homepage());
|
||||||
|
|
||||||
|
QObject::connect(m_ok_button, &QPushButton::released, this, [this] {
|
||||||
|
close();
|
||||||
|
});
|
||||||
|
|
||||||
setWindowTitle("Settings");
|
setWindowTitle("Settings");
|
||||||
resize(340, 400);
|
setFixedWidth(300);
|
||||||
setLayout(m_layout);
|
setLayout(m_layout);
|
||||||
show();
|
show();
|
||||||
setFocus();
|
setFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SettingsDialog::closeEvent(QCloseEvent* event)
|
||||||
|
{
|
||||||
|
save();
|
||||||
|
event->accept();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SettingsDialog::save()
|
||||||
|
{
|
||||||
|
// FIXME: Validate data.
|
||||||
|
s_settings->set_homepage(m_homepage->text());
|
||||||
|
}
|
||||||
|
|
|
@ -4,9 +4,11 @@
|
||||||
* SPDX-License-Identifier: BSD-2-Clause
|
* SPDX-License-Identifier: BSD-2-Clause
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <QBoxLayout>
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
#include <QFormLayout>
|
||||||
|
#include <QLineEdit>
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
|
#include <QPushButton>
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -15,7 +17,13 @@ class SettingsDialog : public QDialog {
|
||||||
public:
|
public:
|
||||||
explicit SettingsDialog(QMainWindow* window);
|
explicit SettingsDialog(QMainWindow* window);
|
||||||
|
|
||||||
|
void save();
|
||||||
|
|
||||||
|
virtual void closeEvent(QCloseEvent*) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QBoxLayout* m_layout;
|
QFormLayout* m_layout;
|
||||||
|
QPushButton* m_ok_button { nullptr };
|
||||||
|
QLineEdit* m_homepage { nullptr };
|
||||||
QMainWindow* m_window { nullptr };
|
QMainWindow* m_window { nullptr };
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue