[Xfce4-commits] <parole:0.2.2> Add tooltip on the play list widget.

Ali Abdallah noreply at xfce.org
Fri Feb 25 15:24:01 CET 2011


Updating branch refs/heads/0.2.2
         to 376d3a22cf34316244d2ed137e2a22dcde606a4f (commit)
       from a60120df530237d274fc43ffce0e72e125f40d87 (commit)

commit 376d3a22cf34316244d2ed137e2a22dcde606a4f
Author: Ali Abdallah <aliov at xfce.org>
Date:   Fri Feb 25 15:21:49 2011 +0100

    Add tooltip on the play list widget.

 data/interfaces/playlist.ui |   87 +++++++++++++++++++++++++++----------------
 src/parole-medialist.c      |   61 ++++++++++++++++++++++++++++++
 2 files changed, 116 insertions(+), 32 deletions(-)

diff --git a/data/interfaces/playlist.ui b/data/interfaces/playlist.ui
index 1b1ad2f..d5788be 100644
--- a/data/interfaces/playlist.ui
+++ b/data/interfaces/playlist.ui
@@ -1,18 +1,44 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <requires lib="gtk+" version="2.16"/>
   <!-- interface-naming-policy project-wide -->
+  <object class="GtkImage" id="image1">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-add</property>
+  </object>
+  <object class="GtkImage" id="image2">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-remove</property>
+  </object>
+  <object class="GtkImage" id="image3">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-go-up</property>
+  </object>
+  <object class="GtkImage" id="image4">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-go-down</property>
+  </object>
+  <object class="GtkImage" id="image5">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-save-as</property>
+  </object>
   <object class="GtkVBox" id="playlist-box">
     <property name="visible">True</property>
-    <property name="orientation">vertical</property>
+    <property name="can_focus">False</property>
     <property name="spacing">5</property>
     <child>
       <object class="GtkAlignment" id="alignment1">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
         <child>
           <object class="GtkVBox" id="vbox1">
             <property name="visible">True</property>
-            <property name="orientation">vertical</property>
+            <property name="can_focus">False</property>
             <child>
               <object class="GtkScrolledWindow" id="scrolledwindow1">
                 <property name="visible">True</property>
@@ -26,22 +52,27 @@
                   <object class="GtkTreeView" id="media-list">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
+                    <property name="has_tooltip">True</property>
                     <property name="headers_visible">False</property>
                     <property name="rules_hint">True</property>
-                    <signal name="key_press_event" handler="parole_media_list_key_press"/>
-                    <signal name="row_activated" handler="parole_media_list_row_activated_cb"/>
-                    <signal name="button_release_event" handler="parole_media_list_button_release_event"/>
-                    <signal name="drag_data_received" handler="parole_media_list_drag_data_received_cb"/>
+                    <signal name="key-press-event" handler="parole_media_list_key_press" swapped="no"/>
+                    <signal name="row-activated" handler="parole_media_list_row_activated_cb" swapped="no"/>
+                    <signal name="button-release-event" handler="parole_media_list_button_release_event" swapped="no"/>
+                    <signal name="drag-data-received" handler="parole_media_list_drag_data_received_cb" swapped="no"/>
+                    <signal name="query-tooltip" handler="parole_media_list_query_tooltip" swapped="no"/>
                   </object>
                 </child>
               </object>
               <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
                 <property name="position">0</property>
               </packing>
             </child>
             <child>
               <object class="GtkHBox" id="hbox3">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="spacing">2</property>
                 <property name="homogeneous">True</property>
                 <child>
@@ -49,11 +80,13 @@
                     <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="image">image1</property>
-                    <signal name="clicked" handler="parole_media_list_add_clicked_cb"/>
+                    <signal name="clicked" handler="parole_media_list_add_clicked_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
@@ -63,11 +96,13 @@
                     <property name="sensitive">False</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">True</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="image">image5</property>
-                    <signal name="clicked" handler="parole_media_list_save_cb"/>
+                    <signal name="clicked" handler="parole_media_list_save_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
@@ -77,11 +112,13 @@
                     <property name="sensitive">False</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">True</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="image">image2</property>
