aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/fs/fs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/fs/fs.c')
-rw-r--r--src/plugins/fs/fs.c97
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
679static void
680init_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) &gtk_widget_show,
688 tab);
689}
690
679void 691void
680init_fs (struct GNUNET_GE_Context *e, struct GNUNET_GC_Configuration *c) 692init_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
703static void *
704hide_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
713static void * 708static void *
714cleanup_save_call (void *arg) 709cleanup_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
721void 719void
722done_fs () 720done_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
731const char *
732getColorCode (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
754const char * 725 tab = glade_xml_get_widget (GNUNET_GTK_get_main_glade_XML (), "fsnotebook");
755getStatusName (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 */