Ability to reset toolbars.
This commit is contained in:
parent
972dd86d4c
commit
a159d8cf62
@ -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)
|
||||
|
@ -200,6 +200,10 @@ void StatusBar::loadSpecificActions(const QList<QAction*> &actions) {
|
||||
}
|
||||
}
|
||||
|
||||
removeWidget(m_barProgressDownload);
|
||||
removeWidget(m_barProgressFeeds);
|
||||
removeWidget(m_lblProgressDownload);
|
||||
removeWidget(m_lblProgressFeeds);
|
||||
clear();
|
||||
|
||||
foreach (QAction *act, actions) {
|
||||
|
@ -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<QAction*> activated_actions = m_toolBar->changeableActions();
|
||||
QList<QAction*> 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<QAction *> activated_actions, const QList<QAction *> 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) {
|
||||
|
@ -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<QAction*> activated_actions, const QList<QAction*> available_actions);
|
||||
|
||||
QScopedPointer<Ui::ToolBarEditor> m_ui;
|
||||
BaseBar *m_toolBar;
|
||||
};
|
||||
|
@ -172,6 +172,19 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="m_btnReset">
|
||||
<property name="toolTip">
|
||||
<string>Reset toolbar</string>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>22</width>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
|
Loading…
x
Reference in New Issue
Block a user