[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r6214 - in gnunet-gtk: . src/plugins/daemon src/plugins/fs
From: |
gnunet |
Subject: |
[GNUnet-SVN] r6214 - in gnunet-gtk: . src/plugins/daemon src/plugins/fs src/plugins/stats |
Date: |
Sat, 9 Feb 2008 19:42:07 -0700 (MST) |
Author: grothoff
Date: 2008-02-09 19:42:02 -0700 (Sat, 09 Feb 2008)
New Revision: 6214
Modified:
gnunet-gtk/ChangeLog
gnunet-gtk/gnunet-gtk.glade
gnunet-gtk/src/plugins/daemon/daemon.c
gnunet-gtk/src/plugins/fs/fs.c
gnunet-gtk/src/plugins/fs/fs.h
gnunet-gtk/src/plugins/fs/search.c
gnunet-gtk/src/plugins/stats/functions.c
gnunet-gtk/src/plugins/stats/functions.h
Log:
UI updates
Modified: gnunet-gtk/ChangeLog
===================================================================
--- gnunet-gtk/ChangeLog 2008-02-10 02:37:33 UTC (rev 6213)
+++ gnunet-gtk/ChangeLog 2008-02-10 02:42:02 UTC (rev 6214)
@@ -1,3 +1,13 @@
+Sat Feb 9 19:39:24 MST 2008
+ Fixed lifelock caused by buggy semaphore operations
+ in event thread handler. Added suspend/resume for
+ searches. Added visual changes on aborted searches.
+ Removed timeout and max-result options from search
+ dialog (no longer required by ECRS/FSUI). Fixed
+ signed/unsigned type issues in stats. Migrated
+ gnunet-gtk GLADE file to GLADE-3 GUI (still getting
+ warnings).
+
Thu Dec 20 19:54:19 MST 2007
Releasing gnunet-gtk 0.7.3.
Modified: gnunet-gtk/gnunet-gtk.glade
===================================================================
--- gnunet-gtk/gnunet-gtk.glade 2008-02-10 02:37:33 UTC (rev 6213)
+++ gnunet-gtk/gnunet-gtk.glade 2008-02-10 02:42:02 UTC (rev 6214)
@@ -719,38 +719,31 @@
<property
name="response_id">0</property>
<signal name="clicked"
handler="on_statusDownloadURIEntry_editing_done_"
object="statusDownloadURIEntry"/>
<child>
- <widget class="GtkAlignment"
id="alignment19">
+ <widget class="GtkHBox"
id="downloadButtonHbox">
<property
name="visible">True</property>
- <property
name="xscale">0</property>
- <property
name="yscale">0</property>
+ <property
name="spacing">2</property>
<child>
- <widget class="GtkHBox"
id="hbox54">
+ <widget class="GtkImage"
id="downloadButtonImage">
<property
name="visible">True</property>
- <property
name="spacing">2</property>
- <child>
- <widget class="GtkImage"
id="image41">
- <property
name="visible">True</property>
- <property
name="stock">gtk-go-down</property>
- </widget>
- <packing>
- <property
name="expand">False</property>
- <property
name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel"
id="label135">
- <property
name="visible">True</property>
- <property name="label"
translatable="yes">D_ownload</property>
- <property
name="use_underline">True</property>
- </widget>
- <packing>
- <property
name="expand">False</property>
- <property
name="fill">False</property>
- <property
name="position">1</property>
- </packing>
- </child>
+ <property
name="stock">gtk-go-down</property>
</widget>
+ <packing>
+ <property
name="expand">False</property>
+ <property
name="fill">False</property>
+ </packing>
</child>
+ <child>
+ <widget class="GtkLabel"
id="downloadButtonLabel">
+ <property
name="visible">True</property>
+ <property name="label"
translatable="yes">D_ownload</property>
+ <property
name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property
name="expand">False</property>
+ <property
name="fill">False</property>
+ <property
name="position">1</property>
+ </packing>
+ </child>
</widget>
</child>
</widget>
@@ -1043,44 +1036,11 @@
<property name="can_focus">True</property>
<property name="has_default">True</property>
<property name="tooltip" translatable="yes">Search
GNUnet for content under the specified keyword (and, if applicable, restrict
the search to the given namespace)</property>
+ <property name="label"
translatable="yes">gtk-find</property>
+ <property name="use_stock">True</property>
<property name="response_id">0</property>
<signal name="clicked"
handler="on_fssearchbutton_clicked_"/>
<accelerator key="Return" modifiers=""
signal="activate"/>
- <child>
- <widget class="GtkAlignment" id="alignment8">
- <property name="visible">True</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
- <child>
- <widget class="GtkHBox" id="hbox21">
- <property name="visible">True</property>
- <property name="spacing">2</property>
- <child>
- <widget class="GtkImage" id="image8">
- <property
name="visible">True</property>
- <property
name="stock">gtk-find</property>
- </widget>
- <packing>
- <property
name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label71">
- <property
name="visible">True</property>
- <property name="label"
translatable="yes">Sea_rch</property>
- <property
name="use_underline">True</property>
- </widget>
- <packing>
- <property
name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
</widget>
<packing>
<property name="expand">False</property>
@@ -1151,69 +1111,6 @@
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox65">
- <property name="visible">True</property>
- <child>
- <widget class="GtkLabel" id="label148">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="xpad">6</property>
- <property name="label" translatable="yes">_Maximum
results:</property>
- <property name="use_underline">True</property>
- <property name="selectable">True</property>
- <property
name="mnemonic_widget">maxResultsSpinButton</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkSpinButton"
id="maxResultsSpinButton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">1000 1 100000000 50
500 500</property>
- <property name="climb_rate">500</property>
- <property name="numeric">True</property>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label149">
- <property name="visible">True</property>
- <property name="xpad">3</property>
- <property name="label"
translatable="yes">Aut_omatically abort search after (s):</property>
- <property name="use_underline">True</property>
- <property
name="mnemonic_widget">searchDelaySpinButton</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <widget class="GtkSpinButton"
id="searchDelaySpinButton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">300 0 100000000 10 100
100</property>
- <property name="climb_rate">100</property>
- <property name="numeric">True</property>
- </widget>
- <packing>
- <property name="position">3</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
<widget class="GtkHBox" id="hbox53">
<property name="visible">True</property>
<child>
@@ -1268,7 +1165,7 @@
</widget>
<packing>
<property name="expand">False</property>
- <property name="position">2</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
@@ -1291,7 +1188,7 @@
</child>
</widget>
<packing>
- <property name="position">3</property>
+ <property name="position">2</property>
</packing>
</child>
</widget>
@@ -1447,38 +1344,31 @@
<property name="response_id">0</property>
<signal name="clicked"
handler="on_mainFileSharingInsertBrowseButton_clicked_"
object="fsinsertfilenamecombo"/>
<child>
- <widget class="GtkAlignment" id="alignment24">
+ <widget class="GtkHBox" id="hbox60">
<property name="visible">True</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
+ <property name="spacing">2</property>
<child>
- <widget class="GtkHBox" id="hbox60">
+ <widget class="GtkImage" id="image46">
<property name="visible">True</property>
- <property name="spacing">2</property>
- <child>
- <widget class="GtkImage" id="image46">
- <property
name="visible">True</property>
- <property
name="stock">gtk-open</property>
- </widget>
- <packing>
- <property
name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label143">
- <property
name="visible">True</property>
- <property name="label"
translatable="yes">_Browse</property>
- <property
name="use_underline">True</property>
- </widget>
- <packing>
- <property
name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="stock">gtk-open</property>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
+ <child>
+ <widget class="GtkLabel" id="label143">
+ <property name="visible">True</property>
+ <property name="label"
translatable="yes">_Browse</property>
+ <property
name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
</child>
</widget>
@@ -1556,38 +1446,31 @@
<property name="response_id">0</property>
<signal name="clicked"
handler="on_fsinsertuploadbutton_clicked_"/>
<child>
- <widget class="GtkAlignment" id="alignment20">
+ <widget class="GtkHBox" id="hbox55">
<property name="visible">True</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
+ <property name="spacing">2</property>
<child>
- <widget class="GtkHBox" id="hbox55">
+ <widget class="GtkImage" id="image42">
<property name="visible">True</property>
- <property name="spacing">2</property>
- <child>
- <widget class="GtkImage" id="image42">
- <property
name="visible">True</property>
- <property
name="stock">gtk-go-up</property>
- </widget>
- <packing>
- <property
name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label137">
- <property
name="visible">True</property>
- <property name="label"
translatable="yes">Pub_lish</property>
- <property
name="use_underline">True</property>
- </widget>
- <packing>
- <property
name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="stock">gtk-go-up</property>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
+ <child>
+ <widget class="GtkLabel" id="label137">
+ <property name="visible">True</property>
+ <property name="label"
translatable="yes">Pub_lish</property>
+ <property
name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
</child>
</widget>
@@ -1846,8 +1729,9 @@
<child>
<widget class="GtkImageMenuItem"
id="createNamespace">
<property name="visible">True</property>
- <property name="label"
translatable="yes">C_reate</property>
+ <property name="label"
translatable="yes">gtk-new</property>
<property name="use_underline">True</property>
+ <property name="use_stock">True</property>
<child>
<widget class="GtkMenu"
id="createNamespace_menu">
<child>
@@ -1868,20 +1752,14 @@
</child>
</widget>
</child>
- <child internal-child="image">
- <widget class="GtkImage" id="image62">
- <property name="visible">True</property>
- <property name="stock">gtk-new</property>
- <property name="icon_size">1</property>
- </widget>
- </child>
</widget>
</child>
<child>
<widget class="GtkImageMenuItem" id="delete1">
<property name="visible">True</property>
- <property name="label"
translatable="yes">D_elete</property>
+ <property name="label"
translatable="yes">gtk-delete</property>
<property name="use_underline">True</property>
+ <property name="use_stock">True</property>
<child>
<widget class="GtkMenu" id="delete1_menu">
<child>
@@ -1906,13 +1784,6 @@
</child>
</widget>
</child>
- <child internal-child="image">
- <widget class="GtkImage" id="image63">
- <property name="visible">True</property>
- <property name="stock">gtk-delete</property>
- <property name="icon_size">1</property>
- </widget>
- </child>
</widget>
</child>
</widget>
@@ -3008,6 +2879,67 @@
</packing>
</child>
<child>
+ <widget class="GtkButton" id="searchPauseButton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="tooltip_text">Pause the
search</property>
+ <property name="tooltip" translatable="yes">Pause the
search</property>
+ <property name="label"
translatable="yes">gtk-media-pause</property>
+ <property name="use_stock">True</property>
+ <property name="response_id">0</property>
+ <signal name="clicked"
handler="on_searchPauseButton_clicked_" object="searchPageScrolledWindow"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">7</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="searchResumeButton">
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="tooltip_text">Resume the
search</property>
+ <property name="tooltip" translatable="yes">Resume the
search</property>
+ <property name="response_id">0</property>
+ <signal name="clicked"
handler="on_searchResumeButton_clicked_" object="searchPageScrolledWindow"/>
+ <child>
+ <widget class="GtkHBox" id="hbox3">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <child>
+ <widget class="GtkImage" id="resumeButtonImage">
+ <property name="visible">True</property>
+ <property
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="stock">gtk-redo</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="resumeButtonLabel">
+ <property name="visible">True</property>
+ <property
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label"
translatable="yes">_Resume</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">8</property>
+ </packing>
+ </child>
+ <child>
<widget class="GtkButton" id="searchCancelButton">
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -3021,7 +2953,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">7</property>
+ <property name="position">9</property>
</packing>
</child>
<child>
@@ -3038,7 +2970,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">8</property>
+ <property name="position">10</property>
</packing>
</child>
</widget>
@@ -3287,7 +3219,7 @@
<property name="tooltip" translatable="yes">The gnunet-gtk about
dialog</property>
<property name="border_width">5</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
- <property name="copyright" translatable="yes">(C) 2001-2007 Christian
Grothoff (and other contributing authors)</property>
+ <property name="copyright" translatable="yes">(C) 2001-2008 Christian
Grothoff (and other contributing authors)</property>
<property name="comments" translatable="yes">https://gnunet.org/</property>
<property name="website">http://www.gnu.org/software/gnunet/</property>
<property name="website_label" translatable="yes">GNUnet Website</property>
@@ -4970,9 +4902,9 @@
<property name="modal">True</property>
<property name="icon_name">gtk-save-as</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
- <property name="do_overwrite_confirmation">True</property>
- <property name="show_hidden">True</property>
<property name="action">GTK_FILE_CHOOSER_ACTION_SAVE</property>
+ <property name="show_hidden">True</property>
+ <property name="do_overwrite_confirmation">True</property>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox7">
<property name="visible">True</property>
Modified: gnunet-gtk/src/plugins/daemon/daemon.c
===================================================================
--- gnunet-gtk/src/plugins/daemon/daemon.c 2008-02-10 02:37:33 UTC (rev
6213)
+++ gnunet-gtk/src/plugins/daemon/daemon.c 2008-02-10 02:42:02 UTC (rev
6214)
@@ -240,18 +240,6 @@
return NULL;
}
-static int
-statsProcessor (const char *optName, unsigned long long value, void *data)
-{
- unsigned long long * ret = data;
-
- if (0 == strcmp ("# of connected peers",
- optName))
- *ret = value;
- return GNUNET_OK;
-}
-
-
static void
cronCheckDaemon (void *dummy)
{
Modified: gnunet-gtk/src/plugins/fs/fs.c
===================================================================
--- gnunet-gtk/src/plugins/fs/fs.c 2008-02-10 02:37:33 UTC (rev 6213)
+++ gnunet-gtk/src/plugins/fs/fs.c 2008-02-10 02:42:02 UTC (rev 6214)
@@ -145,7 +145,6 @@
fs_search_aborted (event->data.SearchAborted.sc.cctx);
break;
case GNUNET_FSUI_search_completed:
- // FIXME...
fs_search_aborted (event->data.SearchCompleted.sc.cctx);
break;
case GNUNET_FSUI_search_suspended:
Modified: gnunet-gtk/src/plugins/fs/fs.h
===================================================================
--- gnunet-gtk/src/plugins/fs/fs.h 2008-02-10 02:37:33 UTC (rev 6213)
+++ gnunet-gtk/src/plugins/fs/fs.h 2008-02-10 02:42:02 UTC (rev 6214)
@@ -210,6 +210,11 @@
struct GNUNET_FSUI_SearchList *fsui_list;
/**
+ * Maximum runtime for the search.
+ */
+ GNUNET_CronTime max_delay;
+
+ /**
* Number of results received so far.
*/
unsigned int resultsReceived;
@@ -224,6 +229,21 @@
*/
unsigned int last_y;
+ /**
+ * Did the user just ask to pause the search?
+ */
+ int is_paused;
+
+ /**
+ * Desired anonymity level.
+ */
+ unsigned int anonymityLevel;
+
+ /**
+ * Maximum number of results.
+ */
+ unsigned int max_results;
+
} SearchList;
Modified: gnunet-gtk/src/plugins/fs/search.c
===================================================================
--- gnunet-gtk/src/plugins/fs/search.c 2008-02-10 02:37:33 UTC (rev 6213)
+++ gnunet-gtk/src/plugins/fs/search.c 2008-02-10 02:42:02 UTC (rev 6214)
@@ -1,6 +1,6 @@
/*
This file is part of GNUnet.
- (C) 2005, 2006, 2007 Christian Grothoff (and other contributing authors)
+ (C) 2005, 2006, 2007, 2008 Christian Grothoff (and other contributing
authors)
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -164,6 +164,7 @@
GtkTreeStore *model;
GtkTreeIter iter;
enum GNUNET_URITRACK_STATE state;
+ struct GNUNET_ECRS_URI * have;
state = GNUNET_URITRACK_get_state (ectx, cfg, info->uri);
if ((state & (GNUNET_URITRACK_INSERTED |
@@ -174,6 +175,20 @@
GNUNET_YES)))
return;
model = GTK_TREE_STORE (gtk_tree_view_get_model (searchContext->treeview));
+ /* Check that the entry does not already exist (for resume!) */
+ if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (model), &iter))
+ {
+ do
+ {
+ have = NULL;
+ gtk_tree_model_get (GTK_TREE_MODEL(model),
+ &iter, SEARCH_URI, &have, -1);
+ if ( (have != NULL) &&
+ (GNUNET_ECRS_uri_test_equal(have, uri)) )
+ return; /* duplicate */
+ }
+ while (gtk_tree_model_iter_next (GTK_TREE_MODEL(model), &iter));
+ }
gtk_tree_store_append (model, &iter, NULL);
addEntryToSearchTree (searchContext, NULL, info, &iter);
searchContext->resultsReceived++;
@@ -384,6 +399,28 @@
int col;
int i;
+ /* check that search does not already exist
+ with fsui_list == NULL;
+ (and if so, hijack!) */
+ list = search_head;
+ while (list != NULL)
+ {
+ if ( (list->fsui_list == NULL) &&
+ (list->uri != NULL) &&
+ (GNUNET_ECRS_uri_test_equal(list->uri,
+ uri)) )
+ {
+ list->fsui_list = fsui_list;
+ for (i = 0; i < resultCount; i++)
+ fs_search_result_received (list, &results[i], uri);
+ if (resultCount == 0) /* otherwise already done! */
+ updateSearchSummary (list);
+ return list;
+ }
+ list = list->next;
+ }
+
+ /* build new entry */
description = GNUNET_ECRS_uri_to_string (uri);
if (description == NULL)
{
@@ -407,6 +444,8 @@
list->uri = GNUNET_ECRS_uri_duplicate (uri);
list->fsui_list = fsui_list;
list->next = search_head;
+ list->anonymityLevel = anonymityLevel;
+
search_head = list;
list->searchXML
=
@@ -604,7 +643,12 @@
void
fs_search_aborted (SearchList * list)
{
- /* FIXME: show aborted status somehow! */
+ gtk_widget_show(glade_xml_get_widget(list->searchXML,
+ "searchResumeButton"));
+ gtk_widget_show(glade_xml_get_widget(list->searchXML,
+ "searchAbortButton"));
+ gtk_widget_show(glade_xml_get_widget(list->searchXML,
+ "searchPauseButton"));
}
/**
@@ -622,6 +666,14 @@
int index;
int i;
+ if (list->is_paused == GNUNET_YES)
+ {
+ /* if this was just a request to pause,
+ then simply ignore the FS-stopped event */
+ list->fsui_list = NULL;
+ list->is_paused = GNUNET_NO;
+ return;
+ }
/* remove from linked list */
if (search_head == list)
{
@@ -701,8 +753,6 @@
typedef struct
{
unsigned int anonymity;
- unsigned int max;
- GNUNET_CronTime delay;
struct GNUNET_ECRS_URI *uri;
} FSSS;
@@ -710,7 +760,7 @@
search_start_helper (void *cls)
{
FSSS *fsss = cls;
- GNUNET_FSUI_search_start (ctx, fsss->anonymity, fsss->max, fsss->delay,
+ GNUNET_FSUI_search_start (ctx, fsss->anonymity,
fsss->uri);
return NULL;
}
@@ -846,13 +896,7 @@
list = list->next;
}
fsss.anonymity = getSpinButtonValue (GNUNET_GTK_get_main_glade_XML (),
- "searchAnonymitySelectionSpinButton");
- fsss.max =
- getSpinButtonValue (GNUNET_GTK_get_main_glade_XML (),
- "maxResultsSpinButton");
- fsss.delay =
- getSpinButtonValue (GNUNET_GTK_get_main_glade_XML (),
- "searchDelaySpinButton") * GNUNET_CRON_SECONDS;
+ "searchAnonymitySelectionSpinButton");
GNUNET_GTK_run_with_save_calls (search_start_helper, &fsss);
GNUNET_ECRS_uri_destroy (fsss.uri);
}
@@ -897,7 +941,8 @@
GNUNET_GE_ASSERT (ectx, list != NULL);
if (list->fsui_list == NULL)
{
- /* open directory - close directly */
+ /* open directory or paused search;
+ close directly */
fs_search_stopped (list);
}
else
@@ -911,12 +956,70 @@
}
}
+
/**
+ * The abort button in the search summary was clicked.
+ */
+void
+on_searchPauseButton_clicked_fs (GtkWidget * searchPage,
+ GtkWidget * pauseButton)
+{
+ SearchList *list;
+ struct FCBC fcbc;
+
+ list = search_head;
+ while (list != NULL)
+ {
+ if (list->searchpage == searchPage)
+ break;
+ list = list->next;
+ }
+ GNUNET_GE_ASSERT (ectx, list != NULL);
+ gtk_widget_hide(pauseButton);
+ gtk_widget_show(glade_xml_get_widget(list->searchXML,
+ "searchResumeButton"));
+ if (list->fsui_list != NULL)
+ {
+ list->is_paused = GNUNET_YES;
+ fcbc.method = &GNUNET_FSUI_search_stop;
+ fcbc.argument = list->fsui_list;
+ GNUNET_GTK_run_with_save_calls (&fsui_callback, &fcbc);
+ }
+}
+
+/**
+ * The abort button in the search summary was clicked.
+ */
+void
+on_searchResumeButton_clicked_fs (GtkWidget * searchPage,
+ GtkWidget * resumeButton)
+{
+ FSSS fsss;
+ SearchList *list;
+
+ list = search_head;
+ while (list != NULL)
+ {
+ if (list->searchpage == searchPage)
+ break;
+ list = list->next;
+ }
+ GNUNET_GE_ASSERT (ectx, list != NULL);
+ gtk_widget_hide(resumeButton);
+ gtk_widget_show(glade_xml_get_widget(list->searchXML,
+ "searchPauseButton"));
+ fsss.anonymity = getSpinButtonValue (GNUNET_GTK_get_main_glade_XML (),
+ "searchAnonymitySelectionSpinButton");
+ fsss.uri = list->uri;
+ GNUNET_GTK_run_with_save_calls (search_start_helper, &fsss);
+}
+
+/**
* The abort button was clicked. Abort the search.
*/
void
on_abortSearchButton_clicked_fs (GtkWidget * searchPage,
- GtkWidget * closeButton)
+ GtkWidget * abortButton)
{
SearchList *list;
struct FCBC fcbc;
@@ -929,6 +1032,7 @@
list = list->next;
}
GNUNET_GE_ASSERT (ectx, list != NULL);
+ gtk_widget_hide(abortButton);
if (list->fsui_list != NULL)
{
fcbc.method = &GNUNET_FSUI_search_abort;
@@ -1007,4 +1111,5 @@
GNUNET_GTK_tree_selection_selected_foreach (selection, &abortSearch, NULL);
}
+
/* end of search.c */
Modified: gnunet-gtk/src/plugins/stats/functions.c
===================================================================
--- gnunet-gtk/src/plugins/stats/functions.c 2008-02-10 02:37:33 UTC (rev
6213)
+++ gnunet-gtk/src/plugins/stats/functions.c 2008-02-10 02:42:02 UTC (rev
6214)
@@ -1,6 +1,6 @@
/*
This file is part of GNUnet
- (C) 2004, 2005, 2006 Christian Grothoff (and other contributing authors)
+ (C) 2004, 2005, 2006, 2008 Christian Grothoff (and other contributing
authors)
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -39,9 +39,9 @@
static long connectionGoal;
-static long long banddown;
+static unsigned long long banddown;
-static long long bandup;
+static unsigned long long bandup;
static struct GNUNET_GE_Context *ectx;
@@ -50,8 +50,8 @@
static struct GNUNET_CronManager *cron;
static int
-getStatValue (long long *value,
- long long *lvalue,
+getStatValue (unsigned long long *value,
+ unsigned long long *lvalue,
GNUNET_CronTime * dtime, const char *optName, int monotone)
{
unsigned int i;
@@ -120,8 +120,8 @@
static int
getConnectedNodesStat (const void *closure, gfloat ** data)
{
- long long val;
-
+ unsigned long long val;
+
if (connectionGoal == 0)
return GNUNET_SYSERR;
if (GNUNET_OK !=
@@ -134,10 +134,10 @@
static int
getLoadStat (const void *closure, gfloat ** data)
{
- long long valc;
- long long vali;
- long long valu;
- long long vald;
+ unsigned long long valc;
+ unsigned long long vali;
+ unsigned long long valu;
+ unsigned long long vald;
if (GNUNET_OK !=
getStatValue (&valc, NULL, NULL, "% of allowed cpu load", GNUNET_NO))
@@ -164,8 +164,8 @@
static int
getQuotaStat (const void *closure, gfloat ** data)
{
- long long allowed;
- long long have;
+ unsigned long long allowed;
+ unsigned long long have;
if (GNUNET_OK != getStatValue (&allowed,
NULL, NULL, "# bytes allowed in datastore",
@@ -183,18 +183,18 @@
static int
getTrafficRecvStats (const void *closure, gfloat ** data)
{
- long long total;
- long long noise;
- long long content;
- long long queries;
- long long hellos;
- long long rlimit;
- long long ltotal;
- long long lnoise;
- long long lcontent;
- long long lqueries;
- long long lhellos;
- long long lrlimit;
+ unsigned long long total;
+ unsigned long long noise;
+ unsigned long long content;
+ unsigned long long queries;
+ unsigned long long hellos;
+ unsigned long long rlimit;
+ unsigned long long ltotal;
+ unsigned long long lnoise;
+ unsigned long long lcontent;
+ unsigned long long lqueries;
+ unsigned long long lhellos;
+ unsigned long long lrlimit;
GNUNET_CronTime dtime;
char *buffer;
@@ -272,18 +272,18 @@
static int
getTrafficSendStats (const void *closure, gfloat ** data)
{
- long long total;
- long long noise;
- long long content;
- long long queries;
- long long hellos;
- long long slimit;
- long long ltotal;
- long long lnoise;
- long long lcontent;
- long long lqueries;
- long long lhellos;
- long long lslimit;
+ unsigned long long total;
+ unsigned long long noise;
+ unsigned long long content;
+ unsigned long long queries;
+ unsigned long long hellos;
+ unsigned long long slimit;
+ unsigned long long ltotal;
+ unsigned long long lnoise;
+ unsigned long long lcontent;
+ unsigned long long lqueries;
+ unsigned long long lhellos;
+ unsigned long long lslimit;
GNUNET_CronTime dtime;
char *buffer;
@@ -365,12 +365,12 @@
static GNUNET_CronTime last;
static double lastdata;
static double lastavg;
- long long total;
- long long success;
- long long local;
- long long ltotal;
- long long lsuccess;
- long long llocal;
+ unsigned long long total;
+ unsigned long long success;
+ unsigned long long local;
+ unsigned long long ltotal;
+ unsigned long long lsuccess;
+ unsigned long long llocal;
GNUNET_CronTime now;
now = GNUNET_get_time ();
@@ -474,7 +474,7 @@
{
static gboolean once = TRUE;
static int last_status = -5;
- long long connected_peers;
+ unsigned long long connected_peers;
char *label;
static GtkWidget *statusConnexionsLabel;
static GtkWidget *statusConnexionsPic;
@@ -522,8 +522,8 @@
}
if (GNUNET_OK == GNUNET_test_daemon_running (ectx, cfg))
{
- if (GNUNET_OK != getStatValue (&connected_peers, (GNUNET_CronTime *)
delta,
- NULL, "# of connected peers",
GNUNET_NO))
+ if (GNUNET_OK != getStatValue (&connected_peers, (GNUNET_CronTime *)
delta,
+ NULL, "# of connected peers", GNUNET_NO))
{
if (last_status != -1)
{
Modified: gnunet-gtk/src/plugins/stats/functions.h
===================================================================
--- gnunet-gtk/src/plugins/stats/functions.h 2008-02-10 02:37:33 UTC (rev
6213)
+++ gnunet-gtk/src/plugins/stats/functions.h 2008-02-10 02:42:02 UTC (rev
6214)
@@ -27,8 +27,8 @@
typedef struct
{
char *statName;
- long long value;
- long long lvalue;
+ unsigned long long value;
+ unsigned long long lvalue;
GNUNET_CronTime delta;
} StatPair;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r6214 - in gnunet-gtk: . src/plugins/daemon src/plugins/fs src/plugins/stats,
gnunet <=