KTimeTracker: Difference between revisions
make it sync with www.staerk.de/thorsten/index.php/ktimetracker |
No edit summary |
||
Line 22: | Line 22: | ||
= simplify ktimetracker = | = simplify ktimetracker = | ||
goals: | |||
* ktimetracker can be designed graphically in qtcreator | |||
* ktimetracker can be edited in qtcreator having all advantages like code completion | |||
* ktimetracker can be debugged step-by-step from qtcreator | |||
<pre> | <pre> | ||
MainWindow::MainWindow(QWidget *parent) : | MainWindow::MainWindow(QWidget *parent) : |
Revision as of 07:51, 26 December 2009
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
ktimetracker is linked to main. Main creates mainwindow, this calls timetrackerpart, this calls timetrackerwidget, this calls taskview, this contains a karmstorage.
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 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.
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.
simplify ktimetracker
goals:
- ktimetracker can be designed graphically in qtcreator
- ktimetracker can be edited in qtcreator having all advantages like code completion
- ktimetracker can be debugged step-by-step from qtcreator
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), m_ui(new Ui::MainWindow) { m_ui->setupUi(this); delete m_ui->treeWidget; m_ui->treeWidget=new TaskView(m_ui->centralwidget); m_ui->gridLayout->addWidget(m_ui->treeWidget, 0, 0, 1, 1); m_ui->treeWidget->hide(); m_ui->treeWidget->show(); }