aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2006-10-30 06:00:52 +0000
committerChristian Grothoff <christian@grothoff.org>2006-10-30 06:00:52 +0000
commitdaeabadb580236e4dd519bf60e6040df598408ce (patch)
tree36edb740657ebb1517e5dc93a7d1ef0ffedab395
parent350c55cdfaa33ae00238c1ebce2f468ee65ba2bb (diff)
downloadgnunet-gtk-daeabadb580236e4dd519bf60e6040df598408ce.tar.gz
gnunet-gtk-daeabadb580236e4dd519bf60e6040df598408ce.zip
bugfixes
-rw-r--r--src/plugins/fs/download.c22
-rw-r--r--src/plugins/fs/download.h3
-rw-r--r--src/plugins/fs/fs.c20
-rw-r--r--src/plugins/fs/search.c3
-rw-r--r--src/plugins/fs/search.h3
-rw-r--r--src/plugins/fs/upload.c22
-rw-r--r--src/plugins/fs/upload.h3
7 files changed, 39 insertions, 37 deletions
diff --git a/src/plugins/fs/download.c b/src/plugins/fs/download.c
index 0ba02840..ff3f361c 100644
--- a/src/plugins/fs/download.c
+++ b/src/plugins/fs/download.c
@@ -156,7 +156,8 @@ fs_download_started(struct FSUI_DownloadList * fsui_dl,
156 const ECRS_FileInfo * fi, 156 const ECRS_FileInfo * fi,
157 const char * filename, 157 const char * filename,
158 unsigned long long completed, 158 unsigned long long completed,
159 cron_t eta) { 159 cron_t eta,
160 FSUI_State state) {
160 DownloadList * list; 161 DownloadList * list;
161 GtkTreeIter iter; 162 GtkTreeIter iter;
162 GtkTreePath * path; 163 GtkTreePath * path;
@@ -265,6 +266,8 @@ fs_download_started(struct FSUI_DownloadList * fsui_dl,
265 list->fsui_list = fsui_dl; 266 list->fsui_list = fsui_dl;
266 list->total = total; 267 list->total = total;
267 list->is_directory = ECRS_isDirectory(fi->meta); 268 list->is_directory = ECRS_isDirectory(fi->meta);
269 list->has_terminated = ( (state != FSUI_ACTIVE) &&
270 (state != FSUI_PENDING) );
268 list->next = download_head; 271 list->next = download_head;
269 download_head = list; 272 download_head = list;
270 if ( (list->is_directory == YES) && 273 if ( (list->is_directory == YES) &&
@@ -658,7 +661,7 @@ static void * fsui_callback(void * cls) {
658 return NULL; 661 return NULL;
659} 662}
660 663
661static void 664static gboolean
662clearCompletedDownloadCallback(GtkTreeModel * model, 665clearCompletedDownloadCallback(GtkTreeModel * model,
663 GtkTreePath * path, 666 GtkTreePath * path,
664 GtkTreeIter * iter, 667 GtkTreeIter * iter,
@@ -678,21 +681,14 @@ clearCompletedDownloadCallback(GtkTreeModel * model,
678 run_with_save_calls(&fsui_callback, 681 run_with_save_calls(&fsui_callback,
679 &fcbc); 682 &fcbc);
680 } 683 }
684 return FALSE;
681} 685}
682 686
683void on_clearCompletedDownloadsButton_clicked_fs(void * unused, 687void on_clearCompletedDownloadsButton_clicked_fs(void * unused,
684 GtkWidget * clearButton) { 688 GtkWidget * clearButton) {
685 GtkTreeSelection * selection; 689 gtk_tree_model_foreach(GTK_TREE_MODEL(download_summary),
686 GtkWidget * downloadList; 690 &clearCompletedDownloadCallback,
687 691 NULL);
688 downloadList = glade_xml_get_widget(getMainXML(),
689 "activeDownloadsList");
690 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(downloadList));
691
692 ggc_tree_selection_selected_foreach
693 (selection,
694 &clearCompletedDownloadCallback,
695 NULL);
696} 692}
697 693
698static void 694static void
diff --git a/src/plugins/fs/download.h b/src/plugins/fs/download.h
index e639b9e7..d03be966 100644
--- a/src/plugins/fs/download.h
+++ b/src/plugins/fs/download.h
@@ -40,7 +40,8 @@ fs_download_started(struct FSUI_DownloadList * fsui_dl,
40 const ECRS_FileInfo * fi, 40 const ECRS_FileInfo * fi,
41 const char * filename, 41 const char * filename,
42 unsigned long long completed, 42 unsigned long long completed,
43 cron_t eta); 43 cron_t eta,
44 FSUI_State state);
44 45
45void fs_download_update(DownloadList * downloadContext, 46void fs_download_update(DownloadList * downloadContext,
46 unsigned long long completed, 47 unsigned long long completed,
diff --git a/src/plugins/fs/fs.c b/src/plugins/fs/fs.c
index f2a687a7..fb819df1 100644
--- a/src/plugins/fs/fs.c
+++ b/src/plugins/fs/fs.c
@@ -63,7 +63,8 @@ saveEventProcessor(void * cls) {
63 event->data.SearchStarted.searchURI, 63 event->data.SearchStarted.searchURI,
64 event->data.SearchStarted.anonymityLevel, 64 event->data.SearchStarted.anonymityLevel,
65 0, 65 0,
66 NULL); 66 NULL,
67 FSUI_ACTIVE);
67 break; 68 break;
68 case FSUI_search_result: 69 case FSUI_search_result:
69 fs_search_result_received(event->data.SearchResult.sc.cctx, 70 fs_search_result_received(event->data.SearchResult.sc.cctx,
@@ -88,7 +89,8 @@ saveEventProcessor(void * cls) {
88 event->data.SearchResumed.searchURI, 89 event->data.SearchResumed.searchURI,
89 event->data.SearchResumed.anonymityLevel, 90 event->data.SearchResumed.anonymityLevel,
90 event->data.SearchResumed.fisSize, 91 event->data.SearchResumed.fisSize,
91 event->data.SearchResumed.fis); 92 event->data.SearchResumed.fis,
93 event->data.SearchResumed.state);
92 break; 94 break;
93 case FSUI_search_stopped: 95 case FSUI_search_stopped:
94 fs_search_stopped(event->data.SearchStopped.sc.cctx); 96 fs_search_stopped(event->data.SearchStopped.sc.cctx);
@@ -126,7 +128,8 @@ saveEventProcessor(void * cls) {
126 &event->data.DownloadStarted.fi, 128 &event->data.DownloadStarted.fi,
127 event->data.DownloadStarted.filename, 129 event->data.DownloadStarted.filename,
128 0, 130 0,
129 get_time()); 131 get_time(),
132 FSUI_ACTIVE);
130 break; 133 break;
131 case FSUI_download_resumed: 134 case FSUI_download_resumed:
132 ret = fs_download_started(event->data.DownloadResumed.dc.pos, 135 ret = fs_download_started(event->data.DownloadResumed.dc.pos,
@@ -137,7 +140,8 @@ saveEventProcessor(void * cls) {
137 &event->data.DownloadResumed.fi, 140 &event->data.DownloadResumed.fi,
138 event->data.DownloadResumed.filename, 141 event->data.DownloadResumed.filename,
139 event->data.DownloadResumed.completed, 142 event->data.DownloadResumed.completed,
140 event->data.DownloadResumed.eta); 143 event->data.DownloadResumed.eta,
144 event->data.DownloadResumed.state);
141 break; 145 break;
142 146
143 /* upload events */ 147 /* upload events */
@@ -173,7 +177,8 @@ saveEventProcessor(void * cls) {
173 event->data.UploadStarted.filename, 177 event->data.UploadStarted.filename,
174 NULL, 178 NULL,
175 event->data.UploadStarted.total, 179 event->data.UploadStarted.total,
176 0); 180 0,
181 FSUI_ACTIVE);
177 break; 182 break;
178 case FSUI_upload_resumed: 183 case FSUI_upload_resumed:
179 printf("FSUI: Upload resumed\n"); 184 printf("FSUI: Upload resumed\n");
@@ -182,9 +187,9 @@ saveEventProcessor(void * cls) {
182 event->data.UploadResumed.filename, 187 event->data.UploadResumed.filename,
183 NULL, /* FIXME: maybe completed!? */ 188 NULL, /* FIXME: maybe completed!? */
184 event->data.UploadResumed.total, 189 event->data.UploadResumed.total,
185 event->data.UploadResumed.completed); 190 event->data.UploadResumed.completed,
191 event->data.UploadResumed.state);
186 break; 192 break;
187
188 /* TODO: unindex events */ 193 /* TODO: unindex events */
189 default: 194 default:
190 GE_BREAK(ectx, 0); 195 GE_BREAK(ectx, 0);
@@ -374,7 +379,6 @@ static void fs_summary_start() {
374 gtk_tree_view_column_set_resizable(gtk_tree_view_get_column(uploadList, 379 gtk_tree_view_column_set_resizable(gtk_tree_view_get_column(uploadList,
375 col - 1), 380 col - 1),
376 TRUE); 381 TRUE);
377
378 /* upload entry setup */ 382 /* upload entry setup */
379 uploadEntry 383 uploadEntry
380 = glade_xml_get_widget(getMainXML(), 384 = glade_xml_get_widget(getMainXML(),
diff --git a/src/plugins/fs/search.c b/src/plugins/fs/search.c
index 533baaf6..402aa1c1 100644
--- a/src/plugins/fs/search.c
+++ b/src/plugins/fs/search.c
@@ -147,7 +147,8 @@ fs_search_started(struct FSUI_SearchList * fsui_list,
147 const struct ECRS_URI * uri, 147 const struct ECRS_URI * uri,
148 unsigned int anonymityLevel, 148 unsigned int anonymityLevel,
149 unsigned int resultCount, 149 unsigned int resultCount,
150 const ECRS_FileInfo * results) { 150 const ECRS_FileInfo * results,
151 FSUI_State state) {
151 SearchList * list; 152 SearchList * list;
152 gint pages; 153 gint pages;
153 char * description; 154 char * description;
diff --git a/src/plugins/fs/search.h b/src/plugins/fs/search.h
index 5b72aafd..a0e32f1b 100644
--- a/src/plugins/fs/search.h
+++ b/src/plugins/fs/search.h
@@ -63,7 +63,8 @@ fs_search_started(struct FSUI_SearchList * list,
63 const struct ECRS_URI * uri, 63 const struct ECRS_URI * uri,
64 unsigned int anonymityLevel, 64 unsigned int anonymityLevel,
65 unsigned int resultCount, 65 unsigned int resultCount,
66 const ECRS_FileInfo * results); 66 const ECRS_FileInfo * results,
67 FSUI_State state);
67 68
68/** 69/**
69 * A search process has been aborted. Update display. 70 * A search process has been aborted. Update display.
diff --git a/src/plugins/fs/upload.c b/src/plugins/fs/upload.c
index 71c3083a..329e085d 100644
--- a/src/plugins/fs/upload.c
+++ b/src/plugins/fs/upload.c
@@ -135,7 +135,8 @@ fs_upload_started(struct FSUI_UploadList * fsui,
135 const char * filename, 135 const char * filename,
136 struct ECRS_URI * uri, 136 struct ECRS_URI * uri,
137 unsigned long long total, 137 unsigned long long total,
138 unsigned long long completed) { 138 unsigned long long completed,
139 FSUI_State state) {
139 UploadList * ret; 140 UploadList * ret;
140 GtkTreeIter iter; 141 GtkTreeIter iter;
141 GtkTreePath * path; 142 GtkTreePath * path;
@@ -181,6 +182,9 @@ fs_upload_started(struct FSUI_UploadList * fsui,
181 ret->summaryViewRowReference 182 ret->summaryViewRowReference
182 = gtk_tree_row_reference_new(GTK_TREE_MODEL(upload_summary), 183 = gtk_tree_row_reference_new(GTK_TREE_MODEL(upload_summary),
183 path); 184 path);
185 ret->has_terminated = ( (state != FSUI_ACTIVE) &&
186 (state != FSUI_PENDING) );
187
184 ret->next = upload_head; 188 ret->next = upload_head;
185 upload_head = ret; 189 upload_head = ret;
186 return ret; 190 return ret;
@@ -415,7 +419,7 @@ static void * fsui_callback(void * cls) {
415 return NULL; 419 return NULL;
416} 420}
417 421
418static void 422static gboolean
419clearCompletedUploadCallback(GtkTreeModel * model, 423clearCompletedUploadCallback(GtkTreeModel * model,
420 GtkTreePath * path, 424 GtkTreePath * path,
421 GtkTreeIter * iter, 425 GtkTreeIter * iter,
@@ -435,20 +439,14 @@ clearCompletedUploadCallback(GtkTreeModel * model,
435 run_with_save_calls(&fsui_callback, 439 run_with_save_calls(&fsui_callback,
436 &fcbc); 440 &fcbc);
437 } 441 }
442 return FALSE;
438} 443}
439 444
440void on_clearCompletedUploadsButton_clicked_fs(void * unused, 445void on_clearCompletedUploadsButton_clicked_fs(void * unused,
441 GtkWidget * clearButton) { 446 GtkWidget * clearButton) {
442 GtkTreeSelection * selection; 447 gtk_tree_model_foreach(GTK_TREE_MODEL(upload_summary),
443 GtkWidget * uploadList; 448 &clearCompletedUploadCallback,
444 449 NULL);
445 uploadList = glade_xml_get_widget(getMainXML(),
446 "activeUploadsList");
447 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(uploadList));
448 ggc_tree_selection_selected_foreach
449 (selection,
450 &clearCompletedUploadCallback,
451 NULL);
452} 450}
453 451
454static void 452static void
diff --git a/src/plugins/fs/upload.h b/src/plugins/fs/upload.h
index 55bca7f6..38db6ddb 100644
--- a/src/plugins/fs/upload.h
+++ b/src/plugins/fs/upload.h
@@ -48,6 +48,7 @@ fs_upload_started(struct FSUI_UploadList * fsui,
48 const char * filename, 48 const char * filename,
49 struct ECRS_URI * uri, 49 struct ECRS_URI * uri,
50 unsigned long long total, 50 unsigned long long total,
51 unsigned long long completed); 51 unsigned long long completed,
52 FSUI_State state);
52 53
53#endif 54#endif