Package: wicd-kde
Version: 0.3.1-1
Severity: normal
Tags: upstream patch

Dear Maintainer,

I have installed Debian on my sister's laptop, and I've installed wicd
to manage the network.

Yesterday she wrote to me that the laptop could not connect to the wifi while
her phone could. I understood the problem was that the interface was
deactivated but on her laptop there is no Fn+something combination to
enable it again. I have no clue on how it got disabled in the first place.

Eventually I wrote a script for her that enables/disables the interface,
using dbus+wicd.

But with this widget alone, without using the terminal, it is not possible
to do this.

I've set an high severity because the problem caused my sister to be unable
to connect without assistance.

I made a patch, that should be forwarded to upstream, that adds a menu entry
to enable and disable the wireless network interface.

I hope this will be accepted.

Best regards


-- System Information:
Debian Release: 8.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.18.2a (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=it_IT.UTF-8, LC_CTYPE=it_IT.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages wicd-kde depends on:
ii  libc6           2.19-14
ii  libgcc1         1:4.9.2-10
ii  libkdecore5     4:4.14.2-5
ii  libkdeui5       4:4.14.2-5
ii  libplasma3      4:4.14.2-5
ii  libqt4-dbus     4:4.8.6+git64-g5dc8b2b+dfsg-2+b1
ii  libqt4-network  4:4.8.6+git64-g5dc8b2b+dfsg-2+b1
ii  libqt4-svg      4:4.8.6+git64-g5dc8b2b+dfsg-2+b1
ii  libqtcore4      4:4.8.6+git64-g5dc8b2b+dfsg-2+b1
ii  libqtgui4       4:4.8.6+git64-g5dc8b2b+dfsg-2+b1
ii  libsolid4       4:4.14.2-5
ii  libstdc++6      4.9.2-10
ii  wicd-daemon     1.7.2.4-4.1

wicd-kde recommends no packages.

wicd-kde suggests no packages.

-- no debconf information
Description: Create menu entry for rfkill
 This is needed because if for some reason the card is disabled, there
 is no way of enabling it again on some laptops that lack a functioning
 Fn key combination for this.
Author: Salvo 'LtWorf' Tomaselli <tipos...@tiscali.it>

--- wicd-kde-0.3.1.orig/applet/wicdapplet.cpp
+++ wicd-kde-0.3.1/applet/wicdapplet.cpp
@@ -163,6 +163,10 @@ void WicdApplet::setupActions()
     findnetworkAction->setShortcuts(KShortcut("Ctrl+F"));
     addAction("findnetwork", findnetworkAction);
     connect(findnetworkAction, SIGNAL(triggered()), this, SLOT(findHiddenDialog()));
+    KAction* rfkillAction = new KAction(i18n("RfKill"), this);
+    rfkillAction->setShortcuts(KShortcut("Ctrl+K"));
+    addAction("rfkill", rfkillAction);
+    connect(rfkillAction, SIGNAL(triggered()), this, SLOT(rfkill()));
     
     KAction* reloadAction = new KAction(KIcon("view-refresh"), i18n("Reload"), this);
     reloadAction->setShortcuts(KShortcut("Ctrl+R"));
@@ -178,7 +182,9 @@ QList<QAction*> WicdApplet::contextualAc
     QAction *actcrea = action("createadhoc");
     QAction *actfind = action("findnetwork");
     QAction *actconf = action("configure_wicd");
-    rv << actinfo << actcrea << actfind << actconf;
+    QAction *actrfki = action("rfkill");
+    rv << actinfo << actcrea << actfind << actconf << actrfki;
+
     return rv;
 }
 
@@ -403,6 +409,12 @@ void WicdApplet::scan() const
     m_wicdService->startOperationCall(op);
 }
 
+void WicdApplet::rfkill() const
+{
+    KConfigGroup op = m_wicdService->operationDescription("rfkill");
+    m_wicdService->startOperationCall(op);
+}
+
 void WicdApplet::connectionInfoRequested()
 {
     InfoDialog *infoDialog = new InfoDialog(m_status);
--- wicd-kde-0.3.1.orig/applet/wicdapplet.h
+++ wicd-kde-0.3.1/applet/wicdapplet.h
@@ -66,6 +66,7 @@ private slots:
     void createAdhocDialog() const;
     void findHiddenDialog() const;
     void scan() const;
+    void rfkill() const;
     void connectionInfoRequested();
 
 private:
--- wicd-kde-0.3.1.orig/dataengine/wicd.operations
+++ wicd-kde-0.3.1/dataengine/wicd.operations
@@ -31,6 +31,7 @@
     </entry>
   </group>
   <group name="scan"/>
+  <group name="rfkill"/>
   <group name="getWiredProfileList"/>
   <group name="setProfileDefaultProperty">
     <entry name="profile" type="String">
--- wicd-kde-0.3.1.orig/dataengine/wicdjob.cpp
+++ wicd-kde-0.3.1/dataengine/wicdjob.cpp
@@ -75,6 +75,8 @@ void WicdJob::start()
         m_dbus->scan();
     } else if (operation == "scan") {
         m_dbus->scan();
+    } else if (operation == "rfkill") {
+        m_dbus->rfkill();
     } else if (operation == "getWiredProfileList") {
         setResult(m_dbus->callWired("GetWiredProfileList"));
     } else if (operation == "setProfileDefaultProperty") {
--- wicd-kde-0.3.1.orig/dbushandler.cpp
+++ wicd-kde-0.3.1/dbushandler.cpp
@@ -127,6 +127,11 @@ void DBusHandler::scan() const
         m_wireless->call("Scan");
 }
 
+void DBusHandler::rfkill() const
+{
+    m_wireless->call("SwitchRfKill");
+}
+
 void DBusHandler::disconnect() const
 {
     m_daemon->call("Disconnect");
--- wicd-kde-0.3.1.orig/dbushandler.h
+++ wicd-kde-0.3.1/dbushandler.h
@@ -67,6 +67,7 @@ public:
                           const QVariant &arg8 = QVariant()) const;
 
 public slots:
+    void rfkill() const;
     void scan() const;
     void disconnect() const;
 

Reply via email to