diff options
Diffstat (limited to 'src/plugins/fs/fs.c')
-rw-r--r-- | src/plugins/fs/fs.c | 97 |
1 files changed, 27 insertions, 70 deletions
diff --git a/src/plugins/fs/fs.c b/src/plugins/fs/fs.c index 163d103c..e00668a0 100644 --- a/src/plugins/fs/fs.c +++ b/src/plugins/fs/fs.c | |||
@@ -676,102 +676,59 @@ fs_summary_stop () | |||
676 | 676 | ||
677 | } | 677 | } |
678 | 678 | ||
679 | static void | ||
680 | init_cron_job(void * arg) | ||
681 | { | ||
682 | GtkWidget * tab = arg; | ||
683 | |||
684 | ctx = GNUNET_FSUI_start (ectx, cfg, "gnunet-gtk", | ||
685 | 8, /* FIXME: allow user to configure download parallelism */ | ||
686 | GNUNET_YES, &eventProcessor, NULL); | ||
687 | GNUNET_GTK_save_call((GNUNET_ThreadMainFunction) >k_widget_show, | ||
688 | tab); | ||
689 | } | ||
690 | |||
679 | void | 691 | void |
680 | init_fs (struct GNUNET_GE_Context *e, struct GNUNET_GC_Configuration *c) | 692 | init_fs (struct GNUNET_GE_Context *e, struct GNUNET_GC_Configuration *c) |
681 | { | 693 | { |
682 | GtkWidget *tab; | 694 | GtkWidget *tab; |
683 | GtkWidget *book; | 695 | struct GNUNET_CronManager * cron; |
684 | gint num; | ||
685 | 696 | ||
686 | ectx = e; | 697 | ectx = e; |
687 | cfg = c; | 698 | cfg = c; |
688 | GNUNET_CO_init (ectx, cfg); | 699 | GNUNET_CO_init (ectx, cfg); |
689 | tab = glade_xml_get_widget (GNUNET_GTK_get_main_glade_XML (), "fsnotebook"); | ||
690 | gtk_widget_show (tab); | ||
691 | book = | ||
692 | glade_xml_get_widget (GNUNET_GTK_get_main_glade_XML (), "mainnotebook"); | ||
693 | num = gtk_notebook_get_current_page (GTK_NOTEBOOK (book)); | ||
694 | gtk_notebook_set_current_page (GTK_NOTEBOOK (book), 1); | ||
695 | gtk_notebook_set_current_page (GTK_NOTEBOOK (book), num); | ||
696 | fs_summary_start (); | 700 | fs_summary_start (); |
697 | fs_collection_start (); | 701 | fs_collection_start (); |
698 | fs_namespace_start (); | 702 | fs_namespace_start (); |
699 | ctx = GNUNET_FSUI_start (ectx, cfg, "gnunet-gtk", 8, /* FIXME: allow user to configure download parallelism */ | ||
700 | GNUNET_YES, &eventProcessor, NULL); | ||
701 | } | ||
702 | |||
703 | static void * | ||
704 | hide_save_call (void *arg) | ||
705 | { | ||
706 | GtkWidget *tab; | ||
707 | |||
708 | tab = glade_xml_get_widget (GNUNET_GTK_get_main_glade_XML (), "fsnotebook"); | 703 | tab = glade_xml_get_widget (GNUNET_GTK_get_main_glade_XML (), "fsnotebook"); |
709 | gtk_widget_hide (tab); | 704 | cron = GNUNET_GTK_get_cron_manager(); |
710 | return NULL; | 705 | GNUNET_cron_add_job(cron, &init_cron_job, 0, 0, tab); |
711 | } | 706 | } |
712 | 707 | ||
713 | static void * | 708 | static void * |
714 | cleanup_save_call (void *arg) | 709 | cleanup_save_call (void *arg) |
715 | { | 710 | { |
711 | GtkWidget *tab = arg; | ||
712 | |||
716 | fs_summary_stop (); | 713 | fs_summary_stop (); |
717 | fs_namespace_stop (); | 714 | fs_namespace_stop (); |
715 | gtk_widget_hide(tab); | ||
718 | return NULL; | 716 | return NULL; |
719 | } | 717 | } |
720 | 718 | ||
721 | void | 719 | void |
722 | done_fs () | 720 | done_fs () |
723 | { | 721 | { |
724 | GNUNET_GTK_save_call (&hide_save_call, NULL); | 722 | struct GNUNET_CronManager * cron; |
725 | GNUNET_FSUI_stop (ctx); | 723 | GtkWidget *tab; |
726 | GNUNET_GTK_save_call (&cleanup_save_call, NULL); | ||
727 | GNUNET_CO_done (); | ||
728 | } | ||
729 | |||
730 | |||
731 | const char * | ||
732 | getColorCode (enum GNUNET_URITRACK_STATE state) | ||
733 | { | ||
734 | if (state & (GNUNET_URITRACK_DIRECTORY_ADDED)) | ||
735 | return "blue"; | ||
736 | if (state & (GNUNET_URITRACK_INSERTED || GNUNET_URITRACK_INDEXED)) | ||
737 | return "cyan"; | ||
738 | if ((state & GNUNET_URITRACK_DOWNLOAD_STARTED) && | ||
739 | (0 == (state & | ||
740 | (GNUNET_URITRACK_DOWNLOAD_COMPLETED | | ||
741 | GNUNET_URITRACK_DOWNLOAD_ABORTED)))) | ||
742 | return "yellow"; | ||
743 | if (state & GNUNET_URITRACK_DOWNLOAD_COMPLETED) | ||
744 | return "springgreen"; | ||
745 | if (state & GNUNET_URITRACK_DOWNLOAD_ABORTED) | ||
746 | return "red"; | ||
747 | if (state & | ||
748 | (GNUNET_URITRACK_SEARCH_RESULT | GNUNET_URITRACK_DIRECTORY_FOUND)) | ||
749 | return "gray"; | ||
750 | return NULL; | ||
751 | } | ||
752 | |||
753 | 724 | ||
754 | const char * | 725 | tab = glade_xml_get_widget (GNUNET_GTK_get_main_glade_XML (), "fsnotebook"); |
755 | getStatusName (enum GNUNET_URITRACK_STATE state) | 726 | cron = GNUNET_GTK_get_cron_manager(); |
756 | { | 727 | GNUNET_cron_del_job(cron, &init_cron_job, 0, tab); |
757 | if (state & (GNUNET_URITRACK_DIRECTORY_ADDED)) | 728 | if (ctx != NULL) |
758 | return _("added"); | 729 | GNUNET_FSUI_stop (ctx); |
759 | if (state & (GNUNET_URITRACK_INSERTED || GNUNET_URITRACK_INDEXED)) | 730 | GNUNET_GTK_save_call (&cleanup_save_call, tab); |
760 | return _("shared"); | 731 | GNUNET_CO_done (); |
761 | if ((state & GNUNET_URITRACK_DOWNLOAD_STARTED) && | ||
762 | (0 == (state & | ||
763 | (GNUNET_URITRACK_DOWNLOAD_COMPLETED | | ||
764 | GNUNET_URITRACK_DOWNLOAD_ABORTED)))) | ||
765 | return _("started"); | ||
766 | if (state & GNUNET_URITRACK_DOWNLOAD_COMPLETED) | ||
767 | return _("completed"); | ||
768 | if (state & GNUNET_URITRACK_DOWNLOAD_ABORTED) | ||
769 | return _("aborted"); | ||
770 | if (state & | ||
771 | (GNUNET_URITRACK_SEARCH_RESULT | GNUNET_URITRACK_DIRECTORY_FOUND)) | ||
772 | return ""; | ||
773 | return ""; | ||
774 | } | 732 | } |
775 | 733 | ||
776 | |||
777 | /* end of fs.c */ | 734 | /* end of fs.c */ |