[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