gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r29939 - in gnunet-gtk/src: fs peerinfo


From: gnunet
Subject: [GNUnet-SVN] r29939 - in gnunet-gtk/src: fs peerinfo
Date: Mon, 7 Oct 2013 20:31:11 +0200

Author: grothoff
Date: 2013-10-07 20:31:11 +0200 (Mon, 07 Oct 2013)
New Revision: 29939

Modified:
   gnunet-gtk/src/fs/Makefile.am
   gnunet-gtk/src/peerinfo/Makefile.am
   gnunet-gtk/src/peerinfo/gnunet-peerinfo-gtk.c
Log:
make sure to only start one instance of gnunet-peerinfo-gtk at a time

Modified: gnunet-gtk/src/fs/Makefile.am
===================================================================
--- gnunet-gtk/src/fs/Makefile.am       2013-10-07 18:26:58 UTC (rev 29938)
+++ gnunet-gtk/src/fs/Makefile.am       2013-10-07 18:31:11 UTC (rev 29939)
@@ -25,7 +25,7 @@
   gnunet-fs-gtk_open-uri.c gnunet-fs-gtk_open-uri.h \
   gnunet-fs-gtk_unindex.c gnunet-fs-gtk_unindex.h \
   gnunet-fs-gtk_publish-dialog.c \
-  gnunet-fs-gtk_publish-edit-dialog.c gnunet-fs-gtk_publish-edit-dialog.h 
+  gnunet-fs-gtk_publish-edit-dialog.c gnunet-fs-gtk_publish-edit-dialog.h
 
 gnunet_fs_gtk_LDADD = \
   $(top_builddir)/src/lib/libgnunetgtk.la \
@@ -39,9 +39,9 @@
   -lgnunetgns \
   -lgnunetnamestore \
   -lgnunetidentity \
-  $(INTLLIBS) 
+  $(INTLLIBS)
 gnunet_fs_gtk_LDFLAGS = \
-  -export-dynamic 
+  -export-dynamic
 
 pkgcfgdir= $(prefix)/share/gnunet/config.d/
 

Modified: gnunet-gtk/src/peerinfo/Makefile.am
===================================================================
--- gnunet-gtk/src/peerinfo/Makefile.am 2013-10-07 18:26:58 UTC (rev 29938)
+++ gnunet-gtk/src/peerinfo/Makefile.am 2013-10-07 18:31:11 UTC (rev 29939)
@@ -5,7 +5,8 @@
   -I$(top_srcdir)/src/include \
   @GTK_CFLAGS@ \
   @GNUNET_CFLAGS@ \
-  @GLADE_CFLAGS@
+  @GLADE_CFLAGS@ \
+  @unique_CFLAGS@
 
 bin_PROGRAMS = gnunet-peerinfo-gtk
 
@@ -16,8 +17,8 @@
 gnunet_peerinfo_gtk_LDADD = \
   $(top_builddir)/src/lib/libgnunetgtk.la \
   @GTK_LIBS@ \
-  @GLADE_LIBS@ @GNUNET_LIBS@ \
+  @GLADE_LIBS@ @GNUNET_LIBS@  @unique_LIBS@ \
   -lgnunetutil -lgnunetpeerinfo -lgnunettransport -lgnunetats \
-  $(INTLLIBS) 
+  $(INTLLIBS)
 gnunet_peerinfo_gtk_LDFLAGS = \
-  -export-dynamic 
+  -export-dynamic

Modified: gnunet-gtk/src/peerinfo/gnunet-peerinfo-gtk.c
===================================================================
--- gnunet-gtk/src/peerinfo/gnunet-peerinfo-gtk.c       2013-10-07 18:26:58 UTC 
(rev 29938)
+++ gnunet-gtk/src/peerinfo/gnunet-peerinfo-gtk.c       2013-10-07 18:31:11 UTC 
(rev 29939)
@@ -29,62 +29,66 @@
 #include <gnunet/gnunet_ats_service.h>
 #include "gnunet-peerinfo-gtk-flags.h"
 
+#if HAVE_LIBUNIQUE
+#include <unique/unique.h>
+#endif
 
+
 /**
  * Columns in the peerinfo model.
  */
 enum PEERINFO_ModelColumns
