[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdebase/libkonq
From:       David Faure <faure () kde ! org>
Date:       2005-01-26 23:57:41
Message-ID: 20050126235741.AC7871BC36 () office ! kde ! org
[Download RAW message or body]

CVS commit by faure: 

Don't show actions (servicemenus) for trashed items nor trash.desktop by default.
BUG: 97607


  M +25 -12    konq_popupmenu.cc   1.214


--- kdebase/libkonq/konq_popupmenu.cc  #1.213:1.214
@@ -599,4 +599,5 @@ void KonqPopupMenu::setup(KonqPopupFlags
 
     PopupServices s;
+    KURL urlForServiceMenu( m_lstItems.first()->url() );
 
     // 1 - Look for builtin and user-defined services
@@ -610,4 +611,9 @@ void KonqPopupMenu::setup(KonqPopupFlags
         const QString priority = cfg.readEntry("X-KDE-Priority");
         const QString submenuName = cfg.readEntry( "X-KDE-Submenu" );
+        if ( cfg.readEntry("Type") == "Link" ) {
+           urlForServiceMenu = cfg.readEntry("URL");
+           // TODO: Do we want to make all the actions apply on the target
+           // of the .desktop file instead of the .desktop file itself?
+        }
         ServiceList* list = s.selectList( priority, submenuName );
         (*list) = KDEDesktopMimeType::userDefinedServices( path, cfg, url.isLocalFile() );
@@ -667,5 +673,12 @@ void KonqPopupMenu::setup(KonqPopupFlags
                 {
                     const QString protocol = cfg.readEntry( "X-KDE-Protocol" );
-                    if ( protocol != m_sViewURL.protocol() )
+                    if ( protocol != urlForServiceMenu.protocol() )
+                        continue;
+                }
+                else if ( urlForServiceMenu.protocol() == "trash" )
+                {
+                    // Require servicemenus for the trash to ask for protocol=trash explicitely.
+                    // Trashed files aren't supposed to be available for actions.
+                    // One might want a servicemenu for trash.desktop itself though.
                         continue;
                 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic