Kickoff-QML in 4.10 ?

Mark markg85 at gmail.com
Thu Nov 15 23:15:11 UTC 2012


On Wed, Nov 14, 2012 at 12:50 PM, Aaron J. Seigo <aseigo at kde.org> wrote:
> On Tuesday, November 13, 2012 10:08:57 Rick Stockton wrote:
>> Beta tagging comes up on Thursday, but I haven't seen any indication
>> that Kickoff-QML will be merged into 4.10.
>
> I tried it again today and there has been some really good progress, but it is
> not yet ready for merging. Issues that remain include:
>
> e* the tab bar at the bottom is completely separated from the content; having
> the tabs merged with the content so it is obvious which tab is selected is one
> thing that kickoff actually got right.
>
> * the bread crumb line is functional but very, very unpretty. it's just a line
> of regular pushbuttons, and really it ought to be a "proper" breadcrumb with
> "Root > Leaf > Leaf" style as we have in dolphin.
>
> * the bread crumb needs to scroll lef/right when it gets too long; once i
> navigate 4 levels into the menu (i have such a thing for testing exactly this
> sort of thing :) the bread crumb buttons just spill off out the right-hand side
> of the widget
>
> * an animation when switching between levels in the application hierarchi
> would be very nice. the c++ version of kickoff has this and we should not go
> backwards here
>
> * games can be shown with their generic names. there's even a TODO for this in
> the code: "TODO: games should always show the by name...really?" yes, really.
> the generic names are useless as they are things like "Card game". the
> kgoldrunner one is particularly fantastic.
>
> * the QML needs to be updated to match the qml style guide:
>
>         http://community.kde.org/Plasma/QMLStyle
>
> * when run with location set to top or bottom, the tab bar buttons are
> properly set to be at the top or bottom of the dialog. on left and right,
> however, they remain at the bottom. they should appear vertically on the edge
> closest to the pointer.
>
> problems possibly outside of kickoff-qml, but which block merge:
>
> * i am experiencing crashes here whenever i click into the Search line edit
> and start entering text
>
> * for some reason, the top line of the flickable area always stays visible once
> the view is scrolled down; scrolling all the way to the top does not make it
> go away. this could well be a bug in PlasmaExtras.ScrollArea rather than in
> the kickoff-qml.
>
> --
> Aaron J. Seigo
> _______________________________________________
> Plasma-devel mailing list
> Plasma-devel at kde.org
> https://mail.kde.org/mailman/listinfo/plasma-devel
>

Wow, Aaron! That really is some nice feedback you have there! As for
the QML breadcrumbs, i have a lot of that logic ready for my own
project. Right now it's tied into that a bit, but could be - fairly
easily - pulled out. It even has dropdown menus for the arrows ">" and
auto completion when typing. All of that obviously depends on the data
used behind it.

What it doesn't do yet is automatically scrolling to the right when
there are too many "buttons" and there is _no_ style in anything there
yet so you'd have to style it before actually using it.

Feel free to take a look at the code:
https://gitorious.org/porpoise/master/trees/master/qml/Porpoise
Use it as you please with the licence that you want.
- BreadcrumbBar.qml
- BreadcrumbButton.qml (should use the PlasmaComponents.Button style)
- BreadcrumbCrumbs.qml
- BreadcrumbDropdown.qml
- BreadcrumbEdit.qml

The edit stuff might not be needed. In that case simple remove this
MouseArea: https://gitorious.org/porpoise/master/blobs/master/qml/Porpoise/BreadcrumbCrumbs.qml#line40
The crumbs are filled in (obviously) BreadcrumbCrumbs.qml which has a
ListView (set to horizontal orientation) and takes a QStrinListModel
as model parameter. The delegate for that is then BreadcrumbButton.qml
which uses the role (from the model) named "modelData". Just passing a
plain QStringList as model "should" also work.

If more info is needed, feel free to ask. I'm working daily on that
repository so things might break from time to time. Commit
ec5a975d8e91abd965625ef0f59c700cc106fed0 is (as far as i know) quite
stable.

This is not specifically made for the kickoff purpose, but i try to
make it as abstract as possible so any project can use it though some
specifics for my app did sneak in.

Good luck,
Mark


More information about the Plasma-devel mailing list