aboutsummaryrefslogtreecommitdiff
path: root/src/common/helper.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/helper.c')
-rw-r--r--src/common/helper.c117
1 files changed, 61 insertions, 56 deletions
diff --git a/src/common/helper.c b/src/common/helper.c
index 177ac952..66240ebb 100644
--- a/src/common/helper.c
+++ b/src/common/helper.c
@@ -42,9 +42,7 @@
42/* Not used because libgksu2 headers have broken depends in Debian 42/* Not used because libgksu2 headers have broken depends in Debian
43And this is not really needed 43And this is not really needed
44#include <libgksu/libgksu.h> */ 44#include <libgksu/libgksu.h> */
45gboolean 45gboolean gksu_run (gchar * command_line, GError ** error);
46gksu_run (gchar *command_line,
47 GError **error);
48#endif 46#endif
49 47
50typedef struct 48typedef struct
@@ -359,7 +357,7 @@ GNUNET_GTK_initialize_common_library (struct GNUNET_GE_Context *e,
359 GNUNET_GE_FATAL | GNUNET_GE_USER | 357 GNUNET_GE_FATAL | GNUNET_GE_USER |
360 GNUNET_GE_IMMEDIATE, "glade_xml_new", 358 GNUNET_GE_IMMEDIATE, "glade_xml_new",
361 gladeFile); 359 gladeFile);
362#if GTK_CHECK_VERSION (2,10,0) 360#if GTK_CHECK_VERSION (2,10,0)
363 trayIcon = gtk_status_icon_new (); 361 trayIcon = gtk_status_icon_new ();
364#endif 362#endif
365 initTrayIcon (); 363 initTrayIcon ();
@@ -465,8 +463,8 @@ GNUNET_GTK_run_with_save_calls (GNUNET_ThreadMainFunction cb, void *arg)
465 i = 0; 463 i = 0;
466 while (GNUNET_SYSERR == GNUNET_semaphore_down (cls.sig, GNUNET_NO)) 464 while (GNUNET_SYSERR == GNUNET_semaphore_down (cls.sig, GNUNET_NO))
467 { 465 {
468 if (i == -1) 466 if (i == -1)
469 GNUNET_thread_sleep (50 * GNUNET_CRON_MILLISECONDS); 467 GNUNET_thread_sleep (50 * GNUNET_CRON_MILLISECONDS);
470 GNUNET_mutex_lock (sclock); 468 GNUNET_mutex_lock (sclock);
471 if (pscCount > 0) 469 if (pscCount > 0)
472 { 470 {
@@ -609,78 +607,85 @@ GNUNET_GTK_get_main_window_state ()
609 * Start gnunet-setup, asking for a password if needed 607 * Start gnunet-setup, asking for a password if needed
610 */ 608 */
611gboolean 609gboolean
612GNUNET_GTK_run_gnunet_setup (gchar *conffile, gboolean run_wizard) 610GNUNET_GTK_run_gnunet_setup (gchar * conffile, gboolean run_wizard)
613{ 611{
614 GtkWidget *mainWindow; 612 GtkWidget *mainWindow;
615 GtkWidget *messageDialog; 613 GtkWidget *messageDialog;
616 GError *gerror = NULL; 614 GError *gerror = NULL;
617 char *error_message = NULL; 615 char *error_message = NULL;
618 616
619 if (0 == ACCESS(conffile, W_OK)) 617 if (0 == ACCESS (conffile, W_OK))
620 { 618 {
621 if (run_wizard) 619 if (run_wizard)
622 { 620 {
623 char *argv[] 621 char *argv[]
624 = {"gnunet-setup", "-d", "wizard-gtk", "-c", conffile, NULL}; 622 = { "gnunet-setup", "-d", "wizard-gtk", "-c", conffile, NULL };
625 g_spawn_async (NULL, argv, NULL, 623 g_spawn_async (NULL, argv, NULL,
626 G_SPAWN_SEARCH_PATH|G_SPAWN_CHILD_INHERITS_STDIN, 624 G_SPAWN_SEARCH_PATH | G_SPAWN_CHILD_INHERITS_STDIN,
627 NULL, NULL, NULL, &gerror); 625 NULL, NULL, NULL, &gerror);
628 } 626 }
629 else 627 else
630 { 628 {
631 char *argv[] 629 char *argv[]
632 = {"gnunet-setup", "-d", "gconfig", "-c", conffile, NULL}; 630 = { "gnunet-setup", "-d", "gconfig", "-c", conffile, NULL };
633 g_spawn_async (NULL, argv, NULL, 631 g_spawn_async (NULL, argv, NULL,
634 G_SPAWN_SEARCH_PATH|G_SPAWN_CHILD_INHERITS_STDIN, 632 G_SPAWN_SEARCH_PATH | G_SPAWN_CHILD_INHERITS_STDIN,
635 NULL, NULL, NULL, &gerror); 633 NULL, NULL, NULL, &gerror);
636 } 634 }
637 if (gerror) 635 if (gerror)
638 { 636 {
639 error_message = GNUNET_strdup(gerror->message); 637 error_message = GNUNET_strdup (gerror->message);
640 g_error_free (gerror); 638 g_error_free (gerror);
641 } 639 }
642 } 640 }
643 else 641 else
644#ifndef WITH_LIBGKSU2 642#ifndef WITH_LIBGKSU2
645 { 643 {
646 error_message = GNUNET_strdup(_("You don't have rights to write to the provided configuration file.")); 644 error_message =
647 } 645 GNUNET_strdup (_
646 ("You don't have rights to write to the provided configuration file."));
647 }
648#else 648#else
649 { 649 {
650 char *commandline; 650 char *commandline;
651 651
652 if (run_wizard) 652 if (run_wizard)
653 { 653 {
654 commandline = g_strconcat ("gnunet-setup -d wizard-gtk -c ", conffile, NULL); 654 commandline =
655 gksu_run (commandline, &gerror); 655 g_strconcat ("gnunet-setup -d wizard-gtk -c ", conffile, NULL);
656 } 656 gksu_run (commandline, &gerror);
657 else 657 }
658 { 658 else
659 commandline = g_strconcat ("gnunet-setup -d gconfig -c ", conffile, NULL); 659 {
660 gksu_run (commandline, &gerror); 660 commandline =
661 } 661 g_strconcat ("gnunet-setup -d gconfig -c ", conffile, NULL);
662 GNUNET_free (commandline); 662 gksu_run (commandline, &gerror);
663 if (gerror) 663 }
664 { 664 GNUNET_free (commandline);
665 error_message = GNUNET_strdup(gerror->message); 665 if (gerror)
666 g_error_free (gerror); 666 {
667 } 667 error_message = GNUNET_strdup (gerror->message);
668 } 668 g_error_free (gerror);
669 }
670 }
669#endif 671#endif
670 if(error_message) { 672 if (error_message)
671 mainWindow = glade_xml_get_widget (GNUNET_GTK_get_main_glade_XML (), "mainWindow"); 673 {
672 messageDialog = gtk_message_dialog_new (GTK_WINDOW (mainWindow), 674 mainWindow =
673 GTK_DIALOG_MODAL | 675 glade_xml_get_widget (GNUNET_GTK_get_main_glade_XML (), "mainWindow");
674 GTK_DIALOG_DESTROY_WITH_PARENT, 676 messageDialog =
675 GTK_MESSAGE_WARNING, 677 gtk_message_dialog_new (GTK_WINDOW (mainWindow),
676 GTK_BUTTONS_CLOSE, 678 GTK_DIALOG_MODAL |
677 _("Failed to run the configuration tool (gnunet-setup): %s"), 679 GTK_DIALOG_DESTROY_WITH_PARENT,
678 error_message); 680 GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,
679 gtk_dialog_run (GTK_DIALOG (messageDialog)); 681 _
680 gtk_widget_destroy (messageDialog); 682 ("Failed to run the configuration tool (gnunet-setup): %s"),
681 GNUNET_free (error_message); 683 error_message);
682 return FALSE; 684 gtk_dialog_run (GTK_DIALOG (messageDialog));
683 } 685 gtk_widget_destroy (messageDialog);
686 GNUNET_free (error_message);
687 return FALSE;
688 }
684 return TRUE; 689 return TRUE;
685} 690}
686 691