aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/common/dialogsizehandler.h
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2025-01-16 01:57:37 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2025-01-16 01:57:37 -0500
commit81a21e6ce040e7740de86340c8ea4dba30e69bc3 (patch)
tree95fc1741b907d5ba6d029a42d80092cb7c056c5e /SQLiteStudio3/guiSQLiteStudio/common/dialogsizehandler.h
parent3565aad630864ecdbe53fdaa501ea708555b3c7c (diff)
New upstream version 3.4.13+dfsg.upstream/3.4.13+dfsgupstream
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