1 #include <iostream> 2 #include "QSettingsCached.h" 3 4 #include "Dock.h" 5 Dock(QWidget * parent)6Dock::Dock(QWidget *parent) : QDockWidget(parent), action(nullptr), updateSettings(true) 7 { 8 } 9 ~Dock()10Dock::~Dock() 11 { 12 } 13 disableSettingsUpdate()14void Dock::disableSettingsUpdate() 15 { 16 updateSettings = false; 17 } 18 setVisible(bool visible)19void Dock::setVisible(bool visible) 20 { 21 if (updateSettings) { 22 QSettingsCached settings; 23 settings.setValue(configKey, !visible); 24 } 25 if (action != nullptr) { 26 action->setChecked(!visible); 27 } 28 QDockWidget::setVisible(visible); 29 } 30 setConfigKey(const QString configKey)31void Dock::setConfigKey(const QString configKey) 32 { 33 this->configKey = configKey; 34 } 35 setAction(QAction * action)36void Dock::setAction(QAction *action) 37 { 38 this->action = action; 39 } 40