Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37533360
en ru br
Репозитории ALT

Группа :: Графические оболочки/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
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin