gnome-media r4065 - in trunk/gnome-volume-control: . src
- From: mccann svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-media r4065 - in trunk/gnome-volume-control: . src
- Date: Tue, 18 Nov 2008 21:31:08 +0000 (UTC)
Author: mccann
Date: Tue Nov 18 21:31:08 2008
New Revision: 4065
URL: http://svn.gnome.org/viewvc/gnome-media?rev=4065&view=rev
Log:
2008-11-18 William Jon McCann <jmccann redhat com>
* src/gvc-mixer-dialog.c (create_stream_treeview):
* src/gvc-sound-theme-chooser.c (play_sound_at_path),
(activatable_cell_renderer_pixbuf_activate),
(setup_theme_custom_selector), (on_treeview_row_activated),
(gvc_sound_theme_chooser_init):
Hide treeview headers. Make double click on tree rows
play sound preview.
Modified:
trunk/gnome-volume-control/ChangeLog
trunk/gnome-volume-control/src/gvc-mixer-dialog.c
trunk/gnome-volume-control/src/gvc-sound-theme-chooser.c
Modified: trunk/gnome-volume-control/src/gvc-mixer-dialog.c
==============================================================================
--- trunk/gnome-volume-control/src/gvc-mixer-dialog.c (original)
+++ trunk/gnome-volume-control/src/gvc-mixer-dialog.c Tue Nov 18 21:31:08 2008
@@ -540,7 +540,7 @@
GtkTreeViewColumn *column;
treeview = gtk_tree_view_new ();
- gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), TRUE);
+ gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE);
store = gtk_list_store_new (NUM_COLUMNS,
G_TYPE_STRING,
Modified: trunk/gnome-volume-control/src/gvc-sound-theme-chooser.c
==============================================================================
--- trunk/gnome-volume-control/src/gvc-sound-theme-chooser.c (original)
+++ trunk/gnome-volume-control/src/gvc-sound-theme-chooser.c Tue Nov 18 21:31:08 2008
@@ -602,7 +602,7 @@
play_sound_preview (GtkFileChooser *chooser,
gpointer user_data)
{
- char *filename;
+ char *filename;
ca_context *ctx;
filename = gtk_file_chooser_get_preview_filename (GTK_FILE_CHOOSER (chooser));
@@ -970,73 +970,41 @@
static gboolean
play_sound_at_path (GtkWidget *tree_view,
- GtkTreeViewColumn *column,
GtkTreePath *path)
{
- GObject *preview_column;
-
- preview_column = g_object_get_data (G_OBJECT (tree_view), "preview-column");
- if (column == (GtkTreeViewColumn *) preview_column) {
- GtkTreeModel *model;
- GtkTreeIter iter;
- char **sound_names;
- gboolean sensitive;
- ca_context *ctx;
-
- model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view));
- if (gtk_tree_model_get_iter (model, &iter, path) == FALSE) {
- return FALSE;
- }
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ char **sound_names;
+ gboolean sensitive;
+ ca_context *ctx;
+
+ model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view));
+ if (gtk_tree_model_get_iter (model, &iter, path) == FALSE) {
+ return FALSE;
+ }
- gtk_tree_model_get (model, &iter,
- SOUND_NAMES_COL, &sound_names,
- SENSITIVE_COL, &sensitive, -1);
- if (!sensitive || sound_names == NULL) {
- return FALSE;
- }
+ gtk_tree_model_get (model, &iter,
+ SOUND_NAMES_COL, &sound_names,
+ SENSITIVE_COL, &sensitive,
+ -1);
+ if (!sensitive || sound_names == NULL) {
+ return FALSE;
+ }
- ctx = ca_gtk_context_get ();
- ca_gtk_play_for_widget (GTK_WIDGET (tree_view), 0,
- CA_PROP_APPLICATION_NAME, _("Sound Preferences"),
- CA_PROP_EVENT_ID, sound_names[0],
- CA_PROP_EVENT_DESCRIPTION, _("Testing event sound"),
- CA_PROP_CANBERRA_CACHE_CONTROL, "never",
+ ctx = ca_gtk_context_get ();
+ ca_gtk_play_for_widget (GTK_WIDGET (tree_view), 0,
+ CA_PROP_APPLICATION_NAME, _("Sound Preferences"),
+ CA_PROP_EVENT_ID, sound_names[0],
+ CA_PROP_EVENT_DESCRIPTION, _("Testing event sound"),
+ CA_PROP_CANBERRA_CACHE_CONTROL, "never",
#ifdef CA_PROP_CANBERRA_ENABLE
- CA_PROP_CANBERRA_ENABLE, "1",
+ CA_PROP_CANBERRA_ENABLE, "1",
#endif
- NULL);
-
- g_strfreev (sound_names);
-
- return TRUE;
- }
- return FALSE;
-}
-
-static gboolean
-on_treeview_button_press_event (GtkWidget *tree_view,
- GdkEventButton *event,
- GvcSoundThemeChooser *chooser)
-{
- GtkTreePath *path;
- GtkTreeViewColumn *column;
- GdkEventButton *button_event = (GdkEventButton *) event;
- gboolean res;
-
- res = FALSE;
-
- if (event->type != GDK_BUTTON_PRESS) {
- return TRUE;
- }
+ NULL);
- if (gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (tree_view),
- button_event->x, button_event->y,
- &path, &column, NULL, NULL)) {
- res = play_sound_at_path (tree_view, column, path);
- gtk_tree_path_free (path);
- }
+ g_strfreev (sound_names);
- return res;
+ return TRUE;
}
static void
@@ -1101,13 +1069,13 @@
GdkRectangle *cell_area,
GtkCellRendererState flags)
{
- GtkTreeViewColumn *preview_column;
GtkTreePath *path;
- gboolean res;
+ gboolean res;
+
+ g_debug ("Activating pixbuf");
- preview_column = g_object_get_data (G_OBJECT (widget), "preview-column");
path = gtk_tree_path_new_from_string (path_string);
- res = play_sound_at_path (widget, preview_column, path);
+ res = play_sound_at_path (widget, path);
gtk_tree_path_free (path);
return res;
@@ -1205,11 +1173,6 @@
gtk_tree_view_set_model (GTK_TREE_VIEW (chooser->priv->treeview), GTK_TREE_MODEL (store));
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (chooser->priv->treeview), FALSE);
- g_signal_connect (chooser->priv->treeview,
- "button-press-event",
- G_CALLBACK (on_treeview_button_press_event),
- chooser);
-
/* Fill in the model */
type = CATEGORY_INVALID;
@@ -1336,6 +1299,16 @@
}
static void
+on_treeview_row_activated (GtkTreeView *treeview,
+ GtkTreePath *path,
+ GtkTreeViewColumn *column,
+ GvcSoundThemeChooser *chooser)
+{
+ g_debug ("row activated");
+ play_sound_at_path (GTK_WIDGET (treeview), path);
+}
+
+static void
gvc_sound_theme_chooser_init (GvcSoundThemeChooser *chooser)
{
GtkWidget *box;
@@ -1361,6 +1334,11 @@
gtk_box_pack_start (GTK_BOX (chooser), box, TRUE, TRUE, 0);
chooser->priv->treeview = gtk_tree_view_new ();
+ g_signal_connect (chooser->priv->treeview,
+ "row-activated",
+ G_CALLBACK (on_treeview_row_activated),
+ chooser);
+
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
GTK_POLICY_NEVER,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]