ladybird/Ladybird/Qt/Settings.h

48 lines
908 B
C
Raw Normal View History

2022-07-14 03:41:13 +00:00
/*
* Copyright (c) 2022, Filiph Sandström <filiph.sandstrom@filfatstudios.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/DeprecatedString.h>
#include <AK/OwnPtr.h>
#include <QPoint>
2022-07-14 03:41:13 +00:00
#include <QSettings>
#include <QSize>
2022-07-14 03:41:13 +00:00
namespace Ladybird {
2022-07-14 03:41:13 +00:00
class Settings : public QObject {
2022-07-14 03:41:13 +00:00
public:
Settings(Settings const&) = delete;
Settings& operator=(Settings const&) = delete;
static Settings* the()
{
static Settings instance;
return &instance;
}
2022-07-14 03:41:13 +00:00
Optional<QPoint> last_position();
void set_last_position(QPoint const& last_position);
QSize last_size();
void set_last_size(QSize const& last_size);
bool is_maximized();
void set_is_maximized(bool is_maximized);
QString new_tab_page();
void set_new_tab_page(QString const& page);
protected:
Settings();
2022-07-14 03:41:13 +00:00
private:
OwnPtr<QSettings> m_qsettings;
2022-07-14 03:41:13 +00:00
};
}