[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r16567 - gnunet-gtk/src/setup
From: |
gnunet |
Subject: |
[GNUnet-SVN] r16567 - gnunet-gtk/src/setup |
Date: |
Mon, 15 Aug 2011 18:36:48 +0200 |
Author: grothoff
Date: 2011-08-15 18:36:48 +0200 (Mon, 15 Aug 2011)
New Revision: 16567
Modified:
gnunet-gtk/src/setup/gnunet-setup-datacache-config.c
gnunet-gtk/src/setup/gnunet-setup-datastore-config.c
gnunet-gtk/src/setup/gnunet-setup-hostlist-editing.c
gnunet-gtk/src/setup/gnunet-setup-options.c
gnunet-gtk/src/setup/gnunet-setup-transport-http.c
gnunet-gtk/src/setup/gnunet-setup-transport-https.c
gnunet-gtk/src/setup/gnunet-setup-transport-tcp.c
gnunet-gtk/src/setup/gnunet-setup-transport-udp.c
gnunet-gtk/src/setup/gnunet-setup-transport.c
gnunet-gtk/src/setup/gnunet-setup.c
gnunet-gtk/src/setup/gnunet-setup.h
Log:
make gnunet-setup compile
Modified: gnunet-gtk/src/setup/gnunet-setup-datacache-config.c
===================================================================
--- gnunet-gtk/src/setup/gnunet-setup-datacache-config.c 2011-08-15
16:28:11 UTC (rev 16566)
+++ gnunet-gtk/src/setup/gnunet-setup-datacache-config.c 2011-08-15
16:36:48 UTC (rev 16567)
@@ -67,16 +67,14 @@
static void
show (const char *name)
{
- gtk_widget_show (GTK_WIDGET (gtk_builder_get_object (builder,
- name)));
+ gtk_widget_show (GTK_WIDGET (GNUNET_SETUP_get_object (name)));
}
static void
hide (const char *name)
{
- gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder,
- name)));
+ gtk_widget_hide (GTK_WIDGET (GNUNET_SETUP_get_object (name)));
}
Modified: gnunet-gtk/src/setup/gnunet-setup-datastore-config.c
===================================================================
--- gnunet-gtk/src/setup/gnunet-setup-datastore-config.c 2011-08-15
16:28:11 UTC (rev 16566)
+++ gnunet-gtk/src/setup/gnunet-setup-datastore-config.c 2011-08-15
16:36:48 UTC (rev 16567)
@@ -63,16 +63,14 @@
static void
show (const char *name)
{
- gtk_widget_show (GTK_WIDGET (gtk_builder_get_object (builder,
- name)));
+ gtk_widget_show (GTK_WIDGET (GNUNET_SETUP_get_object (name)));
}
static void
hide (const char *name)
{
- gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder,
- name)));
+ gtk_widget_hide (GTK_WIDGET (GNUNET_SETUP_get_object (name)));
}
Modified: gnunet-gtk/src/setup/gnunet-setup-hostlist-editing.c
===================================================================
--- gnunet-gtk/src/setup/gnunet-setup-hostlist-editing.c 2011-08-15
16:28:11 UTC (rev 16566)
+++ gnunet-gtk/src/setup/gnunet-setup-hostlist-editing.c 2011-08-15
16:36:48 UTC (rev 16567)
@@ -45,8 +45,7 @@
GtkTreeIter old;
GtkTreeIter iter;
- ls = GTK_LIST_STORE (gtk_builder_get_object (builder,
-
"GNUNET_setup_hostlist_url_liststore"));
+ ls = GTK_LIST_STORE (GNUNET_SETUP_get_object
("GNUNET_setup_hostlist_url_liststore"));
if (ls == NULL)
{
GNUNET_break (0);
Modified: gnunet-gtk/src/setup/gnunet-setup-options.c
===================================================================
--- gnunet-gtk/src/setup/gnunet-setup-options.c 2011-08-15 16:28:11 UTC (rev
16566)
+++ gnunet-gtk/src/setup/gnunet-setup-options.c 2011-08-15 16:36:48 UTC (rev
16567)
@@ -942,8 +942,7 @@
GtkTreeIter iter;
gchar *old;
- tm = GTK_TREE_MODEL (gtk_builder_get_object (builder,
- "vpn_dns_config_liststore"));
+ tm = GTK_TREE_MODEL (GNUNET_SETUP_get_object ("vpn_dns_config_liststore"));
if (NULL == tm)
{
GNUNET_break (0);
@@ -1049,8 +1048,7 @@
/* FIXME: warn... */
return;
}
- tm = GTK_TREE_MODEL (gtk_builder_get_object (builder,
- "vpn_dns_config_liststore"));
+ tm = GTK_TREE_MODEL (GNUNET_SETUP_get_object ("vpn_dns_config_liststore"));
if (NULL == tm)
{
GNUNET_break (0);
@@ -1139,8 +1137,7 @@
/* invalid port, FIXME: warn */
return;
}
- tm = GTK_TREE_MODEL (gtk_builder_get_object (builder,
- "vpn_dns_config_liststore"));
+ tm = GTK_TREE_MODEL (GNUNET_SETUP_get_object ("vpn_dns_config_liststore"));
if (NULL == tm)
{
GNUNET_break (0);
@@ -1222,8 +1219,7 @@
GtkListStore *ls;
GtkTreeIter iter;
- tm = GTK_TREE_MODEL (gtk_builder_get_object (builder,
- "vpn_dns_config_liststore"));
+ tm = GTK_TREE_MODEL (GNUNET_SETUP_get_object ("vpn_dns_config_liststore"));
if (NULL == tm)
{
GNUNET_break (0);
@@ -1312,8 +1308,7 @@
/* invalid port, FIXME: warn */
return;
}
- tm = GTK_TREE_MODEL (gtk_builder_get_object (builder,
- "vpn_dns_config_liststore"));
+ tm = GTK_TREE_MODEL (GNUNET_SETUP_get_object ("vpn_dns_config_liststore"));
if (NULL == tm)
{
GNUNET_break (0);
Modified: gnunet-gtk/src/setup/gnunet-setup-transport-http.c
===================================================================
--- gnunet-gtk/src/setup/gnunet-setup-transport-http.c 2011-08-15 16:28:11 UTC
(rev 16566)
+++ gnunet-gtk/src/setup/gnunet-setup-transport-http.c 2011-08-15 16:36:48 UTC
(rev 16567)
@@ -145,8 +145,7 @@
GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == tsk);
GNUNET_assert (NULL == tst);
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_http_test_success_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_http_test_success_image"));
gtk_widget_hide (w);
resolver = GNUNET_OS_start_process (NULL, NULL,
"gnunet-service-resolver",
@@ -160,20 +159,16 @@
}
if (GNUNET_YES != ok)
{
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_http_test_fail_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_http_test_fail_image"));
gtk_widget_show (w);
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_http_test_success_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_http_test_success_image"));
gtk_widget_hide (w);
}
else
{
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_http_test_fail_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_http_test_fail_image"));
gtk_widget_hide (w);
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_http_test_success_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_http_test_success_image"));
gtk_widget_show (w);
}
}
Modified: gnunet-gtk/src/setup/gnunet-setup-transport-https.c
===================================================================
--- gnunet-gtk/src/setup/gnunet-setup-transport-https.c 2011-08-15 16:28:11 UTC
(rev 16566)
+++ gnunet-gtk/src/setup/gnunet-setup-transport-https.c 2011-08-15 16:36:48 UTC
(rev 16567)
@@ -145,8 +145,7 @@
GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == tsk);
GNUNET_assert (NULL == tst);
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_https_test_success_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_https_test_success_image"));
gtk_widget_hide (w);
resolver = GNUNET_OS_start_process (NULL, NULL,
"gnunet-service-resolver",
@@ -160,20 +159,16 @@
}
if (GNUNET_YES != ok)
{
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_https_test_fail_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_https_test_fail_image"));
gtk_widget_show (w);
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_https_test_success_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_https_test_success_image"));
gtk_widget_hide (w);
}
else
{
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_https_test_fail_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_https_test_fail_image"));
gtk_widget_hide (w);
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_https_test_success_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_https_test_success_image"));
gtk_widget_show (w);
}
}
Modified: gnunet-gtk/src/setup/gnunet-setup-transport-tcp.c
===================================================================
--- gnunet-gtk/src/setup/gnunet-setup-transport-tcp.c 2011-08-15 16:28:11 UTC
(rev 16566)
+++ gnunet-gtk/src/setup/gnunet-setup-transport-tcp.c 2011-08-15 16:36:48 UTC
(rev 16567)
@@ -145,8 +145,7 @@
GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == tsk);
GNUNET_assert (NULL == tst);
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_tcp_test_success_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_tcp_test_success_image"));
gtk_widget_hide (w);
resolver = GNUNET_OS_start_process (NULL, NULL,
"gnunet-service-resolver",
@@ -160,20 +159,16 @@
}
if (GNUNET_YES != ok)
{
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_tcp_test_fail_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_tcp_test_fail_image"));
gtk_widget_show (w);
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_tcp_test_success_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_tcp_test_success_image"));
gtk_widget_hide (w);
}
else
{
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_tcp_test_fail_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_tcp_test_fail_image"));
gtk_widget_hide (w);
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_tcp_test_success_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_tcp_test_success_image"));
gtk_widget_show (w);
}
}
Modified: gnunet-gtk/src/setup/gnunet-setup-transport-udp.c
===================================================================
--- gnunet-gtk/src/setup/gnunet-setup-transport-udp.c 2011-08-15 16:28:11 UTC
(rev 16566)
+++ gnunet-gtk/src/setup/gnunet-setup-transport-udp.c 2011-08-15 16:36:48 UTC
(rev 16567)
@@ -144,8 +144,7 @@
GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == tsk);
GNUNET_assert (NULL == tst);
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_udp_test_success_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_udp_test_success_image"));
gtk_widget_hide (w);
resolver = GNUNET_OS_start_process (NULL, NULL,
"gnunet-service-resolver",
@@ -159,20 +158,16 @@
}
if (GNUNET_YES != ok)
{
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_udp_test_fail_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_udp_test_fail_image"));
gtk_widget_show (w);
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_udp_test_success_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_udp_test_success_image"));
gtk_widget_hide (w);
}
else
{
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_udp_test_fail_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_udp_test_fail_image"));
gtk_widget_hide (w);
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_udp_test_success_image"));
+ w = GTK_WIDGET (GNUNET_SETUP_get_object
("GNUNET_setup_transport_udp_test_success_image"));
gtk_widget_show (w);
}
}
Modified: gnunet-gtk/src/setup/gnunet-setup-transport.c
===================================================================
--- gnunet-gtk/src/setup/gnunet-setup-transport.c 2011-08-15 16:28:11 UTC
(rev 16566)
+++ gnunet-gtk/src/setup/gnunet-setup-transport.c 2011-08-15 16:36:48 UTC
(rev 16567)
@@ -173,8 +173,7 @@
"nat",
"INTERNAL_ADDRESS",
buf);
- entry = GTK_ENTRY (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_internal_ip_entry"));
+ entry = GTK_ENTRY (GNUNET_SETUP_get_object
("GNUNET_setup_transport_internal_ip_entry"));
if (entry == NULL)
{
GNUNET_break (0);
@@ -210,8 +209,7 @@
"nat",
"BEHIND_NAT",
"YES");
- button = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_nat_checkbutton"));
+ button = GTK_TOGGLE_BUTTON (GNUNET_SETUP_get_object
("GNUNET_setup_transport_nat_checkbutton"));
if (button == NULL)
{
GNUNET_break (0);
@@ -226,8 +224,7 @@
"nat",
"EXTERNAL_ADDRESS",
buf);
- entry = GTK_ENTRY (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_external_ip_address_entry"));
+ entry = GTK_ENTRY (GNUNET_SETUP_get_object
("GNUNET_setup_transport_external_ip_address_entry"));
if (entry == NULL)
{
GNUNET_break (0);
@@ -260,8 +257,7 @@
if (hns)
hns = test_connection_reversal ();
- button = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_icmp_server_enable_checkbutton"));
+ button = GTK_TOGGLE_BUTTON (GNUNET_SETUP_get_object
("GNUNET_setup_transport_icmp_server_enable_checkbutton"));
if (button == NULL)
{
GNUNET_break (0);
@@ -286,8 +282,7 @@
(GNUNET_YES ==
GNUNET_OS_check_helper_binary ("gnunet-helper-nat-client")) );
GNUNET_free_non_null (tmp);
- button = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_icmp_client_enable_checkbutton"));
+ button = GTK_TOGGLE_BUTTON (GNUNET_SETUP_get_object
("GNUNET_setup_transport_icmp_client_enable_checkbutton"));
if (button == NULL)
{
GNUNET_break (0);
Modified: gnunet-gtk/src/setup/gnunet-setup.c
===================================================================
--- gnunet-gtk/src/setup/gnunet-setup.c 2011-08-15 16:28:11 UTC (rev 16566)
+++ gnunet-gtk/src/setup/gnunet-setup.c 2011-08-15 16:36:48 UTC (rev 16567)
@@ -31,122 +31,43 @@
#include <regex.h>
/**
- * Builder for the main window (global!)
+ * Main loop handle.
*/
-GtkBuilder *builder;
+static struct GNUNET_GTK_MainLoop *ml;
/**
- * Our configuration (global!)
+ * Name of the configuration file.
*/
-struct GNUNET_CONFIGURATION_Handle *cfg;
+static char *cfgName;
-
/**
- * @brief get the path to a specific GNUnet installation directory or,
- * with GNUNET_IPK_SELF_PREFIX, the current running apps installation directory
- * @author Milan
- * @return a pointer to the dir path (to be freed by the caller)
+ * Our log level (FIXME: needed!?)
*/
-char *
-GNUNET_GTK_installation_get_path (enum GNUNET_OS_InstallationPathKind dirkind);
+static char *loglev;
-
-
/**
- * Get the name of the directory where all of our package
- * data is stored ($PREFIX/share/)
- *
- * @return name of the data directory
+ * Our configuration.
*/
-const char *
-GNUNET_GTK_get_data_dir ()
-{
- static char *dd;
+struct GNUNET_CONFIGURATION_Handle *cfg;
- if (dd == NULL)
- dd = GNUNET_GTK_installation_get_path (GNUNET_OS_IPK_DATADIR);
- return dd;
-}
-
-
/**
- * Create an initialize a new builder based on the
- * GNUnet-GTK glade file.
- *
- * @param filename name of the resource file to load
- * @return NULL on error
+ * Global return value (for success/failure of gnunet-setup).
*/
-GtkBuilder *
-GNUNET_GTK_get_new_builder (const char *filename)
-{
- char *glade_path;
- GtkBuilder *ret;
- GError *error;
+static int gret;
- ret = gtk_builder_new ();
- gtk_builder_set_translation_domain (ret, "gnunet-gtk");
- GNUNET_asprintf (&glade_path,
- "%s%s",
- GNUNET_GTK_get_data_dir (),
- filename);
- error = NULL;
- if (0 == gtk_builder_add_from_file (ret, glade_path, &error))
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _("Failed to load `%s': %s\n"),
- glade_path,
- error->message);
- g_error_free (error);
- GNUNET_free (glade_path);
- return NULL;
- }
- gtk_builder_connect_signals (ret, NULL);
- GNUNET_free (glade_path);
- return ret;
-}
-
-
-
/**
- * Initialize GNU gettext for message translation.
+ * Get an object from the main window.
+ *
+ * @param name name of the object
+ * @return NULL on error, otherwise the object
*/
-static void
-setup_nls ()
+GObject *
+GNUNET_SETUP_get_object (const char *name)
{
-#if ENABLE_NLS
- char *path;
-
- setlocale (LC_ALL, "");
- GNUNET_asprintf (&path,
- "%s/%s/locale/",
- GNUNET_GTK_get_data_dir (),
- PACKAGE_NAME);
- bindtextdomain ("gnunet-setup", path);
- textdomain ("gnunet-setup");
- bind_textdomain_codeset ("GNUnet", "UTF-8");
- bind_textdomain_codeset ("gnunet-setup", "UTF-8");
- GNUNET_free (path);
-#else
- fprintf (stderr,
- "WARNING: gnunet-setup was compiled without i18n support (did CFLAGS
contain -Werror?).\n");
-#endif
+ return GNUNET_GTK_main_loop_get_object (ml, name);
}
-/**
- * Initialize GTK search path for icons.
- */
-static void
-set_icon_search_path ()
-{
- char *buf;
-
- buf = GNUNET_GTK_installation_get_path (GNUNET_OS_IPK_ICONDIR);
- gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (), buf);
- GNUNET_free (buf);
-}
-
-
static gboolean
help_click_callback (GtkWidget *widget,
GdkEventButton *event,
@@ -157,8 +78,7 @@
if (event->type != GDK_BUTTON_PRESS)
return FALSE;
- help = GTK_LINK_BUTTON (gtk_builder_get_object (builder,
- "GNUNET_setup_help_text"));
+ help = GTK_LINK_BUTTON (GNUNET_SETUP_get_object ("GNUNET_setup_help_text"));
gtk_link_button_set_uri (help,
os->help_url);
gtk_button_set_label (GTK_BUTTON (help),
@@ -189,8 +109,7 @@
while (os->visibility[i].widget_name != NULL)
{
vs = &os->visibility[i];
- widget = GTK_WIDGET (gtk_builder_get_object (builder,
- vs->widget_name));
+ widget = GTK_WIDGET (GNUNET_SETUP_get_object (vs->widget_name));
if (widget == NULL)
{
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
@@ -243,8 +162,7 @@
GObject *widget;
char *value;
- widget = gtk_builder_get_object (builder,
- os->widget_name);
+ widget = GNUNET_SETUP_get_object (os->widget_name);
GNUNET_assert (NULL != os->save_function);
if (GNUNET_OK !=
os->save_function (os->load_save_cls,
@@ -272,67 +190,22 @@
}
-int
-main (int argc,
- char *const *argv)
+/**
+ * Load options into the main dialog.
+ */
+static void
+load_options ()
{
- char *cfgName = GNUNET_strdup (GNUNET_DEFAULT_USER_CONFIG_FILE);
- char *loglev = GNUNET_strdup ("WARNING");
- struct GNUNET_GETOPT_CommandLineOption options[] = {
- GNUNET_GETOPT_OPTION_CFG_FILE (&cfgName),
- GNUNET_GETOPT_OPTION_HELP (gettext_noop ("Setup tool for GNUnet")),
- GNUNET_GETOPT_OPTION_LOGLEVEL (&loglev),
- GNUNET_GETOPT_OPTION_VERSION (PACKAGE_VERSION),
- GNUNET_GETOPT_OPTION_END
- };
- gint ret;
- GtkWidget *main_window;
- GtkWidget *dialog;
- GObject *widget;
- int arg_off;
- int iret;
- char *const *argp;
- char *value;
- struct GNUNET_CONFIGURATION_Handle *cfgDefault;
const struct GNUNET_SETUP_OptionSpecification *os;
unsigned int i;
-
- arg_off = GNUNET_GETOPT_run ("gnunet-setup",
- options,
- argc,
- argv);
- if (arg_off == GNUNET_SYSERR)
- {
- GNUNET_free (loglev);
- GNUNET_free (cfgName);
- return 1;
- }
- (void) GNUNET_log_setup ("gnunet-setup",
- loglev,
- NULL);
- argp = &argv[arg_off];
- argc -= arg_off;
- gtk_init (&argc, (char ***) &argp);
- set_icon_search_path ();
- setup_nls ();
- builder = GNUNET_GTK_get_new_builder ("gnunet-setup.glade");
- if (builder == NULL)
- {
- GNUNET_free (loglev);
- GNUNET_free (cfgName);
- return 1;
- }
- cfg = GNUNET_CONFIGURATION_create ();
- (void) GNUNET_CONFIGURATION_load (cfg, cfgName);
- main_window = GTK_WIDGET (gtk_builder_get_object (builder,
- "GNUNET_setup_dialog"));
- /* load options into dialog */
+ GObject *widget;
+ char *value;
+
i = 0;
while (option_specifications[i].widget_name != NULL)
{
os = &option_specifications[i];
- widget = gtk_builder_get_object (builder,
- os->widget_name);
+ widget = GNUNET_SETUP_get_object (os->widget_name);
if (NULL == widget)
{
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
@@ -410,53 +283,91 @@
i++;
}
- RESTART:
- ret = gtk_dialog_run (GTK_DIALOG (main_window));
- gtk_widget_hide (main_window);
+}
+
+
+/**
+ * Callback invoked if the application is supposed to exit.
+ */
+void
+GNUNET_SETUP_quit_cb (GtkObject *object,
+ gpointer user_data)
+{
+ struct GNUNET_CONFIGURATION_Handle *cfgDefault;
+
+ GNUNET_GTK_main_loop_quit (ml);
cfgDefault = GNUNET_CONFIGURATION_create ();
(void) GNUNET_CONFIGURATION_load (cfgDefault, NULL); /* load defaults only */
- iret = 0;
- switch (ret)
- {
- case GTK_RESPONSE_CANCEL: /* -6 */
- /* explicit cancel, do not save! */
- break;
- case GTK_RESPONSE_OK: /* save-as, -5 */
- dialog = gtk_file_chooser_dialog_new (_("Save Configuration File"),
- NULL,
- GTK_FILE_CHOOSER_ACTION_SAVE,
- GTK_STOCK_CANCEL,
GTK_RESPONSE_CANCEL,
- GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
- NULL);
- gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (dialog), cfgName);
- if (gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_ACCEPT)
- {
- gtk_widget_destroy (dialog);
- goto RESTART;
- }
- GNUNET_free (cfgName);
- cfgName = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
- gtk_widget_destroy (dialog);
- /* fall through! */
- case GTK_RESPONSE_DELETE_EVENT: /* window close, -4 */
- case GTK_RESPONSE_ACCEPT: /* save, -3 */
- if (GNUNET_OK !=
- GNUNET_CONFIGURATION_write_diffs (cfgDefault,
- cfg,
- cfgName))
- iret = 1;
- break;
- default:
- GNUNET_break (0);
- }
- gtk_widget_destroy (main_window);
- g_object_unref (G_OBJECT (builder));
+ if (GNUNET_OK !=
+ GNUNET_CONFIGURATION_write_diffs (cfgDefault,
+ cfg,
+ cfgName))
+ gret = 1;
GNUNET_CONFIGURATION_destroy (cfgDefault);
GNUNET_CONFIGURATION_destroy (cfg);
+}
+
+
+/**
+ * Actual main method that sets up the configuration window.
+ *
+ * @param cls the main loop handle
+ * @param tc scheduler context
+ */
+static void
+run (void *cls,
+ const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+ ml = cls;
+ GtkWidget *main_window;
+
+ cfg = GNUNET_CONFIGURATION_create ();
+ (void) GNUNET_CONFIGURATION_load (cfg, cfgName);
+ main_window = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_dialog"));
+
+ load_options ();
+ gtk_widget_show (main_window);
+ gtk_window_present (GTK_WINDOW (main_window));
+}
+
+
+/**
+ * Main function for gnunet-setup.
+ *
+ * @param argc number of arguments
+ * @param argv arguments
+ * @return 0 on success
+ */
+int
+main (int argc,
+ char *const *argv)
+{
+ struct GNUNET_GETOPT_CommandLineOption options[] = {
+ GNUNET_GETOPT_OPTION_CFG_FILE (&cfgName),
+ GNUNET_GETOPT_OPTION_HELP (gettext_noop ("Setup tool for GNUnet")),
+ GNUNET_GETOPT_OPTION_LOGLEVEL (&loglev),
+ GNUNET_GETOPT_OPTION_VERSION (PACKAGE_VERSION),
+ GNUNET_GETOPT_OPTION_END
+ };
+ int ret;
+
+ cfgName = GNUNET_strdup (GNUNET_DEFAULT_USER_CONFIG_FILE);
+ loglev = GNUNET_strdup ("WARNING");
+
+ if (GNUNET_OK ==
+ GNUNET_GTK_main_loop_start ("gnunet-setup",
+ "guunet-setup",
+ argc,
+ argv,
+ options,
+ "gnunet_setup_gtk_main_window.glade",
+ &run))
+ ret = gret;
+ else
+ ret = 1;
GNUNET_free (cfgName);
GNUNET_free (loglev);
- return iret;
+ return ret;
}
-
/* end of gnunet-setup.c */
Modified: gnunet-gtk/src/setup/gnunet-setup.h
===================================================================
--- gnunet-gtk/src/setup/gnunet-setup.h 2011-08-15 16:28:11 UTC (rev 16566)
+++ gnunet-gtk/src/setup/gnunet-setup.h 2011-08-15 16:36:48 UTC (rev 16567)
@@ -33,10 +33,15 @@
#include <gtk/gtk.h>
/**
- * Builder for the main window.
+ * Get an object from the main window.
+ *
+ * @param name name of the object
+ * @return NULL on error, otherwise the object
*/
-extern GtkBuilder *builder;
+GObject *
+GNUNET_SETUP_get_object (const char *name);
+
/**
* Our configuration.
*/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r16567 - gnunet-gtk/src/setup,
gnunet <=