diff options
author | Carlos E. Salazar <ce.salazar@gmail.com> | 2020-10-09 05:52:30 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-09 05:52:30 +0300 |
commit | fa546c440e6522e80b71938161de80f84a4a73ba (patch) | |
tree | 8730633220899919ef1d470bff2fab87adaa5ecd | |
parent | 34b44e7496f4a6b919cc31a7ef31388176970c31 (diff) |
Feature/toggle groups panel option (#5247)
* Closes #5243
-rw-r--r-- | docs/topics/UserInterface.adoc | 2 | ||||
-rw-r--r-- | share/translations/keepassx_en.ts | 4 | ||||
-rw-r--r-- | src/core/Config.cpp | 1 | ||||
-rw-r--r-- | src/core/Config.h | 1 | ||||
-rw-r--r-- | src/gui/MainWindow.cpp | 5 | ||||
-rw-r--r-- | src/gui/MainWindow.ui | 12 | ||||
-rw-r--r-- | src/gui/group/GroupView.cpp | 8 |
7 files changed, 32 insertions, 1 deletions
diff --git a/docs/topics/UserInterface.adoc b/docs/topics/UserInterface.adoc index 1f0ca9cf2..cc284a526 100644 --- a/docs/topics/UserInterface.adoc +++ b/docs/topics/UserInterface.adoc @@ -10,7 +10,7 @@ The KeePassXC interface is designed for simplicity and easy access to your infor .Main database interface
image::main_interface.png[]
-*(A) Groups* - Organize your entries into discrete groups to bring order to all of your sensitive information. Groups can be nested under each other to create a hierarchy. Settings from parent groups get applied to their children.
+*(A) Groups* - Organize your entries into discrete groups to bring order to all of your sensitive information. Groups can be nested under each other to create a hierarchy. Settings from parent groups get applied to their children. You can hide this panel on the View menu.
*(B) Entries* - Entries contain all the information for each website or application you are storing in KeePassXC. This view shows all the entries in the selected group. Each column can be resized, reordered, and shown or hidden based on your preference. Right click the header row to see all available options.
diff --git a/share/translations/keepassx_en.ts b/share/translations/keepassx_en.ts index 1fb02eab2..75ca7a9c7 100644 --- a/share/translations/keepassx_en.ts +++ b/share/translations/keepassx_en.ts @@ -4880,6 +4880,10 @@ Expect some bugs and minor issues, this version is not meant for production use. <translation type="unfinished"></translation> </message> <message> + <source>Show Groups Panel</source> + <translation type="unfinished"></translation> + </message> + <message> <source>Show Preview Panel</source> <translation type="unfinished"></translation> </message> diff --git a/src/core/Config.cpp b/src/core/Config.cpp index e9f5f1a77..382e04344 100644 --- a/src/core/Config.cpp +++ b/src/core/Config.cpp @@ -92,6 +92,7 @@ static const QHash<Config::ConfigKey, ConfigDirective> configStrings = { {Config::GUI_Language, {QS("GUI/Language"), Roaming, QS("system")}}, {Config::GUI_HideToolbar, {QS("GUI/HideToolbar"), Roaming, false}}, {Config::GUI_MovableToolbar, {QS("GUI/MovableToolbar"), Roaming, false}}, + {Config::GUI_HideGroupsPanel, {QS("GUI/HideGroupsPanel"), Roaming, false}}, {Config::GUI_HidePreviewPanel, {QS("GUI/HidePreviewPanel"), Roaming, false}}, {Config::GUI_ToolButtonStyle, {QS("GUI/ToolButtonStyle"), Roaming, Qt::ToolButtonIconOnly}}, {Config::GUI_ShowTrayIcon, {QS("GUI/ShowTrayIcon"), Roaming, false}}, diff --git a/src/core/Config.h b/src/core/Config.h index 1c3f1e941..63bfb00c5 100644 --- a/src/core/Config.h +++ b/src/core/Config.h @@ -74,6 +74,7 @@ public: GUI_Language, GUI_HideToolbar, GUI_MovableToolbar, + GUI_HideGroupsPanel, GUI_HidePreviewPanel, GUI_ToolButtonStyle, GUI_ShowTrayIcon, diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index e87cebce4..f9d3cf406 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -1792,6 +1792,11 @@ void MainWindow::initViewMenu() applySettingsChanges(); }); + m_ui->actionShowGroupsPanel->setChecked(!config()->get(Config::GUI_HideGroupsPanel).toBool()); + connect(m_ui->actionShowGroupsPanel, &QAction::toggled, this, [](bool checked) { + config()->set(Config::GUI_HideGroupsPanel, !checked); + }); + m_ui->actionShowPreviewPanel->setChecked(!config()->get(Config::GUI_HidePreviewPanel).toBool()); connect(m_ui->actionShowPreviewPanel, &QAction::toggled, this, [](bool checked) { config()->set(Config::GUI_HidePreviewPanel, !checked); diff --git a/src/gui/MainWindow.ui b/src/gui/MainWindow.ui index 93488dc05..40efd3fa8 100644 --- a/src/gui/MainWindow.ui +++ b/src/gui/MainWindow.ui @@ -381,6 +381,7 @@ </widget> <addaction name="menuTheme"/> <addaction name="actionCompactMode"/> + <addaction name="actionShowGroupsPanel"/> <addaction name="actionShowPreviewPanel"/> <addaction name="actionShowToolbar"/> </widget> @@ -961,6 +962,17 @@ <string>Show Toolbar</string> </property> </action> + <action name="actionShowGroupsPanel"> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>true</bool> + </property> + <property name="text"> + <string>Show Groups Panel</string> + </property> + </action> <action name="actionShowPreviewPanel"> <property name="checkable"> <bool>true</bool> diff --git a/src/gui/group/GroupView.cpp b/src/gui/group/GroupView.cpp index 056015ca8..b9c885d03 100644 --- a/src/gui/group/GroupView.cpp +++ b/src/gui/group/GroupView.cpp @@ -22,6 +22,7 @@ #include <QMimeData> #include <QShortcut> +#include "core/Config.h" #include "core/Database.h" #include "core/Group.h" #include "gui/group/GroupModel.h" @@ -52,6 +53,13 @@ GroupView::GroupView(Database* db, QWidget* parent) viewport()->setAcceptDrops(true); setDropIndicatorShown(true); setDefaultDropAction(Qt::MoveAction); + setVisible(!config()->get(Config::GUI_HideGroupsPanel).toBool()); + + connect(config(), &Config::changed, this, [this](Config::ConfigKey key) { + if (key == Config::GUI_HideGroupsPanel) { + setVisible(!config()->get(Config::GUI_HideGroupsPanel).toBool()); + } + }); } void GroupView::contextMenuShortcutPressed() |