[education/rkward] /: Allow plugins to read status of overwrite box on <browser>

Thomas Friedrichsmeier <[email protected]>
Newsgroups gmane.comp.kde.cvs,gmane.comp.kde.doc
Message-ID <[email protected]>
Git commit 958c25daeccbeec78eac6da2d93265c4ea70ca6f by Thomas Friedrichsmeier.
Committed on 10/07/2024 at 20:43.
Pushed by tfry into branch 'master'.

Allow plugins to read status of overwrite box on <browser>

M  +4    -0    doc/rkwardplugins/index.docbook
M  +3    -0    rkward/plugin/rkpluginbrowser.cpp

https://invent.kde.org/education/rkward/-/commit/958c25daeccbeec78eac6da2d93265c4ea70ca6f

diff --git a/doc/rkwardplugins/index.docbook b/doc/rkwardplugins/index.docbook
index eb9f6bb13..87fc3fba1 100644
--- a/doc/rkwardplugins/index.docbook
+++ b/doc/rkwardplugins/index.docbook
@@ -3891,6 +3891,10 @@ Attributes:
 	<term>selection</term>
 	<listitem><para>Current text (selected file name) in the browser (string)</para></listitem>
 	</varlistentry>
+	<varlistentry>
+	<term><parameter>overwrite</parameter></term>
+	<listitem><para>Whether the "overwrite" option is checked (boolean, read-only, i.e. you can read the state of the checkbox, but not change it, programatically)</para></listitem>
+	</varlistentry>
 	</variablelist></para></listitem>
 </varlistentry>
 
diff --git a/rkward/plugin/rkpluginbrowser.cpp b/rkward/plugin/rkpluginbrowser.cpp
index 07168fca2..a6b4ca080 100644
--- a/rkward/plugin/rkpluginbrowser.cpp
+++ b/rkward/plugin/rkpluginbrowser.cpp
@@ -59,6 +59,9 @@ RKPluginBrowser::RKPluginBrowser (const QDomElement &element, RKComponent *paren
 	connect (overwrite_confirm, &QCheckBox::toggled, this, &RKPluginBrowser::validateInput);
 	vbox->addWidget (overwrite_confirm);
 	overwrite_confirm->setVisible (mode == GetFileNameWidget::SaveFile);
+	auto overwrite_prop = new RKComponentPropertyBool(this, true);
+	addChild("overwrite", overwrite_prop);
+	connect(overwrite_confirm, &QCheckBox::toggled, overwrite_prop, [overwrite_prop](bool checked) { if (checked != overwrite_prop->boolValue()) overwrite_prop->setBoolValue(checked); });
 
 	validation_timer.setSingleShot (true);
 	connect (&validation_timer, &QTimer::timeout, this, &RKPluginBrowser::validateInput);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.