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