gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r5640 - in gnunet-qt: pixmaps src/core src/include src/plug


From: gnunet
Subject: [GNUnet-SVN] r5640 - in gnunet-qt: pixmaps src/core src/include src/plugins/stats
Date: Sun, 16 Sep 2007 06:48:16 -0600 (MDT)

Author: durner
Date: 2007-09-16 06:48:16 -0600 (Sun, 16 Sep 2007)
New Revision: 5640

Added:
   gnunet-qt/pixmaps/network-status-offline.png
   gnunet-qt/pixmaps/network-status-online.png
Modified:
   gnunet-qt/pixmaps/pixmaps.qrc
   gnunet-qt/src/core/wndMain.cc
   gnunet-qt/src/core/wndMain.h
   gnunet-qt/src/include/gnunet_qt_common.h
   gnunet-qt/src/plugins/stats/statsPlugin.cc
   gnunet-qt/src/plugins/stats/statsPlugin.h
Log:


Added: gnunet-qt/pixmaps/network-status-offline.png
===================================================================
(Binary files differ)


Property changes on: gnunet-qt/pixmaps/network-status-offline.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: gnunet-qt/pixmaps/network-status-online.png
===================================================================
(Binary files differ)


Property changes on: gnunet-qt/pixmaps/network-status-online.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: gnunet-qt/pixmaps/pixmaps.qrc
===================================================================
--- gnunet-qt/pixmaps/pixmaps.qrc       2007-09-16 10:00:54 UTC (rev 5639)
+++ gnunet-qt/pixmaps/pixmaps.qrc       2007-09-16 12:48:16 UTC (rev 5640)
@@ -20,6 +20,9 @@
         <file>info.png</file>
         <file>list-add.png</file>
         <file>list-remove.png</file>
+        <file>network-status-error.png</file>
+        <file>network-status-offline.png</file>
+        <file>network-status-online.png</file>
         <file>not-connected.png</file>
         <file>refresh.png</file>
         <file>search.png</file>

Modified: gnunet-qt/src/core/wndMain.cc
===================================================================
--- gnunet-qt/src/core/wndMain.cc       2007-09-16 10:00:54 UTC (rev 5639)
+++ gnunet-qt/src/core/wndMain.cc       2007-09-16 12:48:16 UTC (rev 5640)
@@ -38,6 +38,12 @@
   QString text;
 };
 
+class GNetworkStatusEvent : public GStatusTextEvent
+{
+public:
+  GNetworkStatusEvent(QEvent::Type t) : GStatusTextEvent(t){};
+};
+
 GMainWindow::GMainWindow(QWidget *parent) : QMainWindow(parent)
 {
   QHBoxLayout *lay;
@@ -56,8 +62,13 @@
 
     lay->addWidget(&statusIcon);
     lay->addWidget(&statusText);
+    lay->addWidget(&networkIcon);
+    lay->addWidget(&networkText);
     delete bar->layout();
     bar->setLayout(lay);    
+
+    networkIcon.setToolTip(tr("Number of connected peers"));
+    networkText.setToolTip(tr("Number of connected peers"));
   }
   
   connect(action_Context_help, SIGNAL(triggered()), this, SLOT(contextHelp()));
@@ -85,6 +96,8 @@
   tabWidget->addTab(wnd, icon, label);
   connect(wnd, SIGNAL(setStatusText(const QPixmap &, const QString)),
     this, SLOT(setStatusText(const QPixmap &, const QString)));
+  connect(wnd, SIGNAL(setNetworkStatus(const QPixmap &, const QString)),
+    this, SLOT(setNetworkStatus(const QPixmap &, const QString)));
 }
 
 void GMainWindow::setStatusText(const QPixmap &icon, const QString strText)
@@ -98,15 +111,38 @@
   qApp->postEvent(this, e);
 }
 
+void GMainWindow::setNetworkStatus(const QPixmap &icon, const QString strText)
+{
+  GNetworkStatusEvent *e;
+  
+  e = new GNetworkStatusEvent(QEvent::User);
+  e->icon = icon;
+  e->text = strText;
+  
+  qApp->postEvent(this, e);
+}
+
 bool GMainWindow::event(QEvent *event)
 {
-  GStatusTextEvent *e = dynamic_cast<class GStatusTextEvent *> (event);
+  GStatusTextEvent *e;
+  
+  e = dynamic_cast<class GNetworkStatusEvent *> (event);
   if (e)
   {
-    statusIcon.setPixmap(e->icon);
-    statusText.setText(e->text);
+    networkIcon.setPixmap(e->icon);
+    networkText.setText(e->text);
     return true;
   }
+  else
+  {
+    e = dynamic_cast<class GStatusTextEvent *> (event);
+    if (e)
+    {
+      statusIcon.setPixmap(e->icon);
+      statusText.setText(e->text);
+      return true;
+    }
+  }
   
   return QMainWindow::event(event);  
 }

