gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r11973 - in gnunet-gtk: contrib src


From: gnunet
Subject: [GNUnet-SVN] r11973 - in gnunet-gtk: contrib src
Date: Sun, 27 Jun 2010 14:43:24 +0200

Author: grothoff
Date: 2010-06-27 14:43:24 +0200 (Sun, 27 Jun 2010)
New Revision: 11973

Modified:
   gnunet-gtk/contrib/search_tab.glade
   gnunet-gtk/src/fs_event_handler.c
Log:
bugfixes

Modified: gnunet-gtk/contrib/search_tab.glade
===================================================================
--- gnunet-gtk/contrib/search_tab.glade 2010-06-27 11:52:12 UTC (rev 11972)
+++ gnunet-gtk/contrib/search_tab.glade 2010-06-27 12:43:24 UTC (rev 11973)
@@ -2,105 +2,37 @@
 <interface>
   <requires lib="gtk+" version="2.20"/>
   <!-- interface-naming-policy project-wide -->
-  <object class="GtkWindow" id="_search_result_label_window">
-    <child>
-      <object class="GtkHBox" id="_search_result_label_hbox">
-        <property name="visible">True</property>
-        <property name="border_width">5</property>
-        <child>
-          <object class="GtkLabel" id="_search_result_label_window_label">
-            <property name="height_request">30</property>
-            <property name="visible">True</property>
-            <property name="label" translatable="yes">query</property>
-          </object>
-          <packing>
-            <property name="fill">False</property>
-            <property name="padding">5</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkButton" id="_search_result_label_play_button">
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
-            <property name="use_action_appearance">False</property>
-            <child>
-              <object class="GtkImage" id="play_icon_stock_image">
-                <property name="visible">True</property>
-                <property name="stock">gtk-media-play</property>
-                <property name="icon-size">2</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkButton" id="_search_result_label_pause_button">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
-            <property name="use_action_appearance">False</property>
-            <child>
-              <object class="GtkImage" id="pause_icon_stock_image">
-                <property name="visible">True</property>
-                <property name="stock">gtk-media-pause</property>
-                <property name="icon-size">2</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkButton" id="_search_result_label_clear_button">
-            <property name="sensitive">False</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
-            <property name="use_action_appearance">False</property>
-            <child>
-              <object class="GtkImage" id="clear_icon_stock_image">
-                <property name="visible">True</property>
-                <property name="stock">gtk-clear</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="padding">5</property>
-            <property name="position">3</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkButton" id="_search_result_label_close_button">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
-            <property name="use_action_appearance">False</property>
-            <property name="relief">half</property>
-            <child>
-              <object class="GtkImage" id="close_icon_stock_image">
-                <property name="visible">True</property>
-                <property name="stock">gtk-close</property>
-                <property name="icon-size">2</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">4</property>
-          </packing>
-        </child>
-      </object>
-    </child>
+  <object class="GtkTreeStore" id="GNUNET_GTK_file_sharing_result_tree_store">
+    <columns>
+      <!-- column-name metadata -->
+      <column type="gpointer"/>
+      <!-- column-name uri -->
+      <column type="gpointer"/>
+      <!-- column-name filesize -->
+      <column type="guint64"/>
+      <!-- column-name preview -->
+      <column type="GdkPixbuf"/>
+      <!-- column-name percent_progress -->
+      <column type="guint"/>
+      <!-- column-name percent_availability -->
+      <column type="guint"/>
+      <!-- column-name filename -->
+      <column type="gchararray"/>
+      <!-- column-name uri_as_string -->
+      <column type="gchararray"/>
+      <!-- column-name status_colour -->
+      <column type="gchararray"/>
+      <!-- column-name struct_search_result -->
+      <column type="gpointer"/>
+      <!-- column-name mimetype -->
+      <column type="gchararray"/>
+      <!-- column-name applicability_rank -->
+      <column type="guint"/>
+      <!-- column-name availability_certainty -->
+      <column type="guint"/>
+      <!-- column-name availability_rank -->
+      <column type="gint"/>
+    </columns>
   </object>
   <object class="GtkWindow" id="_search_result_frame_window">
     <property name="title">You should never see this</property>
@@ -200,36 +132,104 @@
       </object>
     </child>
   </object>
-  <object class="GtkTreeStore" id="GNUNET_GTK_file_sharing_result_tree_store">
-    <columns>
-      <!-- column-name metadata -->
-      <column type="gpointer"/>
-      <!-- column-name uri -->
-      <column type="gpointer"/>
-      <!-- column-name filesize -->
-      <column type="guint64"/>
-      <!-- column-name preview -->
-      <column type="GdkPixbuf"/>
-      <!-- column-name percent_progress -->
-      <column type="guint"/>
-      <!-- column-name percent_availability -->
-      <column type="guint"/>
-      <!-- column-name filename -->
-      <column type="gchararray"/>
-      <!-- column-name uri_as_string -->
-      <column type="gchararray"/>
-      <!-- column-name status_colour -->
-      <column type="gchararray"/>
-      <!-- column-name struct_search_result -->
-      <column type="gpointer"/>
-      <!-- column-name mimetype -->
-      <column type="gchararray"/>
-      <!-- column-name applicability_rank -->
-      <column type="guint"/>
-      <!-- column-name availability_certainty -->
-      <column type="guint"/>
-      <!-- column-name availability_rank -->
-      <column type="gint"/>
-    </columns>
+  <object class="GtkWindow" id="_search_result_label_window">
+    <child>
+      <object class="GtkHBox" id="_search_result_label_hbox">
+        <property name="visible">True</property>
+        <property name="border_width">5</property>
+        <child>
+          <object class="GtkLabel" id="_search_result_label_window_label">
+            <property name="height_request">30</property>
+            <property name="visible">True</property>
+            <property name="label" translatable="yes">query</property>
+          </object>
+          <packing>
+            <property name="fill">False</property>
+            <property name="padding">5</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButton" id="_search_result_label_play_button">
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="use_action_appearance">False</property>
+            <child>
+              <object class="GtkImage" id="play_icon_stock_image">
+                <property name="visible">True</property>
+                <property name="stock">gtk-media-play</property>
+                <property name="icon-size">2</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButton" id="_search_result_label_pause_button">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="use_action_appearance">False</property>
+            <child>
+              <object class="GtkImage" id="pause_icon_stock_image">
+                <property name="visible">True</property>
+                <property name="stock">gtk-media-pause</property>
+                <property name="icon-size">2</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButton" id="_search_result_label_clear_button">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="use_action_appearance">False</property>
+            <child>
+              <object class="GtkImage" id="clear_icon_stock_image">
+                <property name="visible">True</property>
+                <property name="stock">gtk-clear</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="padding">5</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButton" id="_search_result_label_close_button">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="use_action_appearance">False</property>
+            <property name="relief">half</property>
+            <child>
+              <object class="GtkImage" id="close_icon_stock_image">
+                <property name="visible">True</property>
+                <property name="stock">gtk-close</property>
+                <property name="icon-size">2</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">4</property>
+          </packing>
+        </child>
+      </object>
+    </child>
   </object>
 </interface>

