[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r3386 - in GNUnet: . src/setup/gtk
From: |
grothoff |
Subject: |
[GNUnet-SVN] r3386 - in GNUnet: . src/setup/gtk |
Date: |
Sun, 10 Sep 2006 16:47:13 -0700 (PDT) |
Author: grothoff
Date: 2006-09-10 16:47:10 -0700 (Sun, 10 Sep 2006)
New Revision: 3386
Modified:
GNUnet/src/setup/gtk/Makefile.am
GNUnet/src/setup/gtk/about.c
GNUnet/src/setup/gtk/gconf.c
GNUnet/src/setup/gtk/gnunet-setup.glade
GNUnet/todo
Log:
gnunet-setup gtk save
Modified: GNUnet/src/setup/gtk/Makefile.am
===================================================================
--- GNUnet/src/setup/gtk/Makefile.am 2006-09-10 23:23:24 UTC (rev 3385)
+++ GNUnet/src/setup/gtk/Makefile.am 2006-09-10 23:47:10 UTC (rev 3386)
@@ -20,7 +20,6 @@
libgnunetsetup_gtk_la_SOURCES = \
about.c \
- save.c \
gconf.c gconf.h \
glade_support.h glade_support.c
# wizard_gtk.c wizard_gtk.h
Modified: GNUnet/src/setup/gtk/about.c
===================================================================
--- GNUnet/src/setup/gtk/about.c 2006-09-10 23:23:24 UTC (rev 3385)
+++ GNUnet/src/setup/gtk/about.c 2006-09-10 23:47:10 UTC (rev 3386)
@@ -32,8 +32,8 @@
/**
* This displays an about window
*/
-void on_about1_activatesetup_gtk(GtkWidget * dummy,
- gpointer data) {
+void on_aboutButton_activatesetup_gtk(GtkWidget * dummy,
+ gpointer data) {
GtkWidget * ad;
GladeXML * axml;
Modified: GNUnet/src/setup/gtk/gconf.c
===================================================================
--- GNUnet/src/setup/gtk/gconf.c 2006-09-10 23:23:24 UTC (rev 3385)
+++ GNUnet/src/setup/gtk/gconf.c 2006-09-10 23:47:10 UTC (rev 3386)
@@ -22,9 +22,6 @@
* @file setup/gtk/gconf.c
* @author Nils Durner
* @author Christian Grothoff
- *
- * TODO:
- * - process save configuration event
*/
#include "gnunet_setup_lib.h"
@@ -62,6 +59,8 @@
static struct GE_Context * ectx;
+static const char * cfg_filename;
+
static void addToTree(GtkTreeStore * model,
GtkTreeIter * parent,
struct GNS_Tree * pos) {
@@ -351,9 +350,6 @@
updateTreeModel(gns);
}
-
-
-
static void initTreeView(struct GNS_Context * gns) {
GtkWidget * treeView;
GtkTreeViewColumn * column;
@@ -451,6 +447,76 @@
}
+/**
+ * User requested save manually. Save configuration.
+ */
+void on_saveButton_activatesetup_gtk() {
+ GtkWidget * dialog;
+
+ if (0 == GC_write_configuration(cfg,
+ cfg_filename)) {
+ dialog = gtk_message_dialog_new(NULL,
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_INFO,
+ GTK_BUTTONS_OK,
+ _("Configuration saved."));
+ gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_destroy(dialog);
+ } else {
+ dialog = gtk_message_dialog_new(NULL,
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK,
+ _("Failed to save configuration."));
+ gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_destroy(dialog);
+ }
+}
+
+
+/**
+ * User clicked to close window. Check if configuration
+ * needs saving and possibly save configuration or do not
+ * exit.
+ *
+ * @return TRUE to NOT exit (i.e. user hits cancel on save YES/NO/CANCEL).
+ */
+gboolean on_main_window_delete_eventsetup_gtk() {
+ GtkWidget * dialog;
+ gint ret;
+
+ if (GC_test_dirty(cfg)) {
+ dialog = gtk_message_dialog_new(NULL,
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_QUESTION,
+ GTK_BUTTONS_YES_NO,
+ _("Configuration changed. Save?"));
+ ret = gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_destroy(dialog);
+ switch (ret) {
+ case GTK_RESPONSE_YES:
+ GC_write_configuration(cfg,
+ cfg_filename);
+ return FALSE;
+ case GTK_RESPONSE_NO:
+ return FALSE;
+ case GTK_RESPONSE_CANCEL:
+ default:
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+/**
+ * We're really exiting. Final cleanup code (in GTK).
+ */
+void gtk_main_quitsetup_gtk() {
+ gtk_main_quit();
+}
+
+
+
int gconf_main_post_init(struct PluginHandle * self,
struct GE_Context * e,
struct GC_Configuration * c,
@@ -461,6 +527,7 @@
cfg = c;
ectx = e;
+ cfg_filename = filename;
no_model = gtk_list_store_new(1,
G_TYPE_STRING);
setLibrary(self);
Modified: GNUnet/src/setup/gtk/gnunet-setup.glade
===================================================================
--- GNUnet/src/setup/gtk/gnunet-setup.glade 2006-09-10 23:23:24 UTC (rev
3385)
+++ GNUnet/src/setup/gtk/gnunet-setup.glade 2006-09-10 23:47:10 UTC (rev
3386)
@@ -1963,253 +1963,6 @@
</child>
</widget>
-<widget class="GtkWindow" id="msgSave">
- <property name="visible">True</property>
- <property name="title" translatable="yes">Question</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_CENTER</property>
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="focus_on_map">True</property>
- <property name="urgency_hint">False</property>
-
- <child>
- <widget class="GtkVBox" id="vbox16">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox65">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkImage" id="image75">
- <property name="visible">True</property>
- <property name="stock">gtk-dialog-question</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">15</property>
- </widget>
- <packing>
- <property name="padding">15</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label96">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Do you want to save
your settings?</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">True</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">15</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">5</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHSeparator" id="hseparator1">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHButtonBox" id="hbuttonbox6">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkButton" id="saveYes">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Yes</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_saveYes_clicked"
object="msgSave" last_modification_time="Thu, 14 Apr 2005 19:30:39 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="saveNo">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">No</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_saveNo_clicked"
object="msgSave" last_modification_time="Thu, 14 Apr 2005 19:30:31 GMT"/>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-<widget class="GtkWindow" id="msgSaveFailed">
- <property name="visible">True</property>
- <property name="title" translatable="yes">Error</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_CENTER</property>
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="focus_on_map">True</property>
- <property name="urgency_hint">False</property>
-
- <child>
- <widget class="GtkVBox" id="vbox17">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox67">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkImage" id="image77">
- <property name="visible">True</property>
- <property name="stock">gtk-dialog-error</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">15</property>
- </widget>
- <packing>
- <property name="padding">15</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label98">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Unable to save
configuration!</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">True</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">15</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">5</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHSeparator" id="hseparator6">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHButtonBox" id="hbuttonbox7">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkButton" id="button1">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">OK</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="do_destroy_window"
object="msgSaveFailed" last_modification_time="Sun, 14 May 2006 09:46:52 GMT"/>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
<widget class="GtkWindow" id="assi_step4">
<property name="width_request">450</property>
<property name="height_request">350</property>
@@ -2691,123 +2444,6 @@
</child>
</widget>
-<widget class="GtkWindow" id="msgUpdateFailed">
- <property name="visible">True</property>
- <property name="title" translatable="yes">Error</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_CENTER</property>
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="focus_on_map">True</property>
- <property name="urgency_hint">False</property>
-
- <child>
- <widget class="GtkVBox" id="vbox20">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox79">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkImage" id="image85">
- <property name="visible">True</property>
- <property name="stock">gtk-dialog-error</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">15</property>
- </widget>
- <packing>
- <property name="padding">15</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label112">
- <property name="visible">True</property>
- <property name="label" translatable="yes">gnunet-update
failed!</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">True</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">15</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">5</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHSeparator" id="hseparator8">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHButtonBox" id="hbuttonbox9">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkButton" id="button2">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">OK</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="do_destroy_window"
object="msgUpdateFailed" last_modification_time="Sun, 14 May 2006 09:46:41
GMT"/>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
<widget class="GtkWindow" id="setupWindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -2838,58 +2474,41 @@
<property name="spacing">0</property>
<child>
- <widget class="GtkMenuBar" id="menubar1">
+ <widget class="GtkHButtonBox" id="topHButtonBox">
<property name="visible">True</property>
- <property name="pack_direction">GTK_PACK_DIRECTION_LTR</property>
- <property
name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property>
+ <property name="layout_style">GTK_BUTTONBOX_EDGE</property>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkImageMenuItem" id="save1">
+ <widget class="GtkButton" id="saveButton">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Save the config in
.config</property>
- <property name="label" translatable="yes">_Save</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_save1_activate"/>
- <accelerator key="S" modifiers="GDK_CONTROL_MASK"
signal="activate"/>
-
- <child internal-child="image">
- <widget class="GtkImage" id="image119">
- <property name="visible">True</property>
- <property name="stock">gtk-save</property>
- <property name="icon_size">1</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
+ <property name="tooltip" translatable="yes">Save
configuration</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-save</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_saveButton_activate"
last_modification_time="Mon, 11 Sep 2006 00:15:51 GMT"/>
</widget>
</child>
<child>
- <widget class="GtkImageMenuItem" id="about1">
+ <widget class="GtkButton" id="aboutButton">
<property name="visible">True</property>
- <property name="label" translatable="yes">_About</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_about1_activate"
last_modification_time="Fri, 15 Nov 2002 20:26:30 GMT"/>
- <accelerator key="A" modifiers="GDK_CONTROL_MASK"
signal="activate"/>
-
- <child internal-child="image">
- <widget class="GtkImage" id="image120">
- <property name="visible">True</property>
- <property name="stock">gtk-about</property>
- <property name="icon_size">1</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
+ <property name="tooltip" translatable="yes">Show copyright
information for gnunet-setup.</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-about</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_aboutButton_activate"
last_modification_time="Mon, 11 Sep 2006 00:16:02 GMT"/>
</widget>
</child>
</widget>
<packing>
- <property name="padding">0</property>
+ <property name="padding">1</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
Modified: GNUnet/todo
===================================================================
--- GNUnet/todo 2006-09-10 23:23:24 UTC (rev 3385)
+++ GNUnet/todo 2006-09-10 23:47:10 UTC (rev 3386)
@@ -56,7 +56,6 @@
- testbed
* setup:
+ gtk config
- - save
- memory leaks
+ gtk wizard
+ ncurses wizard
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r3386 - in GNUnet: . src/setup/gtk,
grothoff <=