How to get the Project Dashboard right

Aleix Pol aleixpol at kde.org
Thu Apr 29 13:33:26 UTC 2010


On Thu, Apr 29, 2010 at 12:20 AM, Aleix Pol <aleixpol at kde.org> wrote:

> Hi,
> As you will probably have seen, I got the community integration proposal
> into this year's GSoC. Great. We decided with my mentor (Andreas :) that we
> would discuss the ideas here on the list, so here I am exposing some first
> step: the Project Dashboard.
>
> One of the most important parts of this project is the Project Dashboard
> which will be some page that will offer some information to the user about
> the project he just opened. Of course, we want to make it available for any
> plugin to put their information there. My idea for that would go something
> like this: http://proli.net/meu/kdevelop/kdev_dashboard_mockup.html.
> I want first of all the logo and the description that should take all the
> width and then a list with all the elements that initially I think 2
> elements per row would be fine but we might want to make that configurable,
> shouldn't be a problem.
>
> To use it, we would add a signal to the Project controller that would pass
> the ProjectDashboard instance to any file that was connected to the signal
> (emulating the observer pattern) and then it should be filled. Any addition
> would have some weight to make it possible to provide some importance to
> each element.
>
> here's a mockup for the API:
> class IProjectController
> {
>     //...
>     signals:
>         void elementsRequested(IProject* project, ProjectDashboard*
> dashboard);
> };
>
> class ProjectDashboard
> {
>     public:
>         addElement(DashboardElement* element, int weight);
> };
>
> //here the methods would be needed for configuration more than for the main
> display
> class ProjectDashboardElement : public QGraphicsWidget
> {
>     public:
>         KIcon icon() const;
>         QString name() const;
> };
>
> Last but not least, we should decide what technology to use to present all
> this information. I thing QGraphicsView would be great but also we could
> consider using Plasma or maybe just HTML. In my opinion QGV would be just
> great, I'd have to talk to the plasma guys to know what can we get from
> using it (probably just theming and integration, but it's not that bad since
> we always lack artwork).
>
> Thoughts? Ideas? Opinions? :D
> This is going to be fun!! ^^
>
> Aleix
>

Hi,
I was talking to some Plasma folks yesterday and I think it would be worth
giving it a try. That way we can get some stuff for free: mainly the
existing plasmoids and theming which is great.

The bad news is that there are a couple of changes required to have it the
way I'd like it. First of all, it's not yet possible to add Plasma::Applet*
instances directly, now it has to go through a different plugin and I
wouldn't like it a lot like that. The good news on that is that they're
willing to fullfill this use case so in the worst case we just would have to
wait.

The other problem is that we need to get Plasma to use our project.kdev4
file instead of some ~/.kde4/share... file. The main reason for that is that
we want that to be versioned so there's a project-wide dashboard version. We
could provide the KConfig instance to plasma so that it writes to the file
we want it to write on or we could try to workaround that by configuring the
Plasma instance ourselves every time we use it.

Another problem would be that we'll have to wait for the Plasma KPart to be
released at sometime next month.

That's it for the moment.
Aleix
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20100429/5347cd8f/attachment.html>


More information about the KDevelop-devel mailing list