123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- /*
- * Copyright (c) 2022, Filiph Sandström <filiph.sandstrom@filfatstudios.com>
- * Copyright (c) 2023, Cameron Youell <cameronyouell@gmail.com>
- * Copyright (c) 2024, Jamie Mansfield <jmansfield@cadixdev.org>
- *
- * SPDX-License-Identifier: BSD-2-Clause
- */
- #pragma once
- #include <AK/ByteString.h>
- #include <AK/OwnPtr.h>
- #include <LibWebView/SearchEngine.h>
- #include <QPoint>
- #include <QSettings>
- #include <QSize>
- namespace Ladybird {
- class Settings : public QObject {
- Q_OBJECT
- public:
- Settings(Settings const&) = delete;
- Settings& operator=(Settings const&) = delete;
- static Settings* the()
- {
- static Settings instance;
- return &instance;
- }
- ByteString directory();
- 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);
- WebView::SearchEngine search_engine() const { return m_search_engine; }
- void set_search_engine(WebView::SearchEngine engine);
- QStringList preferred_languages();
- void set_preferred_languages(QStringList const& languages);
- struct EngineProvider {
- QString name;
- QString url;
- };
- EngineProvider autocomplete_engine();
- void set_autocomplete_engine(EngineProvider const& engine);
- bool enable_autocomplete();
- void set_enable_autocomplete(bool enable);
- bool enable_search();
- void set_enable_search(bool enable);
- bool enable_do_not_track();
- void set_enable_do_not_track(bool enable);
- bool enable_autoplay();
- void set_enable_autoplay(bool enable);
- int scrolling_speed();
- void set_scrolling_speed(int value);
- bool invert_vertical_scrolling();
- void set_invert_vertical_scrolling(bool enable);
- bool invert_horizontal_scrolling();
- void set_invert_horizontal_scrolling(bool enable);
- bool show_menubar();
- void set_show_menubar(bool show_menubar);
- signals:
- void show_menubar_changed(bool show_menubar);
- void enable_search_changed(bool enable);
- void search_engine_changed(WebView::SearchEngine engine);
- void preferred_languages_changed(QStringList const& languages);
- void enable_do_not_track_changed(bool enable);
- void enable_autoplay_changed(bool enable);
- protected:
- Settings();
- private:
- OwnPtr<QSettings> m_qsettings;
- WebView::SearchEngine m_search_engine;
- };
- }
|