-                    <signal name="clicked" handler="parole_media_list_remove_clicked_cb"/>
+                    <signal name="clicked" handler="parole_media_list_remove_clicked_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">2</property>
                   </packing>
                 </child>
@@ -91,11 +128,13 @@
                     <property name="sensitive">False</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">True</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="image">image3</property>
-                    <signal name="clicked" handler="parole_media_list_media_up_clicked_cb"/>
+                    <signal name="clicked" handler="parole_media_list_media_up_clicked_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">3</property>
                   </packing>
                 </child>
@@ -105,11 +144,13 @@
                     <property name="sensitive">False</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">True</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="image">image4</property>
-                    <signal name="clicked" handler="parole_media_list_media_down_clicked_cb"/>
+                    <signal name="clicked" handler="parole_media_list_media_down_clicked_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">4</property>
                   </packing>
                 </child>
@@ -125,28 +166,10 @@
         </child>
       </object>
       <packing>
+        <property name="expand">True</property>
+        <property name="fill">True</property>
         <property name="position">0</property>
       </packing>
     </child>
   </object>
-  <object class="GtkImage" id="image1">
-    <property name="visible">True</property>
-    <property name="stock">gtk-add</property>
-  </object>
-  <object class="GtkImage" id="image5">
-    <property name="visible">True</property>
-    <property name="stock">gtk-save-as</property>
-  </object>
-  <object class="GtkImage" id="image2">
-    <property name="visible">True</property>
-    <property name="stock">gtk-remove</property>
-  </object>
-  <object class="GtkImage" id="image3">
-    <property name="visible">True</property>
-    <property name="stock">gtk-go-up</property>
-  </object>
-  <object class="GtkImage" id="image4">
-    <property name="visible">True</property>
-    <property name="stock">gtk-go-down</property>
-  </object>
 </interface>
diff --git a/src/parole-medialist.c b/src/parole-medialist.c
index d311863..f52c023 100644
--- a/src/parole-medialist.c
+++ b/src/parole-medialist.c
@@ -144,6 +144,14 @@ void		parole_media_list_close_save_dialog_cb (GtkButton *button,
 						    
 void		parole_media_list_save_playlist_cb     (GtkButton *button,
 						        ParolePlaylistSave *data);
+
+gboolean	parole_media_list_query_tooltip		(GtkWidget *widget,
+							 gint x,
+							 gint y,
+							 gboolean keyboard_mode,
+							 GtkTooltip *tip,
+							 ParoleMediaList *list);
+							 
 /*
  * End of GtkBuilder callbacks
  */
@@ -520,6 +528,59 @@ out:
     g_free (dirname);
 }
 
+
+gboolean	parole_media_list_query_tooltip		(GtkWidget *widget,
+							 gint x,
+							 gint y,
+							 gboolean keyboard_mode,
+							 GtkTooltip *tooltip,
+							 ParoleMediaList *list)
+
+{
+    GtkTreePath *path;
+    
+    if (gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (list->priv->view),
+				       x,
+				       y,
+				       &path,
+				       NULL,
+				       NULL,
+				       NULL))
+    {
+	GtkTreeIter iter;
+	
+	if ( path && gtk_tree_model_get_iter (GTK_TREE_MODEL (list->priv->store), &iter, path))
+        {
+	    ParoleFile *file;
+	    gchar *tip;
+	    gchar *name;
+	    gchar *len;
+	    
+	    gtk_tree_model_get (GTK_TREE_MODEL (list->priv->store), &iter,
+				DATA_COL, &file,
+				NAME_COL, &name,
+				LENGTH_COL, &len,
+				-1);
+	    
+	    tip = g_strdup_printf ("File: %s\nName: %s\nLength: %s", 
+				   parole_file_get_file_name (file),
+				   name,
+				   len);
+	    
+	    gtk_tooltip_set_text (tooltip, tip);
+	    g_free (tip);
+	    g_free (name);
+	    g_free (len);
+	    gtk_tree_path_free (path);
+	
+	    return TRUE;
+	}
+    }
+				   
+				   
+    return FALSE;
+}
+
 void parole_media_list_format_cursor_changed_cb (GtkTreeView *view, ParolePlaylistSave *data)
 {
     GtkTreeIter iter;



More information about the Xfce4-commits mailing list