[Goodies-commits] r7670 - in xfmpc/trunk: . src
Vincent Legout
vincent at xfce.org
Sat Jul 4 15:25:26 CEST 2009
Author: vincent
Date: 2009-07-04 13:25:26 +0000 (Sat, 04 Jul 2009)
New Revision: 7670
Modified:
xfmpc/trunk/ChangeLog
xfmpc/trunk/src/dbbrowser.c
xfmpc/trunk/src/dbbrowser.vala
xfmpc/trunk/src/extended-interface.c
xfmpc/trunk/src/extended-interface.vala
xfmpc/trunk/src/mpdclient.c
xfmpc/trunk/src/mpdclient.h
xfmpc/trunk/src/mpdclient.vapi
xfmpc/trunk/src/playlist.c
xfmpc/trunk/src/playlist.vala
xfmpc/trunk/src/xfmpc.h
Log:
Move has_filename () function to playlist.vala
Modified: xfmpc/trunk/ChangeLog
===================================================================
--- xfmpc/trunk/ChangeLog 2009-07-04 12:12:11 UTC (rev 7669)
+++ xfmpc/trunk/ChangeLog 2009-07-04 13:25:26 UTC (rev 7670)
@@ -1,3 +1,7 @@
+2009-07-03 Vincent Legout <vincent at legout.info>
+
+Move has_filename () function to playlist.vala
+
2009-07-02 Vincent Legout <vincent at legout.info>
Add manpage. Thanks to Mauro Lizaur (bug #5016)
Modified: xfmpc/trunk/src/dbbrowser.c
===================================================================
--- xfmpc/trunk/src/dbbrowser.c 2009-07-04 12:12:11 UTC (rev 7669)
+++ xfmpc/trunk/src/dbbrowser.c 2009-07-04 13:25:26 UTC (rev 7670)
@@ -52,6 +52,16 @@
#define XFMPC_DBBROWSER_TYPE_COLUMNS (xfmpc_dbbrowser_columns_get_type ())
+#define XFMPC_TYPE_PLAYLIST (xfmpc_playlist_get_type ())
+#define XFMPC_PLAYLIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XFMPC_TYPE_PLAYLIST, XfmpcPlaylist))
+#define XFMPC_PLAYLIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XFMPC_TYPE_PLAYLIST, XfmpcPlaylistClass))
+#define XFMPC_IS_PLAYLIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XFMPC_TYPE_PLAYLIST))
+#define XFMPC_IS_PLAYLIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XFMPC_TYPE_PLAYLIST))
+#define XFMPC_PLAYLIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XFMPC_TYPE_PLAYLIST, XfmpcPlaylistClass))
+
+typedef struct _XfmpcPlaylist XfmpcPlaylist;
+typedef struct _XfmpcPlaylistClass XfmpcPlaylistClass;
+
struct _XfmpcDbbrowser {
GtkVBox parent_instance;
XfmpcDbbrowserPrivate * priv;
@@ -94,10 +104,12 @@
XFMPC_DBBROWSER_DUMMY_PROPERTY
};
static GType xfmpc_dbbrowser_columns_get_type (void);
+GType xfmpc_playlist_get_type (void);
static void xfmpc_dbbrowser_clear (XfmpcDbbrowser* self);
gboolean xfmpc_dbbrowser_wdir_is_root (XfmpcDbbrowser* self);
char* xfmpc_dbbrowser_get_parent_wdir (XfmpcDbbrowser* self);
void xfmpc_dbbrowser_append (XfmpcDbbrowser* self, const char* filename, const char* basename, gboolean is_dir, gboolean is_bold);
+gboolean xfmpc_playlist_has_filename (XfmpcPlaylist* self, const char* filename, gboolean is_dir);
void xfmpc_dbbrowser_reload (XfmpcDbbrowser* self);
void xfmpc_dbbrowser_set_wdir (XfmpcDbbrowser* self, const char* dir);
static void _g_list_free_gtk_tree_path_free (GList* self);
@@ -159,32 +171,38 @@
gboolean is_dir;
gboolean is_bold;
gint i;
+ XfmpcPlaylist* _tmp0_;
+ XfmpcPlaylist* playlist;
g_return_if_fail (self != NULL);
filename = g_strdup ("");
basename = g_strdup ("");
is_dir = FALSE;
is_bold = FALSE;
i = 0;
+ _tmp0_ = NULL;
+ playlist = (_tmp0_ = XFMPC_PLAYLIST (g_object_get_data ((GObject*) self, "XfmpcPlaylist")), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_));
if (!xfmpc_mpdclient_is_connected (self->priv->mpdclient)) {
filename = (g_free (filename), NULL);
basename = (g_free (basename), NULL);
+ (playlist == NULL) ? NULL : (playlist = (g_object_unref (playlist), NULL));
return;
}
if (self->priv->is_searching) {
filename = (g_free (filename), NULL);
basename = (g_free (basename), NULL);
+ (playlist == NULL) ? NULL : (playlist = (g_object_unref (playlist), NULL));
return;
}
xfmpc_dbbrowser_clear (self);
if (!xfmpc_dbbrowser_wdir_is_root (self)) {
- char* _tmp0_;
- _tmp0_ = NULL;
- filename = (_tmp0_ = xfmpc_dbbrowser_get_parent_wdir (self), filename = (g_free (filename), NULL), _tmp0_);
+ char* _tmp1_;
+ _tmp1_ = NULL;
+ filename = (_tmp1_ = xfmpc_dbbrowser_get_parent_wdir (self), filename = (g_free (filename), NULL), _tmp1_);
xfmpc_dbbrowser_append (self, filename, "..", TRUE, FALSE);
i++;
}
while (xfmpc_mpdclient_database_read (self->priv->mpdclient, self->priv->wdir, &filename, &basename, &is_dir)) {
- is_bold = xfmpc_mpdclient_playlist_has_filename (self->priv->mpdclient, filename, is_dir);
+ is_bold = xfmpc_playlist_has_filename (playlist, filename, is_dir);
xfmpc_dbbrowser_append (self, filename, basename, is_dir, is_bold);
if (g_utf8_collate (filename, self->priv->last_wdir) == 0) {
GtkTreePath* path;
@@ -199,6 +217,7 @@
}
filename = (g_free (filename), NULL);
basename = (g_free (basename), NULL);
+ (playlist == NULL) ? NULL : (playlist = (g_object_unref (playlist), NULL));
}
@@ -438,31 +457,37 @@
char* filename;
gboolean is_bold;
gboolean is_dir;
+ XfmpcPlaylist* _tmp1_;
+ XfmpcPlaylist* playlist;
g_return_if_fail (self != NULL);
_tmp0_ = NULL;
model = (_tmp0_ = (GtkTreeModel*) self->priv->store, (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_));
filename = g_strdup ("");
is_bold = FALSE;
is_dir = FALSE;
+ _tmp1_ = NULL;
+ playlist = (_tmp1_ = XFMPC_PLAYLIST (g_object_get_data ((GObject*) self, "XfmpcPlaylist")), (_tmp1_ == NULL) ? NULL : g_object_ref (_tmp1_));
if (!gtk_tree_model_get_iter_first (model, &iter)) {
(model == NULL) ? NULL : (model = (g_object_unref (model), NULL));
filename = (g_free (filename), NULL);
+ (playlist == NULL) ? NULL : (playlist = (g_object_unref (playlist), NULL));
return;
}
do {
- PangoWeight _tmp1_;
+ PangoWeight _tmp2_;
gtk_tree_model_get (model, &iter, XFMPC_DBBROWSER_COLUMNS_COLUMN_FILENAME, &filename, XFMPC_DBBROWSER_COLUMNS_COLUMN_IS_DIR, &is_dir, -1, -1);
- is_bold = xfmpc_mpdclient_playlist_has_filename (self->priv->mpdclient, filename, is_dir);
- _tmp1_ = 0;
+ is_bold = xfmpc_playlist_has_filename (playlist, filename, is_dir);
+ _tmp2_ = 0;
if (is_bold) {
- _tmp1_ = PANGO_WEIGHT_BOLD;
+ _tmp2_ = PANGO_WEIGHT_BOLD;
} else {
- _tmp1_ = PANGO_WEIGHT_NORMAL;
+ _tmp2_ = PANGO_WEIGHT_NORMAL;
}
- gtk_list_store_set (self->priv->store, &iter, XFMPC_DBBROWSER_COLUMNS_COLUMN_WEIGHT, _tmp1_, -1, -1);
+ gtk_list_store_set (self->priv->store, &iter, XFMPC_DBBROWSER_COLUMNS_COLUMN_WEIGHT, _tmp2_, -1, -1);
} while (gtk_tree_model_iter_next (model, &iter));
(model == NULL) ? NULL : (model = (g_object_unref (model), NULL));
filename = (g_free (filename), NULL);
+ (playlist == NULL) ? NULL : (playlist = (g_object_unref (playlist), NULL));
}
Modified: xfmpc/trunk/src/dbbrowser.vala
===================================================================
--- xfmpc/trunk/src/dbbrowser.vala 2009-07-04 12:12:11 UTC (rev 7669)
+++ xfmpc/trunk/src/dbbrowser.vala 2009-07-04 13:25:26 UTC (rev 7670)
@@ -136,6 +136,7 @@
string filename = "", basename = "";
bool is_dir = false, is_bold = false;
int i = 0;
+ Xfmpc.Playlist playlist = (Xfmpc.Playlist) get_data ("XfmpcPlaylist");
if (!this.mpdclient.is_connected ())
return;
@@ -151,7 +152,7 @@
}
while (this.mpdclient.database_read (wdir, &filename, &basename, &is_dir)) {
- is_bold = this.mpdclient.playlist_has_filename (filename, is_dir);
+ is_bold = playlist.has_filename (filename, is_dir);
append (filename, basename, is_dir, is_bold);
if (filename.collate (last_wdir) == 0) {
@@ -220,6 +221,7 @@
string filename = "", basename = "";
bool is_bold;
int i = 0;
+ Xfmpc.Playlist playlist = (Xfmpc.Playlist) get_data ("XfmpcPlaylist");
if (!this.mpdclient.is_connected ())
return;
@@ -228,7 +230,7 @@
clear ();
while (this.mpdclient.database_search (query, &filename, &basename)) {
- is_bold = this.mpdclient.playlist_has_filename (filename, false);
+ is_bold = playlist.has_filename (filename, false);
append (filename, basename, false, is_bold);
i++;
}
@@ -304,6 +306,7 @@
Gtk.TreeIter iter;
string filename = "";
bool is_bold = false, is_dir = false;
+ Xfmpc.Playlist playlist = (Xfmpc.Playlist) get_data ("XfmpcPlaylist");
if (!model.get_iter_first (out iter))
return;
@@ -314,7 +317,7 @@
Columns.COLUMN_IS_DIR, out is_dir,
-1);
- is_bold = this.mpdclient.playlist_has_filename (filename, is_dir);
+ is_bold = playlist.has_filename (filename, is_dir);
store.set (iter,
Columns.COLUMN_WEIGHT,
is_bold ? Pango.Weight.BOLD : Pango.Weight.NORMAL,
Modified: xfmpc/trunk/src/extended-interface.c
===================================================================
--- xfmpc/trunk/src/extended-interface.c 2009-07-04 12:12:11 UTC (rev 7669)
+++ xfmpc/trunk/src/extended-interface.c 2009-07-04 13:25:26 UTC (rev 7670)
@@ -519,6 +519,7 @@
dbbrowser = GTK_WIDGET (g_object_ref_sink (xfmpc_dbbrowser_new ()));
xfmpc_extended_interface_append_child (self, dbbrowser, _ ("Browse database"));
g_object_set_data ((GObject*) playlist, "XfmpcDbbrowser", dbbrowser);
+ g_object_set_data ((GObject*) dbbrowser, "XfmpcPlaylist", playlist);
g_object_set_data ((GObject*) playlist, "XfmpcExtendedInterface", self);
(hbox == NULL) ? NULL : (hbox = (g_object_unref (hbox), NULL));
(button == NULL) ? NULL : (button = (g_object_unref (button), NULL));
Modified: xfmpc/trunk/src/extended-interface.vala
===================================================================
--- xfmpc/trunk/src/extended-interface.vala 2009-07-04 12:12:11 UTC (rev 7669)
+++ xfmpc/trunk/src/extended-interface.vala 2009-07-04 13:25:26 UTC (rev 7670)
@@ -95,6 +95,7 @@
append_child (dbbrowser, _("Browse database"));
playlist.set_data ("XfmpcDbbrowser", dbbrowser);
+ dbbrowser.set_data ("XfmpcPlaylist", playlist);
playlist.set_data ("XfmpcExtendedInterface", this);
}
Modified: xfmpc/trunk/src/mpdclient.c
===================================================================
--- xfmpc/trunk/src/mpdclient.c 2009-07-04 12:12:11 UTC (rev 7669)
+++ xfmpc/trunk/src/mpdclient.c 2009-07-04 13:25:26 UTC (rev 7670)
@@ -782,48 +782,8 @@
return seconds;
}
-gboolean
-xfmpc_mpdclient_playlist_has_filename (XfmpcMpdclient *mpdclient,
- const gchar *filename,
- gboolean is_dir)
-{
- XfmpcMpdclientPrivate *priv = mpdclient->priv;
- MpdData *data;
- gchar *basename;
- gint id;
- gboolean found = FALSE;
- if (is_dir && strcmp (filename, ""))
- {
- while (xfmpc_mpdclient_playlist_read (mpdclient, &id, NULL, &basename, NULL, NULL))
- {
- if (g_str_has_prefix (basename, filename))
- found = TRUE;
- g_free (basename);
- }
-
- if (found)
- return TRUE;
- }
- else
- {
- mpd_playlist_search_start (priv->mi, TRUE);
- mpd_playlist_search_add_constraint (priv->mi, MPD_TAG_ITEM_FILENAME, filename);
- data = mpd_playlist_search_commit (priv->mi);
-
- if (data != NULL)
- {
- mpd_data_free (data);
- return TRUE;
- }
- }
-
- return FALSE;
-}
-
-
-
gboolean
xfmpc_mpdclient_database_refresh (XfmpcMpdclient *mpdclient)
{
Modified: xfmpc/trunk/src/mpdclient.h
===================================================================
--- xfmpc/trunk/src/mpdclient.h 2009-07-04 12:12:11 UTC (rev 7669)
+++ xfmpc/trunk/src/mpdclient.h 2009-07-04 13:25:26 UTC (rev 7670)
@@ -104,9 +104,6 @@
gboolean xfmpc_mpdclient_playlist_clear (XfmpcMpdclient *mpdclient);
gint xfmpc_mpdclient_playlist_get_length (XfmpcMpdclient *mpdclient);
gint xfmpc_mpdclient_playlist_get_total_time (XfmpcMpdclient *mpdclient);
-gboolean xfmpc_mpdclient_playlist_has_filename (XfmpcMpdclient *mpdclient,
- const gchar *filename,
- gboolean is_dir);
gboolean xfmpc_mpdclient_database_refresh (XfmpcMpdclient *mpdclient);
gboolean xfmpc_mpdclient_database_read (XfmpcMpdclient *mpdclient,
Modified: xfmpc/trunk/src/mpdclient.vapi
===================================================================
--- xfmpc/trunk/src/mpdclient.vapi 2009-07-04 12:12:11 UTC (rev 7669)
+++ xfmpc/trunk/src/mpdclient.vapi 2009-07-04 13:25:26 UTC (rev 7670)
@@ -32,7 +32,6 @@
public bool playlist_clear ();
public int playlist_get_length ();
public int playlist_get_total_time ();
- public bool playlist_has_filename (string filename, bool is_dir);
public bool playlist_read (int *id, int *pos, string *filename, string *song, string *length);
public bool pp ();
public bool previous ();
Modified: xfmpc/trunk/src/playlist.c
===================================================================
--- xfmpc/trunk/src/playlist.c 2009-07-04 12:12:11 UTC (rev 7669)
+++ xfmpc/trunk/src/playlist.c 2009-07-04 13:25:26 UTC (rev 7670)
@@ -159,6 +159,7 @@
static void xfmpc_playlist_cb_filter_entry_activated (XfmpcPlaylist* self);
static gboolean xfmpc_playlist_cb_filter_entry_key_released (XfmpcPlaylist* self, const GdkEventKey* event);
static void xfmpc_playlist_cb_filter_entry_changed (XfmpcPlaylist* self);
+gboolean xfmpc_playlist_has_filename (XfmpcPlaylist* self, const char* filename, gboolean is_dir);
XfmpcPlaylist* xfmpc_playlist_new (void);
XfmpcPlaylist* xfmpc_playlist_construct (GType object_type);
XfmpcPlaylist* xfmpc_playlist_new (void);
@@ -656,6 +657,37 @@
}
+gboolean xfmpc_playlist_has_filename (XfmpcPlaylist* self, const char* filename, gboolean is_dir) {
+ GtkTreeIter iter = {0};
+ GtkTreePath* path;
+ char* name;
+ GtkTreePath* _tmp0_;
+ gboolean _tmp3_;
+ g_return_val_if_fail (self != NULL, FALSE);
+ g_return_val_if_fail (filename != NULL, FALSE);
+ path = NULL;
+ name = g_strdup ("");
+ _tmp0_ = NULL;
+ path = (_tmp0_ = gtk_tree_path_new_from_indices (0, -1, -1), (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)), _tmp0_);
+ while (gtk_tree_model_get_iter ((GtkTreeModel*) self->priv->store, &iter, path)) {
+ gtk_tree_model_get ((GtkTreeModel*) self->priv->store, &iter, XFMPC_PLAYLIST_COLUMNS_COLUMN_FILENAME, &name, -1, -1);
+ if (is_dir) {
+ if (g_str_has_prefix (name, filename)) {
+ gboolean _tmp1_;
+ return (_tmp1_ = TRUE, (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)), name = (g_free (name), NULL), _tmp1_);
+ }
+ } else {
+ if (_vala_strcmp0 (name, filename) == 0) {
+ gboolean _tmp2_;
+ return (_tmp2_ = TRUE, (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)), name = (g_free (name), NULL), _tmp2_);
+ }
+ }
+ gtk_tree_path_next (path);
+ }
+ return (_tmp3_ = FALSE, (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)), name = (g_free (name), NULL), _tmp3_);
+}
+
+
XfmpcPlaylist* xfmpc_playlist_construct (GType object_type) {
XfmpcPlaylist * self;
self = g_object_newv (object_type, 0, NULL);
Modified: xfmpc/trunk/src/playlist.vala
===================================================================
--- xfmpc/trunk/src/playlist.vala 2009-07-04 12:12:11 UTC (rev 7669)
+++ xfmpc/trunk/src/playlist.vala 2009-07-04 13:25:26 UTC (rev 7670)
@@ -403,6 +403,29 @@
this.mpdclient.queue_commit ();
}
+
+ public bool has_filename (string filename, bool is_dir) {
+ Gtk.TreeIter iter;
+ Gtk.TreePath path;
+ string name = "";
+
+ path = new Gtk.TreePath.from_indices (0, -1);
+ while (this.store.get_iter (out iter, path)) {
+ this.store.get (iter, Columns.COLUMN_FILENAME, out name, -1);
+
+ if (is_dir) {
+ if (name.has_prefix (filename))
+ return true;
+ } else {
+ if (name == filename)
+ return true;
+ }
+
+ path.next ();
+ }
+
+ return false;
+ }
}
}
Modified: xfmpc/trunk/src/xfmpc.h
===================================================================
--- xfmpc/trunk/src/xfmpc.h 2009-07-04 12:12:11 UTC (rev 7669)
+++ xfmpc/trunk/src/xfmpc.h 2009-07-04 13:25:26 UTC (rev 7670)
@@ -258,6 +258,7 @@
void xfmpc_playlist_refresh_current_song (XfmpcPlaylist* self);
void xfmpc_playlist_select_row (XfmpcPlaylist* self, gint i);
void xfmpc_playlist_delete_selection (XfmpcPlaylist* self);
+gboolean xfmpc_playlist_has_filename (XfmpcPlaylist* self, const char* filename, gboolean is_dir);
XfmpcPlaylist* xfmpc_playlist_new (void);
XfmpcPlaylist* xfmpc_playlist_construct (GType object_type);
GType xfmpc_preferences_get_type (void);
More information about the Goodies-commits
mailing list