commit 329cf31c79f177c51739d55ca820fa7d99dbbc82
Author: phantomjinx <p.g.richard...@phantomjinx.co.uk>
Date:   Sun Sep 11 00:42:23 2011 +0100

    Tidy up some function and variables
    
    * clarity_utils.*
     * Since these functions are being called externally then rename them to
       the full namespace.
     * Refactor the process of signalling a track update to a single function
       so it can be reused.
    
    * clarity_canvas.c
     * Change the _set_loading_complete function to the clearer
       clarity_canvas_block_change
     * Rename all references of ccanvas / cc to self since this is the file we
       are in.

 plugins/clarity/album_model.c     |    2 +-
 plugins/clarity/clarity_canvas.c  |  101 ++++++++++++++++--------------------
 plugins/clarity/clarity_canvas.h  |    6 ++-
 plugins/clarity/clarity_preview.c |   11 +----
 plugins/clarity/clarity_utils.c   |   32 +++++++++++-
 plugins/clarity/clarity_utils.h   |   17 +++++--
 plugins/clarity/clarity_widget.c  |    8 ++--
 7 files changed, 98 insertions(+), 79 deletions(-)
---
diff --git a/plugins/clarity/album_model.c b/plugins/clarity/album_model.c
index 507cd0e..41675fb 100644
--- a/plugins/clarity/album_model.c
+++ b/plugins/clarity/album_model.c
@@ -333,7 +333,7 @@ void album_model_init_coverart(AlbumModel *model, AlbumItem 
*item) {
         item->albumart = NULL;
     }
 
