From 14167b558ebaa950d47653087643b10d14fdea81 Mon Sep 17 00:00:00 2001 From: Paddle Date: Mon, 27 Mar 2023 10:53:54 +0200 Subject: [PATCH] Pref: wb: Move wbListItem to cpp. --- src/Gui/DlgSettingsWorkbenchesImp.cpp | 32 +++++++++++++++++++++++---- src/Gui/DlgSettingsWorkbenchesImp.h | 31 ++------------------------ 2 files changed, 30 insertions(+), 33 deletions(-) diff --git a/src/Gui/DlgSettingsWorkbenchesImp.cpp b/src/Gui/DlgSettingsWorkbenchesImp.cpp index d8def7ed38..66d900b1f6 100644 --- a/src/Gui/DlgSettingsWorkbenchesImp.cpp +++ b/src/Gui/DlgSettingsWorkbenchesImp.cpp @@ -24,6 +24,7 @@ #ifndef _PreComp_ #include #include +#include #include #endif @@ -37,6 +38,29 @@ using namespace Gui::Dialog; +namespace Gui::Dialog { +class wbListItem : public QWidget +{ +public: + explicit wbListItem(const QString& wbName, bool enabled, DlgSettingsWorkbenchesImp* dlg, QWidget* parent = nullptr); + ~wbListItem() override; + +protected Q_SLOTS: + void onLoadClicked(); + void onWbActivated(bool checked); + +public: + QCheckBox* enableCheckBox; + QCheckBox* autoloadCheckBox; + QLabel* iconLabel; + QLabel* textLabel; + QLabel* loadLabel; + QPushButton* loadButton; + + DlgSettingsWorkbenchesImp* dlg; +}; +} + wbListItem::wbListItem(const QString& wbName, bool enabled, DlgSettingsWorkbenchesImp* dialog, QWidget* parent) : QWidget(parent) , dlg(dialog) { @@ -58,14 +82,14 @@ wbListItem::wbListItem(const QString& wbName, bool enabled, DlgSettingsWorkbench // 2: Workbench Icon auto wbIcon = Application::Instance->workbenchIcon(wbName); - iconLabel = new QLabel(wbDisplayName); + iconLabel = new QLabel(wbDisplayName, this); iconLabel->setPixmap(wbIcon.scaled(QSize(20, 20), Qt::AspectRatioMode::KeepAspectRatio, Qt::TransformationMode::SmoothTransformation)); iconLabel->setToolTip(wbTooltip); iconLabel->setContentsMargins(5, 0, 0, 5); // Left, top, right, bottom iconLabel->setEnabled(enableCheckBox->isChecked()); // 3: Workbench Display Name - textLabel = new QLabel(wbDisplayName); + textLabel = new QLabel(wbDisplayName, this); textLabel->setToolTip(wbTooltip); QFont font = textLabel->font(); font.setBold(true); @@ -91,10 +115,10 @@ wbListItem::wbListItem(const QString& wbName, bool enabled, DlgSettingsWorkbench } // 5: Load button/loaded indicator - loadLabel = new QLabel(tr("Loaded")); + loadLabel = new QLabel(tr("Loaded"), this); loadLabel->setAlignment(Qt::AlignCenter); loadLabel->setEnabled(enableCheckBox->isChecked()); - loadButton = new QPushButton(tr("Load")); + loadButton = new QPushButton(tr("Load"), this); loadButton->setToolTip(tr("To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality.")); loadButton->setEnabled(enableCheckBox->isChecked()); connect(loadButton, &QPushButton::clicked, this, [this]() { onLoadClicked(); }); diff --git a/src/Gui/DlgSettingsWorkbenchesImp.h b/src/Gui/DlgSettingsWorkbenchesImp.h index f8f4ae401f..d21d59294b 100644 --- a/src/Gui/DlgSettingsWorkbenchesImp.h +++ b/src/Gui/DlgSettingsWorkbenchesImp.h @@ -27,10 +27,7 @@ #include "PropertyPage.h" #include -class QCheckBox; - -namespace Gui { -namespace Dialog { +namespace Gui::Dialog { class Ui_DlgSettingsWorkbenches; /** @@ -72,30 +69,6 @@ private: std::unique_ptr ui; }; -class wbListItem : public QWidget -{ - Q_OBJECT - -public: - explicit wbListItem(const QString& wbName, bool enabled, DlgSettingsWorkbenchesImp* dlg, QWidget* parent = nullptr); - ~wbListItem() override; - -protected Q_SLOTS: - void onLoadClicked(); - void onWbActivated(bool checked); - -public: - QCheckBox* enableCheckBox; - QCheckBox* autoloadCheckBox; - QLabel* iconLabel; - QLabel* textLabel; - QLabel* loadLabel; - QPushButton* loadButton; - - DlgSettingsWorkbenchesImp* dlg; -}; - -} // namespace Dialog -} // namespace Gui +} // namespace Gui::Dialog #endif // GUI_DIALOG_DLGSETTINGSWORKBENCHES_IMP_H