[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [krdc] /: Make default protocol configurable
From:       Urs Wolfer <uwolfer () kde ! org>
Date:       2016-07-25 17:43:15
Message-ID: E1bRjuN-000504-OI () code ! kde ! org
[Download RAW message or body]

Git commit 89cd4132dcd384824dcec86caf1bdb04ec4a1a74 by Urs Wolfer, on behalf of Arno Möller.
Committed on 25/07/2016 at 17:44.
Pushed by uwolfer into branch 'master'.

Make default protocol configurable

Add a new config option for the default protocol.
Default protocol: protocol to use when passing a hostname
via command line without a scheme.
~~
$ krdc my.host
~~
expands to vnc://my.host since the dawn of time. With the
default protocol set to "rdp" it expands to rdp://my.host

The default protocol defaults to vnc to keep the current
behavior.

REVIEW: 128496

M  +18   -0    config/general.ui
M  +3    -0    core/krdc.kcfg
M  +3    -2    main.cpp

http://commits.kde.org/krdc/89cd4132dcd384824dcec86caf1bdb04ec4a1a74

diff --git a/config/general.ui b/config/general.ui
index 4a1f0e0..9380645 100644
--- a/config/general.ui
+++ b/config/general.ui
@@ -120,6 +120,24 @@
         </property>
        </widget>
       </item>
+      <item>
+       <layout class="QHBoxLayout" name="horizontalLayoutP">
+        <item>
+         <widget class="QLabel" name="defaultProtocolLabel">
+          <property name="text">
+           <string>Default protocol:</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="kcfg_DefaultProtocol">
+          <property name="text">
+           <string>vnc</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
      </layout>
     </widget>
    </item>
diff --git a/core/krdc.kcfg b/core/krdc.kcfg
index 7309350..1cb322c 100644
--- a/core/krdc.kcfg
+++ b/core/krdc.kcfg
@@ -60,6 +60,9 @@
     <entry name="ConnectionListSortOrder" type="Int">
       <default>1</default>
     </entry>
+    <entry name="DefaultProtocol" type="String">
+      <default>vnc</default>
+    </entry>
   </group>
   <group name="VNC">
     <entry name="Quality" type="Int">
diff --git a/main.cpp b/main.cpp
index d702bf2..99147f4 100644
--- a/main.cpp
+++ b/main.cpp
@@ -25,6 +25,7 @@
 #include "mainwindow.h"
 #include "krdc_debug.h"
 #include "krdc_version.h"
+#include "settings.h"
 
 #include <KCoreAddons/KAboutData>
 #include <Kdelibs4ConfigMigrator>
@@ -120,9 +121,9 @@ int main(int argc, char **argv)
         for (int i = 0; i < args.length(); ++i) {
             QUrl url = QUrl(args.at(i));
             // no URL scheme, assume argument is only a hostname
-            // and default to vnc as protocol.
             if (url.scheme().isEmpty()) {
-                url.setScheme(QStringLiteral("vnc"));
+                QString defaultProto = Settings::defaultProtocol();
+                url.setScheme(defaultProto);
                 url.setHost(args.at(i));
                 url.setPath(QString());
             }
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic