enhance statusbar behavior when changing actions.
This commit is contained in:
parent
508d645c82
commit
1030f5234f
3 changed files with 10 additions and 8 deletions
|
@ -54,6 +54,7 @@ SettingsGui::SettingsGui(Settings* settings, QWidget* parent) : SettingsPanel(se
|
|||
connect(m_ui->m_editorFeedsToolbar, &ToolBarEditor::setupChanged, this, &SettingsGui::dirtifySettings);
|
||||
connect(m_ui->m_editorMessagesToolbar, &ToolBarEditor::setupChanged, this, &SettingsGui::dirtifySettings);
|
||||
connect(m_ui->m_editorStatusbar, &ToolBarEditor::setupChanged, this, &SettingsGui::dirtifySettings);
|
||||
connect(m_ui->m_editorStatusbar, &ToolBarEditor::setupChanged, this, &SettingsGui::requireRestart);
|
||||
connect(m_ui->m_listStyles, &QListWidget::currentItemChanged, this, &SettingsGui::dirtifySettings);
|
||||
connect(m_ui->m_cmbSelectToolBar, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), m_ui->m_stackedToolbars,
|
||||
&QStackedWidget::setCurrentIndex);
|
||||
|
|
|
@ -99,7 +99,8 @@ QStringList StatusBar::savedActions() const {
|
|||
}
|
||||
|
||||
QList<QAction*> StatusBar::convertActions(const QStringList& actions) {
|
||||
bool progress_visible = this->actions().contains(m_barProgressFeedsAction) && m_lblProgressFeeds->isVisible() &&
|
||||
bool progress_visible = this->actions().contains(m_barProgressFeedsAction) &&
|
||||
m_lblProgressFeeds->isVisible() &&
|
||||
m_barProgressFeeds->isVisible();
|
||||
QList<QAction*> available_actions = availableActions();
|
||||
QList<QAction*> spec_actions;
|
||||
|
@ -165,7 +166,7 @@ QList<QAction*> StatusBar::convertActions(const QStringList& actions) {
|
|||
}
|
||||
|
||||
if (action_to_add != nullptr && widget_to_add != nullptr) {
|
||||
action_to_add->setProperty("widget", QVariant::fromValue((void*) widget_to_add));
|
||||
action_to_add->setProperty("widget", QVariant::fromValue(widget_to_add));
|
||||
spec_actions.append(action_to_add);
|
||||
}
|
||||
}
|
||||
|
@ -174,11 +175,11 @@ QList<QAction*> StatusBar::convertActions(const QStringList& actions) {
|
|||
}
|
||||
|
||||
void StatusBar::loadSpecificActions(const QList<QAction*>& actions, bool initial_load) {
|
||||
clear();
|
||||
|
||||
if (initial_load) {
|
||||
clear();
|
||||
|
||||
for (QAction* act : actions) {
|
||||
QWidget* widget = act->property("widget").isValid() ? static_cast<QWidget*>(act->property("widget").value<void*>()) : nullptr;
|
||||
QWidget* widget = act->property("widget").isValid() ? qvariant_cast<QWidget*>(act->property("widget")) : nullptr;
|
||||
|
||||
addAction(act);
|
||||
|
||||
|
@ -207,6 +208,8 @@ void StatusBar::clear() {
|
|||
|
||||
if (widget != nullptr) {
|
||||
removeWidget(widget);
|
||||
|
||||
widget->setParent(qApp->mainFormWidget());
|
||||
widget->setVisible(false);
|
||||
}
|
||||
|
||||
|
|
|
@ -17,8 +17,6 @@ class ToolBarEditor : public QWidget {
|
|||
Q_OBJECT
|
||||
|
||||
public:
|
||||
|
||||
// Constructors and destructors.
|
||||
explicit ToolBarEditor(QWidget* parent = nullptr);
|
||||
|
||||
// Toolbar operations.
|
||||
|
@ -29,7 +27,7 @@ class ToolBarEditor : public QWidget {
|
|||
QListWidget* availableItemsWidget() const;
|
||||
|
||||
protected:
|
||||
bool eventFilter(QObject* object, QEvent* event);
|
||||
virtual bool eventFilter(QObject* object, QEvent* event);
|
||||
|
||||
private slots:
|
||||
void updateActionsAvailability();
|
||||
|
|
Loading…
Add table
Reference in a new issue