[Goodies-commits] r6851 - in xfmpc/trunk: . src
Mike Massonnet
mmassonnet at xfce.org
Fri Mar 6 00:14:55 CET 2009
Author: mmassonnet
Date: 2009-03-05 23:14:55 +0000 (Thu, 05 Mar 2009)
New Revision: 6851
Modified:
xfmpc/trunk/ChangeLog
xfmpc/trunk/src/dbbrowser.c
xfmpc/trunk/src/extended-interface.c
xfmpc/trunk/src/extended-interface.h
xfmpc/trunk/src/playlist.c
xfmpc/trunk/src/preferences.h
Log:
Rework "API" in XfmpcExtendedInterface
Modified: xfmpc/trunk/ChangeLog
===================================================================
--- xfmpc/trunk/ChangeLog 2009-03-05 20:12:29 UTC (rev 6850)
+++ xfmpc/trunk/ChangeLog 2009-03-05 23:14:55 UTC (rev 6851)
@@ -1,5 +1,22 @@
2009-03-04 Mike Massonnet <mmassonnet at xfce.org>
+Rework "API" in XfmpcExtendedInterface
+ * src/extended-interface.[ch]:
+ - Rename xfmpc_preferences_dialog_show to cb_preferences
+ - Moved and simplified xfmpc_extended_interface_update_notebook to
+ xfmpc_extended_interface_set_active
+ - Declare an enum XfmpcExtendedInterfaceWidget to represent the
+ playlist and the dbbrowser useful for the new set_active function
+ * src/playlist.c(cb_browse_selection):
+ - Use new function xfmpc_extended_interface_set_active
+ * src/dbbrowser.c(popup_menu):
+ - Always display the "Browse" menu item on a search, and update the
+ sensitivity
+ * src/dbbrowser.c(cb_browse):
+ - Fix leak -- forgot to free the GtkTreePath and GList
+
+2009-03-04 Mike Massonnet <mmassonnet at xfce.org>
+
Fix in custom format
* src/preferences.[ch]:
- Put "Album - Title" at the second line
Modified: xfmpc/trunk/src/dbbrowser.c
===================================================================
--- xfmpc/trunk/src/dbbrowser.c 2009-03-05 20:12:29 UTC (rev 6850)
+++ xfmpc/trunk/src/dbbrowser.c 2009-03-05 23:14:55 UTC (rev 6851)
@@ -633,8 +633,11 @@
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->treeview));
count = gtk_tree_selection_count_selected_rows (selection);
- if (priv->is_searching && count == 1)
- gtk_widget_show (priv->mi_browse);
+ if (priv->is_searching)
+ {
+ gtk_widget_show (priv->mi_browse);
+ gtk_widget_set_sensitive (priv->mi_browse, count == 1 ? TRUE : FALSE);
+ }
else
gtk_widget_hide (priv->mi_browse);
@@ -674,6 +677,9 @@
g_free (filename);
g_free (dir);
}
+
+ g_list_foreach (list, (GFunc)gtk_tree_path_free, NULL);
+ g_list_free (list);
}
Modified: xfmpc/trunk/src/extended-interface.c
===================================================================
--- xfmpc/trunk/src/extended-interface.c 2009-03-05 20:12:29 UTC (rev 6850)
+++ xfmpc/trunk/src/extended-interface.c 2009-03-05 23:14:55 UTC (rev 6851)
@@ -57,7 +57,6 @@
static void xfmpc_extended_interface_context_menu_new (XfmpcExtendedInterface *extended_interface,
GtkWidget *attach_widget);
-static void xfmpc_preferences_dialog_show (XfmpcExtendedInterface *extended_interface);
static void cb_interface_changed (GtkComboBox *widget,
XfmpcExtendedInterface *extended_interface);
@@ -65,6 +64,7 @@
static void cb_random_switch (XfmpcExtendedInterface *extended_interface);
static void cb_context_menu_clicked (GtkToggleButton *button,
XfmpcExtendedInterface *extended_interface);
+static void cb_preferences (XfmpcExtendedInterface *extended_interface);
static void cb_context_menu_deactivate (GtkMenuShell *menu,
GtkWidget *attach_widget);
static void popup_context_menu (XfmpcExtendedInterface *extended_interface);
@@ -210,7 +210,8 @@
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), FALSE);
- /* Extended interface widgets */
+ /* Extended interface widgets ; added in the same order as the
+ * XfmpcExtendedInterfaceWidget enum */
GtkWidget *playlist = xfmpc_playlist_new ();
xfmpc_extended_interface_append_child (extended_interface, playlist, _("Current Playlist"));
@@ -278,6 +279,14 @@
gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (priv->notebook), child, TRUE, TRUE, GTK_PACK_START);
}
+void
+xfmpc_extended_interface_set_active (XfmpcExtendedInterface *extended_interface,
+ XfmpcExtendedInterfaceWidget active_widget)
+{
+ XfmpcExtendedInterfacePrivate *priv = extended_interface->priv;
+ gtk_combo_box_set_active (GTK_COMBO_BOX (priv->combobox), active_widget);
+}
+
static void
xfmpc_extended_interface_context_menu_new (XfmpcExtendedInterface *extended_interface,
GtkWidget *attach_widget)
@@ -311,38 +320,14 @@
mi = gtk_image_menu_item_new_with_label (_("Preferences"));
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), image);
g_signal_connect_swapped (mi, "activate",
- G_CALLBACK (xfmpc_preferences_dialog_show), extended_interface);
+ G_CALLBACK (cb_preferences), extended_interface);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
gtk_widget_show_all (menu);
}
-static void
-xfmpc_preferences_dialog_show (XfmpcExtendedInterface *extended_interface)
-{
- GtkWidget *dialog = xfmpc_preferences_dialog_new (NULL);
- gtk_widget_show (dialog);
-}
-void
-xfmpc_extended_interface_update_notebook (XfmpcExtendedInterface *extended_interface)
-{
- XfmpcExtendedInterfacePrivate *priv = XFMPC_EXTENDED_INTERFACE (extended_interface)->priv;
- if (gtk_combo_box_get_active (GTK_COMBO_BOX (priv->combobox)) == 1)
- {
- gtk_notebook_prev_page (GTK_NOTEBOOK (priv->notebook));
- gtk_combo_box_set_active (GTK_COMBO_BOX (priv->combobox), 0);
- }
- else if (gtk_combo_box_get_active (GTK_COMBO_BOX (priv->combobox)) == 0)
- {
- gtk_notebook_next_page (GTK_NOTEBOOK (priv->notebook));
- gtk_combo_box_set_active (GTK_COMBO_BOX (priv->combobox), 1);
- }
-}
-
-
-
static void
cb_interface_changed (GtkComboBox *widget,
XfmpcExtendedInterface *extended_interface)
@@ -389,6 +374,13 @@
}
static void
+cb_preferences (XfmpcExtendedInterface *extended_interface)
+{
+ GtkWidget *dialog = xfmpc_preferences_dialog_new (NULL);
+ gtk_widget_show (dialog);
+}
+
+static void
cb_context_menu_deactivate (GtkMenuShell *menu,
GtkWidget *attach_widget)
{
Modified: xfmpc/trunk/src/extended-interface.h
===================================================================
--- xfmpc/trunk/src/extended-interface.h 2009-03-05 20:12:29 UTC (rev 6850)
+++ xfmpc/trunk/src/extended-interface.h 2009-03-05 23:14:55 UTC (rev 6851)
@@ -21,6 +21,12 @@
G_BEGIN_DECLS
+typedef enum
+{
+ XFMPC_EXTENDED_INTERFACE_PLAYLIST,
+ XFMPC_EXTENDED_INTERFACE_DBBROWSER,
+} XfmpcExtendedInterfaceWidget;
+
#define XFMPC_TYPE_EXTENDED_INTERFACE (xfmpc_extended_interface_get_type())
#define XFMPC_EXTENDED_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XFMPC_TYPE_EXTENDED_INTERFACE, XfmpcExtendedInterface))
@@ -43,7 +49,8 @@
GtkWidget *child,
const gchar *title);
-void xfmpc_extended_interface_update_notebook (XfmpcExtendedInterface *extended_interface);
+void xfmpc_extended_interface_set_active (XfmpcExtendedInterface *extended_interface,
+ XfmpcExtendedInterfaceWidget active_widget);
G_END_DECLS
Modified: xfmpc/trunk/src/playlist.c
===================================================================
--- xfmpc/trunk/src/playlist.c 2009-03-05 20:12:29 UTC (rev 6850)
+++ xfmpc/trunk/src/playlist.c 2009-03-05 23:14:55 UTC (rev 6851)
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2008-2009 Mike Massonnet <mmassonnet at xfce.org>
+ * Copyright (c) 2009 Vincent Legout <vincent at xfce.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -634,9 +635,8 @@
dir = g_path_get_dirname (filename);
xfmpc_dbbrowser_set_wdir (dbbrowser, dir);
xfmpc_dbbrowser_reload (dbbrowser);
+ xfmpc_extended_interface_set_active (extended_interface, XFMPC_EXTENDED_INTERFACE_DBBROWSER);
- xfmpc_extended_interface_update_notebook (extended_interface);
-
g_free (filename);
g_free (dir);
}
Modified: xfmpc/trunk/src/preferences.h
===================================================================
--- xfmpc/trunk/src/preferences.h 2009-03-05 20:12:29 UTC (rev 6850)
+++ xfmpc/trunk/src/preferences.h 2009-03-05 23:14:55 UTC (rev 6851)
@@ -31,6 +31,7 @@
XFMPC_SONG_FORMAT_ARTIST_ALBUM_TRACK_TITLE,
XFMPC_SONG_FORMAT_CUSTOM,
} XfmpcSongFormat;
+
GType xfmpc_song_format_get_type () G_GNUC_CONST;
#define XFMPC_TYPE_SONG_FORMAT (xfmpc_song_format_get_type ())
More information about the Goodies-commits
mailing list