gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r3007 - in gnunet-gtk: . src/common src/core src/include sr


From: moon
Subject: [GNUnet-SVN] r3007 - in gnunet-gtk: . src/common src/core src/include src/plugins/daemon
Date: Mon, 12 Jun 2006 10:05:19 -0700 (PDT)

Author: moon
Date: 2006-06-12 10:05:02 -0700 (Mon, 12 Jun 2006)
New Revision: 3007

Modified:
   gnunet-gtk/configure.ac
   gnunet-gtk/gnunet-gtk.glade
   gnunet-gtk/src/common/helper.c
   gnunet-gtk/src/core/Makefile.am
   gnunet-gtk/src/include/gnunetgtk_common.h
   gnunet-gtk/src/plugins/daemon/daemon.c
Log:
libgksu2 support to run gnunet-update (not libgksu 1.2, need recent 
version)



Modified: gnunet-gtk/configure.ac
===================================================================
--- gnunet-gtk/configure.ac     2006-06-12 02:03:33 UTC (rev 3006)
+++ gnunet-gtk/configure.ac     2006-06-12 17:05:02 UTC (rev 3007)
@@ -277,12 +277,64 @@
     AC_DEFINE(WITH_LIBNOTIFY,1,[Define if libnotify is enabled])
 fi
 
