1 /* 2 * This file Copyright (C) 2015 Mnemosyne LLC 3 * 4 * It may be used under the GNU GPL versions 2 or 3 5 * or any future license endorsed by Mnemosyne LLC. 6 * 7 */ 8 9 #pragma once 10 11 #include <QObject> 12 #include <QSet> 13 14 class QGridLayout; 15 class QTimer; 16 17 class ColumnResizer : public QObject 18 { 19 Q_OBJECT 20 21 public: 22 ColumnResizer(QObject* parent = nullptr); 23 24 void addLayout(QGridLayout* layout); 25 26 // QObject 27 bool eventFilter(QObject* object, QEvent* event) override; 28 29 public slots: 30 void update(); 31 32 private: 33 void scheduleUpdate(); 34 35 private: 36 QTimer* myTimer; 37 QSet<QGridLayout*> myLayouts; 38 }; 39