Good day. Need your help.
 I am Upgrading Widgets from plasma-workspace and faced a number of problems.  I will show the modernization goals using the example of the diskactivity widget, designed to visualize hard drive activity:

 1) At the moment when the widget is first loaded after installation, all the checkboxes are selected in the settings (checked = true).   - It is necessary to make the widget display only real disk devices (not virtual, not loop or ram) by default.

 2) When the user tries to disable all checkboxes in the widget settings, this does not work. After the last checkbox is turned off, all checkboxes are turned on again (the default mode). I can’t disable all checkboxes at the same time.   - I need to make sure that after disabling all settings the widget is empty.

  I decided to do this using the widget's initialization flag (widget_initialized). By default, widget_initialized = false. When you first start the widget, when it has loaded all its settings, the value of the flag widget_initialized = true is set to Component.onCompleted. And if the widget_initialized flag is set to true, then all subsequent changes are considered to be made by the user. The widget_initialized flag allows to distinguish the first launch of the widget from the case when the user cleared all settings.

 Is there any other way to do this? Suppose using the API? Is there any specialized API that allows you to achieve a similar result? Preferably available from QML. Or maybe this API can be added somewhere?

 Thank you!


--
With best regards, Pavel Moseev

m...@basealt.ru
m...@altlinux.org

Reply via email to