From 1736dc0da0db7f41a1091d59747d6067d93d9d37 Mon Sep 17 00:00:00 2001 From: Dmitry Degtyarev Date: Wed, 1 Sep 2021 13:40:58 +0400 Subject: [PATCH] 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 --- src/admc/console_widget/console_widget.cpp | 51 ++++++++++++++-------- src/admc/console_widget/console_widget.h | 16 ++++--- src/admc/console_widget/console_widget_p.h | 3 -- src/admc/find_results.cpp | 2 +- src/admc/main_window.cpp | 15 +++++-- 5 files changed, 58 insertions(+), 29 deletions(-) diff --git a/src/admc/console_widget/console_widget.cpp b/src/admc/console_widget/console_widget.cpp index 829baa15..1df7078e 100644 --- a/src/admc/console_widget/console_widget.cpp +++ b/src/admc/console_widget/console_widget.cpp @@ -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() diff --git a/src/admc/console_widget/console_widget.h b/src/admc/console_widget/console_widget.h index f2eefd53..20d7a22f 100644 --- a/src/admc/console_widget/console_widget.h +++ b/src/admc/console_widget/console_widget.h @@ -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 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; diff --git a/src/admc/console_widget/console_widget_p.h b/src/admc/console_widget/console_widget_p.h index 3a1f99c8..a3580c16 100644 --- a/src/admc/console_widget/console_widget_p.h +++ b/src/admc/console_widget/console_widget_p.h @@ -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; diff --git a/src/admc/find_results.cpp b/src/admc/find_results.cpp index ea40b695..fcbb11ed 100644 --- a/src/admc/find_results.cpp +++ b/src/admc/find_results.cpp @@ -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() { diff --git a/src/admc/main_window.cpp b/src/admc/main_window.cpp index 8fba5a7c..9d6fda68 100644 --- a/src/admc/main_window.cpp +++ b/src/admc/main_window.cpp @@ -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); //