Skip to content

Porting module on QML

Evgeny Chesnokov requested to merge echesnokov/kcron:qml into master

Description

Porting kcron to QML. Tables have been separated into a new plugin from Kirigami Addons. The module's interaction with crontab (crontablib) has not changed.

@teams/vdg @teams/usability

Onboarding

Changed behavior when there are no cron jobs. Previously, a dialog box appeared to welcome the user, now all information is displayed on a separate tab of the module.

Old New
kcron_old_onboarding Screenshot_20240905_144003

Main page

The main page of the module has remained almost unchanged. The "Print" button has been moved to the ToolBar because not only tasks, but also variables were saved in the PDF, and leaving it next to the task table, is not correct, since it can mislead the user as to what exactly will be saved. The appearance of the "Status" column has also been simplified.

Old New
kcron_old_main Screenshot_20240911_175032
kcron_old_status Screenshot_20240911_175032_

Create/Update

Previously, changing/creating variables or tasks was implemented through modal windows, now separate pages are used.

Variable

Old New
kcron_old_create_variable Screenshot_20240911_175047
kcron_old_create_variable_no_error Screenshot_20240911_175051

Task

Old New
kcron_old_create_task Screenshot_20240911_175037
kcron_old_create_task_full_page Screenshot_20240911_175043
Screenshot_20240905_133800
Screenshot_20240905_133804

Print

The old implementation of printing in PDF used QPainter and all rendering was based on QWidget, because of this it was decided to print html code, which also corrected some printing artifacts.

Old New
kcron_old_print kcron_print
Edited by Evgeny Chesnokov

Merge request reports