URL:
<http://savannah.gnu.org/bugs/?50204>
Summary: Re-order lyric verses
Project: Denemo
Submitted by: rshann
Submitted on: Wed 01 Feb 2017 07:43:55 PM GMT
Category: None
Severity: 1 - Wish
Item Group: None
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
It would be nice to re-order verses by dragging the tabs in the notebook.
While it is easy to enable dragging the tabs, the code below fails to actually
re-order the verses for the reasons explained.
// this doesn't work because page_num is the *new* position, ie it is pos
// we have to go through the list parsing "Verse %d" from the label to get pos
and
//afterwards re-write all the labels in the new order.
static void
reorder_verse (GtkNotebook *notebook,
GtkWidget *child,
guint page_num,
DenemoStaff* thestaff)
{
GList *children = gtk_container_get_children (GTK_CONTAINER(notebook));
gint pos = g_list_index (children, child);
GList *this = g_list_nth (thestaff->verses, pos);
thestaff->verses = g_list_remove_link (thestaff->verses, this);
thestaff->verses = g_list_insert (thestaff->verses, this->data,
page_num);
g_list_free (this);
g_print ("Reordered %d as %d\n", pos, page_num);
}
...
gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (notebook),
gtk_widget_get_parent (textview), TRUE);
g_signal_connect (G_OBJECT (notebook), "page-reordered", G_CALLBACK
(reorder_verse), staff);
...
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?50204>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Denemo-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/denemo-devel