summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhillip Wood <phillip.wood@dunelm.org.uk>2012-07-22 18:37:58 +0200
committerChristophe Fergeau <cfergeau@redhat.com>2012-09-01 20:30:06 +0200
commitdb5b4ce337478fa673f80ee719e7509f779c5c9a (patch)
tree76506c8b5460bf06e39456fa162cc9b02763cde2
parent9d3dc95703e3f6a6589dbbb0e1f8b0a1c829634b (diff)
Support editing of album composer
Add callback to support editing of album composer. This reuses the now generic callback used for the album artist https://bugzilla.gnome.org/show_bug.cgi?id=661646
-rw-r--r--src/sj-main.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/sj-main.c b/src/sj-main.c
index 55d51c3..10e8ca1 100644
--- a/src/sj-main.c
+++ b/src/sj-main.c
@@ -632,12 +632,14 @@ static void update_ui_for_album (AlbumDetails *album)
gtk_list_store_clear (track_store);
gtk_entry_set_text (GTK_ENTRY (title_entry), "");
gtk_entry_set_text (GTK_ENTRY (artist_entry), "");
+ gtk_entry_set_text (GTK_ENTRY (composer_entry), "");
gtk_entry_set_text (GTK_ENTRY (genre_entry), "");
gtk_entry_set_text (GTK_ENTRY (year_entry), "");
gtk_entry_set_text (GTK_ENTRY (disc_number_entry), "");
gtk_label_set_text (GTK_LABEL (duration_label), "");
gtk_widget_set_sensitive (title_entry, FALSE);
gtk_widget_set_sensitive (artist_entry, FALSE);
+ gtk_widget_set_sensitive (composer_entry, FALSE);
gtk_widget_set_sensitive (genre_entry, FALSE);
gtk_widget_set_sensitive (year_entry, FALSE);
gtk_widget_set_sensitive (disc_number_entry, FALSE);
@@ -656,6 +658,7 @@ static void update_ui_for_album (AlbumDetails *album)
g_signal_handlers_block_by_func (title_entry, on_title_edit_changed, NULL);
g_signal_handlers_block_by_func (artist_entry, on_person_edit_changed, NULL);
+ g_signal_handlers_block_by_func (composer_entry, on_person_edit_changed, NULL);
g_signal_handlers_block_by_func (year_entry, on_year_edit_changed, NULL);
g_signal_handlers_block_by_func (disc_number_entry, on_disc_number_edit_changed, NULL);
gtk_entry_set_text (GTK_ENTRY (title_entry), album->title);
@@ -678,6 +681,7 @@ static void update_ui_for_album (AlbumDetails *album)
}
g_signal_handlers_unblock_by_func (title_entry, on_title_edit_changed, NULL);
g_signal_handlers_unblock_by_func (artist_entry, on_person_edit_changed, NULL);
+ g_signal_handlers_unblock_by_func (composer_entry, on_person_edit_changed, NULL);
g_signal_handlers_unblock_by_func (year_entry, on_year_edit_changed, NULL);
g_signal_handlers_unblock_by_func (disc_number_entry, on_disc_number_edit_changed, NULL);
/* Clear the genre field, it's from the user */
@@ -685,6 +689,7 @@ static void update_ui_for_album (AlbumDetails *album)
gtk_widget_set_sensitive (title_entry, TRUE);
gtk_widget_set_sensitive (artist_entry, TRUE);
+ gtk_widget_set_sensitive (composer_entry, TRUE);
gtk_widget_set_sensitive (genre_entry, TRUE);
gtk_widget_set_sensitive (year_entry, TRUE);
gtk_widget_set_sensitive (disc_number_entry, TRUE);
@@ -1606,6 +1611,13 @@ G_MODULE_EXPORT void on_person_edit_changed(GtkEditable *widget,
off_person_name = G_STRUCT_OFFSET (TrackDetails, artist);
off_person_sortname = G_STRUCT_OFFSET (TrackDetails,
artist_sortname);
+ } else if (widget == GTK_EDITABLE (composer_entry)) {
+ column = COLUMN_COMPOSER;
+ album_person_name = &current_album->composer;
+ album_person_sortname = &current_album->composer_sortname;
+ off_person_name = G_STRUCT_OFFSET (TrackDetails, composer);
+ off_person_sortname = G_STRUCT_OFFSET (TrackDetails,
+ composer_sortname);
} else {
g_warning (_("Unknown widget calling on_person_edit_changed."));
return;