Jump to content

KTimeTracker: Difference between revisions

From KDE Community Wiki
Line 11: Line 11:
= Architecture =
= Architecture =
See http://api.kde.org/4.x-api/kdepim-apidocs/ktimetracker/html/
See http://api.kde.org/4.x-api/kdepim-apidocs/ktimetracker/html/
  main -> mainwindow -------------------------
  main -> mainwindow ------------------------
                                             \
                                             \
                                               -> timetrackerwidget -(contains n>=0)-> taskview -(uses)-> timetrackerstorage
                                               -> timetrackerwidget -(contains n>=0)-> taskview -(uses)-> timetrackerstorage
                                            /
                                            /
ktimetracker_plugin -> ktimetrackerpart --
  ktimetracker_plugin -> ktimetrackerpart --


See e.g. http://api.kde.org/4.5-api/kdepim-apidocs/ktimetracker/html/classtimetrackerstorage.html
See e.g. http://api.kde.org/4.5-api/kdepim-apidocs/ktimetracker/html/classtimetrackerstorage.html

Revision as of 14:39, 26 February 2011

Ktimetracker
ktimetracker running on the N810


This page is for people who want to participate in the ktimetracker community. So, for (future) ktimetracker developers.

IDE

Please use qtcreator. Why? Quite easy: The description how to set up kdevelop with KDE is over 200 lines long. For eclipse it is 97 and for QtCreator it is 13. So, 13 lines to read instead of 222.

Architecture

See http://api.kde.org/4.x-api/kdepim-apidocs/ktimetracker/html/

main -> mainwindow ------------------------
                                            \
                                             -> timetrackerwidget -(contains n>=0)-> taskview -(uses)-> timetrackerstorage
                                            /
 ktimetracker_plugin -> ktimetrackerpart --

See e.g. http://api.kde.org/4.5-api/kdepim-apidocs/ktimetracker/html/classtimetrackerstorage.html


ktimetracker is linked to main. Main creates mainwindow, this calls timetrackerpart, this calls timetrackerwidget, this calls taskview, this contains a timetrackerstorage.

karmstorage stores and loads the events and tasks. taskview displays them. timetrackerwidget displays one or more taskviews in tabs. timetrackerpart can be integrated into a mainwindow or a kontact plugin. mainwindow adds the menu.

ktimetracker benchmark

The help menu

The help menu is stupidly overloaded and I cannot do anything about it because it is somewhere hidden in the library code. Would love to simplify it. "Help" does not need subitems - you want help.

The KPart Mess

ktimetracker is an application displaying a kpart. On the one hand, this makes it easy to be integrated as kontact plugin. But on the other hand, I have the feeling, ktimetracker can no long be debugged so easily. Here are the reasons why dedicated applications are better:

  • can be designed graphically in qtcreator
  • can be edited in qtcreator having all advantages like code completion
  • can be debugged step-by-step from qtcreator
  • toolbar magic can be done
  • with a kpart, you will have to do make install to get the kpart installed(?)
  • https://bugs.kde.org/show_bug.cgi?id=204203

Polls