summaryrefslogtreecommitdiffstats
path: root/src/app/Panel/krselectionmode.cpp
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2025-08-28 22:44:34 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2025-08-31 23:30:34 +0900
commitf9abd9d505434c9244c03eac708e29a0ca042f6b (patch)
tree30a197ab4c413849188bc131ff859212e636c821 /src/app/Panel/krselectionmode.cpp
parent14d42d284de233f9937becf3fc9ee0dabede3b21 (diff)
downloadkrusader-r14.1.x.tar.gz
krusader-r14.1.x.zip
Restructure source foldersr14.1.x
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it> (cherry picked from commit 086012dcad8a976a0dabbb7cbc20c9cb612cdfa9)
Diffstat (limited to 'src/app/Panel/krselectionmode.cpp')
-rw-r--r--src/app/Panel/krselectionmode.cpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/app/Panel/krselectionmode.cpp b/src/app/Panel/krselectionmode.cpp
new file mode 100644
index 0000000..93a1deb
--- /dev/null
+++ b/src/app/Panel/krselectionmode.cpp
@@ -0,0 +1,61 @@
+#include "krselectionmode.h"
+#include "../krusader.h"
+#include "../defaults.h"
+
+static KrSelectionMode *__currentSelectionMode = 0; // uninitiated, at first
+
+
+KonqSelectionMode konqSelectionMode;
+OriginalSelectionMode originalSelectionMode;
+TCSelectionMode tcSelectionMode;
+UserSelectionMode userSelectionMode;
+
+KrSelectionMode* KrSelectionMode::getSelectionHandler()
+{
+ if (__currentSelectionMode) { // don't check krConfig every time
+ return __currentSelectionMode;
+ } else { // nothing yet, set the correct one
+ krConfig->setGroup( "Look&Feel" );
+ TQString mode = krConfig->readEntry("Mouse Selection", "");
+ switch (mode.toInt()) {
+ case 0:
+ __currentSelectionMode = &originalSelectionMode;
+ break;
+ case 1:
+ __currentSelectionMode = &konqSelectionMode;
+ break;
+ case 2:
+ __currentSelectionMode = &tcSelectionMode;
+ break;
+ case 3:
+ __currentSelectionMode = &userSelectionMode;
+ userSelectionMode.init();
+ break;
+ default:
+ break;
+ }
+ // init and return
+ __currentSelectionMode->init();
+ return __currentSelectionMode;
+ }
+}
+
+void KrSelectionMode::resetSelectionHandler() {
+ __currentSelectionMode = 0;
+}
+
+void UserSelectionMode::init() {
+ krConfig->setGroup("Custom Selection Mode");
+ _useTQTSelection = krConfig->readBoolEntry("TQt Selection", _TQtSelection);
+ _leftButtonSelects = krConfig->readBoolEntry("Left Selects", _LeftSelects);
+ _leftButtonPreservesSelection = krConfig->readBoolEntry("Left Preserves", _LeftPreserves);
+ _shiftCtrlLeftButtonSelects = krConfig->readBoolEntry("ShiftCtrl Left Selects", _ShiftCtrlLeft);
+ _rightButtonSelects = krConfig->readBoolEntry("Right Selects", _RightSelects);
+ _rightButtonPreservesSelection = krConfig->readBoolEntry("Right Preserves", _RightPreserves);
+ _shiftCtrlRightButtonSelects = krConfig->readBoolEntry("ShiftCtrl Right Selects", _ShiftCtrlRight);
+ _spaceMovesDown = krConfig->readBoolEntry("Space Moves Down", _SpaceMovesDown);
+ _spaceCalculatesDiskSpace = krConfig->readBoolEntry("Space Calc Space", _SpaceCalcSpace);
+ _insertMovesDown = krConfig->readBoolEntry("Insert Moves Down", _InsertMovesDown);
+ _showContextMenu = (krConfig->readBoolEntry("Immediate Context Menu", _ImmediateContextMenu) ? -1 : 500);
+}
+