Files
sarasacw-picture/app/settings.h
T
yyc12345 b54cde2cbf refactor: remove "auto" in window-size behavior
- "auto" is not essential for our hard fork, so i simply remove it.
- remove all useless code after removing it.
- enlarge the min size of window because previous may trigger bad layout when showing navigation view.
2026-07-24 15:14:24 +08:00

51 lines
1.1 KiB
C++

// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
//
// SPDX-License-Identifier: MIT
#pragma once
#include <QObject>
#include <QSettings>
class Settings : public QObject
{
Q_OBJECT
public:
enum MouseWheelBehavior {
Zoom,
Switch,
};
Q_ENUM(MouseWheelBehavior)
enum WindowSizeBehavior {
Maximized,
Windowed,
};
Q_ENUM(WindowSizeBehavior)
static Settings *instance();
bool useLightCheckerboard() const;
bool loopGallery() const;
bool svgTiny12Only() const;
MouseWheelBehavior mouseWheelBehavior() const;
WindowSizeBehavior initWindowSizeBehavior() const;
Qt::HighDpiScaleFactorRoundingPolicy hiDpiScaleFactorBehavior() const;
void setUseLightCheckerboard(bool light);
void setLoopGallery(bool on);
void setSvgTiny12Only(bool on);
void setMouseWheelBehavior(MouseWheelBehavior mwb);
void setInitWindowSizeBehavior(WindowSizeBehavior wsb);
void setHiDpiScaleFactorBehavior(Qt::HighDpiScaleFactorRoundingPolicy hidpi);
private:
Settings(QObject *parent = nullptr);
QSettings *m_qsettings;
signals:
public slots:
};