diff --git a/resources/text/CHANGELOG b/resources/text/CHANGELOG index ae1bbedb6..27b4fbcbf 100755 --- a/resources/text/CHANGELOG +++ b/resources/text/CHANGELOG @@ -2,6 +2,7 @@ ————— Added: +▪ Toolbar editor can reset toolbars. ▪ Toolbar editor now uses iconified tool buttons. ▪ Double mouse click on feed or recycle bin items in feeds list now opens all messages of the item in newspaper mode. ▪ Columns in message list can be hidden/shown/reordered with context menu. (issue #115) diff --git a/src/gui/statusbar.cpp b/src/gui/statusbar.cpp index 458500087..0e66dec77 100755 --- a/src/gui/statusbar.cpp +++ b/src/gui/statusbar.cpp @@ -200,6 +200,10 @@ void StatusBar::loadSpecificActions(const QList &actions) { } } + removeWidget(m_barProgressDownload); + removeWidget(m_barProgressFeeds); + removeWidget(m_lblProgressDownload); + removeWidget(m_lblProgressFeeds); clear(); foreach (QAction *act, actions) { diff --git a/src/gui/toolbareditor.cpp b/src/gui/toolbareditor.cpp index 998cb632f..6d512a048 100755 --- a/src/gui/toolbareditor.cpp +++ b/src/gui/toolbareditor.cpp @@ -28,14 +28,15 @@ ToolBarEditor::ToolBarEditor(QWidget *parent) m_ui->setupUi(this); // Create connections. - connect(m_ui->m_btnInsertSeparator, &QPushButton::clicked, this, &ToolBarEditor::insertSeparator); - connect(m_ui->m_btnInsertSpacer, &QPushButton::clicked, this, &ToolBarEditor::insertSpacer); + connect(m_ui->m_btnInsertSeparator, &QToolButton::clicked, this, &ToolBarEditor::insertSeparator); + connect(m_ui->m_btnInsertSpacer, &QToolButton::clicked, this, &ToolBarEditor::insertSpacer); - connect(m_ui->m_btnAddSelectedAction, &QPushButton::clicked, this, &ToolBarEditor::addSelectedAction); - connect(m_ui->m_btnDeleteAllActions, &QPushButton::clicked, this, &ToolBarEditor::deleteAllActions); - connect(m_ui->m_btnDeleteSelectedAction, &QPushButton::clicked, this, &ToolBarEditor::deleteSelectedAction); - connect(m_ui->m_btnMoveActionUp, &QPushButton::clicked, this, &ToolBarEditor::moveActionUp); - connect(m_ui->m_btnMoveActionDown, &QPushButton::clicked, this, &ToolBarEditor::moveActionDown); + connect(m_ui->m_btnAddSelectedAction, &QToolButton::clicked, this, &ToolBarEditor::addSelectedAction); + connect(m_ui->m_btnDeleteAllActions, &QToolButton::clicked, this, &ToolBarEditor::deleteAllActions); + connect(m_ui->m_btnDeleteSelectedAction, &QToolButton::clicked, this, &ToolBarEditor::deleteSelectedAction); + connect(m_ui->m_btnMoveActionUp, &QToolButton::clicked, this, &ToolBarEditor::moveActionUp); + connect(m_ui->m_btnMoveActionDown, &QToolButton::clicked, this, &ToolBarEditor::moveActionDown); + connect(m_ui->m_btnReset, &QToolButton::clicked, this, &ToolBarEditor::resetToolBar); connect(m_ui->m_listAvailableActions, &QListWidget::itemSelectionChanged, this, &ToolBarEditor::updateActionsAvailability); connect(m_ui->m_listActivatedActions, &QListWidget::itemSelectionChanged, this, &ToolBarEditor::updateActionsAvailability); @@ -51,6 +52,7 @@ ToolBarEditor::ToolBarEditor(QWidget *parent) m_ui->m_btnDeleteSelectedAction->setIcon(qApp->icons()->fromTheme(QSL("forward"))); m_ui->m_btnMoveActionDown->setIcon(qApp->icons()->fromTheme(QSL("down"))); m_ui->m_btnMoveActionUp->setIcon(qApp->icons()->fromTheme(QSL("up"))); + m_ui->m_btnReset->setIcon(qApp->icons()->fromTheme(QSL("reload"))); } ToolBarEditor::~ToolBarEditor() { @@ -63,6 +65,29 @@ void ToolBarEditor::loadFromToolBar(BaseBar *tool_bar) { QList activated_actions = m_toolBar->changeableActions(); QList available_actions = m_toolBar->availableActions(); + loadEditor(activated_actions, available_actions); +} + +void ToolBarEditor::saveToolBar() { + QStringList action_names; + + for (int i = 0; i < m_ui->m_listActivatedActions->count(); i++) { + action_names.append(m_ui->m_listActivatedActions->item(i)->data(Qt::UserRole).toString()); + } + + m_toolBar->saveChangeableActions(action_names); +} + +void ToolBarEditor::resetToolBar() { + if (m_toolBar != nullptr) { + loadEditor(m_toolBar->getSpecificActions(m_toolBar->defaultActions()), m_toolBar->availableActions()); + } +} + +void ToolBarEditor::loadEditor(const QList activated_actions, const QList available_actions) { + m_ui->m_listActivatedActions->clear(); + m_ui->m_listAvailableActions->clear(); + foreach (const QAction *action, activated_actions) { QListWidgetItem *action_item = new QListWidgetItem(action->icon(), action->text().replace('&', ""), m_ui->m_listActivatedActions); @@ -106,26 +131,10 @@ void ToolBarEditor::loadFromToolBar(BaseBar *tool_bar) { } m_ui->m_listAvailableActions->sortItems(Qt::AscendingOrder); - m_ui->m_listAvailableActions->setCurrentRow(0); + m_ui->m_listAvailableActions->setCurrentRow(m_ui->m_listAvailableActions->count() >= 0 ? 0 : -1); m_ui->m_listActivatedActions->setCurrentRow(m_ui->m_listActivatedActions->count() >= 0 ? 0 : -1); } -void ToolBarEditor::saveToolBar() { - QStringList action_names; - - for (int i = 0; i < m_ui->m_listActivatedActions->count(); i++) { - action_names.append(m_ui->m_listActivatedActions->item(i)->data(Qt::UserRole).toString()); - } - - m_toolBar->saveChangeableActions(action_names); -} - -void ToolBarEditor::resetToolBar() { - if (m_toolBar != nullptr) { - - } -} - bool ToolBarEditor::eventFilter(QObject *object, QEvent *event) { if (object == m_ui->m_listActivatedActions) { if (event->type() == QEvent::KeyPress) { diff --git a/src/gui/toolbareditor.h b/src/gui/toolbareditor.h index d512dc914..a1299dd31 100755 --- a/src/gui/toolbareditor.h +++ b/src/gui/toolbareditor.h @@ -40,7 +40,6 @@ class ToolBarEditor : public QWidget { // Toolbar operations. void loadFromToolBar(BaseBar *tool_bar); void saveToolBar(); - void resetToolBar(); inline QListWidget *activeItemsWidget() const { return m_ui->m_listActivatedActions; @@ -67,10 +66,14 @@ class ToolBarEditor : public QWidget { void deleteSelectedAction(); void deleteAllActions(); + void resetToolBar(); + signals: void setupChanged(); private: + void loadEditor(const QList activated_actions, const QList available_actions); + QScopedPointer m_ui; BaseBar *m_toolBar; }; diff --git a/src/gui/toolbareditor.ui b/src/gui/toolbareditor.ui index 147e8f275..c1fd1487c 100755 --- a/src/gui/toolbareditor.ui +++ b/src/gui/toolbareditor.ui @@ -172,6 +172,19 @@ + + + + Reset toolbar + + + + 22 + 22 + + + +