[education/rkward] /: Add setting to allow hiding R Console scrollbar minimap

Thomas Friedrichsmeier null at kde.org
Sat Apr 9 10:24:50 BST 2022


Git commit 6e923f4df58979418e44d8b52647c049eda7aaca by Thomas Friedrichsmeier.
Committed on 09/04/2022 at 09:24.
Pushed by tfry into branch 'master'.

Add setting to allow hiding R Console scrollbar minimap

M  +1    -0    ChangeLog
M  +2    -1    rkward/rkconsole.cpp
M  +4    -0    rkward/settings/rksettingsmoduleconsole.cpp
M  +2    -0    rkward/settings/rksettingsmoduleconsole.h

https://invent.kde.org/education/rkward/commit/6e923f4df58979418e44d8b52647c049eda7aaca

diff --git a/ChangeLog b/ChangeLog
index 0bc343ea..c5279e66 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,5 @@
 --- Version 0.7.3 - UNRELEASED
+- Add setting to allow hiding R Console scrollbar minimap
 - Fixed: Accordeon control (used in "Recode categorical data") never expanded
 - "Spontaneous" output, such as from running examples in the enhanced help system in R 4.2.0, is shown in the R Console
 - Fix compilation with the upcoming R 4.2.0
diff --git a/rkward/rkconsole.cpp b/rkward/rkconsole.cpp
index 3e641d4c..e19a5ccc 100644
--- a/rkward/rkconsole.cpp
+++ b/rkward/rkconsole.cpp
@@ -99,7 +99,8 @@ RKConsole::RKConsole (QWidget *parent, bool tool_window, const char *name) : RKM
 
 	KTextEditor::ConfigInterface *confint = qobject_cast<KTextEditor::ConfigInterface*> (view);
 	RK_ASSERT (view);
-	confint->setConfigValue ("dynamic-word-wrap", false);
+	confint->setConfigValue("dynamic-word-wrap", false);
+	confint->setConfigValue("scrollbar-minimap", RKSettingsModuleConsole::showMinimap());
 
 	setFocusProxy (view);
 	setFocusPolicy (Qt::StrongFocus);
diff --git a/rkward/settings/rksettingsmoduleconsole.cpp b/rkward/settings/rksettingsmoduleconsole.cpp
index d26bac14..b4f7094d 100644
--- a/rkward/settings/rksettingsmoduleconsole.cpp
+++ b/rkward/settings/rksettingsmoduleconsole.cpp
@@ -32,6 +32,7 @@ RKConfigValue<uint> RKSettingsModuleConsole::max_console_lines {"max console lin
 RKConfigValue<bool> RKSettingsModuleConsole::pipe_user_commands_through_console {"pipe user commands through console", true};
 RKConfigValue<RKSettingsModuleConsole::PipedCommandsHistoryMode, int> RKSettingsModuleConsole::add_piped_commands_to_history {"add piped commands to history", RKSettingsModuleConsole::AddSingleLine };
 RKConfigValue<bool> RKSettingsModuleConsole::context_sensitive_history_by_default {"command history defaults to context sensitive", false};
+RKConfigValue<bool> RKSettingsModuleConsole::show_minimap {"show minimap", true};
 
 RKSettingsModuleConsole::RKSettingsModuleConsole (RKSettings *gui, QWidget *parent) : RKSettingsModule (gui, parent) {
 	RK_TRACE (SETTINGS);
@@ -50,6 +51,8 @@ RKSettingsModuleConsole::RKSettingsModuleConsole (RKSettings *gui, QWidget *pare
 	auto max_console_lines_spinner = max_console_lines.makeSpinBox(0, 10000, this);
 	vbox->addWidget (max_console_lines_spinner);
 
+	vbox->addWidget(show_minimap.makeCheckbox(i18n("Show scrollbar mini map (setting takes effect after restart)"), this));
+
 	vbox->addSpacing (2*RKGlobals::spacingHint ());
 
 	auto pipe_user_commands_through_console_box = pipe_user_commands_through_console.makeCheckbox(i18n("Run commands from script editor through console"), this);
@@ -93,6 +96,7 @@ void RKSettingsModuleConsole::syncConfig(KConfig* config, RKConfigBase::ConfigSy
 	pipe_user_commands_through_console.syncConfig(cg, a);
 	add_piped_commands_to_history.syncConfig(cg, a);
 	context_sensitive_history_by_default.syncConfig(cg, a);
+	show_minimap.syncConfig(cg, a);
 	if (a == RKConfigBase::LoadConfig) {
 		completion_settings.tabkey_invokes_completion = true;
 	}
diff --git a/rkward/settings/rksettingsmoduleconsole.h b/rkward/settings/rksettingsmoduleconsole.h
index 04c9e180..e9fddadd 100644
--- a/rkward/settings/rksettingsmoduleconsole.h
+++ b/rkward/settings/rksettingsmoduleconsole.h
@@ -45,6 +45,7 @@ public:
 	@param current_state the current button state
 	@returns true, if a the search should be context sensitive, false for a normal search */
 	static bool shouldDoHistoryContextSensitive (Qt::KeyboardModifiers current_state);
+	static bool showMinimap() { return show_minimap; };
 	static const RKCodeCompletionSettings* completionSettings() { return &completion_settings; }
 
 	static QStringList loadCommandHistory ();
@@ -62,6 +63,7 @@ private:
 	static RKConfigValue<bool> pipe_user_commands_through_console;
 	static RKConfigValue<PipedCommandsHistoryMode, int> add_piped_commands_to_history;
 	static RKConfigValue<bool> context_sensitive_history_by_default;
+	static RKConfigValue<bool> show_minimap;
 
 	RKCodeCompletionSettingsWidget *completion_settings_widget;
 };


More information about the rkward-tracker mailing list