KRecentFilesAction

George Staikos staikos at kde.org
Tue Nov 8 13:34:56 GMT 2005


On Tuesday 08 November 2005 04:14, Andras Mantia wrote:
> On Tuesday 08 November 2005 10:51, Andras Mantia wrote:
> >  I will look at it.
>
> Well, this issue is more complex, than I thought. The problem is that
> you rely that KRecentFilesAction::items() returns a list with URLs, but
> now it returns a string that has the URL in it as well:
> nicename [URL]
>
> It is not that simple that I override items() in KRecentFilesAction to
> return the URL, as this method is called in the upper KListAction and
> KSelectAction classes to build the menu, modify the items and so.

  Yes, this is the problem.  (Thanks for fixing exports btw.  I need to get an 
updated compiler so I can test this too.)

> So the solutions are:
> - revert what I did. I would be sad.

  Sorry...

> - rewrite KRecentFileAction, so it does not depend on
> KListAction/KSelectAction and does what we want. It is possible, but
> this close to the freeze it is dangerous.

   And it would also break code that casts to the base.

> - add a new method to KRecentFileAction called urls() or files() which
> return what you want and you have to use an #ifdef to call the right
> version, if kst should run on KDE 3.4 or lower. I'd prefer this one,
> even if this means some kind of behavioral incompatibility. The new way
> of working is there since July, so I'd assume not too many applications
> relied on items() returning a list of files. If we go this way, I will
> document the change as well.

  If a user has a KDE 3.4 compiled Kst and updates KDE to 3.5 it will still 
break.  Who knows which other applications out there do this too...

-- 
George Staikos
KDE Developer				http://www.kde.org/
Staikos Computing Services Inc.		http://www.staikos.net/




More information about the kde-core-devel mailing list