diff options
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/common/dialogsizehandler.h')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/common/dialogsizehandler.h | 34 |
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 |