Modified: gnunet-qt/src/core/wndMain.h
===================================================================
--- gnunet-qt/src/core/wndMain.h        2007-09-16 10:00:54 UTC (rev 5639)
+++ gnunet-qt/src/core/wndMain.h        2007-09-16 12:48:16 UTC (rev 5640)
@@ -43,11 +43,12 @@
   void addApplication(QWidget *wnd, const QIcon &icon, const QString &label);
 
 public:
-  QLabel statusIcon, statusText;
+  QLabel statusIcon, statusText, networkIcon, networkText;
 protected:
   virtual bool event(QEvent *event);
 public slots:
   void setStatusText(const QPixmap &icon, const QString strText);
+  void setNetworkStatus(const QPixmap &icon, const QString strText);
 protected slots:
   void contextHelp();
   void about();

Modified: gnunet-qt/src/include/gnunet_qt_common.h
===================================================================
--- gnunet-qt/src/include/gnunet_qt_common.h    2007-09-16 10:00:54 UTC (rev 
5639)
+++ gnunet-qt/src/include/gnunet_qt_common.h    2007-09-16 12:48:16 UTC (rev 
5640)
@@ -60,6 +60,7 @@
 public:  
 signals:
   int setStatusText(const QPixmap &icon, const QString strStatus);
+  int setNetworkStatus(const QPixmap &icon, const QString strStatus);
 };
 
 class GPluginLoader : public QObject

Modified: gnunet-qt/src/plugins/stats/statsPlugin.cc
===================================================================
--- gnunet-qt/src/plugins/stats/statsPlugin.cc  2007-09-16 10:00:54 UTC (rev 
5639)
+++ gnunet-qt/src/plugins/stats/statsPlugin.cc  2007-09-16 12:48:16 UTC (rev 
5640)
@@ -33,6 +33,11 @@
 #include <GNUnet/gnunet_util_boot.h>
 #include <GNUnet/gnunet_stats_lib.h>
 
+struct GStatsParam
+{
+  QTreeWidget *tree;
+  GStatsPlugin *plugin;
+};
 
 GStatsPlugin::GStatsPlugin(struct GC_Configuration *config,
   struct GE_Context *errorContext) : GPlugin()
@@ -52,14 +57,17 @@
 }
 
 static int printStatistics(const char *name, unsigned long long value, void 
*param)
-{  
+{
   QTreeWidgetItem *item = new QTreeWidgetItem(0);
   
   item->setText(0, QString::fromUtf8(name));
   item->setText(1, QString::number(value));
 
-  ((QTreeWidget *) param)->addTopLevelItem(item);
+  ((GStatsParam *) param)->tree->addTopLevelItem(item);
   
+  if (strcmp(name, "# of connected peers") == 0)
+     ((GStatsParam *) param)->plugin->setConnectedNodes(value);
+  
   return OK;
 }
 
@@ -67,6 +75,7 @@
 {
   int res;
   struct ClientServerConnection *sock;
+  struct GStatsParam param;
 
   treeStats->clear();
 
@@ -78,14 +87,17 @@
     return;
   }
 
+  param.tree = treeStats;
+  param.plugin = this;
+
 #if HAVE_STATS
   res = STATS_getStatistics(errorContext,
                            sock,
                            &printStatistics, 
-                           treeStats);
+                           &param);
 #else
   res = requestStatistics(errorContext, sock,
-    (StatisticsProcessor) &printStatistics, treeStats);
+    (StatisticsProcessor) &printStatistics, &param);
 #endif
   if (res != OK)
     GE_LOG(errorContext, (GE_KIND) (GE_ERROR | GE_USER | GE_IMMEDIATE),
@@ -94,6 +106,20 @@
   connection_destroy(sock);
 }
 
+void GStatsPlugin::setConnectedNodes(unsigned long long nodes)
+{
+    QPixmap icon;
+  
+    if (nodes == 0)
+      icon.load(":/pixmaps/network-status-offline.png");
+    else
+    {
+      icon.load(":/pixmaps/network-status-online.png");
+    }
+
+    emit setNetworkStatus(icon, QString::number(nodes));
+}
+
 extern "C"
 {
   

Modified: gnunet-qt/src/plugins/stats/statsPlugin.h
===================================================================
--- gnunet-qt/src/plugins/stats/statsPlugin.h   2007-09-16 10:00:54 UTC (rev 
5639)
+++ gnunet-qt/src/plugins/stats/statsPlugin.h   2007-09-16 12:48:16 UTC (rev 
5640)
@@ -38,6 +38,7 @@
 public:
        GStatsPlugin(struct GC_Configuration *config, struct GE_Context 
*errorContext);
        virtual ~GStatsPlugin();
+  void setConnectedNodes(unsigned long long nodes);
 
 protected slots:
   void refresh();





reply via email to

[Prev in Thread] Current Thread [Next in Thread]