diff options
Diffstat (limited to 'src/common/helper.c')
-rw-r--r-- | src/common/helper.c | 117 |
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 |
43 | And this is not really needed | 43 | And this is not really needed |
44 | #include <libgksu/libgksu.h> */ | 44 | #include <libgksu/libgksu.h> */ |
45 | gboolean | 45 | gboolean gksu_run (gchar * command_line, GError ** error); |
46 | gksu_run (gchar *command_line, | ||
47 | GError **error); | ||
48 | #endif | 46 | #endif |
49 | 47 | ||
50 | typedef struct | 48 | typedef 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 | */ |
611 | gboolean | 609 | gboolean |
612 | GNUNET_GTK_run_gnunet_setup (gchar *conffile, gboolean run_wizard) | 610 | GNUNET_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 | ||