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_editorFeedsToolbar, &ToolBarEditor::setupChanged, this, &SettingsGui::dirtifySettings);
|
||||||
connect(m_ui->m_editorMessagesToolbar, &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::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_listStyles, &QListWidget::currentItemChanged, this, &SettingsGui::dirtifySettings);
|
||||||
connect(m_ui->m_cmbSelectToolBar, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), m_ui->m_stackedToolbars,
|
connect(m_ui->m_cmbSelectToolBar, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), m_ui->m_stackedToolbars,
|
||||||
&QStackedWidget::setCurrentIndex);
|
&QStackedWidget::setCurrentIndex);
|
||||||
|
|
|
@ -99,7 +99,8 @@ QStringList StatusBar::savedActions() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<QAction*> StatusBar::convertActions(const QStringList& actions) {
|
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();
|
m_barProgressFeeds->isVisible();
|
||||||
QList<QAction*> available_actions = availableActions();
|
QList<QAction*> available_actions = availableActions();
|
||||||
QList<QAction*> spec_actions;
|
QList<QAction*> spec_actions;
|
||||||
|
@ -165,7 +166,7 @@ QList<QAction*> StatusBar::convertActions(const QStringList& actions) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (action_to_add != nullptr && widget_to_add != nullptr) {
|
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);
|
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) {
|
void StatusBar::loadSpecificActions(const QList<QAction*>& actions, bool initial_load) {
|
||||||
clear();
|
|
||||||
|
|
||||||
if (initial_load) {
|
if (initial_load) {
|
||||||
|
clear();
|
||||||
|
|
||||||
for (QAction* act : actions) {
|
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);
|
addAction(act);
|
||||||
|
|
||||||
|
@ -207,6 +208,8 @@ void StatusBar::clear() {
|
||||||
|
|
||||||
if (widget != nullptr) {
|
if (widget != nullptr) {
|
||||||
removeWidget(widget);
|
removeWidget(widget);
|
||||||
|
|
||||||
|
widget->setParent(qApp->mainFormWidget());
|
||||||
widget->setVisible(false);
|
widget->setVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@ class ToolBarEditor : public QWidget {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
// Constructors and destructors.
|
|
||||||
explicit ToolBarEditor(QWidget* parent = nullptr);
|
explicit ToolBarEditor(QWidget* parent = nullptr);
|
||||||
|
|
||||||
// Toolbar operations.
|
// Toolbar operations.
|
||||||
|
@ -29,7 +27,7 @@ class ToolBarEditor : public QWidget {
|
||||||
QListWidget* availableItemsWidget() const;
|
QListWidget* availableItemsWidget() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool eventFilter(QObject* object, QEvent* event);
|
virtual bool eventFilter(QObject* object, QEvent* event);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void updateActionsAvailability();
|
void updateActionsAvailability();
|
||||||
|
|
Loading…
Add table
Reference in a new issue