1 #pragma once
2 
3 #include "common/common_pch.h"
4 
5 #include <QDialogButtonBox>
6 
7 class QComboBox;
8 class QGroupBox;
9 class QIcon;
10 class QLineEdit;
11 class QPushButton;
12 class QScrollArea;
13 class QString;
14 class QTabWidget;
15 class QVariant;
16 class QWidget;
17 
18 namespace mtx::gui::Util {
19 
20 void setToolTip(QWidget *widget, QString const &toolTip);
21 
22 QIcon loadIcon(QString const &name, QList<int> const &sizes);
23 bool setComboBoxIndexIf(QComboBox *comboBox, std::function<bool(QString const &, QVariant const &)> test);
24 bool setComboBoxTextByData(QComboBox *comboBox, QString const &data);
25 void setComboBoxTexts(QComboBox *comboBox, QStringList const &texts);
26 void fixComboBoxViewWidth(QComboBox &comboBox);
27 
28 void enableWidgets(QList<QWidget *> const &widgets, bool enable);
29 QPushButton *buttonForRole(QDialogButtonBox *box, QDialogButtonBox::ButtonRole role = QDialogButtonBox::AcceptRole);
30 
31 void saveWidgetGeometry(QWidget *widget);
32 void restoreWidgetGeometry(QWidget *widget);
33 
34 QWidget *tabWidgetCloseTabButton(QTabWidget &tabWidget, int tabIdx);
35 void fixScrollAreaBackground(QScrollArea *scrollArea);
36 void preventScrollingWithoutFocus(QObject *parent);
37 
38 void enableChildren(QObject *parent, bool enable);
39 
40 void addSegmentUIDFromFileToLineEdit(QWidget &parent, QLineEdit &lineEdit, bool append);
41 
42 void setupTabWidgetHeaders(QTabWidget &tabWidget);
43 
44 void autoGroupBoxGridLayout(QGroupBox &box, unsigned int numColumns);
45 
46 }
47