Modified: gnunet-gtk/src/fs_event_handler.c
===================================================================
--- gnunet-gtk/src/fs_event_handler.c   2010-06-27 11:52:12 UTC (rev 11972)
+++ gnunet-gtk/src/fs_event_handler.c   2010-06-27 12:43:24 UTC (rev 11973)
@@ -42,6 +42,7 @@
   GtkWidget *frame;
   GtkWidget *tab_label;
   GtkWidget *close_button;
+  GtkWidget *clear_button;
   GtkWidget *play_button;
   GtkWidget *pause_button;
   GtkLabel *label;
@@ -226,12 +227,18 @@
                      int is_active)
 {
   GtkTreeIter iter;
+  GtkTreePath *path;
 
   gtk_tree_row_reference_free (de->rr);
   de->sr = NULL;
   de->ts = GNUNET_GTK_add_to_uri_tab (&iter,
                                      de->meta,
                                      de->uri);
+  path = gtk_tree_model_get_path (GTK_TREE_MODEL (de->ts),
+                                 &iter);
+  de->rr = gtk_tree_row_reference_new (GTK_TREE_MODEL (de->ts),
+                                      path);
+  gtk_tree_path_free (path);
   mark_download_progress (de, size, completed);
   if (size > completed)
     {
@@ -489,7 +496,7 @@
   struct GNUNET_CONTAINER_MetaData *meta;
   GdkPixbuf *pixbuf;
 
-  GNUNET_assert (tab->sc != NULL);
+  GNUNET_assert (tab->query_txt != NULL);
   image = GTK_IMAGE (GNUNET_GTK_get_main_window_object 
("GNUNET_GTK_main_window_preview_image"));
   ms = GTK_LIST_STORE (GNUNET_GTK_get_main_window_object 
("GNUNET_GTK_meta_data_list_store"));
 
@@ -531,12 +538,19 @@
 {
   char *name;
  
-  GNUNET_asprintf (&name,
-                  "%.*s%s (%u)",
-                  20,
-                  tab->query_txt,
-                  strlen (tab->query_txt) > 20 ? "..." : "",
-                  tab->num_results);
+  if (tab->num_results > 0)
+    GNUNET_asprintf (&name,
+                    "%.*s%s (%u)",
+                    20,
+                    tab->query_txt,
+                    strlen (tab->query_txt) > 20 ? "..." : "",
+                    tab->num_results);
+  else
+    GNUNET_asprintf (&name,
+                    "%.*s%s",
+                    20,
+                    tab->query_txt,
+                    strlen (tab->query_txt) > 20 ? "..." : "");
   gtk_label_set_text (tab->label, name);
   GNUNET_free (name);
 }
@@ -623,6 +637,22 @@
 
 
 /**
+ * Stop completed downloads (or those that failed).
+ */
+static void
+clear_downloads (GtkButton *button,
+                gpointer user_data)
+{
+  struct SearchTab *tab = user_data;
+  if (tab->sc != NULL)
+    {
+    }
+  GNUNET_break (0);
+}
+
+
+
+/**
  * Tell FS to pause a search.
  */
 static void
@@ -715,6 +745,10 @@
                                                          
"_search_result_label_close_button"));
   g_signal_connect(G_OBJECT(tab->close_button), "clicked", 
                   G_CALLBACK(stop_search), tab);
+  tab->clear_button = GTK_WIDGET (gtk_builder_get_object (tab->builder,
+                                                         
"_search_result_label_clear_button"));
+  g_signal_connect(G_OBJECT(tab->clear_button), "clicked", 
+                  G_CALLBACK(clear_downloads), tab);
   tab->play_button = GTK_WIDGET (gtk_builder_get_object (tab->builder,
                                                         
"_search_result_label_play_button"));
   g_signal_connect(G_OBJECT(tab->play_button), "clicked", 
@@ -885,6 +919,8 @@
   if (utab == NULL)
     {
       utab = setup_search (NULL, NULL);
+      gtk_widget_set_visible (utab->close_button,
+                             FALSE);
     }
   else
     {
@@ -894,6 +930,7 @@
   sr = add_search_result (utab, iter,
                          NULL, uri, meta,
                          NULL, 0);
+  
   return GTK_TREE_STORE (gtk_builder_get_object (utab->builder,
                                                 
"GNUNET_GTK_file_sharing_result_tree_store"));
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]