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

List:       kde-commits
Subject:    KDE/kdenetwork/wifi
From:       Stefan Winter <swinter () kde ! org>
Date:       2005-11-30 18:26:08
Message-ID: 1133375168.842621.19684.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 484422 by swinter:

new ui file will obselete lots of classes. Picture is the first, more to come


 M  +0 -2      Makefile.am  
 M  +3 -1      interface_wireless.h  
 M  +25 -2     interface_wireless_wirelessextensions.cpp  
 M  +1 -0      interface_wireless_wirelessextensions.h  
 M  +37 -8     kwifimanager.cpp  
 M  +7 -2      kwifimanager.h  
 D             picture.cpp  
 D             picture.h  


--- trunk/KDE/kdenetwork/wifi/Makefile.am #484421:484422
@@ -17,7 +17,6 @@
 			kwifimanager.cpp \
 			locator.cpp \
 			main.cpp \
-			picture.cpp \
 			speed.cpp \
 			statistics.cpp \
 			status.cpp \
@@ -38,7 +37,6 @@
 			networkscanning.h \
 			kwifimanager.h \
 			locator.h \
-			picture.h \
 			speed.h \
 			statistics.h \
 			status.h \
--- trunk/KDE/kdenetwork/wifi/interface_wireless.h #484421:484422
@@ -32,6 +32,8 @@
 const int POLL_DELAY_MS = 250;	// how much time between device polls
 const int MAX_HISTORY = 240;	// number of device states to be saved
 
+enum CARDSTATES { NO_CARD, NO_CONNECTION, AD_HOC, AP_CONNECT };
+
 class Interface_wireless:public QObject
 {
 Q_OBJECT public:
@@ -73,7 +75,7 @@
   void interfaceChanged ();
   void strengthChanged ();
   void statusChanged ();
-  void modeChanged ();
+  void modeChanged ( CARDSTATES );
   void speedChanged ();
   void essidChanged (QString essid);
   void txPowerChanged ();
--- trunk/KDE/kdenetwork/wifi/interface_wireless_wirelessextensions.cpp #484421:484422
@@ -252,6 +252,29 @@
   return (socket > 0);
 }
 
+CARDSTATES Interface_wireless_wirelessextensions::determineCardState ()
+{
+	if (!has_frequency || txpower_disabled)
+	{
+	  return NO_CARD;
+	}
+	else if (mode == 1)
+	{
+	  return AD_HOC;
+	}
+	else if (qual[current] == 0)
+	{
+	  return NO_CONNECTION;
+	}
+	else if (qual[current] > 0)
+	{
+	  return AP_CONNECT;
+	}
+	else
+	  return NO_CARD;
+		  
+}
+
 void Interface_wireless_wirelessextensions::setActiveDevice( QString device )
 {
   kdDebug () << "activating wireless device " << device << endl;
@@ -263,7 +286,7 @@
   emit interfaceChanged ();
   emit strengthChanged ();
   emit statusChanged ();
-  emit modeChanged ();
+  emit modeChanged ( determineCardState() );
   emit speedChanged ();
   valid[current] = false;
   emit statsUpdated ();
@@ -510,7 +533,7 @@
   if (emitStrengthChanged)
     emit strengthChanged ();
   if (emitModeChanged)
-    emit modeChanged ();
+    emit modeChanged ( determineCardState() );
   if (emitSpeedChanged)
     emit speedChanged ();
   if (emitEssidChanged)
--- trunk/KDE/kdenetwork/wifi/interface_wireless_wirelessextensions.h #484421:484422
@@ -55,6 +55,7 @@
 
   QString print_scanning_token (struct iw_event *event);
   int get_info (int skfd, const QString& interface, struct wireless_info& info);
+  CARDSTATES determineCardState();
 };
 
 #endif /*  INTERFACE_WIRELESS_WIRELESSEXTENSIONS_H */
--- trunk/KDE/kdenetwork/wifi/kwifimanager.cpp #484421:484422
@@ -61,11 +61,10 @@
 #include "interface_wireless_wirelessextensions.h"
 #include "status.h"
 #include "locator.h"
-#include "picture.h"
 #include "strength.h"
 #include "speed.h"
 #include "statistics.h"
-
+#include "kwifi_ifacewidget.h"
 #define ID_STATUS_MSG 1
 
 QStringList APs;
@@ -88,10 +87,19 @@
   // substitute the following line with a different interface if required
   device = new Interface_wireless_wirelessextensions (ignoreInterfaces);
 
-  /* initView updates the main widget, system tray icon and the ASUS led if applicable
+  /* OBSOLETE WARNING? initView updates the main widget, system tray icon and the ASUS led if applicable
      it needs to called before initActions() because that uses some icons that get
      initialized by initView() */
 
+  KStandardDirs finder;
+  QString kdedir = finder.findResourceDir ("data", "kwifimanager/pics/no_card.png");
+  kdedir += "kwifimanager/pics/";
+  NO_CARD = new QPixmap (kdedir + "no_card.png");
+  AD_HOC = new QPixmap (kdedir + "ad_hoc.png");
+  ALL_ALONE = new QPixmap (kdedir + "all_alone.png");
+  AP_CONNECT = new QPixmap (kdedir + "ap_connect.png");
+		
+	
   initView ();
 
   initActions ();
