From a48ebcfaee4a747e2385973a3f21c25ddeebe923 Mon Sep 17 00:00:00 2001
From: Philippe Mavridis <philippe.mavridis@yandex.com>
Date: Fri, 2 Jan 2026 12:21:40 +0200
Subject: Add "Go to Desktop" action

The Desktop is a significant enough place to be included in the "Go" quick-access menu.

Apart from being present in the menu, it can be added to any Konqueror toolbar for quick access, just like any other action.

Signed-off-by: Philippe Mavridis <philippe.mavridis@yandex.com>
---
 konqueror/konq_mainwindow.cpp | 13 ++++++++++---
 konqueror/konq_mainwindow.h   |  3 ++-
 konqueror/konqueror.rc        |  3 ++-
 3 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/konqueror/konq_mainwindow.cpp b/konqueror/konq_mainwindow.cpp
index 07033960f..a1da0ad7d 100644
--- a/konqueror/konq_mainwindow.cpp
+++ b/konqueror/konq_mainwindow.cpp
@@ -1928,6 +1928,11 @@ void KonqMainWindow::slotGoSystem()
   openURL( 0L, KURL( "system:/" ) );
 }
 
+void KonqMainWindow::slotGoDesktop()
+{
+    openURL( 0L, KURL( TDEGlobalSettings::desktopPath() ) );
+}
+
 void KonqMainWindow::slotGoApplications()
 {
   openURL( 0L, KURL( "programs:/" ) );
@@ -3885,6 +3890,7 @@ void KonqMainWindow::initActions()
 
   (void) new TDEAction( i18n( "S&ystem" ), "computer", 0, this, TQ_SLOT( slotGoSystem() ), actionCollection(), "go_system" );
   (void) new TDEAction( i18n( "App&lications" ), "kmenu", 0, this, TQ_SLOT( slotGoApplications() ), actionCollection(), "go_applications" );
+  (void) new TDEAction( i18n( "&Desktop" ), "desktop", 0, this, TQ_SLOT( slotGoDesktop() ), actionCollection(), "go_desktop" );
   (void) new TDEAction( i18n( "&Storage Media" ), "computer", 0, this, TQ_SLOT( slotGoMedia() ), actionCollection(), "go_media" );
   (void) new TDEAction( i18n( "&Network Folders" ), "network", 0, this, TQ_SLOT( slotGoNetworkFolders() ), actionCollection(), "go_network_folders" );
   (void) new TDEAction( i18n( "Sett&ings" ), "kcontrol", 0, this, TQ_SLOT( slotGoSettings() ), actionCollection(), "go_settings" );
@@ -4527,9 +4533,10 @@ void KonqMainWindow::disableActionsNoView()
     m_pamBookmarks->setEnabled( true );
     static const char* const s_enActions[] = { "new_window", "duplicate_window", "open_location",
                                          "toolbar_url_combo", "clear_location", "animated_logo",
-                                         "konqintro", "go_most_often", "go_applications", "go_dirtree",
-                                         "go_trash", "go_settings", "go_network_folders", "go_autostart",
-                                         "go_url", "go_media", "go_history", "options_configure_extensions", 0 };
+                                         "konqintro", "go_most_often", "do_desktop", "go_applications",
+                                         "go_dirtree", "go_trash", "go_settings", "go_network_folders",
+                                         "go_autostart", "go_url", "go_media", "go_history",
+                                         "options_configure_extensions", 0 };
     for ( int i = 0 ; s_enActions[i] ; ++i )
     {
         TDEAction * act = action(s_enActions[i]);
diff --git a/konqueror/konq_mainwindow.h b/konqueror/konq_mainwindow.h
index e9e86ed52..dddd2e48f 100644
--- a/konqueror/konq_mainwindow.h
+++ b/konqueror/konq_mainwindow.h
@@ -313,7 +313,7 @@ public:
   static bool isPreloaded() { return s_preloaded; }
   static void setPreloadedWindow( KonqMainWindow* );
   static KonqMainWindow* preloadedWindow() { return s_preloadedWindow; }
-  
+
   void toggleReloadStopButton(bool isStop);
 
   TQString currentTitle() const;
@@ -391,6 +391,7 @@ public slots:
   void slotHome(TDEAction::ActivationReason, TQt::ButtonState state);
   void slotGoSystem();
   void slotGoApplications();
+  void slotGoDesktop();
   void slotGoMedia();
   void slotGoNetworkFolders();
   void slotGoSettings();
diff --git a/konqueror/konqueror.rc b/konqueror/konqueror.rc
index aba05cdc0..bbe5deb16 100644
--- a/konqueror/konqueror.rc
+++ b/konqueror/konqueror.rc
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE gui SYSTEM "kpartgui.dtd">
-<gui name="Konqueror" version="59">
+<gui name="Konqueror" version="60">
 <MenuBar>
  <Menu name="file" noMerge="1"><text>&amp;Location</text>
   <Action name="new_window"/>
@@ -54,6 +54,7 @@
   <Separator/>
   <Action name="go_system"/>
   <Action name="go_applications"/>
+  <Action name="go_desktop"/>
   <Action name="go_network_folders"/>
   <Action name="go_settings"/>
   <Action name="go_media"/>
-- 
cgit v1.2.3

