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

List:       kde-devel
Subject:    Bug in KonqPopupMenuPrivate? Re: Help needed with KDiff3 service menu
From:       Albert Astals Cid <aacid () kde ! org>
Date:       2008-06-20 23:06:33
Message-ID: 200806210106.34582.aacid () kde ! org
[Download RAW message or body]

A Dimarts 17 Juny 2008, Joachim Eibl va escriure:
> Am Montag 16 Juni 2008 03:30:37 schrieb Carsten Lohrke:
> > Not so accidentally I pondered with your desktop entry stuff, too and
> > found that the menu plugin desktop files duplicate each other. Please
> > someone correct me, if I'm wrong about that; Unfortunately the KDE 3 and
> > 4 specific .desktop file stuff is not properly documented and a number of
> > key names conflict with the desktop entry specification.
> >
> > At least I can't tell the difference, not having used KDiff3 via the
> > popup menu before. Please give the attached patch a try.
> >
> > From the usability point of view I wondered that I couldn't view a single
> > patch, as with Kompare, found the about entry superfluous , if not
> > annyoing and wondered that KDiff3 didn't integrate in the actions
> > submenu.
> >
> >
> > Carsten
>
> Thank you for taking the time to have a look.
>
> I'm afraid a normal service menu won't help me.
> The help for KonqPopupMenuPlugin is clear about this:
> http://api.kde.org/4.x-api/kdebase-apps-apidocs/lib/konq/html/classKonqPopu
>pMenuPlugin.html
>
> I need special logic to distinguish if one, two or three files or
> directories are chosen. Hence the need for a plugin-lib.
>
> I'm aware of the fact that KDiff3 currently can't open diff/patch files.
> This is a function kompare is good at. KDiff3's strength is its support for
> merging with a third base file. (Very useful when many people touch the
> same files.)
>
> The plugin allows to select one file (or dir), remembers that, and when
> selecting the second or third file (e.g. in another directory) allows to
> compare these.
>
> After placing the kdiff3_plugin.desktop file in
> /usr/share/applications/kde4 even
> 	/usr/bin/ktraderclient --servicetype "KonqPopupMenu/Plugin"
> mentions the kdiff3plugin
>
> ---- Offer 7 ----
> X-KDE-ParentApp : 'konqueror'
> Type : 'Service'
> Name : 'Compare/Merge Files/Directories'
> Invalid property Comment
> Invalid property GenericName
> Icon : 'kdiff3'
> Invalid property Exec
> Terminal : 'FALSE'
> Invalid property TerminalOptions
> Invalid property Path
> ServiceTypes : 'KonqPopupMenu/Plugin - all/all'
> AllowAsDefault : 'TRUE'
> InitialPreference : '1'
> Library : 'libkdiff3plugin'
> DesktopEntryPath : '/usr/share/applications/kde4/kdiff3_plugin.desktop'
> DesktopEntryName : 'kdiff3_plugin'
> Keywords : ''
> Categories : ''
>
> But the libkdiff3plugin.so still isn't loaded.
>
> I've tried to debug konqueror (from svn) but seem to missing something.
> In KonqPopupMenuPrivate::addPlugins() my plugin isn't mentioned.
>
> How can I find out where it fails? What's a better place for a breakpoint?

It seems a bug in KonqPopupMenuPrivate, if you set 
ServiceTypes=KonqPopupMenu/Plugin,inode/directory
it will appear on all directories, but if you set it on all/all it does not, 
i'd say the KMimeTypeTrader call on KonqPopupMenuPrivate::addPlugins needs to 
handle inheritancy when it's not.

David can you confirm it is a bug?

Albert

>
> Cheers,
> Joachim
>
> >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to
> >> unsubscribe <<


 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread] 

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