Skip to content

Commit

Permalink
Branch Watch Tool: Toolbar Visiblity Menu
Browse files Browse the repository at this point in the history
Adds the ability to hide unneeded features of the controls toolbar.
  • Loading branch information
mitaclaw committed Aug 27, 2024
1 parent 2ff0a3e commit 22f5801
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 4 deletions.
40 changes: 36 additions & 4 deletions Source/Core/DolphinQt/Debugger/BranchWatchDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ BranchWatchDialog::BranchWatchDialog(Core::System& system, Core::BranchWatch& br
group_box->setLayout(layout);
group_box->setAlignment(Qt::AlignHCenter);

m_control_toolbar->addWidget(group_box);
m_act_branch_type_filters = m_control_toolbar->addWidget(group_box);
}
{
// Origin and Destination Filter Options
Expand Down Expand Up @@ -352,7 +352,7 @@ BranchWatchDialog::BranchWatchDialog(Core::System& system, Core::BranchWatch& br
group_box->setLayout(layout);
group_box->setAlignment(Qt::AlignHCenter);

m_control_toolbar->addWidget(group_box);
m_act_origin_destin_filters = m_control_toolbar->addWidget(group_box);
}
{
// Condition Filter Options
Expand Down Expand Up @@ -381,7 +381,7 @@ BranchWatchDialog::BranchWatchDialog(Core::System& system, Core::BranchWatch& br
group_box->setLayout(layout);
group_box->setAlignment(Qt::AlignHCenter);

m_control_toolbar->addWidget(group_box);
m_act_condition_filters = m_control_toolbar->addWidget(group_box);
}
{
// Misc. Controls
Expand Down Expand Up @@ -410,7 +410,7 @@ BranchWatchDialog::BranchWatchDialog(Core::System& system, Core::BranchWatch& br
group_box->setLayout(layout);
group_box->setAlignment(Qt::AlignHCenter);

m_control_toolbar->addWidget(group_box);
m_act_misc_controls = m_control_toolbar->addWidget(group_box);
}

// Table Context Menus
Expand Down Expand Up @@ -485,6 +485,21 @@ BranchWatchDialog::BranchWatchDialog(Core::System& system, Core::BranchWatch& br
}
}

// Toolbar Visibility Menu
auto* const toolbar_visibility_menu = new QMenu(this);
{
const auto routine = [toolbar_visibility_menu](const QString& text, QAction* toolbar_action) {
auto* const menu_action =
toolbar_visibility_menu->addAction(text, toolbar_action, &QAction::setVisible);
menu_action->setChecked(toolbar_action->isVisible());
menu_action->setCheckable(true);
};
routine(tr("&Branch Type"), m_act_branch_type_filters);
routine(tr("&Origin and Destination"), m_act_origin_destin_filters);
routine(tr("&Condition"), m_act_condition_filters);
routine(tr("&Misc. Controls"), m_act_misc_controls);
}

// Menu Bar
auto* const menu_bar = new QMenuBar(nullptr);
menu_bar->setNativeMenuBar(false);
Expand All @@ -511,6 +526,7 @@ BranchWatchDialog::BranchWatchDialog(Core::System& system, Core::BranchWatch& br
connect(act_ignore_apploader, &QAction::toggled, this,
&BranchWatchDialog::OnToggleIgnoreApploader);
menu->addMenu(m_mnu_column_visibility)->setText(tr("Column &Visibility"));
menu->addMenu(toolbar_visibility_menu)->setText(tr("&Toolbar Visibility"));
menu->addAction(tr("Wipe &Inspection Data"), this, &BranchWatchDialog::OnWipeInspection);
menu->addAction(tr("&Help"), this, &BranchWatchDialog::OnHelp);
}
Expand Down Expand Up @@ -991,6 +1007,14 @@ void BranchWatchDialog::LoadQSettings()
restoreGeometry(settings.value(QStringLiteral("branchwatchdialog/geometry")).toByteArray());
m_table_view->horizontalHeader()->restoreState( // Restore column visibility state.
settings.value(QStringLiteral("branchwatchdialog/tableheader/state")).toByteArray());
m_act_branch_type_filters->setVisible(
!settings.value(QStringLiteral("branchwatchdialog/toolbar/branch_type_hidden")).toBool());
m_act_origin_destin_filters->setVisible(
!settings.value(QStringLiteral("branchwatchdialog/toolbar/origin_destin_hidden")).toBool());
m_act_condition_filters->setVisible(
!settings.value(QStringLiteral("branchwatchdialog/toolbar/condition_hidden")).toBool());
m_act_misc_controls->setVisible(
!settings.value(QStringLiteral("branchwatchdialog/toolbar/misc_controls_hidden")).toBool());
}

void BranchWatchDialog::SaveQSettings() const
Expand All @@ -999,6 +1023,14 @@ void BranchWatchDialog::SaveQSettings() const
settings.setValue(QStringLiteral("branchwatchdialog/geometry"), saveGeometry());
settings.setValue(QStringLiteral("branchwatchdialog/tableheader/state"),
m_table_view->horizontalHeader()->saveState());
settings.setValue(QStringLiteral("branchwatchdialog/toolbar/branch_type_hidden"),
!m_act_branch_type_filters->isVisible());
settings.setValue(QStringLiteral("branchwatchdialog/toolbar/origin_destin_hidden"),
!m_act_origin_destin_filters->isVisible());
settings.setValue(QStringLiteral("branchwatchdialog/toolbar/condition_hidden"),
!m_act_condition_filters->isVisible());
settings.setValue(QStringLiteral("branchwatchdialog/toolbar/misc_controls_hidden"),
!m_act_misc_controls->isVisible());
}

void BranchWatchDialog::Update()
Expand Down
2 changes: 2 additions & 0 deletions Source/Core/DolphinQt/Debugger/BranchWatchDialog.h
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,8 @@ class BranchWatchDialog : public QDialog
QMenu* m_mnu_column_visibility;

QToolBar* m_control_toolbar;
QAction *m_act_branch_type_filters, *m_act_origin_destin_filters, *m_act_condition_filters,
*m_act_misc_controls;
QTableView* m_table_view;
BranchWatchProxyModel* m_table_proxy;
BranchWatchTableModel* m_table_model;
Expand Down

0 comments on commit 22f5801

Please sign in to comment.