aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/common/dialogsizehandler.h
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2025-01-16 01:58:22 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2025-01-16 01:58:22 -0500
commita5ae79be08125b31bb6b8d9703090a98c6fd2e30 (patch)
tree569ee612c9de85b2bb423efa485688ef1d43852e /SQLiteStudio3/guiSQLiteStudio/common/dialogsizehandler.h
parent21966b4f924b0a1933d9662e75ff253bd154fdb7 (diff)
parent81a21e6ce040e7740de86340c8ea4dba30e69bc3 (diff)
Update upstream source from tag 'upstream/3.4.13+dfsg'
Update to upstream version '3.4.13+dfsg' with Debian dir bf81ee0219cb8e4562a4751df17d75814772d2d6
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/common/dialogsizehandler.h')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/common/dialogsizehandler.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/common/dialogsizehandler.h b/SQLiteStudio3/guiSQLiteStudio/common/dialogsizehandler.h
new file mode 100644
index 0000000..916f65d
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/common/dialogsizehandler.h
@@ -0,0 +1,34 @@
+#ifndef DIALOGSIZEHANDLER_H
+#define DIALOGSIZEHANDLER_H
+
+#include <QObject>
+#include <QRect>
+
+class QTimer;
+
+class DialogSizeHandler : public QObject
+{
+ Q_OBJECT
+public:
+ explicit DialogSizeHandler(QObject *parent);
+ DialogSizeHandler(const QString& key, QObject *parent);
+ virtual ~DialogSizeHandler();
+
+ static void applyFor(QObject *parent);
+ static void applyFor(const QString& key, QObject *parent);
+
+protected:
+ bool eventFilter(QObject *obj, QEvent *event) override;
+
+private:
+ static const constexpr char* CONFIG_GROUP = "DialogDimensions";
+
+ QString configKey;
+ QTimer* saveTimer = nullptr;
+ QRect recentGeometry;
+
+public slots:
+ void doSave();
+};
+
+#endif // DIALOGSIZEHANDLER_H