[education/rkward] rkward: Implement links to new data.frame(), and R package installation"

Thomas Friedrichsmeier null at kde.org
Fri Apr 22 23:25:57 BST 2022


Git commit 4099778f7a24838c46468ff6ab5c4c10c5943820 by Thomas Friedrichsmeier.
Committed on 22/04/2022 at 22:25.
Pushed by tfry into branch 'master'.

Implement links to new data.frame(), and R package installation"

M  +2    -2    rkward/pages/rkward_welcome.rkh
M  +10   -0    rkward/windows/rkhtmlwindow.cpp

https://invent.kde.org/education/rkward/commit/4099778f7a24838c46468ff6ab5c4c10c5943820

diff --git a/rkward/pages/rkward_welcome.rkh b/rkward/pages/rkward_welcome.rkh
index 0dc423de..2a1944a3 100644
--- a/rkward/pages/rkward_welcome.rkh
+++ b/rkward/pages/rkward_welcome.rkh
@@ -10,7 +10,7 @@
 
 	<section title="Import or enter data" id="import-create">
 		<ul>
-	<li>New data.frame()</li>
+	<li><link href="rkward://actions/new_data_frame">Enter new data</link></li>
 	<li>Import data</li>
 		</ul>
 	</section>
@@ -18,7 +18,7 @@
 	<section title="Useful settings" id="settings">
 		<ul>
 	<li><link href="rkward://settings/addons">RKWard Add-ons</link></li>
-	<li>R packages <link href="">TODO link me</link></li>
+	<li><link href="rkward://actions/rpackage_install">Install R packages</link></li>
 	<li><link href="rkward://settings/general">Startup options</link> (including this page)</li>
 		</ul>
 	</section>
diff --git a/rkward/windows/rkhtmlwindow.cpp b/rkward/windows/rkhtmlwindow.cpp
index f4c64e23..51d56d69 100644
--- a/rkward/windows/rkhtmlwindow.cpp
+++ b/rkward/windows/rkhtmlwindow.cpp
@@ -596,6 +596,16 @@ bool RKHTMLWindow::handleRKWardURL (const QUrl &url, RKHTMLWindow *window) {
 			} else {
 				RKWorkplace::mainWorkplace()->openAnyUrl(target);
 			}
+		} else if (url.host () == "actions") {  // anything else
+			QString action = url.path ();
+			if (action.startsWith ('/')) action = action.mid (1);
+			if (action == "new_data_frame") {
+				RKWardMainWindow::getMain()->slotNewDataFrame();
+			} else if (action == "rpackage_install") {
+				RKWardMainWindow::getMain()->slotFileLoadLibs();
+			} else {
+				RK_ASSERT(false);
+			}
 		} else {
 			if (window) window->openRKHPage (url);
 			else RKWorkplace::mainWorkplace ()->openHelpWindow (url);	// will recurse with window set, via openURL()


More information about the rkward-tracker mailing list