1
0
mirror of https://github.com/altlinux/admc.git synced 2025-03-25 10:50:13 +03:00

simplify how console actions are added to menu

replace add_actions() f-ns with getters that add actions
\ explicitly in the same place where other actions are added
This commit is contained in:
Dmitry Degtyarev 2021-09-01 13:40:58 +04:00
parent 9eb613408b
commit 1736dc0da0
5 changed files with 58 additions and 29 deletions

View File

@ -1050,27 +1050,44 @@ void ConsoleWidgetPrivate::update_view_actions() {
customize_columns_action->setVisible(results_view_exists);
}
void ConsoleWidget::add_view_actions(QMenu *menu) {
menu->addAction(d->set_results_to_icons_action);
menu->addAction(d->set_results_to_list_action);
menu->addAction(d->set_results_to_detail_action);
menu->addSeparator();
menu->addAction(d->customize_columns_action);
QAction *ConsoleWidget::refresh_current_scope_action() const {
return d->refresh_current_scope_action;
}
void ConsoleWidget::add_preferences_actions(QMenu *menu) {
menu->addAction(d->toggle_console_tree_action);
menu->addAction(d->toggle_description_bar_action);
QAction *ConsoleWidget::navigate_up_action() const {
return d->navigate_up_action;
}
void ConsoleWidget::add_toolbar_actions(QToolBar *toolbar) {
toolbar->addAction(d->navigate_back_action);
toolbar->addAction(d->navigate_forward_action);
toolbar->addAction(d->navigate_up_action);
toolbar->addSeparator();
toolbar->addAction(d->refresh_current_scope_action);
QAction *ConsoleWidget::navigate_back_action() const {
return d->navigate_back_action;
}
QAction *ConsoleWidget::navigate_forward_action() const {
return d->navigate_forward_action;
}
QAction *ConsoleWidget::set_results_to_icons_action() const {
return d->set_results_to_icons_action;
}
QAction *ConsoleWidget::set_results_to_list_action() const {
return d->set_results_to_list_action;
}
QAction *ConsoleWidget::set_results_to_detail_action() const {
return d->set_results_to_detail_action;
}
QAction *ConsoleWidget::customize_columns_action() const {
return d->customize_columns_action;
}
QAction *ConsoleWidget::toggle_console_tree_action() const {
return d->toggle_console_tree_action;
}
QAction *ConsoleWidget::toggle_description_bar_action() const {
return d->toggle_description_bar_action;
}
// TODO: rename to get_current_scope_impl()

View File

@ -42,7 +42,6 @@
class ConsoleWidgetPrivate;
class QStandardItem;
class QMenu;
class QToolBar;
class ConsoleImpl;
class ConsoleDragModel;
@ -126,10 +125,6 @@ public:
QStandardItem *get_item(const QModelIndex &index) const;
QList<QStandardItem *> get_row(const QModelIndex &index) const;
void add_view_actions(QMenu *menu);
void add_preferences_actions(QMenu *menu);
void add_toolbar_actions(QToolBar *toolbar);
QVariant save_state() const;
// NOTE: all results should be registered before this is
@ -142,6 +137,17 @@ public:
void connect_to_action_menu(QMenu *action_menu);
QAction *refresh_current_scope_action() const;
QAction *navigate_up_action() const;
QAction *navigate_back_action() const;
QAction *navigate_forward_action() const;
QAction *set_results_to_icons_action() const;
QAction *set_results_to_list_action() const;
QAction *set_results_to_detail_action() const;
QAction *customize_columns_action() const;
QAction *toggle_console_tree_action() const;
QAction *toggle_description_bar_action() const;
private:
ConsoleWidgetPrivate *d;

View File

@ -74,13 +74,10 @@ public:
QWidget *default_results_widget;
ConsoleImpl *default_impl;
QAction *properties_action;
QAction *refresh_current_scope_action;
QAction *navigate_up_action;
QAction *navigate_back_action;
QAction *navigate_forward_action;
QAction *set_results_to_icons_action;
QAction *set_results_to_list_action;
QAction *set_results_to_detail_action;

View File

@ -82,7 +82,7 @@ FindResults::~FindResults() {
void FindResults::add_actions(QMenu *action_menu, QMenu *view_menu) {
console->connect_to_action_menu(action_menu);
console->add_view_actions(view_menu);
view_menu->addAction(console->customize_columns_action());
}
void FindResults::clear() {

View File

@ -185,7 +185,11 @@ MainWindow::MainWindow()
console->connect_to_action_menu(action_menu);
// View
console->add_view_actions(view_menu);
view_menu->addAction(console->set_results_to_icons_action());
view_menu->addAction(console->set_results_to_list_action());
view_menu->addAction(console->set_results_to_detail_action());
view_menu->addSeparator();
view_menu->addAction(console->customize_columns_action());
view_menu->addAction(open_filter_action);
// Preferences
@ -201,7 +205,8 @@ MainWindow::MainWindow()
preferences_menu->addSeparator();
preferences_menu->addAction(message_log_dock->toggleViewAction());
preferences_menu->addAction(toolbar->toggleViewAction());
console->add_preferences_actions(preferences_menu);
preferences_menu->addAction(console->toggle_console_tree_action());
preferences_menu->addAction(console->toggle_description_bar_action());
for (const auto language : language_list) {
QAction *language_action = language_actions[language];
@ -213,7 +218,11 @@ MainWindow::MainWindow()
help_menu->addAction(about_action);
// Toolbar
console->add_toolbar_actions(toolbar);
toolbar->addAction(console->navigate_back_action());
toolbar->addAction(console->navigate_forward_action());
toolbar->addAction(console->navigate_up_action());
toolbar->addSeparator();
toolbar->addAction(console->refresh_current_scope_action());
toolbar->addAction(manual_action);
//