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