wiRedPanda
Logic Circuit Simulator
Loading...
Searching...
No Matches
Settings.h
Go to the documentation of this file.
1// Copyright 2015 - 2026, GIBIS-UNIFESP and the wiRedPanda contributors
2// SPDX-License-Identifier: GPL-3.0-or-later
3
7
8#pragma once
9
10#include <QByteArray>
11#include <QRect>
12#include <QSettings>
13#include <QStringList>
14
16
26{
27public:
28 Settings() = delete;
29
31 static QString fileName();
32
33 // --- Typed accessors ---
34
35 // Window state
36 static QByteArray mainWindowGeometry();
37 static void setMainWindowGeometry(const QByteArray &geometry);
38 static QByteArray mainWindowState();
39 static void setMainWindowState(const QByteArray &state);
40 static QByteArray splitterGeometry();
41 static void setSplitterGeometry(const QByteArray &geometry);
42 static QByteArray splitterState();
43 static void setSplitterState(const QByteArray &state);
44 static QByteArray dolphinGeometry();
45 static void setDolphinGeometry(const QByteArray &geometry);
46
47 // UI preferences
48 static bool fastMode();
49 static void setFastMode(bool enabled);
50 static bool labelsUnderIcons();
51 static void setLabelsUnderIcons(bool enabled);
52 static bool icPreviewDisabled();
53 static void setIcPreviewDisabled(bool disabled);
54
55 // Language
56 static QString language();
57 static void setLanguage(const QString &lang);
58
59 // Theme
60 static Theme theme();
61 static void setTheme(Theme theme);
62
63 // Recent files
64 static QStringList recentFiles();
65 static void setRecentFiles(const QStringList &files);
66
67 // Autosave
68 static QStringList autosaveFiles();
69 static void setAutosaveFiles(const QStringList &files);
70
71 // V4 format warning suppression
72 static bool hideV4Warning();
73 static void setHideV4Warning(bool hide);
74
75 // Update checker
76 static QString updateCheckLastDate();
77 static void setUpdateCheckLastDate(const QString &date);
78 static QString updateCheckSkippedVersion();
79 static void setUpdateCheckSkippedVersion(const QString &version);
81 static bool updateChecksDisabled();
82 static void setUpdateChecksDisabled(bool disabled);
83
84 // Exercise progress
85 static QStringList completedExercises();
86 static void setCompletedExercises(const QStringList &ids);
87 static int exerciseProgress(const QString &exerciseId);
88 static void setExerciseProgress(const QString &exerciseId, int step);
89
90 // Tour progress
91 static QStringList completedTours();
92 static void setCompletedTours(const QStringList &ids);
93 static int tourProgress(const QString &tourId);
94 static void setTourProgress(const QString &tourId, int step);
95
99 static bool welcomeTourShown();
100 static void setWelcomeTourShown(bool shown);
101
102 // Minimap preferences
103 static bool minimapVisible();
104 static void setMinimapVisible(bool visible);
107 static QRect minimapGeometry();
108 static void setMinimapGeometry(const QRect &geometry);
109
110private:
111 static QVariant value(const QString &key);
112 static void setValue(const QString &key, const QVariant &value);
113 static QSettings *settingsInstance();
114
115 // --- Members ---
116
117 inline static QSettings *settings = nullptr;
118};
Theme management types and singleton ThemeManager.
Theme
Enumeration of available application themes.
static bool hideV4Warning()
Definition Settings.cpp:196
static QByteArray splitterState()
Definition Settings.cpp:75
static QByteArray splitterGeometry()
Definition Settings.cpp:65
static void setMainWindowState(const QByteArray &state)
Definition Settings.cpp:60
static QString updateCheckLastDate()
Definition Settings.cpp:210
static int exerciseProgress(const QString &exerciseId)
Returns -1 if no record.
Definition Settings.cpp:242
static void setUpdateCheckSkippedVersion(const QString &version)
Definition Settings.cpp:225
static void setCompletedTours(const QStringList &ids)
Definition Settings.cpp:260
static void setMinimapGeometry(const QRect &geometry)
Definition Settings.cpp:305
static void setMinimapVisible(bool visible)
Definition Settings.cpp:295
static void setSplitterGeometry(const QByteArray &geometry)
Definition Settings.cpp:70
static void setMainWindowGeometry(const QByteArray &geometry)
Definition Settings.cpp:50
static bool updateChecksDisabled()
Global opt-out of update checks (for offline/managed installs); default false (enabled).
Definition Settings.cpp:130
static QString updateCheckSkippedVersion()
Definition Settings.cpp:220
Settings()=delete
static void setCompletedExercises(const QStringList &ids)
Definition Settings.cpp:237
static QByteArray dolphinGeometry()
Definition Settings.cpp:85
static QStringList autosaveFiles()
Definition Settings.cpp:186
static bool minimapVisible()
Definition Settings.cpp:287
static void setAutosaveFiles(const QStringList &files)
Definition Settings.cpp:191
static void setIcPreviewDisabled(bool disabled)
Definition Settings.cpp:125
static bool labelsUnderIcons()
Definition Settings.cpp:107
static QString fileName()
Returns the path to the settings file on disk.
Definition Settings.cpp:26
static bool welcomeTourShown()
Definition Settings.cpp:276
static void setDolphinGeometry(const QByteArray &geometry)
Definition Settings.cpp:90
static Theme theme()
Definition Settings.cpp:154
static QByteArray mainWindowState()
Definition Settings.cpp:55
static int tourProgress(const QString &tourId)
Returns -1 if no record.
Definition Settings.cpp:265
static void setUpdateCheckLastDate(const QString &date)
Definition Settings.cpp:215
static void setSplitterState(const QByteArray &state)
Definition Settings.cpp:80
static QStringList recentFiles()
Definition Settings.cpp:174
static void setWelcomeTourShown(bool shown)
Definition Settings.cpp:281
static void setTourProgress(const QString &tourId, int step)
Definition Settings.cpp:271
static QByteArray mainWindowGeometry()
Definition Settings.cpp:45
static void setLanguage(const QString &lang)
Definition Settings.cpp:147
static QRect minimapGeometry()
Definition Settings.cpp:300
static void setExerciseProgress(const QString &exerciseId, int step)
Definition Settings.cpp:248
static void setHideV4Warning(bool hide)
Definition Settings.cpp:201
static bool fastMode()
Definition Settings.cpp:97
static void setUpdateChecksDisabled(bool disabled)
Definition Settings.cpp:135
static QString language()
Definition Settings.cpp:142
static void setFastMode(bool enabled)
Definition Settings.cpp:102
static void setRecentFiles(const QStringList &files)
Definition Settings.cpp:179
static QStringList completedExercises()
Definition Settings.cpp:232
static bool icPreviewDisabled()
Definition Settings.cpp:120
static void setTheme(Theme theme)
Definition Settings.cpp:167
static QStringList completedTours()
Definition Settings.cpp:255
static void setLabelsUnderIcons(bool enabled)
Definition Settings.cpp:115