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-06 19:58:38 +0200
commit0632a28a942843c33f542441c64bb78524ae9aba (patch)
tree56bb614916d6448346d33494d6671cecc6cd2dae
parentfc0262adae7d9fdcab6710a16664047d48878f37 (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;