[Top][All Lists]
[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"><b>gnunetd control</b></property>
+ <property name="label"
translatable="yes"><b>GNUnet daemon control</b></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"><b>GNUnet daemon configuration</b></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 */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r3007 - in gnunet-gtk: . src/common src/core src/include src/plugins/daemon,
moon <=