@@ -364,18 +372,21 @@
   status = new Status (view, device);
   location = new Locator (view, device);
   strength = new Strength (view, device);
-  pictogram = new Picture (view, device);
   scan = new QPushButton (i18n("Scan for &Networks..."),view);
   slotChangeWindowCaption ();
   strength->setToolTip( i18n ("The current signal strength"));
   speedmeter->setToolTip( i18n ("The speed at which the wireless LAN card is operating"));
   status->setToolTip( i18n ("Detailed connection status"));
   scan->setToolTip( i18n ("Performs a scan to discover the networks you can log into"));
-  pictogram->setMinimumSize (pictogram->mySizeHint());
   strength->setMinimumSize (strength->mySizeHint());
   speedmeter->setMinimumHeight (60);
   status->setMinimumHeight (60);
-  zentrallayout->addWidget (pictogram, 0, 0);
+
+  iface_container = new QWidget(view);
+  iface_ui.setupUi(iface_container);
+  zentrallayout->addWidget (iface_container, 0 , 0);
+	  
+  
   zentrallayout->addWidget (strength, 1, 0);
   zentrallayout->addWidget (speedmeter, 0, 1);
   zentrallayout->addMultiCellWidget (status, 1, 2, 1, 1);
@@ -386,16 +397,34 @@
   connect (device, SIGNAL (strengthChanged ()), strength, SLOT (repaint ()));
   connect (device, SIGNAL (statusChanged ()), status, SLOT (repaint ()));
   connect (device, SIGNAL (speedChanged ()), speedmeter, SLOT (repaint ()));
-  connect (device, SIGNAL (modeChanged ()), pictogram, SLOT (repaint ()));
+  connect (device, SIGNAL (modeChanged ( CARDSTATES )), this, SLOT (updateCardState ( CARDSTATES ) ) );
   connect (device, SIGNAL (essidChanged (QString)), this, SLOT (slotLogESSID (QString)));
   connect (device, SIGNAL (essidChanged (QString)), location, SLOT (repaint ()));
   connect (device, SIGNAL (statusChanged ()), location, SLOT (repaint ()));
   connect (device, SIGNAL (txPowerChanged ()), this, SLOT (slotTXPowerChanged ()));
-  connect (device, SIGNAL (txPowerChanged ()), pictogram, SLOT (repaint ()));
   connect (device, SIGNAL (txPowerChanged ()), strength, SLOT (repaint ()));
   connect (scan,  SIGNAL (clicked()), this, SLOT (slotNetworkScan()));
 }
 
+void KWiFiManagerApp::updateCardState ( CARDSTATES state )
+{
+	kdDebug() << "In function updateCardState( ... )" << endl;
+	switch (state) {
+		case ::NO_CARD: 
+			      iface_ui.connTypePic->setPixmap( *NO_CARD );
+			      break;
+		case ::NO_CONNECTION:
+			      iface_ui.connTypePic->setPixmap( *ALL_ALONE );
+			      break;
+		case ::AP_CONNECT:
+			      iface_ui.connTypePic->setPixmap( *AP_CONNECT );
+			      break;
+		case ::AD_HOC:
+			      iface_ui.connTypePic->setPixmap( *AD_HOC );
+			      break;
+	}
+}
+
 void
 KWiFiManagerApp::slotToggleShowStrengthNumber ()
 {
--- trunk/KDE/kdenetwork/wifi/kwifimanager.h #484421:484422
@@ -32,6 +32,7 @@
 class QPixmap;
 class QPushButton;
 class QStringList;
+class QWidget;
 
 // include files for KDE
 #include <kmainwindow.h>
@@ -44,13 +45,14 @@
 #include "interface_dcop.h"
 class Strength;
 class Status;
-class Picture;
 class Locator;
 class Speed;
 class Statistics;
 class NetworkScanning;
 class Led;
 
+#include "kwifi_ifacewidget.h"
+	
 extern QStringList usedInterfacesList();
 
 enum speedlevels
@@ -106,11 +108,13 @@
   void slotNetworkScan();
   void tricorder_beep ();
   void slotDisablePowerProcessExited();
+  void updateCardState ( CARDSTATES state );
   virtual bool queryClose();
   virtual bool queryExit();
   virtual void readProperties( KConfig* );
   virtual void saveProperties( KConfig* );
 private:
+  QPixmap * NO_CARD, * AD_HOC, * ALL_ALONE, * AP_CONNECT;
   void initActions ();
   void initView ();
   Speed *speedmeter;
@@ -118,10 +122,11 @@
   QLabel *profil;
   Status *status;
   Strength *strength;
-  Picture *pictogram;
   Locator *location;
   NetworkScanning* scanwidget;
   QWidget *view;
+  QWidget *iface_container;
+  Ui::interfaceInfoWidget iface_ui;
   Statistics *statistik;
   KToggleAction *fileDisableRadio;
   KToggleAction *settingsUseAlternateCalc;
[prev in list] [next in list] [prev in thread] [next in thread] 

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