Группа :: Графические оболочки/KDE
Пакет: kde5-khelpcenter
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: khelpcenter-alt-hide-scrollgroup-menu-without-children.patch
Скачать
Скачать
From 779910895a66df5827f937eaa1884aa50cba41c5 Mon Sep 17 00:00:00 2001
From: Aleksei Nikiforov <darktemplar@altlinux.org>
Date: Fri, 14 Feb 2020 17:10:29 +0300
Subject: [PATCH] Hide top level scrollkeeper menu item if it has no children
---
khelpcenter/navigator.cpp | 2 +-
khelpcenter/scrollkeepertreebuilder.cpp | 7 +++++++
khelpcenter/scrollkeepertreebuilder.h | 2 ++
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/khelpcenter/navigator.cpp b/khelpcenter/navigator.cpp
index e0ce4906..1eb9d228 100644
--- a/khelpcenter/navigator.cpp
+++ b/khelpcenter/navigator.cpp
@@ -281,7 +281,7 @@ void Navigator::insertInfoDocs( NavigatorItem *topItem )
void Navigator::insertScrollKeeperDocs( NavigatorItem *topItem )
{
ScrollKeeperTreeBuilder *builder = new ScrollKeeperTreeBuilder( this );
- builder->build( topItem );
+ builder->buildOrHide( topItem );
}
void Navigator::selectItem( const QUrl &url )
diff --git a/khelpcenter/scrollkeepertreebuilder.cpp b/khelpcenter/scrollkeepertreebuilder.cpp
index 58e2a9e8..d847a78d 100644
--- a/khelpcenter/scrollkeepertreebuilder.cpp
+++ b/khelpcenter/scrollkeepertreebuilder.cpp
@@ -45,6 +45,13 @@ void ScrollKeeperTreeBuilder::loadConfig()
mShowEmptyDirs = Prefs::showEmptyDirs();
}
+void ScrollKeeperTreeBuilder::buildOrHide( NavigatorItem *parent )
+{
+ build(parent);
+
+ parent->setHidden(parent->childCount() == 0);
+}
+
void ScrollKeeperTreeBuilder::build( NavigatorItem *parent )
{
QString lang = QLocale().bcp47Name();
diff --git a/khelpcenter/scrollkeepertreebuilder.h b/khelpcenter/scrollkeepertreebuilder.h
index 6672a694..d4c6aaa9 100644
--- a/khelpcenter/scrollkeepertreebuilder.h
+++ b/khelpcenter/scrollkeepertreebuilder.h
@@ -36,6 +36,8 @@ class ScrollKeeperTreeBuilder : public QObject
void build( NavigatorItem *parent );
+ void buildOrHide( NavigatorItem *parent );
+
private:
void loadConfig();
int insertSection( NavigatorItem *parent,
--
2.24.1