┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinmainwindow.cpp
diff options
context:
space:
mode:
authorChris Rizzitello <[email protected]>2018-11-11 16:02:08 -0500
committerChris Rizzitello <[email protected]>2018-11-17 08:38:39 -0500
commitc900f7d255aa8fb326cf20f598a5de1a1edbcfe9 (patch)
tree0039c975ddacc767e86f0ed9ad464fed63751b52 /src/dolphinmainwindow.cpp
parenta4cddf7517dab5f666f1c1ede2a58900f3bc5e53 (diff)
Improve Ux for the places panel's hidden items
Summary: BUG: 400860 FIXED-IN: 18.12.0 Clean up the context menu for the places panel. - Change Text "Show All Entries" -> "Show Hidden Places" - Use State dependent icon (like hidden files) - Disable instead of hide if not places are hidden. - Toggle to unchecked if last item of group is unhidden. Create a copy of this "Show Hidden Places" entry in the main dolphin menu View->Places. Test Plan: With Hidden Places {F6398756} {F6398759} Context Menu: {F6398762} {F6398761} Without Hidden Places. {F6414694} {F6414696} Reviewers: #dolphin, #vdg, elvisangelaccio, ngraham Reviewed By: #dolphin, #vdg, elvisangelaccio, ngraham Subscribers: cfeck, elvisangelaccio, veqz, davidc, ngraham, kfm-devel Tags: #dolphin Maniphest Tasks: T8349 Differential Revision: https://phabricator.kde.org/D16767
Diffstat (limited to 'src/dolphinmainwindow.cpp')
-rw-r--r--src/dolphinmainwindow.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index b14f5289c..3ff2ad1e9 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -1335,6 +1335,20 @@ void DolphinMainWindow::setupDockWidgets()
this, &DolphinMainWindow::slotStorageTearDownExternallyRequested);
m_tabWidget->slotPlacesPanelVisibilityChanged(m_placesPanel->isVisible());
+ auto actionShowAllPlaces = new QAction(QIcon::fromTheme(QStringLiteral("hint")), i18nc("@item:inmenu", "Show Hidden Places"), this);
+ actionShowAllPlaces->setCheckable(true);
+ actionShowAllPlaces->setDisabled(true);
+
+ connect(actionShowAllPlaces, &QAction::triggered, this, [actionShowAllPlaces, this](bool checked){
+ actionShowAllPlaces->setIcon(QIcon::fromTheme(checked ? QStringLiteral("visibility") : QStringLiteral("hint")));
+ m_placesPanel->showHiddenEntries(checked);
+ });
+
+ connect(m_placesPanel, &PlacesPanel::showHiddenEntriesChanged, this, [actionShowAllPlaces] (bool checked){
+ actionShowAllPlaces->setChecked(checked);
+ actionShowAllPlaces->setIcon(QIcon::fromTheme(checked ? QStringLiteral("visibility") : QStringLiteral("hint")));
+ });
+
// Add actions into the "Panels" menu
KActionMenu* panelsMenu = new KActionMenu(i18nc("@action:inmenu View", "Panels"), this);
actionCollection()->addAction(QStringLiteral("panels"), panelsMenu);
@@ -1347,7 +1361,12 @@ void DolphinMainWindow::setupDockWidgets()
panelsMenu->addAction(ac->action(QStringLiteral("show_folders_panel")));
panelsMenu->addAction(ac->action(QStringLiteral("show_terminal_panel")));
panelsMenu->addSeparator();
+ panelsMenu->addAction(actionShowAllPlaces);
panelsMenu->addAction(lockLayoutAction);
+
+ connect(panelsMenu->menu(), &QMenu::aboutToShow, this, [actionShowAllPlaces, this]{
+ actionShowAllPlaces->setEnabled(m_placesPanel->hiddenListCount());
+ });
}
void DolphinMainWindow::updateEditActions()