-  {
-    /**
-     * A gchararray
-     */
-    PEERINFO_MC_PEER_IDENTITY_STRING = 0,
+{
+  /**
+   * A gchararray
+   */
+  PEERINFO_MC_PEER_IDENTITY_STRING = 0,
 
-    /**
-     * A guint
-     */
-    PEERINFO_MC_NUMBER_OF_ADDRESSES = 1,
+  /**
+   * A guint
+   */
+  PEERINFO_MC_NUMBER_OF_ADDRESSES = 1,
 
-    /**
-     * A gchararray
-     */
-    PEERINFO_MC_COUNTRY_NAME = 2,
+  /**
+   * A gchararray
+   */
+  PEERINFO_MC_COUNTRY_NAME = 2,
 
-    /**
-     * A GdkPixbuf
-     */
-    PEERINFO_MC_COUNTRY_FLAG = 3,
+  /**
+   * A GdkPixbuf
+   */
+  PEERINFO_MC_COUNTRY_FLAG = 3,
 
-    /**
-     * A guint64
-     */
-    PEERINFO_MC_BANDWIDTH_IN = 4,
+  /**
+   * A guint64
+   */
+  PEERINFO_MC_BANDWIDTH_IN = 4,
 
-    /**
-     * A guint64
-     */
-    PEERINFO_MC_BANDWIDTH_OUT = 5,
+  /**
+   * A guint64
+   */
+  PEERINFO_MC_BANDWIDTH_OUT = 5,
 
-    /**
-     * A gchararray
-     */
-    PEERINFO_MC_ADDRESS_AS_STRING = 6,
+  /**
+   * A gchararray
+   */
+  PEERINFO_MC_ADDRESS_AS_STRING = 6,
 
-    /**
-     * A GdkPixbuf
-     */
-    PEERINFO_MC_CONNECTIVITY_LED = 7,
+  /**
+   * A GdkPixbuf
+   */
+  PEERINFO_MC_CONNECTIVITY_LED = 7,
 
-    /**
-     * A gboolean
-     */
-    PEERINFO_MC_CONNECTED_STATUS = 8,
+  /**
+   * A gboolean
+   */
+  PEERINFO_MC_CONNECTED_STATUS = 8,
 
-    /**
-     * A gboolean
-     */
-    PEERINFO_MC_IS_FRIEND = 9
-  };
+  /**
+   * A gboolean
+   */
+  PEERINFO_MC_IS_FRIEND = 9
+};
 
 
 /**
@@ -155,7 +159,11 @@
 static GtkListStore *ls;
 
 
+#if HAVE_LIBUNIQUE
+static UniqueApp *unique_app;
+#endif
 
+
 /**
  * Get cfg.
  */
@@ -518,6 +526,9 @@
                                "gnunet-gtk" /* FIXME: different icon? */ ,
                                "gnunet-peerinfo-gtk");
 
+#if HAVE_LIBUNIQUE
+  unique_app_watch_window (unique_app, GTK_WINDOW (main_window));
+#endif
   /* make GUI visible */
   if (!tray_only)
   {
@@ -537,7 +548,7 @@
  * @return 0 on success
  */
 int
-main (int argc, char *const *argv)
+main (int argc, char **argv)
 {
   static struct GNUNET_GETOPT_CommandLineOption options[] = {
     {'t', "tray", NULL,
@@ -546,6 +557,19 @@
     GNUNET_GETOPT_OPTION_END
   };
 
+#if HAVE_LIBUNIQUE
+  gtk_init (&argc, &argv);
+  unique_app = unique_app_new ("org.gnunet.gnunet-peerinfo-gtk", NULL);
+  if (unique_app_is_running (unique_app))
+  {
+    UniqueResponse response;
+
+    response = unique_app_send_message (unique_app, UNIQUE_ACTIVATE, NULL);
+    g_object_unref (unique_app);
+    return (UNIQUE_RESPONSE_OK == response) ? 0 : 1;
+  }
+#endif
+
   if (GNUNET_OK !=
       GNUNET_GTK_main_loop_start ("gnunet-peerinfo-gtk",
                                   "GTK GUI for inspecting GNUnet Peers", argc,
@@ -553,6 +577,10 @@
                                   "gnunet_peerinfo_gtk_main_window.glade",
                                   &run))
     return 1;
+
+#if HAVE_LIBUNIQUE
+  g_object_unref (unique_app);
+#endif
   return 0;
 }
 




reply via email to

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