diff options
author | Martin Schanzenbach <schanzen@gnunet.org> | 2022-12-06 19:04:52 +0900 |
---|---|---|
committer | Martin Schanzenbach <schanzen@gnunet.org> | 2022-12-06 19:04:52 +0900 |
commit | 8c33bdfad715cfa614b6ecbdf0a8b87389430cc8 (patch) | |
tree | b4e6d0161b6c255f9dc357eb0a6f038d38d60fe3 | |
parent | 1c7666a87fb2d626145ebc34ba7110afa1089b58 (diff) | |
download | gnunet-gtk-8c33bdfad715cfa614b6ecbdf0a8b87389430cc8.tar.gz gnunet-gtk-8c33bdfad715cfa614b6ecbdf0a8b87389430cc8.zip |
Fix #7419
-rw-r--r-- | contrib/gnunet_fs_gtk_main_window.glade | 1467 | ||||
-rw-r--r-- | src/fs/gnunet-fs-gtk.c | 262 | ||||
-rw-r--r-- | src/namestore/gnunet-namestore-gtk.c | 1 |
3 files changed, 975 insertions, 755 deletions
diff --git a/contrib/gnunet_fs_gtk_main_window.glade b/contrib/gnunet_fs_gtk_main_window.glade index 1d7e0283..aaf24431 100644 --- a/contrib/gnunet_fs_gtk_main_window.glade +++ b/contrib/gnunet_fs_gtk_main_window.glade | |||
@@ -110,6 +110,14 @@ | |||
110 | <column type="gpointer"/> | 110 | <column type="gpointer"/> |
111 | </columns> | 111 | </columns> |
112 | </object> | 112 | </object> |
113 | <object class="GtkListStore" id="id_liststore"> | ||
114 | <columns> | ||
115 | <!-- column-name ego_name --> | ||
116 | <column type="gchararray"/> | ||
117 | <!-- column-name ego --> | ||
118 | <column type="gpointer"/> | ||
119 | </columns> | ||
120 | </object> | ||
113 | <object class="GtkAdjustment" id="adjustment1"> | 121 | <object class="GtkAdjustment" id="adjustment1"> |
114 | <property name="upper">100</property> | 122 | <property name="upper">100</property> |
115 | <property name="step_increment">1</property> | 123 | <property name="step_increment">1</property> |
@@ -668,7 +676,7 @@ | |||
668 | <property name="can_focus">False</property> | 676 | <property name="can_focus">False</property> |
669 | <property name="border_width">3</property> | 677 | <property name="border_width">3</property> |
670 | <property name="spacing">4</property> | 678 | <property name="spacing">4</property> |
671 | <child> | 679 | <child> |
672 | <object class="GtkBox" id="main_window_namespace_vbox"> | 680 | <object class="GtkBox" id="main_window_namespace_vbox"> |
673 | <property name="visible">True</property> | 681 | <property name="visible">True</property> |
674 | <property name="can_focus">False</property> | 682 | <property name="can_focus">False</property> |
@@ -723,7 +731,7 @@ | |||
723 | <property name="can_focus">True</property> | 731 | <property name="can_focus">True</property> |
724 | <property name="receives_default">True</property> | 732 | <property name="receives_default">True</property> |
725 | <property name="tooltip_text" translatable="yes">Remember the specified namespace for later. | 733 | <property name="tooltip_text" translatable="yes">Remember the specified namespace for later. |
726 | This operation will be executed using the anonymity level specified on the right.</property> | 734 | This operation will be executed using the anonymity level specified on the right.</property> |
727 | <property name="use_stock">True</property> | 735 | <property name="use_stock">True</property> |
728 | <property name="image_position">top</property> | 736 | <property name="image_position">top</property> |
729 | <signal name="clicked" handler="GNUNET_FS_GTK_save_button_clicked_cb" swapped="no"/> | 737 | <signal name="clicked" handler="GNUNET_FS_GTK_save_button_clicked_cb" swapped="no"/> |
@@ -735,15 +743,15 @@ This operation will be executed using the anonymity level specified on the right | |||
735 | </packing> | 743 | </packing> |
736 | </child> | 744 | </child> |
737 | <child> | 745 | <child> |
738 | <object class="GtkBox" id="main_window_keywords_vbox"> | 746 | <object class="GtkBox" id="main_window_id_vbox"> |
739 | <property name="visible">True</property> | 747 | <property name="visible">True</property> |
740 | <property name="can_focus">False</property> | 748 | <property name="can_focus">False</property> |
741 | <property name="orientation">vertical</property> | 749 | <property name="orientation">vertical</property> |
742 | <child> | 750 | <child> |
743 | <object class="GtkLabel" id="GNUNET_FS_GTK_keyword_label"> | 751 | <object class="GtkLabel" id="main_window_id_label"> |
744 | <property name="visible">True</property> | 752 | <property name="visible">True</property> |
745 | <property name="can_focus">False</property> | 753 | <property name="can_focus">False</property> |
746 | <property name="label" translatable="yes">Keywords:</property> | 754 | <property name="label" translatable="yes">Identity:</property> |
747 | </object> | 755 | </object> |
748 | <packing> | 756 | <packing> |
749 | <property name="expand">False</property> | 757 | <property name="expand">False</property> |
@@ -752,119 +760,50 @@ This operation will be executed using the anonymity level specified on the right | |||
752 | </packing> | 760 | </packing> |
753 | </child> | 761 | </child> |
754 | <child> | 762 | <child> |
755 | <object class="GtkEntry" id="main_window_search_entry"> | 763 | <object class="GtkComboBox" id="gnunet_fs_gtk_id_combobox"> |
756 | <property name="visible">True</property> | ||
757 | <property name="can_focus">True</property> | ||
758 | <property name="invisible_char">●</property> | ||
759 | <property name="primary_icon_activatable">False</property> | ||
760 | <property name="secondary_icon_activatable">False</property> | ||
761 | <signal name="key-press-event" handler="main_window_search_entry_key_press_event_cb" swapped="no"/> | ||
762 | </object> | ||
763 | <packing> | ||
764 | <property name="expand">False</property> | ||
765 | <property name="fill">False</property> | ||
766 | <property name="position">1</property> | ||
767 | </packing> | ||
768 | </child> | ||
769 | </object> | ||
770 | <packing> | ||
771 | <property name="expand">True</property> | ||
772 | <property name="fill">True</property> | ||
773 | <property name="position">2</property> | ||
774 | </packing> | ||
775 | </child> | ||
776 | <child> | ||
777 | <object class="GtkAlignment" id="main_window_search_button_alignment"> | ||
778 | <property name="visible">True</property> | ||
779 | <property name="can_focus">False</property> | ||
780 | <property name="yscale">0</property> | ||
781 | <child> | ||
782 | <object class="GtkButton" id="main_window_search_button"> | ||
783 | <property name="label" translatable="yes">Search</property> | ||
784 | <property name="visible">True</property> | ||
785 | <property name="can_focus">True</property> | ||
786 | <property name="receives_default">True</property> | ||
787 | <property name="tooltip_text" translatable="yes">Search using the given keywords. The search may be narrowed by the given mime type and/or restricted to a namespace. | ||
788 | This operation will be executed using the anonymity level specified on the right. | ||
789 | </property> | ||
790 | <property name="image">find_stock_image</property> | ||
791 | <property name="image_position">top</property> | ||
792 | <signal name="clicked" handler="main_window_search_button_clicked_cb" swapped="no"/> | ||
793 | </object> | ||
794 | </child> | ||
795 | </object> | ||
796 | <packing> | ||
797 | <property name="expand">False</property> | ||
798 | <property name="fill">False</property> | ||
799 | <property name="position">3</property> | ||
800 | </packing> | ||
801 | </child> | ||
802 | <child> | ||
803 | <object class="GtkBox" id="main_window_anonymity_vbox"> | ||
804 | <property name="visible">True</property> | ||
805 | <property name="can_focus">False</property> | ||
806 | <property name="orientation">vertical</property> | ||
807 | <child> | ||
808 | <object class="GtkLabel" id="main_window_search_anonymity_label"> | ||
809 | <property name="visible">True</property> | 764 | <property name="visible">True</property> |
765 | <property name="sensitive">False</property> | ||
810 | <property name="can_focus">False</property> | 766 | <property name="can_focus">False</property> |
811 | <property name="label" translatable="yes">Anonymity:</property> | 767 | <property name="model">id_liststore</property> |
812 | </object> | 768 | <!--<property name="has_entry">True</property>--> |
813 | <packing> | 769 | <property name="entry_text_column">0</property> |
814 | <property name="expand">False</property> | 770 | <signal name="changed" handler="gnunet_fs_gtk_id_combobox_changed_cb" swapped="no"/> |
815 | <property name="fill">False</property> | ||
816 | <property name="position">0</property> | ||
817 | </packing> | ||
818 | </child> | ||
819 | <child> | ||
820 | <object class="GtkAlignment" id="main_window_search_anonymity_combobox_alignment"> | ||
821 | <property name="visible">True</property> | ||
822 | <property name="can_focus">False</property> | ||
823 | <property name="yscale">0</property> | ||
824 | <child> | 771 | <child> |
825 | <object class="GtkComboBox" id="main_window_search_anonymity_combobox"> | 772 | <object class="GtkCellRendererText" id="main_window_fs_id_combobox_renderer"/> |
826 | <property name="visible">True</property> | 773 | <attributes> |
827 | <property name="can_focus">False</property> | 774 | <attribute name="text">0</attribute> |
828 | <property name="model">anonymity_level_liststore</property> | 775 | </attributes> |
829 | <property name="active">1</property> | ||
830 | <child> | ||
831 | <object class="GtkCellRendererText" id="main_window_search_anonymity_combobox_renderer"/> | ||
832 | <attributes> | ||
833 | <attribute name="foreground">2</attribute> | ||
834 | <attribute name="text">0</attribute> | ||
835 | </attributes> | ||
836 | </child> | ||
837 | <child> | ||
838 | <object class="GtkCellRendererText" id="main_window_search_anonymity_combobox_renerer_level"/> | ||
839 | <attributes> | ||
840 | <attribute name="text">1</attribute> | ||
841 | </attributes> | ||
842 | </child> | ||
843 | </object> | ||
844 | </child> | 776 | </child> |
777 | <!--<child internal-child="entry"> | ||
778 | <object class="GtkEntry" id="gnunet_fs_gtk_id_entry"> | ||
779 | <property name="can_focus">True</property> | ||
780 | </object> | ||
781 | </child>--> | ||
845 | </object> | 782 | </object> |
846 | <packing> | 783 | <packing> |
847 | <property name="expand">False</property> | 784 | <property name="expand">True</property> |
848 | <property name="fill">False</property> | 785 | <property name="fill">True</property> |
786 | <property name="padding">5</property> | ||
849 | <property name="position">1</property> | 787 | <property name="position">1</property> |
850 | </packing> | 788 | </packing> |
851 | </child> | 789 | </child> |
852 | </object> | 790 | </object> |
853 | <packing> | 791 | <packing> |
854 | <property name="expand">False</property> | 792 | <property name="expand">True</property> |
855 | <property name="fill">False</property> | 793 | <property name="fill">True</property> |
856 | <property name="position">4</property> | 794 | <property name="position">0</property> |
857 | </packing> | 795 | </packing> |
858 | </child> | 796 | </child> |
859 | <child> | 797 | <child> |
860 | <object class="GtkBox" id="main_window_mime_vbox"> | 798 | <object class="GtkBox" id="main_window_keywords_vbox"> |
861 | <property name="visible">True</property> | 799 | <property name="visible">True</property> |
862 | <property name="can_focus">False</property> | 800 | <property name="can_focus">False</property> |
801 | <property name="orientation">vertical</property> | ||
863 | <child> | 802 | <child> |
864 | <object class="GtkLabel" id="main_window_search_mime_label"> | 803 | <object class="GtkLabel" id="GNUNET_FS_GTK_keyword_label"> |
865 | <property name="visible">True</property> | 804 | <property name="visible">True</property> |
866 | <property name="can_focus">False</property> | 805 | <property name="can_focus">False</property> |
867 | <property name="label" translatable="yes">Mime-type:</property> | 806 | <property name="label" translatable="yes">Keywords:</property> |
868 | </object> | 807 | </object> |
869 | <packing> | 808 | <packing> |
870 | <property name="expand">False</property> | 809 | <property name="expand">False</property> |
@@ -873,627 +812,749 @@ This operation will be executed using the anonymity level specified on the right | |||
873 | </packing> | 812 | </packing> |
874 | </child> | 813 | </child> |
875 | <child> | 814 | <child> |
876 | <object class="GtkAlignment" id="main_window_search_mime_combobox_alignment"> | 815 | <object class="GtkEntry" id="main_window_search_entry"> |
877 | <property name="visible">True</property> | ||
878 | <property name="can_focus">False</property> | ||
879 | <property name="yscale">0</property> | ||
880 | <child> | ||
881 | <object class="GtkComboBox" id="main_window_search_mime_combobox"> | ||
882 | <property name="visible">True</property> | ||
883 | <property name="can_focus">False</property> | ||
884 | <property name="model">main_window_search_mime_liststore</property> | ||
885 | <property name="active">0</property> | ||
886 | <child> | ||
887 | <object class="GtkCellRendererText" id="main_window_search_mime_renderer_description"/> | ||
888 | <attributes> | ||
889 | <attribute name="text">1</attribute> | ||
890 | </attributes> | ||
891 | </child> | ||
892 | <child> | ||
893 | <object class="GtkCellRendererText" id="main_window_search_mime_renderer_type"> | ||
894 | <property name="visible">False</property> | ||
895 | </object> | ||
896 | <attributes> | ||
897 | <attribute name="text">0</attribute> | ||
898 | </attributes> | ||
899 | </child> | ||
900 | <child> | ||
901 | <object class="GtkCellRendererText" id="main_window_search_mime_renderer_extension"/> | ||
902 | <attributes> | ||
903 | <attribute name="text">2</attribute> | ||
904 | </attributes> | ||
905 | </child> | ||
906 | <child> | ||
907 | <object class="GtkCellRendererText" id="main_window_search_mime_renderer_lossyness"> | ||
908 | <property name="visible">False</property> | ||
909 | </object> | ||
910 | <attributes> | ||
911 | <attribute name="text">3</attribute> | ||
912 | </attributes> | ||
913 | </child> | ||
914 | <child> | ||
915 | <object class="GtkCellRendererText" id="main_window_search_mime_renderer_freedom"> | ||
916 | <property name="visible">False</property> | ||
917 | </object> | ||
918 | <attributes> | ||
919 | <attribute name="text">4</attribute> | ||
920 | </attributes> | ||
921 | </child> | ||
922 | </object> | ||
923 | </child> | ||
924 | </object> | ||
925 | <packing> | ||
926 | <property name="expand">False</property> | ||
927 | <property name="fill">False</property> | ||
928 | <property name="position">1</property> | ||
929 | </packing> | ||
930 | </child> | ||
931 | </object> | ||
932 | <packing> | ||
933 | <property name="expand">False</property> | ||
934 | <property name="fill">False</property> | ||
935 | <property name="position">5</property> | ||
936 | </packing> | ||
937 | </child> | ||
938 | </object> | ||
939 | <packing> | ||
940 | <property name="expand">False</property> | ||
941 | <property name="fill">False</property> | ||
942 | <property name="position">2</property> | ||
943 | </packing> | ||
944 | </child> | ||
945 | <child> | ||
946 | <object class="GtkPaned" id="main_window_hpaned"> | ||
947 | <property name="visible">True</property> | ||
948 | <property name="can_focus">True</property> | ||
949 | <child> | ||
950 | <object class="GtkBox" id="GNUNET_GTK_main_window_left_vbox"> | ||
951 | <property name="visible">True</property> | ||
952 | <property name="can_focus">False</property> | ||
953 | <property name="orientation">vertical</property> | ||
954 | <child> | ||
955 | <object class="GtkNotebook" id="GNUNET_GTK_main_window_notebook"> | ||
956 | <property name="visible">True</property> | 816 | <property name="visible">True</property> |
957 | <property name="can_focus">True</property> | 817 | <property name="can_focus">True</property> |
958 | <property name="scrollable">True</property> | 818 | <property name="invisible_char">●</property> |
959 | <property name="enable_popup">True</property> | 819 | <property name="primary_icon_activatable">False</property> |
960 | <signal name="switch-page" handler="GNUNET_GTK_main_window_notebook_switch_page_cb" after="yes" swapped="no"/> | 820 | <property name="secondary_icon_activatable">False</property> |
961 | <child> | 821 | <signal name="key-press-event" handler="main_window_search_entry_key_press_event_cb" swapped="no"/> |
962 | <object class="GtkTreeView" id="GNUNET_GTK_download_frame"> | ||
963 | <property name="visible">True</property> | ||
964 | <property name="can_focus">True</property> | ||
965 | <property name="model">GNUNET_GTK_file_sharing_downloads_tree_store</property> | ||
966 | <property name="headers_clickable">False</property> | ||
967 | <property name="search_column">6</property> | ||
968 | <property name="enable_grid_lines">horizontal</property> | ||
969 | <property name="enable_tree_lines">True</property> | ||
970 | <signal name="button-press-event" handler="GNUNET_GTK_download_frame_button_press_event_cb" swapped="no"/> | ||
971 | <signal name="cursor-changed" handler="GNUNET_FS_GTK_download_frame_treeview_cursor_changed_cb" swapped="no"/> | ||
972 | <signal name="popup-menu" handler="GNUNET_FS_GTK_search_treeview_popup_menu" swapped="no"/> | ||
973 | <child internal-child="selection"> | ||
974 | <object class="GtkTreeSelection" id="GNUNET_GTK_download_treeview_selection"/> | ||
975 | </child> | ||
976 | <child> | ||
977 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_description_column"> | ||
978 | <property name="title">Description</property> | ||
979 | <property name="expand">True</property> | ||
980 | <property name="clickable">True</property> | ||
981 | <property name="reorderable">True</property> | ||
982 | <property name="sort_indicator">True</property> | ||
983 | <property name="sort_column_id">6</property> | ||
984 | <child> | ||
985 | <object class="GtkCellRendererText" id="GNUNET_GTK_download_description_renderer_text"/> | ||
986 | <attributes> | ||
987 | <attribute name="cell-background">8</attribute> | ||
988 | <attribute name="text">6</attribute> | ||
989 | </attributes> | ||
990 | </child> | ||
991 | <child> | ||
992 | <object class="GtkCellRendererPixbuf" id="GNUNET_GTK_download_description_renderer_pixbuf"> | ||
993 | <property name="xalign">1</property> | ||
994 | <property name="icon_name">gnunet-fs-gtk-ns-association</property> | ||
995 | </object> | ||
996 | <attributes> | ||
997 | <attribute name="visible">19</attribute> | ||
998 | </attributes> | ||
999 | </child> | ||
1000 | </object> | ||
1001 | </child> | ||
1002 | <child> | ||
1003 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_pixbuf_column"> | ||
1004 | <property name="title" translatable="yes">Status</property> | ||
1005 | <child> | ||
1006 | <object class="GtkCellRendererPixbuf" id="GNUNET_GTK_download_status_cellrendererpixbuf"/> | ||
1007 | <attributes> | ||
1008 | <attribute name="cell-background">8</attribute> | ||
1009 | <attribute name="pixbuf">17</attribute> | ||
1010 | <attribute name="stock-id">8</attribute> | ||
1011 | </attributes> | ||
1012 | </child> | ||
1013 | </object> | ||
1014 | </child> | ||
1015 | <child> | ||
1016 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_availability_column"> | ||
1017 | <property name="title">Availability</property> | ||
1018 | <property name="clickable">True</property> | ||
1019 | <property name="reorderable">True</property> | ||
1020 | <property name="sort_indicator">True</property> | ||
1021 | <property name="sort_column_id">5</property> | ||
1022 | <child> | ||
1023 | <object class="GtkCellRendererProgress" id="GNUNET_GTK_download_availability_renderer"/> | ||
1024 | <attributes> | ||
1025 | <attribute name="cell-background">8</attribute> | ||
1026 | <attribute name="pulse">18</attribute> | ||
1027 | <attribute name="value">5</attribute> | ||
1028 | </attributes> | ||
1029 | </child> | ||
1030 | </object> | ||
1031 | </child> | ||
1032 | <child> | ||
1033 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_mime_column"> | ||
1034 | <property name="visible">False</property> | ||
1035 | <property name="title">Format</property> | ||
1036 | <property name="clickable">True</property> | ||
1037 | <property name="reorderable">True</property> | ||
1038 | <property name="sort_indicator">True</property> | ||
1039 | <property name="sort_column_id">10</property> | ||
1040 | <child> | ||
1041 | <object class="GtkCellRendererText" id="GNUNET_GTK_download_mime_renderer"/> | ||
1042 | <attributes> | ||
1043 | <attribute name="cell-background">8</attribute> | ||
1044 | <attribute name="text">10</attribute> | ||
1045 | </attributes> | ||
1046 | </child> | ||
1047 | </object> | ||
1048 | </child> | ||
1049 | <child> | ||
1050 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_completed_column"> | ||
1051 | <property name="visible">False</property> | ||
1052 | <property name="title">Completed (bytes)</property> | ||
1053 | <property name="clickable">True</property> | ||
1054 | <property name="reorderable">True</property> | ||
1055 | <property name="sort_indicator">True</property> | ||
1056 | <property name="sort_column_id">14</property> | ||
1057 | <child> | ||
1058 | <object class="GtkCellRendererText" id="GNUNET_GTK_download_completed_renderer"/> | ||
1059 | <attributes> | ||
1060 | <attribute name="cell-background">8</attribute> | ||
1061 | <attribute name="text">14</attribute> | ||
1062 | </attributes> | ||
1063 | </child> | ||
1064 | </object> | ||
1065 | </child> | ||
1066 | <child> | ||
1067 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_size_column"> | ||
1068 | <property name="title">Size</property> | ||
1069 | <property name="clickable">True</property> | ||
1070 | <property name="reorderable">True</property> | ||
1071 | <property name="sort_indicator">True</property> | ||
1072 | <property name="sort_column_id">2</property> | ||
1073 | <child> | ||
1074 | <object class="GtkCellRendererText" id="GNUNET_GTK_download_size_renderer"/> | ||
1075 | <attributes> | ||
1076 | <attribute name="cell-background">8</attribute> | ||
1077 | <attribute name="text">2</attribute> | ||
1078 | </attributes> | ||
1079 | </child> | ||
1080 | </object> | ||
1081 | </child> | ||
1082 | <child> | ||
1083 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_progress_column"> | ||
1084 | <property name="title">Progress</property> | ||
1085 | <property name="clickable">True</property> | ||
1086 | <property name="reorderable">True</property> | ||
1087 | <property name="sort_indicator">True</property> | ||
1088 | <property name="sort_column_id">4</property> | ||
1089 | <child> | ||
1090 | <object class="GtkCellRendererProgress" id="GNUNET_GTK_download_progress_renderer"/> | ||
1091 | <attributes> | ||
1092 | <attribute name="cell-background">8</attribute> | ||
1093 | <attribute name="text">4</attribute> | ||
1094 | <attribute name="value">4</attribute> | ||
1095 | </attributes> | ||
1096 | </child> | ||
1097 | </object> | ||
1098 | </child> | ||
1099 | <child> | ||
1100 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_applicability_column"> | ||
1101 | <property name="visible">False</property> | ||
1102 | <property name="title">#</property> | ||
1103 | <property name="clickable">True</property> | ||
1104 | <property name="reorderable">True</property> | ||
1105 | <property name="sort_indicator">True</property> | ||
1106 | <property name="sort_column_id">11</property> | ||
1107 | <child> | ||
1108 | <object class="GtkCellRendererText" id="GNUNET_GTK_download_applicability_renderer"/> | ||
1109 | <attributes> | ||
1110 | <attribute name="cell-background">8</attribute> | ||
1111 | <attribute name="text">11</attribute> | ||
1112 | </attributes> | ||
1113 | </child> | ||
1114 | </object> | ||
1115 | </child> | ||
1116 | </object> | ||
1117 | </child> | ||
1118 | <child type="tab"> | ||
1119 | <object class="GtkBox" id="GNUNET_GTK_download_frame_hbox"> | ||
1120 | <property name="visible">True</property> | ||
1121 | <property name="can_focus">False</property> | ||
1122 | <child> | ||
1123 | <object class="GtkImage" id="GNUNET_GTK_main_window_notebook_download_image"> | ||
1124 | <property name="visible">True</property> | ||
1125 | <property name="can_focus">False</property> | ||
1126 | <property name="stock">gtk-go-down</property> | ||
1127 | </object> | ||
1128 | <packing> | ||
1129 | <property name="expand">False</property> | ||
1130 | <property name="fill">False</property> | ||
1131 | <property name="padding">5</property> | ||
1132 | <property name="position">0</property> | ||
1133 | </packing> | ||
1134 | </child> | ||
1135 | <child> | ||
1136 | <object class="GtkButton" id="_search_result_label_clear_button"> | ||
1137 | <property name="visible">True</property> | ||
1138 | <property name="can_focus">True</property> | ||
1139 | <property name="receives_default">True</property> | ||
1140 | <signal name="clicked" handler="GNUNET_FS_GTK_downloads_clear_button_clicked" swapped="no"/> | ||
1141 | <child> | ||
1142 | <object class="GtkImage" id="clear_icon_stock_image"> | ||
1143 | <property name="visible">True</property> | ||
1144 | <property name="can_focus">False</property> | ||
1145 | <property name="stock">gtk-clear</property> | ||
1146 | <property name="icon_size">2</property> | ||
1147 | </object> | ||
1148 | </child> | ||
1149 | </object> | ||
1150 | <packing> | ||
1151 | <property name="expand">False</property> | ||
1152 | <property name="fill">False</property> | ||
1153 | <property name="padding">5</property> | ||
1154 | <property name="position">1</property> | ||
1155 | </packing> | ||
1156 | </child> | ||
1157 | </object> | ||
1158 | <packing> | ||
1159 | <property name="tab_fill">False</property> | ||
1160 | </packing> | ||
1161 | </child> | ||
1162 | </object> | ||
1163 | <packing> | ||
1164 | <property name="expand">True</property> | ||
1165 | <property name="fill">True</property> | ||
1166 | <property name="position">0</property> | ||
1167 | </packing> | ||
1168 | </child> | ||
1169 | <child> | ||
1170 | <object class="GtkBox" id="GNUNET_GTK_search_frame_download_vbox"> | ||
1171 | <property name="can_focus">False</property> | ||
1172 | <property name="orientation">vertical</property> | ||
1173 | <child> | ||
1174 | <object class="GtkBox" id="GNUNET_GTK_search_frame_download_into_hbox"> | ||
1175 | <property name="visible">True</property> | ||
1176 | <property name="can_focus">False</property> | ||
1177 | <property name="spacing">4</property> | ||
1178 | <child> | ||
1179 | <object class="GtkLabel" id="GNUNET_GTK_search_frame_download_location_label"> | ||
1180 | <property name="visible">True</property> | ||
1181 | <property name="can_focus">False</property> | ||
1182 | <property name="label" translatable="yes">Download into:</property> | ||
1183 | <property name="single_line_mode">True</property> | ||
1184 | </object> | ||
1185 | <packing> | ||
1186 | <property name="expand">False</property> | ||
1187 | <property name="fill">False</property> | ||
1188 | <property name="position">0</property> | ||
1189 | </packing> | ||
1190 | </child> | ||
1191 | <child> | ||
1192 | <object class="GtkFileChooserButton" id="GNUNET_GTK_search_frame_download_location_chooser"> | ||
1193 | <property name="visible">True</property> | ||
1194 | <property name="can_focus">False</property> | ||
1195 | <property name="action">select-folder</property> | ||
1196 | <property name="title" translatable="yes">Select a directory to download into</property> | ||
1197 | </object> | ||
1198 | <packing> | ||
1199 | <property name="expand">True</property> | ||
1200 | <property name="fill">True</property> | ||
1201 | <property name="position">1</property> | ||
1202 | </packing> | ||
1203 | </child> | ||
1204 | </object> | ||
1205 | <packing> | ||
1206 | <property name="expand">False</property> | ||
1207 | <property name="fill">False</property> | ||
1208 | <property name="position">0</property> | ||
1209 | </packing> | ||
1210 | </child> | ||
1211 | <child> | ||
1212 | <object class="GtkBox" id="GNUNET_GTK_search_frame_download_filename_hbox"> | ||
1213 | <property name="visible">True</property> | ||
1214 | <property name="can_focus">False</property> | ||
1215 | <property name="spacing">4</property> | ||
1216 | <child> | ||
1217 | <object class="GtkLabel" id="GNUNET_GTK_search_frame_download_filename_label"> | ||
1218 | <property name="visible">True</property> | ||
1219 | <property name="can_focus">False</property> | ||
1220 | <property name="label" translatable="yes">Download as:</property> | ||
1221 | <property name="single_line_mode">True</property> | ||
1222 | </object> | ||
1223 | <packing> | ||
1224 | <property name="expand">False</property> | ||
1225 | <property name="fill">False</property> | ||
1226 | <property name="position">0</property> | ||
1227 | </packing> | ||
1228 | </child> | ||
1229 | <child> | ||
1230 | <object class="GtkEntry" id="GNUNET_GTK_search_frame_download_filename_entry"> | ||
1231 | <property name="visible">True</property> | ||
1232 | <property name="can_focus">True</property> | ||
1233 | <property name="invisible_char">●</property> | ||
1234 | <property name="primary_icon_activatable">False</property> | ||
1235 | <property name="secondary_icon_activatable">False</property> | ||
1236 | </object> | ||
1237 | <packing> | ||
1238 | <property name="expand">True</property> | ||
1239 | <property name="fill">True</property> | ||
1240 | <property name="position">1</property> | ||
1241 | </packing> | ||
1242 | </child> | ||
1243 | <child> | ||
1244 | <object class="GtkButton" id="GNUNET_GTK_search_frame_download_filename_change_button"> | ||
1245 | <property name="label">…</property> | ||
1246 | <property name="height_request">1</property> | ||
1247 | <property name="visible">True</property> | ||
1248 | <property name="can_focus">True</property> | ||
1249 | <property name="focus_on_click">False</property> | ||
1250 | <property name="receives_default">False</property> | ||
1251 | <signal name="clicked" handler="GNUNET_GTK_search_frame_download_filename_change_button_clicked_cb" swapped="no"/> | ||
1252 | </object> | ||
1253 | <packing> | ||
1254 | <property name="expand">False</property> | ||
1255 | <property name="fill">False</property> | ||
1256 | <property name="pack_type">end</property> | ||
1257 | <property name="position">2</property> | ||
1258 | </packing> | ||
1259 | </child> | ||
1260 | </object> | ||
1261 | <packing> | ||
1262 | <property name="expand">False</property> | ||
1263 | <property name="fill">False</property> | ||
1264 | <property name="position">1</property> | ||
1265 | </packing> | ||
1266 | </child> | ||
1267 | <child> | ||
1268 | <object class="GtkBox" id="GNUNET_GTK_search_frame_download_misc_hbox"> | ||
1269 | <property name="visible">True</property> | ||
1270 | <property name="can_focus">False</property> | ||
1271 | <property name="spacing">4</property> | ||
1272 | <child> | ||
1273 | <object class="GtkLabel" id="GNUNET_GTK_search_frame_download_anonymity_label"> | ||
1274 | <property name="visible">True</property> | ||
1275 | <property name="can_focus">False</property> | ||
1276 | <property name="label" translatable="yes">Anonymity:</property> | ||
1277 | </object> | ||
1278 | <packing> | ||
1279 | <property name="expand">False</property> | ||
1280 | <property name="fill">False</property> | ||
1281 | <property name="position">0</property> | ||
1282 | </packing> | ||
1283 | </child> | ||
1284 | <child> | ||
1285 | <object class="GtkAlignment" id="main_window_download_anonymity_combobox_alignment"> | ||
1286 | <property name="visible">True</property> | ||
1287 | <property name="can_focus">False</property> | ||
1288 | <property name="yscale">0</property> | ||
1289 | <child> | ||
1290 | <object class="GtkComboBox" id="main_window_download_anonymity_combobox"> | ||
1291 | <property name="visible">True</property> | ||
1292 | <property name="can_focus">False</property> | ||
1293 | <property name="model">anonymity_level_liststore</property> | ||
1294 | <property name="active">1</property> | ||
1295 | <child> | ||
1296 | <object class="GtkCellRendererText" id="main_window_download_anonymity_combobox_renderer"/> | ||
1297 | <attributes> | ||
1298 | <attribute name="foreground">2</attribute> | ||
1299 | <attribute name="text">0</attribute> | ||
1300 | </attributes> | ||
1301 | </child> | ||
1302 | <child> | ||
1303 | <object class="GtkCellRendererText" id="main_window_download_anonymity_combobox_renerer_level"/> | ||
1304 | <attributes> | ||
1305 | <attribute name="text">1</attribute> | ||
1306 | </attributes> | ||
1307 | </child> | ||
1308 | </object> | ||
1309 | </child> | ||
1310 | </object> | ||
1311 | <packing> | ||
1312 | <property name="expand">False</property> | ||
1313 | <property name="fill">False</property> | ||
1314 | <property name="position">1</property> | ||
1315 | </packing> | ||
1316 | </child> | ||
1317 | <child> | ||
1318 | <object class="GtkCheckButton" id="GNUNET_GTK_search_frame_download_recursive_checkbox"> | ||
1319 | <property name="label" translatable="yes">Recursive</property> | ||
1320 | <property name="visible">True</property> | ||
1321 | <property name="can_focus">True</property> | ||
1322 | <property name="receives_default">False</property> | ||
1323 | <property name="draw_indicator">True</property> | ||
1324 | </object> | ||
1325 | <packing> | ||
1326 | <property name="expand">False</property> | ||
1327 | <property name="fill">False</property> | ||
1328 | <property name="pack_type">end</property> | ||
1329 | <property name="position">2</property> | ||
1330 | </packing> | ||
1331 | </child> | ||
1332 | </object> | ||
1333 | <packing> | ||
1334 | <property name="expand">False</property> | ||
1335 | <property name="fill">False</property> | ||
1336 | <property name="position">2</property> | ||
1337 | </packing> | ||
1338 | </child> | ||
1339 | <child> | ||
1340 | <object class="GtkBox" id="GNUNET_GTK_search_frame_download_download_hbox"> | ||
1341 | <property name="visible">True</property> | ||
1342 | <property name="can_focus">False</property> | ||
1343 | <child> | ||
1344 | <object class="GtkButton" id="GNUNET_GTK_search_frame_download_download_button"> | ||
1345 | <property name="label" translatable="yes">Download!</property> | ||
1346 | <property name="visible">True</property> | ||
1347 | <property name="can_focus">True</property> | ||
1348 | <property name="receives_default">True</property> | ||
1349 | <signal name="clicked" handler="GNUNET_GTK_search_frame_download_download_button_clicked_cb" swapped="no"/> | ||
1350 | </object> | ||
1351 | <packing> | ||
1352 | <property name="expand">True</property> | ||
1353 | <property name="fill">True</property> | ||
1354 | <property name="position">0</property> | ||
1355 | </packing> | ||
1356 | </child> | ||
1357 | </object> | ||
1358 | <packing> | ||
1359 | <property name="expand">False</property> | ||
1360 | <property name="fill">False</property> | ||
1361 | <property name="position">3</property> | ||
1362 | </packing> | ||
1363 | </child> | ||
1364 | </object> | 822 | </object> |
1365 | <packing> | 823 | <packing> |
1366 | <property name="expand">False</property> | 824 | <property name="expand">False</property> |
1367 | <property name="fill">False</property> | 825 | <property name="fill">False</property> |
826 | <property name="padding">5</property> | ||
1368 | <property name="position">1</property> | 827 | <property name="position">1</property> |
1369 | </packing> | 828 | </packing> |
1370 | </child> | 829 | </child> |
1371 | </object> | 830 | </object> |
1372 | <packing> | 831 | <packing> |
1373 | <property name="resize">False</property> | 832 | <property name="expand">True</property> |
1374 | <property name="shrink">False</property> | 833 | <property name="fill">True</property> |
834 | <property name="position">2</property> | ||
1375 | </packing> | 835 | </packing> |
1376 | </child> | 836 | </child> |
1377 | <child> | 837 | <child> |
1378 | <object class="GtkBox" id="GNUNET_GTK_main_window_extras_vbox"> | 838 | <object class="GtkAlignment" id="main_window_search_button_alignment"> |
1379 | <property name="visible">True</property> | 839 | <property name="visible">True</property> |
1380 | <property name="can_focus">False</property> | 840 | <property name="can_focus">False</property> |
1381 | <property name="orientation">vertical</property> | 841 | <property name="yscale">0</property> |
1382 | <child> | ||
1383 | <object class="GtkImage" id="GNUNET_GTK_main_window_preview_image"> | ||
1384 | <property name="visible">True</property> | ||
1385 | <property name="can_focus">False</property> | ||
1386 | <property name="has_tooltip">True</property> | ||
1387 | <property name="tooltip_text" translatable="yes">Thumbnail associated with the currently selected content</property> | ||
1388 | <property name="pixel_size">256</property> | ||
1389 | </object> | ||
1390 | <packing> | ||
1391 | <property name="expand">False</property> | ||
1392 | <property name="fill">False</property> | ||
1393 | <property name="padding">5</property> | ||
1394 | <property name="position">0</property> | ||
1395 | </packing> | ||
1396 | </child> | ||
1397 | <child> | 842 | <child> |
1398 | <object class="GtkScrolledWindow" id="GNUNET_GTK_main_window_metadata_scroll"> | 843 | <object class="GtkButton" id="main_window_search_button"> |
844 | <property name="label" translatable="yes">Search</property> | ||
1399 | <property name="visible">True</property> | 845 | <property name="visible">True</property> |
1400 | <property name="can_focus">True</property> | 846 | <property name="can_focus">True</property> |
1401 | <property name="tooltip_text" translatable="yes">File meta data</property> | 847 | <property name="receives_default">True</property> |
1402 | <property name="hadjustment">adjustment1</property> | 848 | <property name="tooltip_text" translatable="yes">Search using the given keywords. The search may be narrowed by the given mime type and/or restricted to a namespace. |
1403 | <property name="vadjustment">adjustment2</property> | 849 | This operation will be executed using the anonymity level specified on the right. |
1404 | <property name="shadow_type">in</property> | 850 | </property> |
1405 | <child> | 851 | <property name="image">find_stock_image</property> |
1406 | <object class="GtkTreeView" id="GNUNET_GTK_main_window_metadata_treeview"> | 852 | <property name="image_position">top</property> |
1407 | <property name="visible">True</property> | 853 | <signal name="clicked" handler="main_window_search_button_clicked_cb" swapped="no"/> |
1408 | <property name="can_focus">True</property> | 854 | </object> |
1409 | <property name="hadjustment">adjustment1</property> | 855 | </child> |
1410 | <property name="vadjustment">adjustment2</property> | 856 | </object> |
1411 | <property name="model">GNUNET_GTK_meta_data_list_store</property> | 857 | <packing> |
1412 | <property name="search_column">0</property> | 858 | <property name="expand">False</property> |
1413 | <property name="rubber_banding">True</property> | 859 | <property name="fill">False</property> |
1414 | <property name="enable_grid_lines">both</property> | 860 | <property name="position">3</property> |
1415 | <signal name="button-press-event" handler="GNUNET_GTK_main_window_metadata_treeview_button_press_event_cb" swapped="no"/> | 861 | </packing> |
1416 | <signal name="popup-menu" handler="GNUNET_GTK_main_window_metadata_treeview_popup_menu_cb" swapped="no"/> | 862 | </child> |
1417 | <child internal-child="selection"> | 863 | <child> |
1418 | <object class="GtkTreeSelection" id="treeview-selection2"/> | 864 | <object class="GtkBox" id="main_window_anonymity_vbox"> |
1419 | </child> | 865 | <property name="visible">True</property> |
1420 | <child> | 866 | <property name="can_focus">False</property> |
1421 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_main_window_metadata_type_column"> | 867 | <property name="orientation">vertical</property> |
1422 | <property name="sizing">autosize</property> | 868 | <child> |
1423 | <property name="title">Type</property> | 869 | <object class="GtkLabel" id="main_window_search_anonymity_label"> |
1424 | <property name="clickable">True</property> | 870 | <property name="visible">True</property> |
1425 | <property name="reorderable">True</property> | 871 | <property name="can_focus">False</property> |
1426 | <property name="sort_indicator">True</property> | 872 | <property name="label" translatable="yes">Anonymity:</property> |
1427 | <child> | 873 | </object> |
1428 | <object class="GtkCellRendererText" id="GNUNET_GTK_main_window_metadata_type_renderer"/> | 874 | <packing> |
1429 | <attributes> | 875 | <property name="expand">False</property> |
1430 | <attribute name="text">2</attribute> | 876 | <property name="fill">False</property> |
1431 | </attributes> | 877 | <property name="position">0</property> |
1432 | </child> | 878 | </packing> |
1433 | </object> | 879 | </child> |
1434 | </child> | 880 | <child> |
1435 | <child> | 881 | <object class="GtkAlignment" id="main_window_search_anonymity_combobox_alignment"> |
1436 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_main_window_metadata_value_column"> | 882 | <property name="visible">True</property> |
1437 | <property name="sizing">autosize</property> | 883 | <property name="can_focus">False</property> |
1438 | <property name="title">Value</property> | 884 | <property name="yscale">0</property> |
1439 | <property name="expand">True</property> | 885 | <child> |
1440 | <property name="clickable">True</property> | 886 | <object class="GtkComboBox" id="main_window_search_anonymity_combobox"> |
1441 | <property name="reorderable">True</property> | 887 | <property name="visible">True</property> |
1442 | <property name="sort_indicator">True</property> | 888 | <property name="can_focus">False</property> |
1443 | <child> | 889 | <property name="model">anonymity_level_liststore</property> |
1444 | <object class="GtkCellRendererText" id="GNUNET_GTK_main_window_metadata_value_renderer"> | 890 | <property name="active">1</property> |
1445 | <property name="wrap_mode">word</property> | 891 | <child> |
1446 | </object> | 892 | <object class="GtkCellRendererText" id="main_window_search_anonymity_combobox_renderer"/> |
1447 | <attributes> | 893 | <attributes> |
1448 | <attribute name="text">3</attribute> | 894 | <attribute name="foreground">2</attribute> |
1449 | </attributes> | 895 | <attribute name="text">0</attribute> |
1450 | </child> | 896 | </attributes> |
1451 | </object> | 897 | </child> |
1452 | </child> | 898 | <child> |
1453 | </object> | 899 | <object class="GtkCellRendererText" id="main_window_search_anonymity_combobox_renerer_level"/> |
1454 | </child> | 900 | <attributes> |
1455 | </object> | 901 | <attribute name="text">1</attribute> |
1456 | <packing> | 902 | </attributes> |
1457 | <property name="expand">True</property> | 903 | </child> |
1458 | <property name="fill">True</property> | 904 | </object> |
1459 | <property name="position">1</property> | 905 | </child> |
1460 | </packing> | 906 | </object> |
1461 | </child> | 907 | <packing> |
1462 | </object> | 908 | <property name="expand">False</property> |
1463 | <packing> | 909 | <property name="fill">False</property> |
1464 | <property name="resize">False</property> | 910 | <property name="position">1</property> |
1465 | <property name="shrink">False</property> | 911 | </packing> |
1466 | </packing> | 912 | </child> |
1467 | </child> | 913 | </object> |
1468 | </object> | 914 | <packing> |
1469 | <packing> | 915 | <property name="expand">False</property> |
1470 | <property name="expand">True</property> | 916 | <property name="fill">False</property> |
1471 | <property name="fill">True</property> | 917 | <property name="position">4</property> |
1472 | <property name="position">3</property> | 918 | </packing> |
1473 | </packing> | 919 | </child> |
1474 | </child> | 920 | <child> |
1475 | </object> | 921 | <object class="GtkBox" id="main_window_mime_vbox"> |
1476 | </child> | 922 | <property name="visible">True</property> |
1477 | </object> | 923 | <property name="can_focus">False</property> |
1478 | <object class="GtkSizeGroup" id="GNUNET_FS_GTK_download_frame_vsize_group"> | 924 | <child> |
1479 | <property name="mode">vertical</property> | 925 | <object class="GtkLabel" id="main_window_search_mime_label"> |
1480 | <property name="ignore_hidden">True</property> | 926 | <property name="visible">True</property> |
1481 | <widgets> | 927 | <property name="can_focus">False</property> |
1482 | <widget name="GNUNET_GTK_search_frame_download_location_label"/> | 928 | <property name="label" translatable="yes">Mime-type:</property> |
1483 | <widget name="GNUNET_GTK_search_frame_download_filename_label"/> | 929 | </object> |
1484 | <widget name="GNUNET_GTK_search_frame_download_anonymity_label"/> | 930 | <packing> |
1485 | <widget name="GNUNET_GTK_search_frame_download_location_chooser"/> | 931 | <property name="expand">False</property> |
1486 | <widget name="GNUNET_GTK_search_frame_download_filename_entry"/> | 932 | <property name="fill">False</property> |
1487 | <widget name="GNUNET_GTK_search_frame_download_filename_change_button"/> | 933 | <property name="position">0</property> |
1488 | <widget name="main_window_download_anonymity_combobox_alignment"/> | 934 | </packing> |
1489 | <widget name="GNUNET_GTK_search_frame_download_recursive_checkbox"/> | 935 | </child> |
1490 | </widgets> | 936 | <child> |
1491 | </object> | 937 | <object class="GtkAlignment" id="main_window_search_mime_combobox_alignment"> |
1492 | <object class="GtkSizeGroup" id="GNUNET_GTK_download_frame_labels_size_group"> | 938 | <property name="visible">True</property> |
1493 | <widgets> | 939 | <property name="can_focus">False</property> |
1494 | <widget name="GNUNET_GTK_search_frame_download_location_label"/> | 940 | <property name="yscale">0</property> |
1495 | <widget name="GNUNET_GTK_search_frame_download_anonymity_label"/> | 941 | <child> |
1496 | <widget name="GNUNET_GTK_search_frame_download_filename_label"/> | 942 | <object class="GtkComboBox" id="main_window_search_mime_combobox"> |
1497 | </widgets> | 943 | <property name="visible">True</property> |
1498 | </object> | 944 | <property name="can_focus">False</property> |
945 | <property name="model">main_window_search_mime_liststore</property> | ||
946 | <property name="active">0</property> | ||
947 | <child> | ||
948 | <object class="GtkCellRendererText" id="main_window_search_mime_renderer_description"/> | ||
949 | <attributes> | ||
950 | <attribute name="text">1</attribute> | ||
951 | </attributes> | ||
952 | </child> | ||
953 | <child> | ||
954 | <object class="GtkCellRendererText" id="main_window_search_mime_renderer_type"> | ||
955 | <property name="visible">False</property> | ||
956 | </object> | ||
957 | <attributes> | ||
958 | <attribute name="text">0</attribute> | ||
959 | </attributes> | ||
960 | </child> | ||
961 | <child> | ||
962 | <object class="GtkCellRendererText" id="main_window_search_mime_renderer_extension"/> | ||
963 | <attributes> | ||
964 | <attribute name="text">2</attribute> | ||
965 | </attributes> | ||
966 | </child> | ||
967 | <child> | ||
968 | <object class="GtkCellRendererText" id="main_window_search_mime_renderer_lossyness"> | ||
969 | <property name="visible">False</property> | ||
970 | </object> | ||
971 | <attributes> | ||
972 | <attribute name="text">3</attribute> | ||
973 | </attributes> | ||
974 | </child> | ||
975 | <child> | ||
976 | <object class="GtkCellRendererText" id="main_window_search_mime_renderer_freedom"> | ||
977 | <property name="visible">False</property> | ||
978 | </object> | ||
979 | <attributes> | ||
980 | <attribute name="text">4</attribute> | ||
981 | </attributes> | ||
982 | </child> | ||
983 | </object> | ||
984 | </child> | ||
985 | </object> | ||
986 | <packing> | ||
987 | <property name="expand">False</property> | ||
988 | <property name="fill">False</property> | ||
989 | <property name="position">1</property> | ||
990 | </packing> | ||
991 | </child> | ||
992 | </object> | ||
993 | <packing> | ||
994 | <property name="expand">False</property> | ||
995 | <property name="fill">False</property> | ||
996 | <property name="position">5</property> | ||
997 | </packing> | ||
998 | </child> | ||
999 | </object> | ||
1000 | <packing> | ||
1001 | <property name="expand">False</property> | ||
1002 | <property name="fill">False</property> | ||
1003 | <property name="position">2</property> | ||
1004 | </packing> | ||
1005 | </child> | ||
1006 | <child> | ||
1007 | <object class="GtkPaned" id="main_window_hpaned"> | ||
1008 | <property name="visible">True</property> | ||
1009 | <property name="can_focus">True</property> | ||
1010 | <child> | ||
1011 | <object class="GtkBox" id="GNUNET_GTK_main_window_left_vbox"> | ||
1012 | <property name="visible">True</property> | ||
1013 | <property name="can_focus">False</property> | ||
1014 | <property name="orientation">vertical</property> | ||
1015 | <child> | ||
1016 | <object class="GtkNotebook" id="GNUNET_GTK_main_window_notebook"> | ||
1017 | <property name="visible">True</property> | ||
1018 | <property name="can_focus">True</property> | ||
1019 | <property name="scrollable">True</property> | ||
1020 | <property name="enable_popup">True</property> | ||
1021 | <signal name="switch-page" handler="GNUNET_GTK_main_window_notebook_switch_page_cb" after="yes" swapped="no"/> | ||
1022 | <child> | ||
1023 | <object class="GtkTreeView" id="GNUNET_GTK_download_frame"> | ||
1024 | <property name="visible">True</property> | ||
1025 | <property name="can_focus">True</property> | ||
1026 | <property name="model">GNUNET_GTK_file_sharing_downloads_tree_store</property> | ||
1027 | <property name="headers_clickable">False</property> | ||
1028 | <property name="search_column">6</property> | ||
1029 | <property name="enable_grid_lines">horizontal</property> | ||
1030 | <property name="enable_tree_lines">True</property> | ||
1031 | <signal name="button-press-event" handler="GNUNET_GTK_download_frame_button_press_event_cb" swapped="no"/> | ||
1032 | <signal name="cursor-changed" handler="GNUNET_FS_GTK_download_frame_treeview_cursor_changed_cb" swapped="no"/> | ||
1033 | <signal name="popup-menu" handler="GNUNET_FS_GTK_search_treeview_popup_menu" swapped="no"/> | ||
1034 | <child internal-child="selection"> | ||
1035 | <object class="GtkTreeSelection" id="GNUNET_GTK_download_treeview_selection"/> | ||
1036 | </child> | ||
1037 | <child> | ||
1038 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_description_column"> | ||
1039 | <property name="title">Description</property> | ||
1040 | <property name="expand">True</property> | ||
1041 | <property name="clickable">True</property> | ||
1042 | <property name="reorderable">True</property> | ||
1043 | <property name="sort_indicator">True</property> | ||
1044 | <property name="sort_column_id">6</property> | ||
1045 | <child> | ||
1046 | <object class="GtkCellRendererText" id="GNUNET_GTK_download_description_renderer_text"/> | ||
1047 | <attributes> | ||
1048 | <attribute name="cell-background">8</attribute> | ||
1049 | <attribute name="text">6</attribute> | ||
1050 | </attributes> | ||
1051 | </child> | ||
1052 | <child> | ||
1053 | <object class="GtkCellRendererPixbuf" id="GNUNET_GTK_download_description_renderer_pixbuf"> | ||
1054 | <property name="xalign">1</property> | ||
1055 | <property name="icon_name">gnunet-fs-gtk-ns-association</property> | ||
1056 | </object> | ||
1057 | <attributes> | ||
1058 | <attribute name="visible">19</attribute> | ||
1059 | </attributes> | ||
1060 | </child> | ||
1061 | </object> | ||
1062 | </child> | ||
1063 | <child> | ||
1064 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_pixbuf_column"> | ||
1065 | <property name="title" translatable="yes">Status</property> | ||
1066 | <child> | ||
1067 | <object class="GtkCellRendererPixbuf" id="GNUNET_GTK_download_status_cellrendererpixbuf"/> | ||
1068 | <attributes> | ||
1069 | <attribute name="cell-background">8</attribute> | ||
1070 | <attribute name="pixbuf">17</attribute> | ||
1071 | <attribute name="stock-id">8</attribute> | ||
1072 | </attributes> | ||
1073 | </child> | ||
1074 | </object> | ||
1075 | </child> | ||
1076 | <child> | ||
1077 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_availability_column"> | ||
1078 | <property name="title">Availability</property> | ||
1079 | <property name="clickable">True</property> | ||
1080 | <property name="reorderable">True</property> | ||
1081 | <property name="sort_indicator">True</property> | ||
1082 | <property name="sort_column_id">5</property> | ||
1083 | <child> | ||
1084 | <object class="GtkCellRendererProgress" id="GNUNET_GTK_download_availability_renderer"/> | ||
1085 | <attributes> | ||
1086 | <attribute name="cell-background">8</attribute> | ||
1087 | <attribute name="pulse">18</attribute> | ||
1088 | <attribute name="value">5</attribute> | ||
1089 | </attributes> | ||
1090 | </child> | ||
1091 | </object> | ||
1092 | </child> | ||
1093 | <child> | ||
1094 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_mime_column"> | ||
1095 | <property name="visible">False</property> | ||
1096 | <property name="title">Format</property> | ||
1097 | <property name="clickable">True</property> | ||
1098 | <property name="reorderable">True</property> | ||
1099 | <property name="sort_indicator">True</property> | ||
1100 | <property name="sort_column_id">10</property> | ||
1101 | <child> | ||
1102 | <object class="GtkCellRendererText" id="GNUNET_GTK_download_mime_renderer"/> | ||
1103 | <attributes> | ||
1104 | <attribute name="cell-background">8</attribute> | ||
1105 | <attribute name="text">10</attribute> | ||
1106 | </attributes> | ||
1107 | </child> | ||
1108 | </object> | ||
1109 | </child> | ||
1110 | <child> | ||
1111 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_completed_column"> | ||
1112 | <property name="visible">False</property> | ||
1113 | <property name="title">Completed (bytes)</property> | ||
1114 | <property name="clickable">True</property> | ||
1115 | <property name="reorderable">True</property> | ||
1116 | <property name="sort_indicator">True</property> | ||
1117 | <property name="sort_column_id">14</property> | ||
1118 | <child> | ||
1119 | <object class="GtkCellRendererText" id="GNUNET_GTK_download_completed_renderer"/> | ||
1120 | <attributes> | ||
1121 | <attribute name="cell-background">8</attribute> | ||
1122 | <attribute name="text">14</attribute> | ||
1123 | </attributes> | ||
1124 | </child> | ||
1125 | </object> | ||
1126 | </child> | ||
1127 | <child> | ||
1128 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_size_column"> | ||
1129 | <property name="title">Size</property> | ||
1130 | <property name="clickable">True</property> | ||
1131 | <property name="reorderable">True</property> | ||
1132 | <property name="sort_indicator">True</property> | ||
1133 | <property name="sort_column_id">2</property> | ||
1134 | <child> | ||
1135 | <object class="GtkCellRendererText" id="GNUNET_GTK_download_size_renderer"/> | ||
1136 | <attributes> | ||
1137 | <attribute name="cell-background">8</attribute> | ||
1138 | <attribute name="text">2</attribute> | ||
1139 | </attributes> | ||
1140 | </child> | ||
1141 | </object> | ||
1142 | </child> | ||
1143 | <child> | ||
1144 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_progress_column"> | ||
1145 | <property name="title">Progress</property> | ||
1146 | <property name="clickable">True</property> | ||
1147 | <property name="reorderable">True</property> | ||
1148 | <property name="sort_indicator">True</property> | ||
1149 | <property name="sort_column_id">4</property> | ||
1150 | <child> | ||
1151 | <object class="GtkCellRendererProgress" id="GNUNET_GTK_download_progress_renderer"/> | ||
1152 | <attributes> | ||
1153 | <attribute name="cell-background">8</attribute> | ||
1154 | <attribute name="text">4</attribute> | ||
1155 | <attribute name="value">4</attribute> | ||
1156 | </attributes> | ||
1157 | </child> | ||
1158 | </object> | ||
1159 | </child> | ||
1160 | <child> | ||
1161 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_download_applicability_column"> | ||
1162 | <property name="visible">False</property> | ||
1163 | <property name="title">#</property> | ||
1164 | <property name="clickable">True</property> | ||
1165 | <property name="reorderable">True</property> | ||
1166 | <property name="sort_indicator">True</property> | ||
1167 | <property name="sort_column_id">11</property> | ||
1168 | <child> | ||
1169 | <object class="GtkCellRendererText" id="GNUNET_GTK_download_applicability_renderer"/> | ||
1170 | <attributes> | ||
1171 | <attribute name="cell-background">8</attribute> | ||
1172 | <attribute name="text">11</attribute> | ||
1173 | </attributes> | ||
1174 | </child> | ||
1175 | </object> | ||
1176 | </child> | ||
1177 | </object> | ||
1178 | </child> | ||
1179 | <child type="tab"> | ||
1180 | <object class="GtkBox" id="GNUNET_GTK_download_frame_hbox"> | ||
1181 | <property name="visible">True</property> | ||
1182 | <property name="can_focus">False</property> | ||
1183 | <child> | ||
1184 | <object class="GtkImage" id="GNUNET_GTK_main_window_notebook_download_image"> | ||
1185 | <property name="visible">True</property> | ||
1186 | <property name="can_focus">False</property> | ||
1187 | <property name="stock">gtk-go-down</property> | ||
1188 | </object> | ||
1189 | <packing> | ||
1190 | <property name="expand">False</property> | ||
1191 | <property name="fill">False</property> | ||
1192 | <property name="padding">5</property> | ||
1193 | <property name="position">0</property> | ||
1194 | </packing> | ||
1195 | </child> | ||
1196 | <child> | ||
1197 | <object class="GtkButton" id="_search_result_label_clear_button"> | ||
1198 | <property name="visible">True</property> | ||
1199 | <property name="can_focus">True</property> | ||
1200 | <property name="receives_default">True</property> | ||
1201 | <signal name="clicked" handler="GNUNET_FS_GTK_downloads_clear_button_clicked" swapped="no"/> | ||
1202 | <child> | ||
1203 | <object class="GtkImage" id="clear_icon_stock_image"> | ||
1204 | <property name="visible">True</property> | ||
1205 | <property name="can_focus">False</property> | ||
1206 | <property name="stock">gtk-clear</property> | ||
1207 | <property name="icon_size">2</property> | ||
1208 | </object> | ||
1209 | </child> | ||
1210 | </object> | ||
1211 | <packing> | ||
1212 | <property name="expand">False</property> | ||
1213 | <property name="fill">False</property> | ||
1214 | <property name="padding">5</property> | ||
1215 | <property name="position">1</property> | ||
1216 | </packing> | ||
1217 | </child> | ||
1218 | </object> | ||
1219 | <packing> | ||
1220 | <property name="tab_fill">False</property> | ||
1221 | </packing> | ||
1222 | </child> | ||
1223 | </object> | ||
1224 | <packing> | ||
1225 | <property name="expand">True</property> | ||
1226 | <property name="fill">True</property> | ||
1227 | <property name="position">0</property> | ||
1228 | </packing> | ||
1229 | </child> | ||
1230 | <child> | ||
1231 | <object class="GtkBox" id="GNUNET_GTK_search_frame_download_vbox"> | ||
1232 | <property name="can_focus">False</property> | ||
1233 | <property name="orientation">vertical</property> | ||
1234 | <child> | ||
1235 | <object class="GtkBox" id="GNUNET_GTK_search_frame_download_into_hbox"> | ||
1236 | <property name="visible">True</property> | ||
1237 | <property name="can_focus">False</property> | ||
1238 | <property name="spacing">4</property> | ||
1239 | <child> | ||
1240 | <object class="GtkLabel" id="GNUNET_GTK_search_frame_download_location_label"> | ||
1241 | <property name="visible">True</property> | ||
1242 | <property name="can_focus">False</property> | ||
1243 | <property name="label" translatable="yes">Download into:</property> | ||
1244 | <property name="single_line_mode">True</property> | ||
1245 | </object> | ||
1246 | <packing> | ||
1247 | <property name="expand">False</property> | ||
1248 | <property name="fill">False</property> | ||
1249 | <property name="position">0</property> | ||
1250 | </packing> | ||
1251 | </child> | ||
1252 | <child> | ||
1253 | <object class="GtkFileChooserButton" id="GNUNET_GTK_search_frame_download_location_chooser"> | ||
1254 | <property name="visible">True</property> | ||
1255 | <property name="can_focus">False</property> | ||
1256 | <property name="action">select-folder</property> | ||
1257 | <property name="title" translatable="yes">Select a directory to download into</property> | ||
1258 | </object> | ||
1259 | <packing> | ||
1260 | <property name="expand">True</property> | ||
1261 | <property name="fill">True</property> | ||
1262 | <property name="position">1</property> | ||
1263 | </packing> | ||
1264 | </child> | ||
1265 | </object> | ||
1266 | <packing> | ||
1267 | <property name="expand">False</property> | ||
1268 | <property name="fill">False</property> | ||
1269 | <property name="position">0</property> | ||
1270 | </packing> | ||
1271 | </child> | ||
1272 | <child> | ||
1273 | <object class="GtkBox" id="GNUNET_GTK_search_frame_download_filename_hbox"> | ||
1274 | <property name="visible">True</property> | ||
1275 | <property name="can_focus">False</property> | ||
1276 | <property name="spacing">4</property> | ||
1277 | <child> | ||
1278 | <object class="GtkLabel" id="GNUNET_GTK_search_frame_download_filename_label"> | ||
1279 | <property name="visible">True</property> | ||
1280 | <property name="can_focus">False</property> | ||
1281 | <property name="label" translatable="yes">Download as:</property> | ||
1282 | <property name="single_line_mode">True</property> | ||
1283 | </object> | ||
1284 | <packing> | ||
1285 | <property name="expand">False</property> | ||
1286 | <property name="fill">False</property> | ||
1287 | <property name="position">0</property> | ||
1288 | </packing> | ||
1289 | </child> | ||
1290 | <child> | ||
1291 | <object class="GtkEntry" id="GNUNET_GTK_search_frame_download_filename_entry"> | ||
1292 | <property name="visible">True</property> | ||
1293 | <property name="can_focus">True</property> | ||
1294 | <property name="invisible_char">●</property> | ||
1295 | <property name="primary_icon_activatable">False</property> | ||
1296 | <property name="secondary_icon_activatable">False</property> | ||
1297 | </object> | ||
1298 | <packing> | ||
1299 | <property name="expand">True</property> | ||
1300 | <property name="fill">True</property> | ||
1301 | <property name="position">1</property> | ||
1302 | </packing> | ||
1303 | </child> | ||
1304 | <child> | ||
1305 | <object class="GtkButton" id="GNUNET_GTK_search_frame_download_filename_change_button"> | ||
1306 | <property name="label">…</property> | ||
1307 | <property name="height_request">1</property> | ||
1308 | <property name="visible">True</property> | ||
1309 | <property name="can_focus">True</property> | ||
1310 | <property name="focus_on_click">False</property> | ||
1311 | <property name="receives_default">False</property> | ||
1312 | <signal name="clicked" handler="GNUNET_GTK_search_frame_download_filename_change_button_clicked_cb" swapped="no"/> | ||
1313 | </object> | ||
1314 | <packing> | ||
1315 | <property name="expand">False</property> | ||
1316 | <property name="fill">False</property> | ||
1317 | <property name="pack_type">end</property> | ||
1318 | <property name="position">2</property> | ||
1319 | </packing> | ||
1320 | </child> | ||
1321 | </object> | ||
1322 | <packing> | ||
1323 | <property name="expand">False</property> | ||
1324 | <property name="fill">False</property> | ||
1325 | <property name="position">1</property> | ||
1326 | </packing> | ||
1327 | </child> | ||
1328 | <child> | ||
1329 | <object class="GtkBox" id="GNUNET_GTK_search_frame_download_misc_hbox"> | ||
1330 | <property name="visible">True</property> | ||
1331 | <property name="can_focus">False</property> | ||
1332 | <property name="spacing">4</property> | ||
1333 | <child> | ||
1334 | <object class="GtkLabel" id="GNUNET_GTK_search_frame_download_anonymity_label"> | ||
1335 | <property name="visible">True</property> | ||
1336 | <property name="can_focus">False</property> | ||
1337 | <property name="label" translatable="yes">Anonymity:</property> | ||
1338 | </object> | ||
1339 | <packing> | ||
1340 | <property name="expand">False</property> | ||
1341 | <property name="fill">False</property> | ||
1342 | <property name="position">0</property> | ||
1343 | </packing> | ||
1344 | </child> | ||
1345 | <child> | ||
1346 | <object class="GtkAlignment" id="main_window_download_anonymity_combobox_alignment"> | ||
1347 | <property name="visible">True</property> | ||
1348 | <property name="can_focus">False</property> | ||
1349 | <property name="yscale">0</property> | ||
1350 | <child> | ||
1351 | <object class="GtkComboBox" id="main_window_download_anonymity_combobox"> | ||
1352 | <property name="visible">True</property> | ||
1353 | <property name="can_focus">False</property> | ||
1354 | <property name="model">anonymity_level_liststore</property> | ||
1355 | <property name="active">1</property> | ||
1356 | <child> | ||
1357 | <object class="GtkCellRendererText" id="main_window_download_anonymity_combobox_renderer"/> | ||
1358 | <attributes> | ||
1359 | <attribute name="foreground">2</attribute> | ||
1360 | <attribute name="text">0</attribute> | ||
1361 | </attributes> | ||
1362 | </child> | ||
1363 | <child> | ||
1364 | <object class="GtkCellRendererText" id="main_window_download_anonymity_combobox_renerer_level"/> | ||
1365 | <attributes> | ||
1366 | <attribute name="text">1</attribute> | ||
1367 | </attributes> | ||
1368 | </child> | ||
1369 | </object> | ||
1370 | </child> | ||
1371 | </object> | ||
1372 | <packing> | ||
1373 | <property name="expand">False</property> | ||
1374 | <property name="fill">False</property> | ||
1375 | <property name="position">1</property> | ||
1376 | </packing> | ||
1377 | </child> | ||
1378 | <child> | ||
1379 | <object class="GtkCheckButton" id="GNUNET_GTK_search_frame_download_recursive_checkbox"> | ||
1380 | <property name="label" translatable="yes">Recursive</property> | ||
1381 | <property name="visible">True</property> | ||
1382 | <property name="can_focus">True</property> | ||
1383 | <property name="receives_default">False</property> | ||
1384 | <property name="draw_indicator">True</property> | ||
1385 | </object> | ||
1386 | <packing> | ||
1387 | <property name="expand">False</property> | ||
1388 | <property name="fill">False</property> | ||
1389 | <property name="pack_type">end</property> | ||
1390 | <property name="position">2</property> | ||
1391 | </packing> | ||
1392 | </child> | ||
1393 | </object> | ||
1394 | <packing> | ||
1395 | <property name="expand">False</property> | ||
1396 | <property name="fill">False</property> | ||
1397 | <property name="position">2</property> | ||
1398 | </packing> | ||
1399 | </child> | ||
1400 | <child> | ||
1401 | <object class="GtkBox" id="GNUNET_GTK_search_frame_download_download_hbox"> | ||
1402 | <property name="visible">True</property> | ||
1403 | <property name="can_focus">False</property> | ||
1404 | <child> | ||
1405 | <object class="GtkButton" id="GNUNET_GTK_search_frame_download_download_button"> | ||
1406 | <property name="label" translatable="yes">Download!</property> | ||
1407 | <property name="visible">True</property> | ||
1408 | <property name="can_focus">True</property> | ||
1409 | <property name="receives_default">True</property> | ||
1410 | <signal name="clicked" handler="GNUNET_GTK_search_frame_download_download_button_clicked_cb" swapped="no"/> | ||
1411 | </object> | ||
1412 | <packing> | ||
1413 | <property name="expand">True</property> | ||
1414 | <property name="fill">True</property> | ||
1415 | <property name="position">0</property> | ||
1416 | </packing> | ||
1417 | </child> | ||
1418 | </object> | ||
1419 | <packing> | ||
1420 | <property name="expand">False</property> | ||
1421 | <property name="fill">False</property> | ||
1422 | <property name="position">3</property> | ||
1423 | </packing> | ||
1424 | </child> | ||
1425 | </object> | ||
1426 | <packing> | ||
1427 | <property name="expand">False</property> | ||
1428 | <property name="fill">False</property> | ||
1429 | <property name="position">1</property> | ||
1430 | </packing> | ||
1431 | </child> | ||
1432 | </object> | ||
1433 | <packing> | ||
1434 | <property name="resize">False</property> | ||
1435 | <property name="shrink">False</property> | ||
1436 | </packing> | ||
1437 | </child> | ||
1438 | <child> | ||
1439 | <object class="GtkBox" id="GNUNET_GTK_main_window_extras_vbox"> | ||
1440 | <property name="visible">True</property> | ||
1441 | <property name="can_focus">False</property> | ||
1442 | <property name="orientation">vertical</property> | ||
1443 | <child> | ||
1444 | <object class="GtkImage" id="GNUNET_GTK_main_window_preview_image"> | ||
1445 | <property name="visible">True</property> | ||
1446 | <property name="can_focus">False</property> | ||
1447 | <property name="has_tooltip">True</property> | ||
1448 | <property name="tooltip_text" translatable="yes">Thumbnail associated with the currently selected content</property> | ||
1449 | <property name="pixel_size">256</property> | ||
1450 | </object> | ||
1451 | <packing> | ||
1452 | <property name="expand">False</property> | ||
1453 | <property name="fill">False</property> | ||
1454 | <property name="padding">5</property> | ||
1455 | <property name="position">0</property> | ||
1456 | </packing> | ||
1457 | </child> | ||
1458 | <child> | ||
1459 | <object class="GtkScrolledWindow" id="GNUNET_GTK_main_window_metadata_scroll"> | ||
1460 | <property name="visible">True</property> | ||
1461 | <property name="can_focus">True</property> | ||
1462 | <property name="tooltip_text" translatable="yes">File meta data</property> | ||
1463 | <property name="hadjustment">adjustment1</property> | ||
1464 | <property name="vadjustment">adjustment2</property> | ||
1465 | <property name="shadow_type">in</property> | ||
1466 | <child> | ||
1467 | <object class="GtkTreeView" id="GNUNET_GTK_main_window_metadata_treeview"> | ||
1468 | <property name="visible">True</property> | ||
1469 | <property name="can_focus">True</property> | ||
1470 | <property name="hadjustment">adjustment1</property> | ||
1471 | <property name="vadjustment">adjustment2</property> | ||
1472 | <property name="model">GNUNET_GTK_meta_data_list_store</property> | ||
1473 | <property name="search_column">0</property> | ||
1474 | <property name="rubber_banding">True</property> | ||
1475 | <property name="enable_grid_lines">both</property> | ||
1476 | <signal name="button-press-event" handler="GNUNET_GTK_main_window_metadata_treeview_button_press_event_cb" swapped="no"/> | ||
1477 | <signal name="popup-menu" handler="GNUNET_GTK_main_window_metadata_treeview_popup_menu_cb" swapped="no"/> | ||
1478 | <child internal-child="selection"> | ||
1479 | <object class="GtkTreeSelection" id="treeview-selection2"/> | ||
1480 | </child> | ||
1481 | <child> | ||
1482 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_main_window_metadata_type_column"> | ||
1483 | <property name="sizing">autosize</property> | ||
1484 | <property name="title">Type</property> | ||
1485 | <property name="clickable">True</property> | ||
1486 | <property name="reorderable">True</property> | ||
1487 | <property name="sort_indicator">True</property> | ||
1488 | <child> | ||
1489 | <object class="GtkCellRendererText" id="GNUNET_GTK_main_window_metadata_type_renderer"/> | ||
1490 | <attributes> | ||
1491 | <attribute name="text">2</attribute> | ||
1492 | </attributes> | ||
1493 | </child> | ||
1494 | </object> | ||
1495 | </child> | ||
1496 | <child> | ||
1497 | <object class="GtkTreeViewColumn" id="GNUNET_GTK_main_window_metadata_value_column"> | ||
1498 | <property name="sizing">autosize</property> | ||
1499 | <property name="title">Value</property> | ||
1500 | <property name="expand">True</property> | ||
1501 | <property name="clickable">True</property> | ||
1502 | <property name="reorderable">True</property> | ||
1503 | <property name="sort_indicator">True</property> | ||
1504 | <child> | ||
1505 | <object class="GtkCellRendererText" id="GNUNET_GTK_main_window_metadata_value_renderer"> | ||
1506 | <property name="wrap_mode">word</property> | ||
1507 | </object> | ||
1508 | <attributes> | ||
1509 | <attribute name="text">3</attribute> | ||
1510 | </attributes> | ||
1511 | </child> | ||
1512 | </object> | ||
1513 | </child> | ||
1514 | </object> | ||
1515 | </child> | ||
1516 | </object> | ||
1517 | <packing> | ||
1518 | <property name="expand">True</property> | ||
1519 | <property name="fill">True</property> | ||
1520 | <property name="position">1</property> | ||
1521 | </packing> | ||
1522 | </child> | ||
1523 | </object> | ||
1524 | <packing> | ||
1525 | <property name="resize">False</property> | ||
1526 | <property name="shrink">False</property> | ||
1527 | </packing> | ||
1528 | </child> | ||
1529 | </object> | ||
1530 | <packing> | ||
1531 | <property name="expand">True</property> | ||
1532 | <property name="fill">True</property> | ||
1533 | <property name="position">3</property> | ||
1534 | </packing> | ||
1535 | </child> | ||
1536 | </object> | ||
1537 | </child> | ||
1538 | </object> | ||
1539 | <object class="GtkSizeGroup" id="GNUNET_FS_GTK_download_frame_vsize_group"> | ||
1540 | <property name="mode">vertical</property> | ||
1541 | <property name="ignore_hidden">True</property> | ||
1542 | <widgets> | ||
1543 | <widget name="GNUNET_GTK_search_frame_download_location_label"/> | ||
1544 | <widget name="GNUNET_GTK_search_frame_download_filename_label"/> | ||
1545 | <widget name="GNUNET_GTK_search_frame_download_anonymity_label"/> | ||
1546 | <widget name="GNUNET_GTK_search_frame_download_location_chooser"/> | ||
1547 | <widget name="GNUNET_GTK_search_frame_download_filename_entry"/> | ||
1548 | <widget name="GNUNET_GTK_search_frame_download_filename_change_button"/> | ||
1549 | <widget name="main_window_download_anonymity_combobox_alignment"/> | ||
1550 | <widget name="GNUNET_GTK_search_frame_download_recursive_checkbox"/> | ||
1551 | </widgets> | ||
1552 | </object> | ||
1553 | <object class="GtkSizeGroup" id="GNUNET_GTK_download_frame_labels_size_group"> | ||
1554 | <widgets> | ||
1555 | <widget name="GNUNET_GTK_search_frame_download_location_label"/> | ||
1556 | <widget name="GNUNET_GTK_search_frame_download_anonymity_label"/> | ||
1557 | <widget name="GNUNET_GTK_search_frame_download_filename_label"/> | ||
1558 | </widgets> | ||
1559 | </object> | ||
1499 | </interface> | 1560 | </interface> |
diff --git a/src/fs/gnunet-fs-gtk.c b/src/fs/gnunet-fs-gtk.c index a1230c03..c0e52797 100644 --- a/src/fs/gnunet-fs-gtk.c +++ b/src/fs/gnunet-fs-gtk.c | |||
@@ -27,6 +27,8 @@ | |||
27 | #include "gnunet-fs-gtk_common.h" | 27 | #include "gnunet-fs-gtk_common.h" |
28 | #include "gnunet-fs-gtk_event-handler.h" | 28 | #include "gnunet-fs-gtk_event-handler.h" |
29 | #include "gnunet-fs-gtk_open-uri.h" | 29 | #include "gnunet-fs-gtk_open-uri.h" |
30 | #include "gnunet/gnunet_namestore_service.h" | ||
31 | #include <gmodule.h> | ||
30 | 32 | ||
31 | #if HAVE_LIBUNIQUE | 33 | #if HAVE_LIBUNIQUE |
32 | #include <unique/unique.h> | 34 | #include <unique/unique.h> |
@@ -73,10 +75,58 @@ static struct GNUNET_ARM_MonitorHandle *armon; | |||
73 | static struct GNUNET_ARM_Handle *arm; | 75 | static struct GNUNET_ARM_Handle *arm; |
74 | 76 | ||
75 | /** | 77 | /** |
78 | * Ongoing identity operation. | ||
79 | */ | ||
80 | static struct GNUNET_IDENTITY_Operation *iop; | ||
81 | |||
82 | /** | ||
76 | * Context for main window. | 83 | * Context for main window. |
77 | */ | 84 | */ |
78 | static struct GNUNET_GTK_MainWindowContext main_context; | 85 | static struct GNUNET_GTK_MainWindowContext main_context; |
79 | 86 | ||
87 | /** | ||
88 | * Identity combo box in the main window. | ||
89 | */ | ||
90 | static GtkComboBox *id_combo_box; | ||
91 | |||
92 | /** | ||
93 | * Currently selected entry in #id_liststore. | ||
94 | */ | ||
95 | static GtkTreeIter id_iter; | ||
96 | |||
97 | /** | ||
98 | * List of all known egos. | ||
99 | */ | ||
100 | static GtkListStore *id_liststore; | ||
101 | |||
102 | /** | ||
103 | * Status label in main window. | ||
104 | */ | ||
105 | static GtkLabel *status_label; | ||
106 | |||
107 | /** | ||
108 | * Are we shutting down? | ||
109 | */ | ||
110 | static int in_shutdown = 0; | ||
111 | |||
112 | /** | ||
113 | * Columns in the id list store. | ||
114 | */ | ||
115 | enum ID_COLUMNS | ||
116 | { | ||
117 | |||
118 | /** | ||
119 | * A gchararray | ||
120 | */ | ||
121 | ID_LS_NAME = 0, | ||
122 | |||
123 | |||
124 | /** | ||
125 | * A `struct GNUNET_IDENTITY_Ego` | ||
126 | */ | ||
127 | ID_LS_EGO = 1 | ||
128 | }; | ||
129 | |||
80 | 130 | ||
81 | #if HAVE_LIBUNIQUE | 131 | #if HAVE_LIBUNIQUE |
82 | static UniqueApp *unique_app; | 132 | static UniqueApp *unique_app; |
@@ -101,6 +151,21 @@ GNUNET_FS_GTK_get_fs_handle () | |||
101 | return fs; | 151 | return fs; |
102 | } | 152 | } |
103 | 153 | ||
154 | /** | ||
155 | * Get an object from the main window. | ||
156 | * | ||
157 | * @param name name of the object | ||
158 | * @return NULL on error, otherwise the object | ||
159 | */ | ||
160 | static GObject * | ||
161 | get_object (const char *name) | ||
162 | { | ||
163 | if (NULL == ml) | ||
164 | return NULL; | ||
165 | return GNUNET_GTK_main_loop_get_object (ml, name); | ||
166 | } | ||
167 | |||
168 | |||
104 | 169 | ||
105 | /** | 170 | /** |
106 | * Remember FS handle if we don't have one yet. | 171 | * Remember FS handle if we don't have one yet. |
@@ -250,6 +315,11 @@ shutdown_task (void *cls) | |||
250 | struct PseuLookupContext *lctx; | 315 | struct PseuLookupContext *lctx; |
251 | struct SearchResult *sr; | 316 | struct SearchResult *sr; |
252 | 317 | ||
318 | in_shutdown = 1; | ||
319 | while (NULL != (sl = main_context.sl_head)) | ||
320 | abort_search_lookup (sl); | ||
321 | while (NULL != (lctx = main_context.lctx_head)) | ||
322 | abort_pseu_lookup (lctx); | ||
253 | while (NULL != (sr = pl_head)) | 323 | while (NULL != (sr = pl_head)) |
254 | { | 324 | { |
255 | GNUNET_FS_probe_stop (sr->probe); | 325 | GNUNET_FS_probe_stop (sr->probe); |
@@ -261,36 +331,16 @@ shutdown_task (void *cls) | |||
261 | GNUNET_FS_stop (fs); | 331 | GNUNET_FS_stop (fs); |
262 | fs = NULL; | 332 | fs = NULL; |
263 | } | 333 | } |
264 | if (NULL != armon) | 334 | if (NULL != iop) |
265 | { | 335 | { |
266 | GNUNET_ARM_monitor_stop (armon); | 336 | GNUNET_IDENTITY_cancel (iop); |
267 | armon = NULL; | 337 | iop = NULL; |
268 | } | ||
269 | if (NULL != arm) | ||
270 | { | ||
271 | GNUNET_ARM_disconnect (arm); | ||
272 | arm = NULL; | ||
273 | } | ||
274 | GNUNET_FS_GTK_close_uri_tab_ (); | ||
275 | if (NULL != ml) | ||
276 | { | ||
277 | GNUNET_GTK_main_loop_quit (ml); | ||
278 | ml = NULL; | ||
279 | } | ||
280 | if (NULL != main_context.id_op) | ||
281 | { | ||
282 | GNUNET_IDENTITY_ego_lookup_cancel (main_context.id_op); | ||
283 | main_context.id_op = NULL; | ||
284 | } | 338 | } |
285 | if (NULL != main_context.identity) | 339 | if (NULL != main_context.identity) |
286 | { | 340 | { |
287 | GNUNET_IDENTITY_disconnect (main_context.identity); | 341 | GNUNET_IDENTITY_disconnect (main_context.identity); |
288 | main_context.identity = NULL; | 342 | main_context.identity = NULL; |
289 | } | 343 | } |
290 | while (NULL != (sl = main_context.sl_head)) | ||
291 | abort_search_lookup (sl); | ||
292 | while (NULL != (lctx = main_context.lctx_head)) | ||
293 | abort_pseu_lookup (lctx); | ||
294 | if (NULL != main_context.zm) | 344 | if (NULL != main_context.zm) |
295 | { | 345 | { |
296 | GNUNET_NAMESTORE_zone_monitor_stop (main_context.zm); | 346 | GNUNET_NAMESTORE_zone_monitor_stop (main_context.zm); |
@@ -301,6 +351,22 @@ shutdown_task (void *cls) | |||
301 | GNUNET_GNS_disconnect (main_context.gns); | 351 | GNUNET_GNS_disconnect (main_context.gns); |
302 | main_context.gns = NULL; | 352 | main_context.gns = NULL; |
303 | } | 353 | } |
354 | if (NULL != armon) | ||
355 | { | ||
356 | GNUNET_ARM_monitor_stop (armon); | ||
357 | armon = NULL; | ||
358 | } | ||
359 | if (NULL != arm) | ||
360 | { | ||
361 | GNUNET_ARM_disconnect (arm); | ||
362 | arm = NULL; | ||
363 | } | ||
364 | GNUNET_FS_GTK_close_uri_tab_ (); | ||
365 | if (NULL != ml) | ||
366 | { | ||
367 | GNUNET_GTK_main_loop_quit (ml); | ||
368 | ml = NULL; | ||
369 | } | ||
304 | } | 370 | } |
305 | 371 | ||
306 | 372 | ||
@@ -664,6 +730,11 @@ handle_sks_zone_identity (void *cls, | |||
664 | "main_window_search_namespace_label"))); | 730 | "main_window_search_namespace_label"))); |
665 | gtk_widget_show (GTK_WIDGET (GNUNET_FS_GTK_get_main_window_object ( | 731 | gtk_widget_show (GTK_WIDGET (GNUNET_FS_GTK_get_main_window_object ( |
666 | "main_window_search_namespace_combobox"))); | 732 | "main_window_search_namespace_combobox"))); |
733 | if (NULL != main_context.zm) | ||
734 | { | ||
735 | GNUNET_NAMESTORE_zone_monitor_stop(main_context.zm); | ||
736 | main_context.zm = NULL; | ||
737 | } | ||
667 | main_context.zm = | 738 | main_context.zm = |
668 | GNUNET_NAMESTORE_zone_monitor_start (main_context.cfg, | 739 | GNUNET_NAMESTORE_zone_monitor_start (main_context.cfg, |
669 | GNUNET_IDENTITY_ego_get_private_key ( | 740 | GNUNET_IDENTITY_ego_get_private_key ( |
@@ -679,9 +750,57 @@ handle_sks_zone_identity (void *cls, | |||
679 | 750 | ||
680 | 751 | ||
681 | /** | 752 | /** |
682 | * We must pass a non-NULL callback to the identity service, | 753 | * The user selected another identity in the combobox. Load it. |
683 | * but we don't actually care about the information here | 754 | * |
684 | * (we will use GNUNET_IDENTITY_get() if and when we do care). | 755 | * @param widget the combo box where the selection was changed |
756 | * @param user_data the builder, unused | ||
757 | */ | ||
758 | void | ||
759 | gnunet_fs_gtk_id_combobox_changed_cb (GtkComboBox *widget, | ||
760 | gpointer user_data) | ||
761 | { | ||
762 | GtkTreeIter iter; | ||
763 | struct GNUNET_IDENTITY_Ego *ego; | ||
764 | char *name; | ||
765 | |||
766 | (void) user_data; | ||
767 | if (! gtk_combo_box_get_active_iter (id_combo_box, &iter)) | ||
768 | { | ||
769 | return; | ||
770 | } | ||
771 | id_iter = iter; | ||
772 | /* clang-format off */ | ||
773 | gtk_tree_model_get (GTK_TREE_MODEL (id_liststore), | ||
774 | &iter, | ||
775 | ID_LS_NAME, &name, | ||
776 | ID_LS_EGO, &ego, | ||
777 | -1); | ||
778 | /* clang-format on */ | ||
779 | handle_sks_zone_identity (name, ego); | ||
780 | } | ||
781 | |||
782 | /** | ||
783 | * Method called to inform about the egos of this peer. Updates the | ||
784 | * `zone_liststore`. | ||
785 | * | ||
786 | * When used with #GNUNET_IDENTITY_connect, this function is | ||
787 | * initially called for all egos and then again whenever a | ||
788 | * ego's name changes or if it is deleted. At the end of | ||
789 | * the initial pass over all egos, the function is once called | ||
790 | * with 'NULL' for @a ego. That does NOT mean that the callback won't | ||
791 | * be invoked in the future or that there was an error. | ||
792 | * | ||
793 | * If @a ego is non-NULL and if '*ctx' is set in those callbacks, the | ||
794 | * value WILL be passed to a subsequent call to the identity callback | ||
795 | * of #GNUNET_IDENTITY_connect (if that one was not NULL). | ||
796 | * | ||
797 | * When an identity is renamed, this function is called with the | ||
798 | * (known) @a ego but the NEW @a name. | ||
799 | * | ||
800 | * When an identity is deleted, this function is called with the | ||
801 | * (known) ego and "NULL" for the @a name. In this case, | ||
802 | * the @a ego is henceforth invalid (and the @a ctx should also be | ||
803 | * cleaned up). | ||
685 | * | 804 | * |
686 | * @param cls closure | 805 | * @param cls closure |
687 | * @param ego ego handle | 806 | * @param ego ego handle |
@@ -692,17 +811,70 @@ handle_sks_zone_identity (void *cls, | |||
692 | * must thus no longer be used | 811 | * must thus no longer be used |
693 | */ | 812 | */ |
694 | static void | 813 | static void |
695 | non_null_cb (void *cls, | 814 | identity_cb (void *cls, |
696 | struct GNUNET_IDENTITY_Ego *ego, | 815 | struct GNUNET_IDENTITY_Ego *ego, |
697 | void **ctx, | 816 | void **ctx, |
698 | const char *name) | 817 | const char *name) |
699 | { | 818 | { |
700 | (void) cls; | 819 | GtkTreeRowReference *rr; |
701 | (void) ego; | 820 | GtkTreeIter iter; |
702 | (void) ctx; | 821 | GtkTreePath *path; |
703 | (void) name; | 822 | |
704 | } | 823 | if (in_shutdown) |
824 | return; | ||
825 | if ((NULL == ego) && (NULL == name) && (NULL == ctx)) | ||
826 | { | ||
827 | /* end of initial iteration, trigger loading selected zone */ | ||
828 | gnunet_fs_gtk_id_combobox_changed_cb (id_combo_box, ml); | ||
829 | return; | ||
830 | } | ||
831 | rr = *ctx; | ||
832 | if (NULL == rr) | ||
833 | { | ||
834 | /* clang-format off */ | ||
835 | gtk_list_store_insert_with_values (id_liststore, | ||
836 | &iter, 0, | ||
837 | ID_LS_NAME, name, | ||
838 | ID_LS_EGO, ego, | ||
839 | -1); | ||
840 | /* clang-format on */ | ||
841 | gtk_combo_box_set_active_iter (id_combo_box, &iter); | ||
842 | gtk_widget_set_sensitive (GTK_WIDGET (id_combo_box), TRUE); | ||
843 | path = gtk_tree_model_get_path (GTK_TREE_MODEL (id_liststore), &iter); | ||
844 | rr = gtk_tree_row_reference_new (GTK_TREE_MODEL (id_liststore), path); | ||
845 | *ctx = rr; | ||
846 | gtk_tree_path_free (path); | ||
847 | return; | ||
848 | } | ||
849 | path = gtk_tree_row_reference_get_path (rr); | ||
850 | GNUNET_break ( | ||
851 | gtk_tree_model_get_iter (GTK_TREE_MODEL (id_liststore), &iter, path)); | ||
852 | gtk_tree_path_free (path); | ||
853 | if (NULL == name) | ||
854 | { | ||
855 | GtkTreeIter act_iter; | ||
705 | 856 | ||
857 | /* identity was removed, remove from list */ | ||
858 | gtk_list_store_remove (id_liststore, &iter); | ||
859 | if (! gtk_combo_box_get_active_iter (id_combo_box, &act_iter)) | ||
860 | { | ||
861 | if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (id_liststore), | ||
862 | &act_iter)) | ||
863 | { | ||
864 | /* make sure combo box remains selected if possible */ | ||
865 | gtk_combo_box_set_active (id_combo_box, 0); | ||
866 | } | ||
867 | else | ||
868 | { | ||
869 | /* make combo box insensitive if nothing can be selected */ | ||
870 | gtk_widget_set_sensitive (GTK_WIDGET (id_combo_box), FALSE); | ||
871 | } | ||
872 | } | ||
873 | return; | ||
874 | } | ||
875 | /* identity was renamed, rename in model */ | ||
876 | gtk_list_store_set (id_liststore, &iter, ID_LS_NAME, name, -1); | ||
877 | } | ||
706 | 878 | ||
707 | /** | 879 | /** |
708 | * Actual main function run right after GNUnet's scheduler | 880 | * Actual main function run right after GNUnet's scheduler |
@@ -720,7 +892,6 @@ run (void *cls) | |||
720 | unsigned long long window_width; | 892 | unsigned long long window_width; |
721 | unsigned long long window_height; | 893 | unsigned long long window_height; |
722 | int maximized; | 894 | int maximized; |
723 | char *default_ego_name; | ||
724 | 895 | ||
725 | ml = cls; | 896 | ml = cls; |
726 | /* setup main context */ | 897 | /* setup main context */ |
@@ -789,6 +960,11 @@ run (void *cls) | |||
789 | GTK_IMAGE (GNUNET_FS_GTK_get_main_window_object ( | 960 | GTK_IMAGE (GNUNET_FS_GTK_get_main_window_object ( |
790 | "GNUNET_FS_GTK_main_window_connection_indicator")); | 961 | "GNUNET_FS_GTK_main_window_connection_indicator")); |
791 | 962 | ||
963 | status_label = GTK_LABEL (get_object ( | ||
964 | "gnunet_fs_gtk_status_label")); | ||
965 | id_combo_box = | ||
966 | GTK_COMBO_BOX (get_object ("gnunet_fs_gtk_id_combobox")); | ||
967 | id_liststore = GTK_LIST_STORE (get_object ("id_liststore")); | ||
792 | GNUNET_GTK_set_icon_search_path (); | 968 | GNUNET_GTK_set_icon_search_path (); |
793 | GNUNET_GTK_setup_nls (); | 969 | GNUNET_GTK_setup_nls (); |
794 | 970 | ||
@@ -856,17 +1032,6 @@ run (void *cls) | |||
856 | "MAX_PARALLEL_REQUESTS", | 1032 | "MAX_PARALLEL_REQUESTS", |
857 | &req_parallel)) | 1033 | &req_parallel)) |
858 | req_parallel = DEFAULT_MAX_PARALLEL_REQUESTS; | 1034 | req_parallel = DEFAULT_MAX_PARALLEL_REQUESTS; |
859 | if (GNUNET_OK != | ||
860 | GNUNET_CONFIGURATION_get_value_string (main_context.cfg, | ||
861 | "fs-sks", | ||
862 | "DEFAULT_IDENTITY", | ||
863 | &default_ego_name)) | ||
864 | { | ||
865 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
866 | "Please set DEFAULT_IDENTITY under [fs-sks]\n"); | ||
867 | GNUNET_GTK_main_loop_quit (cls); | ||
868 | return; | ||
869 | } | ||
870 | /* initialize file-sharing */ | 1035 | /* initialize file-sharing */ |
871 | fs = GNUNET_FS_start (main_context.cfg, | 1036 | fs = GNUNET_FS_start (main_context.cfg, |
872 | "gnunet-fs-gtk", | 1037 | "gnunet-fs-gtk", |
@@ -890,13 +1055,8 @@ run (void *cls) | |||
890 | &service_status_change, | 1055 | &service_status_change, |
891 | &main_context); | 1056 | &main_context); |
892 | main_context.gns = GNUNET_GNS_connect (main_context.cfg); | 1057 | main_context.gns = GNUNET_GNS_connect (main_context.cfg); |
893 | main_context.identity = | 1058 | main_context.identity = GNUNET_IDENTITY_connect (main_context.cfg, |
894 | GNUNET_IDENTITY_connect (main_context.cfg, &non_null_cb, NULL); | 1059 | &identity_cb, NULL); |
895 | main_context.id_op = GNUNET_IDENTITY_ego_lookup (main_context.cfg, | ||
896 | default_ego_name, | ||
897 | &handle_sks_zone_identity, | ||
898 | NULL); | ||
899 | GNUNET_free (default_ego_name); | ||
900 | #if HAVE_LIBUNIQUE | 1060 | #if HAVE_LIBUNIQUE |
901 | unique_app_watch_window (unique_app, GTK_WINDOW (main_context.main_window)); | 1061 | unique_app_watch_window (unique_app, GTK_WINDOW (main_context.main_window)); |
902 | g_signal_connect (unique_app, | 1062 | g_signal_connect (unique_app, |
diff --git a/src/namestore/gnunet-namestore-gtk.c b/src/namestore/gnunet-namestore-gtk.c index 2981e16f..f7df0a10 100644 --- a/src/namestore/gnunet-namestore-gtk.c +++ b/src/namestore/gnunet-namestore-gtk.c | |||
@@ -2580,7 +2580,6 @@ zone_iteration_proc (void *cls, | |||
2580 | } | 2580 | } |
2581 | } | 2581 | } |
2582 | 2582 | ||
2583 | |||
2584 | /** | 2583 | /** |
2585 | * Method called to switch the model to a new zone. | 2584 | * Method called to switch the model to a new zone. |
2586 | * | 2585 | * |