summaryrefslogtreecommitdiffstats
path: root/gui/ColumnResizer.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2014-07-20 23:47:46 +0200
committerPetr Mrázek <peterix@gmail.com>2014-07-20 23:47:46 +0200
commitbc05ad30aa7c3da5d76947e82012f50466bb5d39 (patch)
treeb74fb5c1cc7d73d930e555ad9427c3d4885379cb /gui/ColumnResizer.h
parente178284172396ee51acb77c2daa8135b4855c12b (diff)
downloadMultiMC-bc05ad30aa7c3da5d76947e82012f50466bb5d39.tar
MultiMC-bc05ad30aa7c3da5d76947e82012f50466bb5d39.tar.gz
MultiMC-bc05ad30aa7c3da5d76947e82012f50466bb5d39.tar.lz
MultiMC-bc05ad30aa7c3da5d76947e82012f50466bb5d39.tar.xz
MultiMC-bc05ad30aa7c3da5d76947e82012f50466bb5d39.zip
Rework the settings dialog. Rework all of it. Thoroughly.
Also introduces the ColumnResizer from: https://github.com/agateau/columnresizer/
Diffstat (limited to 'gui/ColumnResizer.h')
-rw-r--r--gui/ColumnResizer.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/gui/ColumnResizer.h b/gui/ColumnResizer.h
new file mode 100644
index 00000000..4bbac383
--- /dev/null
+++ b/gui/ColumnResizer.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2011 Aurélien Gâteau <agateau@kde.org>
+ * License: LGPL v2.1 or later (see COPYING)
+ */
+#pragma once
+
+#include <QFormLayout>
+
+#include <QtCore/QObject>
+#include <QtCore/QList>
+
+class QEvent;
+class QGridLayout;
+class QLayout;
+class QWidget;
+
+class ColumnResizerPrivate;
+class ColumnResizer : public QObject
+{
+ Q_OBJECT
+public:
+ ColumnResizer(QObject* parent = 0);
+ ~ColumnResizer();
+
+ void addWidget(QWidget* widget);
+ void addWidgetsFromLayout(QLayout*, int column);
+ void addWidgetsFromGridLayout(QGridLayout*, int column);
+ void addWidgetsFromFormLayout(QFormLayout*, QFormLayout::ItemRole role);
+
+private Q_SLOTS:
+ void updateWidth();
+
+protected:
+ bool eventFilter(QObject*, QEvent* event);
+
+private:
+ ColumnResizerPrivate* const d;
+};