+# Check for gksu version 2
+AC_ARG_ENABLE(libgksu2,
+              [AC_HELP_STRING([--enable-libgksu2],
+                              [build with libgksu2 support [default=auto]])],,
+              [enable_libgksu2=auto])
+if test x$enable_libgksu2 = xno ; then
+    have_libgksu2=no;
+else
+    # See if we have sufficiently new libgksu2 library
+    PKG_CHECK_MODULES(LIBGKSU2, libgksu2, have_libgksu2=yes, have_libgksu2=no)
+    if test x$enable_libgksu2 = xauto ; then
+        if test x$have_libgksu2 = xno ; then
+                AC_MSG_RESULT([not found, won't be enabled])
+        fi
+    else 
+        if test x$have_libgksu2 = xno ; then
+                AC_MSG_ERROR([libgksu2 explicitly required, and libgksu2 
library not found])
+        fi
+    fi
+fi
+AM_CONDITIONAL(HAVE_LIBGKSU2, test x$have_libgksu2 = xyes)
+if test x$have_libgksu2 = xyes ; then
+    # Find out the version of LIBGKSU2 we're using
+    libgksu2_version=`pkg-config --modversion libgksu2`
+    LIBGKSU2_VERSION_MAJOR=`echo $libgksu2_version | awk -F. '{print $1}'`
+    LIBGKSU2_VERSION_MINOR=`echo $libgksu2_version | awk -F. '{print $2}'`
+    LLIBGKSU2_VERSION_MICRO=`echo $libgksu2_version | awk -F. '{print $3}'`
+    if test "z$LIBGKSU2_VERSION_MAJOR" = "z"; then
+        LIBGKSU2_VERSION_MAJOR="0"
+    fi
+    if test "z$LIBGKSU2_VERSION_MINOR" = "z"; then
+        LIBGKSU2_VERSION_MINOR="0"
+    fi
+    if test "z$LIBGKSU2_VERSION_MICRO" = "z"; then
+        LIBGKSU2_VERSION_MICRO="0"
+    fi
+    echo "Your libgksu2 version is 
$LIBGKSU2_VERSION_MAJOR.$LIBGKSU2_VERSION_MINOR.$LIBGKSU2_VERSION_MICRO."
+    LIBGKSU2_CFLAGS="$LIBGKSU2_CFLAGS 
-DLIBGKSU2_VERSION_MAJOR=$LIBGKSU2_VERSION_MAJOR"
+    LIBGKSU2_CFLAGS="$LIBGKSU2_CFLAGS 
-DLIBGKSU2_VERSION_MINOR=$LIBGKSU2_VERSION_MINOR"
+    LIBGKSU2_CFLAGS="$LIBGKSU2_CFLAGS 
-DLIBGKSU2_VERSION_MICRO=$LIBGKSU2_VERSION_MICRO"
+    AC_SUBST([LIBGKSU2_CFLAGS])
+    AC_SUBST([LIBGKSU2_LIBS])
+
+    AC_DEFINE(WITH_LIBGKSU2,1,[Define if libgksu2 is enabled])
+fi
+
+
+
+
+
+
+
 # We define the paths here, because MinGW/GCC expands paths
 # passed through the command line ("-DDATADIR=..."). This would
 # lead to hard-coded paths ("C:\mingw\mingw\bin...") that do
 # not contain the actual installation.
-AC_DEFINE_DIR([PACKAGE_DATA_DIR], [datadir/gnunet-gtk], [The directory for 
installing read-only architecture-independent data])
-AC_DEFINE_DIR([PACKAGE_LOCALE_DIR], [datadir/locale], [gettext catalogs])
+AC_DEFINE_DIR([PACKAGE_DATA_DIR], [rootdatadir/gnunet-gtk], [The directory for 
installing read-only architecture-independent data])
+AC_DEFINE_DIR([PACKAGE_LOCALE_DIR], [rootdatadir/locale], [gettext catalogs])
 
 
 # Set PACKAGE_SOURCE_DIR in config.h.
@@ -294,7 +346,7 @@
 # lead to hard-coded paths ("C:\mingw\mingw\bin...") that do
 # not contain the actual GNUnet installation. GNUnet usually lives in
 # "C:\Program Files\GNU\GNUnet\bin".
-AC_DEFINE_DIR([DATADIR], [datadir/gnunet-gtk], [The directory for installing 
read-only architecture-independent data])
+AC_DEFINE_DIR([DATADIR], [rootdatadir/gnunet-gtk], [The directory for 
installing read-only architecture-independent data])
 
 AC_OUTPUT([
 Makefile
@@ -320,3 +372,9 @@
 else
     AC_MSG_NOTICE([libnotify support disabled (this is ok)])
 fi
+
+if test x$have_libgksu2 = xyes ; then
+    AC_MSG_NOTICE([libgksu2 support is enabled])
+else
+    AC_MSG_NOTICE([libgksu2 support disabled (this is ok)])
+fi

Modified: gnunet-gtk/gnunet-gtk.glade
===================================================================
--- gnunet-gtk/gnunet-gtk.glade 2006-06-12 02:03:33 UTC (rev 3006)
+++ gnunet-gtk/gnunet-gtk.glade 2006-06-12 17:05:02 UTC (rev 3007)
@@ -477,7 +477,7 @@
                                  <child>
                                    <widget class="GtkLabel" 
id="gnunetdControlLabel">
                                      <property name="visible">True</property>
-                                     <property name="label" 
translatable="yes">&lt;b&gt;gnunetd control&lt;/b&gt;</property>
+                                     <property name="label" 
translatable="yes">&lt;b&gt;GNUnet daemon control&lt;/b&gt;</property>
                                      <property 
name="use_underline">False</property>
                                      <property 
name="use_markup">True</property>
                                      <property 
name="justify">GTK_JUSTIFY_LEFT</property>
@@ -565,6 +565,135 @@
                                  <property name="fill">True</property>
                                </packing>
                              </child>
+
+                             <child>
+                               <widget class="GtkFrame" id="daemonConfigFrame">
+                                 <property name="visible">True</property>
+                                 <property name="label_xalign">0</property>
+                                 <property name="label_yalign">0.5</property>
+                                 <property 
name="shadow_type">GTK_SHADOW_NONE</property>
+
+                                 <child>
+                                   <widget class="GtkHBox" id="hbox57">
+                                     <property name="border_width">5</property>
+                                     <property name="visible">True</property>
+                                     <property 
name="homogeneous">False</property>
+                                     <property name="spacing">0</property>
+
+                                     <child>
+                                       <widget class="GtkButton" 
id="startDaemonConfWizard">
+                                         <property 
name="visible">True</property>
+                                         <property 
name="can_focus">True</property>
+                                         <property 
name="relief">GTK_RELIEF_NORMAL</property>
+                                         <property 
name="focus_on_click">True</property>
+                                         <signal name="clicked" 
handler="on_startDaemonConfWizard_clicked" last_modification_time="Sun, 11 Jun 
2006 16:32:49 GMT"/>
+
+                                         <child>
+                                           <widget class="GtkAlignment" 
id="alignment22">
+                                             <property 
name="visible">True</property>
+                                             <property 
name="xalign">0.5</property>
+                                             <property 
name="yalign">0.5</property>
+                                             <property 
name="xscale">0</property>
+                                             <property 
name="yscale">0</property>
+                                             <property 
name="top_padding">0</property>
+                                             <property 
name="bottom_padding">0</property>
+                                             <property 
name="left_padding">0</property>
+                                             <property 
name="right_padding">0</property>
+
+                                             <child>
+                                               <widget class="GtkHBox" 
id="hbox58">
+                                                 <property 
name="visible">True</property>
+                                                 <property 
name="homogeneous">False</property>
+                                                 <property 
name="spacing">2</property>
+
+                                                 <child>
+                                                   <widget class="GtkImage" 
id="image44">
+                                                     <property 
name="visible">True</property>
+                                                     <property 
name="stock">gtk-preferences</property>
+                                                     <property 
name="icon_size">4</property>
+                                                     <property 
name="xalign">0.5</property>
+                                                     <property 
name="yalign">0.5</property>
+                                                     <property 
name="xpad">0</property>
+                                                     <property 
name="ypad">0</property>
+                                                   </widget>
+                                                   <packing>
+                                                     <property 
name="padding">0</property>
+                                                     <property 
name="expand">False</property>
+                                                     <property 
name="fill">False</property>
+                                                   </packing>
+                                                 </child>
+
+                                                 <child>
+                                                   <widget class="GtkLabel" 
id="label139">
+                                                     <property 
name="visible">True</property>
+                                                     <property name="label" 
translatable="yes">Start the _configuration wizard</property>
+                                                     <property 
name="use_underline">True</property>
+                                                     <property 
name="use_markup">False</property>
+                                                     <property 
name="justify">GTK_JUSTIFY_LEFT</property>
+                                                     <property 
name="wrap">False</property>
+                                                     <property 
name="selectable">False</property>
+                                                     <property 
name="xalign">0.5</property>
+                                                     <property 
name="yalign">0.5</property>
+                                                     <property 
name="xpad">0</property>
+                                                     <property 
name="ypad">0</property>
+                                                     <property 
name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                                     <property 
name="width_chars">-1</property>
+                                                     <property 
name="single_line_mode">False</property>
+                                                     <property 
name="angle">0</property>
+                                                   </widget>
+                                                   <packing>
+                                                     <property 
name="padding">0</property>
+                                                     <property 
name="expand">False</property>
+                                                     <property 
name="fill">False</property>
+                                                   </packing>
+                                                 </child>
+                                               </widget>
+                                             </child>
+                                           </widget>
+                                         </child>
+                                       </widget>
+                                       <packing>
+                                         <property name="padding">15</property>
+                                         <property 
name="expand">False</property>
+                                         <property name="fill">False</property>
+                                       </packing>
+                                     </child>
+
+                                     <child>
+                                       <placeholder/>
+                                     </child>
+                                   </widget>
+                                 </child>
+
+                                 <child>
+                                   <widget class="GtkLabel" 
id="daemonConfigLabel">
+                                     <property name="visible">True</property>
+                                     <property name="label" 
translatable="yes">&lt;b&gt;GNUnet daemon configuration&lt;/b&gt;</property>
+                                     <property 
name="use_underline">False</property>
+                                     <property 
name="use_markup">True</property>
+                                     <property 
name="justify">GTK_JUSTIFY_LEFT</property>
+                                     <property name="wrap">False</property>
+                                     <property 
name="selectable">False</property>
+                                     <property name="xalign">0.5</property>
+                                     <property name="yalign">0.5</property>
+                                     <property name="xpad">0</property>
+                                     <property name="ypad">0</property>
+                                     <property 
name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                     <property name="width_chars">-1</property>
+                                     <property 
name="single_line_mode">False</property>
+                                     <property name="angle">0</property>
+                                   </widget>
+                                   <packing>
+                                     <property 
name="type">label_item</property>
+                                   </packing>
+                                 </child>
+                               </widget>
+                               <packing>
+                                 <property name="padding">5</property>
+                                 <property name="expand">False</property>
+                                 <property name="fill">False</property>
+                               </packing>
+                             </child>
                            </widget>
                          </child>
                        </widget>

Modified: gnunet-gtk/src/common/helper.c
===================================================================
--- gnunet-gtk/src/common/helper.c      2006-06-12 02:03:33 UTC (rev 3006)
+++ gnunet-gtk/src/common/helper.c      2006-06-12 17:05:02 UTC (rev 3007)
@@ -609,4 +609,22 @@
   return main_window_state;
 }
 
+/**
+* Start gnunet-setup, asking for a password if needed
+*/
+gboolean startGNUnetSetup (gboolean run_wizard) {
+#ifdef HAVE_LIBGKSU2
+  if(gnunetsetup_mode) {
+    gksu_run("gnunet-setup -d wizard-gtk", NULL); }
+  else {
+    gksu_run("gnunet-setup -d", NULL); }
+  return TRUE;
+#elif WINDOWS
+/* FIXME: run gnunet-setup, assuming we can have the needed rights */
+  return TRUE;
+#else
+  return FALSE;
+#endif
+}
+
 /* end of helper.c */

Modified: gnunet-gtk/src/core/Makefile.am
===================================================================
--- gnunet-gtk/src/core/Makefile.am     2006-06-12 02:03:33 UTC (rev 3006)
+++ gnunet-gtk/src/core/Makefile.am     2006-06-12 17:05:02 UTC (rev 3007)
@@ -2,7 +2,8 @@
   -I$(top_srcdir)/intl \
   -I$(top_srcdir)/src/include \
   @GTK_CFLAGS@ \
-  @GNUNETGTK_CFLAGS@
+  @GNUNETGTK_CFLAGS@ \
+  $(LIBGKSU2_CFLAGS)
 
 bin_PROGRAMS = gnunet-gtk
 
@@ -19,7 +20,8 @@
   -lgnunetutil \
   $(INTLLIBS) \
   -lgthread-2.0 \
-  $(top_builddir)/src/common/libgnunetgtk_common.la
+  $(top_builddir)/src/common/libgnunetgtk_common.la \
+  $(LIBGKSU2_LIBS)
 
 gnunet_gtk_LDFLAGS = \
   -export-dynamic 

Modified: gnunet-gtk/src/include/gnunetgtk_common.h
===================================================================
--- gnunet-gtk/src/include/gnunetgtk_common.h   2006-06-12 02:03:33 UTC (rev 
3006)
+++ gnunet-gtk/src/include/gnunetgtk_common.h   2006-06-12 17:05:02 UTC (rev 
3007)
@@ -135,4 +135,11 @@
 
 void gnunet_gtk_main_quit();
 
+/**
+* Start gnunet-setup, asking for a password if needed
+* @param gnunetsetup_mode TRUE to run the wizard, FALSE to run the complete 
tool
+* @returns TRUE if gksu is enabled or we run on Windows, FALSE else
+*/
+gboolean startGNUnetSetup (gboolean run_wizard);
+
 #endif

Modified: gnunet-gtk/src/plugins/daemon/daemon.c
===================================================================
--- gnunet-gtk/src/plugins/daemon/daemon.c      2006-06-12 02:03:33 UTC (rev 
3006)
+++ gnunet-gtk/src/plugins/daemon/daemon.c      2006-06-12 17:05:02 UTC (rev 
3007)
@@ -27,6 +27,7 @@
 #include "platform.h"
 #include "gnunetgtk_common.h"
 #include <GNUnet/gnunet_getoption_lib.h>
+#include <gtk/gtk.h>
 
 
 
@@ -271,4 +272,19 @@
             NULL);
 }
 
+/**
+* Launch gnunet-setup -d wizard-gtk with needed rights
+*/
+void on_startDaemonConfWizard_clicked(GtkWidget * widget,
+                                     gpointer data) {
+  if (!startGNUnetSetup(TRUE)) {
+    GtkWidget *mainWindow, *messageDialog;
+    mainWindow = glade_xml_get_widget(getMainXML(), "mainWindow");
+    messageDialog = gtk_message_dialog_new (GTK_WINDOW(mainWindow),
+                                            GTK_DIALOG_MODAL | 
GTK_DIALOG_DESTROY_WITH_PARENT,
+                                            GTK_MESSAGE_INFO, 
GTK_BUTTONS_CLOSE,
+                                             _("Gksu support is not enabled, 
impossible to get the needed rights. You should build gnunet-gtk with the 
--enable-libgksu2 option, or get the right binary package."));
+    gtk_dialog_run(GTK_DIALOG(messageDialog)); }
+}
+
 /* end of daemon.c */





reply via email to

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