hein added a comment.

  You got a point, but there's a higher-level thing with the Kicker backend in 
terms of where it came from and where it's going:
  
  - Originally it was created specifically for the Kicker menu with the backend 
custom-designed to that UI. AppsModel is fairly generic (good), and the 
RootModel subclass exists almost solely to create the specific menu structure 
that the Kicker UI uses (it's the ugly wart in terms of this being a generic 
import, which it's increasingly used at)
  - Eventually we grew other UIs and RootModel keeps growing additional feature 
and mode knobs to customize it for them and it's getting rather sprawling
  
  I'd like to take the Kicker backend into a direction where it's more 
composable from QML to create different UIs rather than the equivalent of 
adding checkboxes to RootModel.
  
  In particular I think there's an opportunity to take a step towards that with 
this specific use case, which I'm guessing is to just get one flat list of 
apps, right?
  
  Namely I'd suggest:
  
  - AppsModel is already exposed to QML via the plugin and already implements 
QQmlParserStatus
  - Add a parameter-free constructor to AppsModel
  - Make entryPath a Q_PROPERTY to AppsModel and default it to empty (root 
level)
  
  Then whatever UI this is for can just do AppsModel{} and avoid all of the 
unnecessary stuff in RootModel and it's cleaner and a bit lighter.

REPOSITORY
  R119 Plasma Desktop

REVISION DETAIL
  https://phabricator.kde.org/D22762

To: tcanabrava, davidedmundson, hein
Cc: hein, plasma-devel, LeGast00n, jraleigh, fbampaloukas, GB_2, ragreen, 
Pitel, ZrenBot, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, 
sebas, apol, mart

Reply via email to