diff options
author | Christian Grothoff <christian@grothoff.org> | 2012-02-02 18:20:57 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2012-02-02 18:20:57 +0000 |
commit | cb59fc9a28dd75dcf326b632bcd97fb10551c4f4 (patch) | |
tree | 551effa25272f3e9bec3905038eea1b31de3e282 | |
parent | 42a20c910fc1e6ba7fc85107033c8ded71d65d77 (diff) | |
download | gnunet-gtk-cb59fc9a28dd75dcf326b632bcd97fb10551c4f4.tar.gz gnunet-gtk-cb59fc9a28dd75dcf326b632bcd97fb10551c4f4.zip |
-renaming and code simplification
-rw-r--r-- | src/fs/Makefile.am | 4 | ||||
-rw-r--r-- | src/fs/gnunet-fs-gtk_advertise-pseudonym.c | 6 | ||||
-rw-r--r-- | src/fs/gnunet-fs-gtk_open-directory.c (renamed from src/fs/gnunet-fs-gtk-main_window_open_directory.c) | 78 |
3 files changed, 60 insertions, 28 deletions
diff --git a/src/fs/Makefile.am b/src/fs/Makefile.am index 95226157..2e19b9b6 100644 --- a/src/fs/Makefile.am +++ b/src/fs/Makefile.am | |||
@@ -21,11 +21,11 @@ gnunet_fs_gtk_SOURCES = \ | |||
21 | gnunet-fs-gtk_main-window-meta-data-context-menu.c \ | 21 | gnunet-fs-gtk_main-window-meta-data-context-menu.c \ |
22 | gnunet-fs-gtk_main-window-search.c \ | 22 | gnunet-fs-gtk_main-window-search.c \ |
23 | gnunet-fs-gtk_main-window-view-toggles.c \ | 23 | gnunet-fs-gtk_main-window-view-toggles.c \ |
24 | gnunet-fs-gtk_open-directory.c \ | ||
24 | gnunet-fs-gtk_publish-dialog.c \ | 25 | gnunet-fs-gtk_publish-dialog.c \ |
25 | gnunet-fs-gtk_publish-edit-dialog.c gnunet-fs-gtk_publish-edit-dialog.h \ | 26 | gnunet-fs-gtk_publish-edit-dialog.c gnunet-fs-gtk_publish-edit-dialog.h \ |
26 | gnunet-fs-gtk-main_window_file_download.c \ | 27 | gnunet-fs-gtk-main_window_file_download.c \ |
27 | gnunet-fs-gtk-main_window_namespace.c \ | 28 | gnunet-fs-gtk-main_window_namespace.c |
28 | gnunet-fs-gtk-main_window_open_directory.c | ||
29 | gnunet_fs_gtk_LDADD = \ | 29 | gnunet_fs_gtk_LDADD = \ |
30 | $(top_builddir)/src/lib/libgnunetgtk.la \ | 30 | $(top_builddir)/src/lib/libgnunetgtk.la \ |
31 | @GTK_LIBS@ \ | 31 | @GTK_LIBS@ \ |
diff --git a/src/fs/gnunet-fs-gtk_advertise-pseudonym.c b/src/fs/gnunet-fs-gtk_advertise-pseudonym.c index 09debe9b..07562f38 100644 --- a/src/fs/gnunet-fs-gtk_advertise-pseudonym.c +++ b/src/fs/gnunet-fs-gtk_advertise-pseudonym.c | |||
@@ -306,7 +306,11 @@ GNUNET_GTK_main_menu_file_advertise_pseudonym_activate_cb (GtkWidget * dummy, | |||
306 | GtkBuilder *builder; | 306 | GtkBuilder *builder; |
307 | 307 | ||
308 | builder = GNUNET_GTK_get_new_builder ("gnunet_fs_gtk_select_pseudonym_dialog.glade", NULL); | 308 | builder = GNUNET_GTK_get_new_builder ("gnunet_fs_gtk_select_pseudonym_dialog.glade", NULL); |
309 | 309 | if (NULL == builder) | |
310 | { | ||
311 | GNUNET_break (0); | ||
312 | return; | ||
313 | } | ||
310 | ad = GTK_WIDGET (gtk_builder_get_object | 314 | ad = GTK_WIDGET (gtk_builder_get_object |
311 | (builder, "GNUNET_GTK_select_pseudonym_dialog")); | 315 | (builder, "GNUNET_GTK_select_pseudonym_dialog")); |
312 | ls = GTK_LIST_STORE (gtk_builder_get_object | 316 | ls = GTK_LIST_STORE (gtk_builder_get_object |
diff --git a/src/fs/gnunet-fs-gtk-main_window_open_directory.c b/src/fs/gnunet-fs-gtk_open-directory.c index cee0ff17..33ca2003 100644 --- a/src/fs/gnunet-fs-gtk-main_window_open_directory.c +++ b/src/fs/gnunet-fs-gtk_open-directory.c | |||
@@ -19,25 +19,44 @@ | |||
19 | */ | 19 | */ |
20 | 20 | ||
21 | /** | 21 | /** |
22 | * @file src/fs/gnunet-fs-gtk-main_window_open_directory.c | 22 | * @file src/fs/gnunet-fs-gtk_open-directory.c |
23 | * @author Christian Grothoff | 23 | * @author Christian Grothoff |
24 | */ | 24 | */ |
25 | #include "gnunet-fs-gtk_common.h" | 25 | #include "gnunet-fs-gtk_common.h" |
26 | #include "gnunet-fs-gtk_event-handler.h" | 26 | #include "gnunet-fs-gtk_event-handler.h" |
27 | 27 | ||
28 | |||
29 | /** | ||
30 | * Closure for 'add_child' function. | ||
31 | */ | ||
28 | struct AddChildContext | 32 | struct AddChildContext |
29 | { | 33 | { |
34 | /** | ||
35 | * Name of the directory file. | ||
36 | */ | ||
30 | const char *filename; | 37 | const char *filename; |
38 | |||
39 | /** | ||
40 | * Tree store where we will add entries. | ||
41 | */ | ||
31 | GtkTreeStore *ts; | 42 | GtkTreeStore *ts; |
43 | |||
44 | /** | ||
45 | * Tab we've opened for the directory. | ||
46 | */ | ||
32 | struct SearchTab *tab; | 47 | struct SearchTab *tab; |
33 | struct SearchResult *par; | 48 | |
49 | /** | ||
50 | * Row reference to the directorie's parent entry. | ||
51 | */ | ||
34 | GtkTreeRowReference *prr; | 52 | GtkTreeRowReference *prr; |
35 | GtkTreeIter iter; | 53 | |
36 | }; | 54 | }; |
37 | 55 | ||
38 | 56 | ||
39 | /** | 57 | /** |
40 | * Function used to process entries in a directory. | 58 | * Function used to process entries in a directory. Adds each |
59 | * entry to our tab. | ||
41 | * | 60 | * |
42 | * @param cls closure, our 'struct AddChildContext*' | 61 | * @param cls closure, our 'struct AddChildContext*' |
43 | * @param filename name of the file in the directory | 62 | * @param filename name of the file in the directory |
@@ -57,57 +76,63 @@ add_child (void *cls, const char *filename, const struct GNUNET_FS_Uri *uri, | |||
57 | const void *data) | 76 | const void *data) |
58 | { | 77 | { |
59 | struct AddChildContext *acc = cls; | 78 | struct AddChildContext *acc = cls; |
60 | struct GNUNET_CONTAINER_MetaData *dmeta; | ||
61 | GtkTreePath *tp; | ||
62 | GtkTreeIter iter; | 79 | GtkTreeIter iter; |
63 | 80 | ||
64 | if (uri == NULL) | 81 | if (NULL == uri) |
65 | { | 82 | { |
66 | /* directory meta data itself */ | 83 | /* directory meta data itself, create parent entry */ |
84 | struct GNUNET_CONTAINER_MetaData *dmeta; | ||
85 | GtkTreePath *tp; | ||
86 | |||
67 | dmeta = GNUNET_CONTAINER_meta_data_duplicate (meta); | 87 | dmeta = GNUNET_CONTAINER_meta_data_duplicate (meta); |
68 | GNUNET_CONTAINER_meta_data_insert (dmeta, "<user>", | 88 | GNUNET_CONTAINER_meta_data_insert (dmeta, "<user>", |
69 | EXTRACTOR_METATYPE_FILENAME, | 89 | EXTRACTOR_METATYPE_FILENAME, |
70 | EXTRACTOR_METAFORMAT_UTF8, "text/plain", | 90 | EXTRACTOR_METAFORMAT_UTF8, "text/plain", |
71 | acc->filename, | 91 | acc->filename, |
72 | strlen (acc->filename) + 1); | 92 | strlen (acc->filename) + 1); |
73 | acc->tab = GNUNET_GTK_add_to_uri_tab (&acc->iter, &acc->par, dmeta, NULL); | 93 | acc->tab = GNUNET_GTK_add_to_uri_tab (&iter, NULL, dmeta, NULL); |
74 | tp = gtk_tree_model_get_path (GTK_TREE_MODEL (acc->tab->ts), &acc->iter); | 94 | tp = gtk_tree_model_get_path (GTK_TREE_MODEL (acc->tab->ts), &iter); |
75 | acc->prr = gtk_tree_row_reference_new (GTK_TREE_MODEL (acc->tab->ts), tp); | 95 | acc->prr = gtk_tree_row_reference_new (GTK_TREE_MODEL (acc->tab->ts), tp); |
76 | gtk_tree_path_free (tp); | 96 | gtk_tree_path_free (tp); |
77 | acc->ts = acc->tab->ts; | 97 | acc->ts = acc->tab->ts; |
78 | GNUNET_CONTAINER_meta_data_destroy (dmeta); | 98 | GNUNET_CONTAINER_meta_data_destroy (dmeta); |
79 | return; | 99 | return; |
80 | } | 100 | } |
81 | if (acc->ts == NULL) | 101 | if (NULL == acc->ts) |
102 | { | ||
103 | GNUNET_break (0); | ||
82 | return; | 104 | return; |
105 | } | ||
83 | GNUNET_assert (NULL != | 106 | GNUNET_assert (NULL != |
84 | GNUNET_GTK_add_search_result (acc->tab, &iter, acc->prr, uri, | 107 | GNUNET_GTK_add_search_result (acc->tab, &iter, acc->prr, uri, |
85 | meta, NULL, 0)); | 108 | meta, NULL, 0)); |
86 | } | 109 | } |
87 | 110 | ||
111 | |||
112 | /** | ||
113 | * Function called from the open-directory dialog upon completion. | ||
114 | * | ||
115 | * @param dialog the pseudonym selection dialog | ||
116 | * @param response_id response code from the dialog | ||
117 | * @param user_data the builder of the dialog | ||
118 | */ | ||
88 | void | 119 | void |
89 | GNUNET_GTK_open_directory_dialog_response_cb (GtkDialog * dialog, | 120 | GNUNET_GTK_open_directory_dialog_response_cb (GtkDialog * dialog, |
90 | gint response_id, | 121 | gint response_id, |
91 | gpointer user_data) | 122 | gpointer user_data) |
92 | { | 123 | { |
93 | GtkBuilder *builder; | 124 | GtkBuilder *builder = GTK_BUILDER (user_data); |
94 | GtkWidget *ad; | ||
95 | char *filename; | 125 | char *filename; |
96 | struct AddChildContext acc; | 126 | struct AddChildContext acc; |
97 | 127 | ||
98 | builder = GTK_BUILDER (user_data); | 128 | if (-5 != response_id) |
99 | ad = GTK_WIDGET (gtk_builder_get_object | ||
100 | (builder, "GNUNET_GTK_open_directory_dialog")); | ||
101 | |||
102 | if (response_id != -5) | ||
103 | { | 129 | { |
104 | gtk_widget_destroy (ad); | 130 | gtk_widget_destroy (GTK_WIDGET (dialog)); |
105 | g_object_unref (G_OBJECT (builder)); | 131 | g_object_unref (G_OBJECT (builder)); |
106 | return; | 132 | return; |
107 | } | 133 | } |
108 | 134 | filename = GNUNET_GTK_filechooser_get_filename_utf8 (GTK_FILE_CHOOSER (dialog)); | |
109 | filename = GNUNET_GTK_filechooser_get_filename_utf8 (GTK_FILE_CHOOSER (ad)); | 135 | gtk_widget_destroy (GTK_WIDGET (dialog)); |
110 | gtk_widget_destroy (ad); | ||
111 | g_object_unref (G_OBJECT (builder)); | 136 | g_object_unref (G_OBJECT (builder)); |
112 | acc.filename = filename; | 137 | acc.filename = filename; |
113 | acc.ts = NULL; | 138 | acc.ts = NULL; |
@@ -115,9 +140,13 @@ GNUNET_GTK_open_directory_dialog_response_cb (GtkDialog * dialog, | |||
115 | g_free (filename); | 140 | g_free (filename); |
116 | } | 141 | } |
117 | 142 | ||
143 | |||
118 | /** | 144 | /** |
119 | * User selected "Open directory" in menu. Display dialog, open | 145 | * User selected "Open directory" in menu. Display dialog, open |
120 | * file and then display a new tab with its contents. | 146 | * file and then display a new tab with its contents. |
147 | * | ||
148 | * @param dummy the menu entry | ||
149 | * @param user_data the main dialog builder, unused | ||
121 | */ | 150 | */ |
122 | void | 151 | void |
123 | GNUNET_GTK_main_menu_file_open_gnunet_directory_activate_cb (GtkWidget * dummy, | 152 | GNUNET_GTK_main_menu_file_open_gnunet_directory_activate_cb (GtkWidget * dummy, |
@@ -128,10 +157,9 @@ GNUNET_GTK_main_menu_file_open_gnunet_directory_activate_cb (GtkWidget * dummy, | |||
128 | GtkWidget *toplevel; | 157 | GtkWidget *toplevel; |
129 | GtkFileFilter *ff; | 158 | GtkFileFilter *ff; |
130 | 159 | ||
131 | |||
132 | builder = | 160 | builder = |
133 | GNUNET_GTK_get_new_builder ("gnunet_fs_gtk_open_directory_dialog.glade", NULL); | 161 | GNUNET_GTK_get_new_builder ("gnunet_fs_gtk_open_directory_dialog.glade", NULL); |
134 | if (builder == NULL) | 162 | if (NULL == builder) |
135 | { | 163 | { |
136 | GNUNET_break (0); | 164 | GNUNET_break (0); |
137 | return; | 165 | return; |
@@ -149,4 +177,4 @@ GNUNET_GTK_main_menu_file_open_gnunet_directory_activate_cb (GtkWidget * dummy, | |||
149 | gtk_window_present (GTK_WINDOW (ad)); | 177 | gtk_window_present (GTK_WINDOW (ad)); |
150 | } | 178 | } |
151 | 179 | ||
152 | /* end of gnunet-fs-gtk-main_window_open_directory.c */ | 180 | /* end of gnunet-fs-gtk_open-directory.c */ |