Review Request 119658: [WIP] Support per-activity favourites in Kicker

Ivan Čukić ivan.cukic at kde.org
Tue Dec 15 11:10:08 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119658/
-----------------------------------------------------------

(Updated Dec. 15, 2015, 11:10 a.m.)


Status
------

This change has been discarded.


Review request for Plasma, Eike Hein and Marco Martin.


Repository: plasma-desktop


Description
-------

Basic changes to support KActivities.ResourceModel-based favourites in Kicker.

What works:
- Favourites are shown
- They can be added and removed
- Shared with other launchers (currently kickoff)
 
What does not (request for comments):
- launching the favourites

  KActivities.ResourceModel does not have a method to open an URL, while Kicker relies on the 'trigger' method. The important question to discuss is whether it should know that at all, or it should leave launching to the client application (like kickoff currently does).
  From my POV, the model *needs* to only provide the URL, and the application should know how to open the URL it provided to the model in the first place. It *could* have a (convenience) method to launch the URL, but there will be a lot of URLs that it can not understand (like akonadi:something, etc.). The convenience method would be useful in a few places, not only Kicker.
  
- drag'n'drop rearanging does not work

  KActivities.ResourceModel is based on QSortFilterProxyModel. This means that whenever an item is moved from one place to another, the model reloads itself (at least, the client sees it as a reload).
  This QSFPM behaviour collides with the d'n'd implementation in Kicker (as opposed to Kickoff) because it does the d'n'd by moving an item one place at a time, instead of moving it directly to the destination. That is, if an item is moved from 2nd to 5th position, Kicker will move it 2nd->3rd, 3rd->4th, 4th->5th. The model will invalidate the dragged item on the first step, and other steps will not work.
  
I need ideas and opinions for these issues.

Cheers!


Diffs
-----

  applets/kicker/package/contents/ui/SideBarSection.qml 0411545 
  applets/kicker/plugin/favoritesmodel.h 342d3d1 
  applets/kicker/plugin/favoritesmodel.cpp 3494a65 

Diff: https://git.reviewboard.kde.org/r/119658/diff/


Testing
-------


Thanks,

Ivan Čukić

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20151215/e231b41f/attachment.html>


More information about the Plasma-devel mailing list