-    item->albumart = _get_track_image(track);
+    item->albumart = clarity_util_get_track_image(track);
 }
 
 AlbumItem *album_model_get_item_with_index(AlbumModel *model, gint index) {
diff --git a/plugins/clarity/clarity_canvas.c b/plugins/clarity/clarity_canvas.c
index 865a114..ba71c9c 100644
--- a/plugins/clarity/clarity_canvas.c
+++ b/plugins/clarity/clarity_canvas.c
@@ -67,7 +67,7 @@ struct _ClarityCanvasPrivate {
 
     gulong preview_signal;
 
-    gboolean loading_complete;
+    gboolean blocked;
 };
 
 enum DIRECTION {
@@ -132,14 +132,23 @@ static void _update_text(ClarityCanvasPrivate *priv) {
     clutter_actor_set_position(priv->title_text, titlex, titley);
 }
 
-static void _set_loading_complete(ClarityCanvasPrivate *priv, gboolean value) {
-    priv->loading_complete = value;
+void clarity_canvas_block_change(ClarityCanvas *self, gboolean value) {
+    g_return_if_fail(self);
+
+    ClarityCanvasPrivate *priv = CLARITY_CANVAS_GET_PRIVATE(self);
+    priv->blocked = value;
 
-    if (value) {
+    if (!value) {
         _update_text(priv);
     }
 }
 
+gboolean clarity_canvas_is_blocked(ClarityCanvas *self) {
+    g_return_val_if_fail(self, TRUE);
+    ClarityCanvasPrivate *priv = CLARITY_CANVAS_GET_PRIVATE(self);
+    return priv->blocked;
+}
+
 static void _preview_cover(ClarityCanvasPrivate *priv) {
     if (!priv->model)
         return;
@@ -164,8 +173,8 @@ static void _preview_cover(ClarityCanvasPrivate *priv) {
  *
  */
 static gint _on_main_cover_image_clicked_cb(GtkWidget *widget, GdkEvent 
*event, gpointer data) {
-    ClarityCanvas *ccanvas = CLARITY_CANVAS(widget);
-    ClarityCanvasPrivate *priv = ccanvas->priv;
+    ClarityCanvas *self = CLARITY_CANVAS(widget);
+    ClarityCanvasPrivate *priv = self->priv;
     guint mbutton;
 
     if (event->type != GDK_BUTTON_PRESS)
@@ -174,14 +183,14 @@ static gint _on_main_cover_image_clicked_cb(GtkWidget 
*widget, GdkEvent *event,
     mbutton = event->button.button;
 
     if ((mbutton == 1) && (event->button.state & GDK_SHIFT_MASK)) {
-        _set_loading_complete(priv, FALSE);
+        clarity_canvas_block_change(self, TRUE);
 
         AlbumItem *item = album_model_get_item_with_index(priv->model, 
priv->curr_index);
         if (item) {
             gtkpod_set_displayed_tracks(item->tracks);
         }
 
-        _set_loading_complete(priv, TRUE);
+        clarity_canvas_block_change(self, FALSE);
     }
     else if (mbutton == 1) {
         _preview_cover(priv);
@@ -198,7 +207,7 @@ static gint _on_main_cover_image_clicked_cb(GtkWidget 
*widget, GdkEvent *event,
         /* Right mouse button clicked on its own so display
          * popup menu
          */
-        clarity_context_menu_init(ccanvas);
+        clarity_context_menu_init(self);
     }
 
     return FALSE;
@@ -270,7 +279,7 @@ static void clarity_canvas_init(ClarityCanvas *self) {
     priv->timeline = clutter_timeline_new(1600);
     priv->alpha = clutter_alpha_new_full(priv->timeline, 
CLUTTER_EASE_OUT_EXPO);
     priv->curr_index = 0;
-    priv->loading_complete = FALSE;
+    priv->blocked = FALSE;
 
 }
 
@@ -453,8 +462,6 @@ static void _set_cover_position(ClarityCover *ccover, gint 
index) {
 static gboolean _create_cover_actors(ClarityCanvasPrivate *priv, AlbumItem 
*album_item, gint index) {
     g_return_val_if_fail(priv, FALSE);
 
-    _set_loading_complete(priv, FALSE);
-
     ClarityCover *ccover = clarity_cover_new();
     clutter_actor_set_opacity(CLUTTER_ACTOR(ccover), 0);
     priv->covers = g_list_insert(priv->covers, ccover, index);
@@ -469,7 +476,6 @@ static gboolean _create_cover_actors(ClarityCanvasPrivate 
*priv, AlbumItem *albu
 
     if((priv->curr_index + VISIBLE_ITEMS < index) ||
             (priv->curr_index - VISIBLE_ITEMS > index)) {
-        _set_loading_complete(priv, TRUE);
         return FALSE;
     }
 
@@ -497,19 +503,19 @@ static gboolean _create_cover_actors(ClarityCanvasPrivate 
*priv, AlbumItem *albu
 
     _display_clarity_cover(ccover, index);
 
-    _set_loading_complete(priv, TRUE);
-
     return FALSE;
 }
 
 void _init_album_item(gpointer value, gint index, gpointer user_data) {
     AlbumItem *item = (AlbumItem *) value;
-    ClarityCanvas *cc = CLARITY_CANVAS(user_data);
-    ClarityCanvasPrivate *priv = CLARITY_CANVAS_GET_PRIVATE(cc);
+    ClarityCanvas *self = CLARITY_CANVAS(user_data);
+    ClarityCanvasPrivate *priv = CLARITY_CANVAS_GET_PRIVATE(self);
 
     album_model_init_coverart(priv->model, item);
 
+    clarity_canvas_block_change(self, TRUE);
     _create_cover_actors(priv, item, index);
+    clarity_canvas_block_change(self, FALSE);
 }
 
 void _destroy_cover(ClarityCanvas *cc, gint index) {
@@ -632,8 +638,6 @@ static void _restore_z_order(ClarityCanvasPrivate *priv) {
 
 static void _move(ClarityCanvasPrivate *priv, enum DIRECTION direction, gint 
increment) {
 
-    _set_loading_complete(priv, FALSE);
-
     /* Stop any animation */
     clutter_timeline_stop(priv->timeline);
 
@@ -649,8 +653,6 @@ static void _move(ClarityCanvasPrivate *priv, enum 
DIRECTION direction, gint inc
     priv->curr_index += ((direction * -1) * increment);
 
     _restore_z_order(priv);
-
-    _set_loading_complete(priv, TRUE);
 }
 
 void clarity_canvas_move_left(ClarityCanvas *self, gint increment) {
@@ -660,7 +662,9 @@ void clarity_canvas_move_left(ClarityCanvas *self, gint 
increment) {
     if(priv->curr_index == g_list_length(priv->covers) - 1)
         return;
 
+    clarity_canvas_block_change(self, TRUE);
     _move(priv, MOVE_LEFT, increment);
+    clarity_canvas_block_change(self, FALSE);
 }
 
 void clarity_canvas_move_right(ClarityCanvas *self, gint increment) {
@@ -670,7 +674,9 @@ void clarity_canvas_move_right(ClarityCanvas *self, gint 
increment) {
     if(priv->curr_index == 0)
         return;
 
+    clarity_canvas_block_change(self, TRUE);
     _move(priv, MOVE_RIGHT, increment);
+    clarity_canvas_block_change(self, FALSE);
 }
 
 gint clarity_canvas_get_current_index(ClarityCanvas *self) {
@@ -680,10 +686,14 @@ gint clarity_canvas_get_current_index(ClarityCanvas 
*self) {
     return priv->curr_index;
 }
 
-gboolean clarity_canvas_is_loading(ClarityCanvas *self) {
-    g_return_val_if_fail(self, FALSE);
+AlbumItem *clarity_canvas_get_current_album_item(ClarityCanvas *self) {
+    g_return_val_if_fail(self, NULL);
     ClarityCanvasPrivate *priv = CLARITY_CANVAS_GET_PRIVATE(self);
-    return !priv->loading_complete;
+
+    if (!priv->model)
+        return NULL;
+
+    return album_model_get_item_with_index(priv->model, priv->curr_index);
 }
 
 void clarity_canvas_add_album_item(ClarityCanvas *self, AlbumItem *item) {
@@ -693,13 +703,13 @@ void clarity_canvas_add_album_item(ClarityCanvas *self, 
AlbumItem *item) {
     ClarityCanvasPrivate *priv = CLARITY_CANVAS_GET_PRIVATE(self);
     gint index = album_model_get_index_with_album_item(priv->model, item);
 
-    _set_loading_complete(priv, FALSE);
+    clarity_canvas_block_change(self, TRUE);
 
     _init_album_item(item, index, self);
 
     _animate_indices(priv, 0, 0);
 
-    _set_loading_complete(priv, TRUE);
+    clarity_canvas_block_change(self, FALSE);
 }
 
 void clarity_canvas_remove_album_item(ClarityCanvas *self, AlbumItem *item) {
@@ -709,23 +719,23 @@ void clarity_canvas_remove_album_item(ClarityCanvas 
*self, AlbumItem *item) {
     ClarityCanvasPrivate *priv = CLARITY_CANVAS_GET_PRIVATE(self);
     gint index = album_model_get_index_with_album_item(priv->model, item);
 
-    _set_loading_complete(priv, FALSE);
+    clarity_canvas_block_change(self, TRUE);
 
     _destroy_cover(self, index);
 
     _animate_indices(priv, 0, 0);
 
-    _set_loading_complete(priv, TRUE);
+    clarity_canvas_block_change(self, FALSE);
 }
 
-void clarity_canvas_update(ClarityCanvas *cc, AlbumItem *item) {
-    g_return_if_fail(cc);
+void clarity_canvas_update(ClarityCanvas *self, AlbumItem *item) {
+    g_return_if_fail(self);
 
-    ClarityCanvasPrivate *priv = CLARITY_CANVAS_GET_PRIVATE(cc);
+    ClarityCanvasPrivate *priv = CLARITY_CANVAS_GET_PRIVATE(self);
 
     gint index = album_model_get_index_with_album_item(priv->model, item);
 
-    _set_loading_complete(priv, FALSE);
+    clarity_canvas_block_change(self, TRUE);
 
     album_model_init_coverart(priv->model, item);
 
@@ -739,7 +749,7 @@ void clarity_canvas_update(ClarityCanvas *cc, AlbumItem 
*item) {
 
     _animate_indices(priv, 0, 0);
 
-    _set_loading_complete(priv, TRUE);
+    clarity_canvas_block_change(self, FALSE);
 }
 
 static void _set_cover_from_file(ClarityCanvas *self) {
@@ -747,32 +757,11 @@ static void _set_cover_from_file(ClarityCanvas *self) {
 
     ClarityCanvasPrivate *priv = CLARITY_CANVAS_GET_PRIVATE(self);
 
-    gchar *filename;
-    Track *track;
-    GList *tracks;
-
-    filename = fileselection_get_cover_filename();
+    gchar *filename = fileselection_get_cover_filename();
 
     if (filename) {
         AlbumItem *item = album_model_get_item_with_index(priv->model, 
priv->curr_index);
-        tracks = g_list_copy(item->tracks);
-
-        while (tracks) {
-            track = tracks->data;
-
-            if (gp_track_set_thumbnails(track, filename)) {
-                ExtraTrackData *etd;
-                etd = track->userdata;
-                etd->tartwork_changed = TRUE;
-
-                gtkpod_track_updated(track);
-                data_changed(track->itdb);
-
-                etd->tartwork_changed = FALSE;
-            }
-
-            tracks = tracks->next;
-        }
+        clarity_util_update_coverart(item->tracks, filename);
     }
 
     g_free(filename);
diff --git a/plugins/clarity/clarity_canvas.h b/plugins/clarity/clarity_canvas.h
index e5bc41b..60ae2b9 100644
--- a/plugins/clarity/clarity_canvas.h
+++ b/plugins/clarity/clarity_canvas.h
@@ -86,7 +86,11 @@ void clarity_canvas_move_right(ClarityCanvas *self, gint 
increment);
 
 gint clarity_canvas_get_current_index(ClarityCanvas *self);
 
-gboolean clarity_canvas_is_loading(ClarityCanvas *self);
+AlbumItem *clarity_canvas_get_current_album_item(ClarityCanvas *self);
+
+void clarity_canvas_block_change(ClarityCanvas *self, gboolean value);
+
+gboolean clarity_canvas_is_blocked(ClarityCanvas *self);
 
 void clarity_canvas_add_album_item(ClarityCanvas *self, AlbumItem *item);
 
diff --git a/plugins/clarity/clarity_preview.c 
b/plugins/clarity/clarity_preview.c
index 8c18c80..f61b3b1 100644
--- a/plugins/clarity/clarity_preview.c
+++ b/plugins/clarity/clarity_preview.c
@@ -46,19 +46,10 @@ struct _ClarityPreviewPrivate {
 
 };
 
-static void clarity_preview_finalize(GObject *gobject) {
-    ClarityPreviewPrivate *priv = CLARITY_PREVIEW(gobject)->priv;
-
-
-    /* call the parent class' finalize() method */
-    G_OBJECT_CLASS(clarity_preview_parent_class)->finalize(gobject);
-}
-
 static void clarity_preview_class_init(ClarityPreviewClass *klass) {
     GObjectClass *gobject_class;
 
     gobject_class = G_OBJECT_CLASS (klass);
-    gobject_class->finalize = clarity_preview_finalize;
 
     g_type_class_add_private(klass, sizeof(ClarityPreviewPrivate));
 }
@@ -129,7 +120,7 @@ static GdkPixbuf *_get_album_artwork(AlbumItem *item) {
      */
     if (!imgbuf) {
         /* Could not get a viable thumbnail so get default pixbuf */
-        imgbuf = get_default_track_image(400);
+        imgbuf = clarity_util_get_default_track_image(400);
     }
 
     return imgbuf;
diff --git a/plugins/clarity/clarity_utils.c b/plugins/clarity/clarity_utils.c
index fc17187..c974bf5 100644
--- a/plugins/clarity/clarity_utils.c
+++ b/plugins/clarity/clarity_utils.c
@@ -30,6 +30,7 @@
 #define CLARITY_UTILS_C_
 
 #include "clarity_utils.h"
+#include "libgtkpod/file.h"
 
 /**
  * _get_default_track_image:
@@ -39,7 +40,7 @@
  * Returns:
  * pixbuf of the default file for tracks with no cover art.
  */
-GdkPixbuf *get_default_track_image(gint default_img_size) {
+GdkPixbuf *clarity_util_get_default_track_image(gint default_img_size) {
     GdkPixbuf *pixbuf = NULL;
     GdkPixbuf *scaled = NULL;
     GError *error = NULL;
@@ -56,7 +57,7 @@ GdkPixbuf *get_default_track_image(gint default_img_size) {
     return scaled;
 }
 
-GdkPixbuf *_get_track_image(Track *track) {
+GdkPixbuf *clarity_util_get_track_image(Track *track) {
     GdkPixbuf *pixbuf = NULL;
     ExtraTrackData *etd;
 
@@ -69,10 +70,35 @@ GdkPixbuf *_get_track_image(Track *track) {
 
     if (!pixbuf) {
         /* Could not get a viable thumbnail so get default pixbuf */
-        pixbuf = get_default_track_image(DEFAULT_IMG_SIZE);
+        pixbuf = clarity_util_get_default_track_image(DEFAULT_IMG_SIZE);
     }
 
     return pixbuf;
 }
 
+void clarity_util_update_coverart(GList *tracks, const gchar *filename) {
+    g_return_if_fail(filename);
+
+    if (!tracks)
+        return;
+
+    GList *tks = g_list_copy(tracks);
+
+    while (tks) {
+        Track *track = tks->data;
+
+        if (gp_track_set_thumbnails(track, filename)) {
+            ExtraTrackData *etd = track->userdata;
+            etd->tartwork_changed = TRUE;
+
+            gtkpod_track_updated(track);
+            data_changed(track->itdb);
+
+            etd->tartwork_changed = FALSE;
+        }
+
+        tks = tks->next;
+    }
+}
+
 #endif /* CLARITY_UTILS_C_ */
diff --git a/plugins/clarity/clarity_utils.h b/plugins/clarity/clarity_utils.h
index 8217c19..ddbd901 100644
--- a/plugins/clarity/clarity_utils.h
+++ b/plugins/clarity/clarity_utils.h
@@ -37,23 +37,32 @@
 #define DEFAULT_IMG_SIZE 140
 
 /**
- * _get_default_track_image:
+ * clarity_util_get_default_track_image:
  *
  * Retrieve the artwork pixbuf from the default image file.
  *
  * Returns:
  * pixbuf of the default file for tracks with no cover art.
  */
-GdkPixbuf *get_default_track_image(gint default_img_size);
+GdkPixbuf *clarity_util_get_default_track_image(gint default_img_size);
 
 /**
- * _get_track_image:
+ * clarity_util_get_track_image:
  *
  * Retrieve the artwork pixbuf from the given track.
  *
  * Returns:
  * pixbuf of the artwork of the track.
  */
-GdkPixbuf *_get_track_image(Track *track);
+GdkPixbuf *clarity_util_get_track_image(Track *track);
+
+/**
+ * clarity_util_update_coverart
+ *
+ * Update each track with the given filename of the
+ * proposed artwork then notify all parties of the change.
+ *
+ */
+void clarity_util_update_coverart(GList *tracks, const gchar *filename);
 
 #endif /* CLARITY_UTILS_H_ */
diff --git a/plugins/clarity/clarity_widget.c b/plugins/clarity/clarity_widget.c
index b379f23..c044d40 100644
--- a/plugins/clarity/clarity_widget.c
+++ b/plugins/clarity/clarity_widget.c
@@ -448,7 +448,7 @@ void clarity_widget_tracks_selected_cb(GtkPodApp *app, 
gpointer tks, gpointer da
     tracks = _sort_track_list(tracks);
     ClarityCanvas *ccanvas = CLARITY_CANVAS(priv->draw_area);
 
-    if (clarity_canvas_is_loading(ccanvas))
+    if (clarity_canvas_is_blocked(ccanvas))
         return;
 
     gint album_index = album_model_get_index_with_track(priv->album_model, 
tracks->data);
@@ -458,7 +458,7 @@ void clarity_widget_tracks_selected_cb(GtkPodApp *app, 
gpointer tks, gpointer da
 static void _add_track(ClarityWidgetPrivate *priv, Track *track) {
     ClarityCanvas *ccanvas = CLARITY_CANVAS(priv->draw_area);
 
-    if (clarity_canvas_is_loading(ccanvas))
+    if (clarity_canvas_is_blocked(ccanvas))
         return;
 
     if (album_model_add_track(priv->album_model, track)) {
@@ -493,7 +493,7 @@ static void _remove_track(ClarityWidgetPrivate *priv, 
AlbumItem *item, Track *tr
 
     ClarityCanvas *ccanvas = CLARITY_CANVAS(priv->draw_area);
 
-    if (clarity_canvas_is_loading(ccanvas))
+    if (clarity_canvas_is_blocked(ccanvas))
         return;
 
     if(!item)
@@ -538,7 +538,7 @@ void clarity_widget_track_updated_cb(GtkPodApp *app, 
gpointer tk, gpointer data)
 
     ClarityCanvas *ccanvas = CLARITY_CANVAS(priv->draw_area);
 
-    if (clarity_canvas_is_loading(ccanvas))
+    if (clarity_canvas_is_blocked(ccanvas))
         return;
 
     AlbumItem *item = NULL;

------------------------------------------------------------------------------
Malware Security Report: Protecting Your Business, Customers, and the 
Bottom Line. Protect your business and customers by understanding the 
threat from malware and how it can impact your online business. 
http://www.accelacomm.com/jaw/sfnl/114/51427462/
_______________________________________________
gtkpod-cvs2 mailing list
gtkpod-cvs2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to