Josselin Mouette <joss@debian.org> writes: > The largest part of the problem is porting from GnomeDruid to > GtkAssistant, which probably only requires a few hours for a > knowledgeable person. The back button of GtkAssistant seems troublesome. In GnomeDruidPage, the back and next buttons just emit signals, which Debconf::FrontEnd::Gnome then handles by exiting the main loop and returning '' or 1 from sub go. In GtkAssistant however, the back button backtraces a private visited_pages list, and it is automatically hidden when this list is empty. Approaches to be considered: (a) Prepend an empty GTK_ASSISTANT_PAGE_INTRO. When displaying the GtkAssistant, immediately switch to the GTK_ASSISTANT_PAGE_CONTENT where the actual Debconf question is; if the GtkAssistant has already been mapped, gtk_assistant_set_current_page then adds the intro to visited_pages. If the user clicks the back button, detect the intro page in the prepare signal. (b) Handle the clicked signal from the back button and make the button visible against the wishes of GtkAssistant. If the visited_pages list remains empty at all times, then the handler added by GtkAssistant does nothing, and there is no need to remove it. (c) Remove the original back button from its container and add a custom one in its place. (d) Just add a custom button that has nothing to do with the back button. (e) Rewrite Debconf so that the go method of Debconf::FrontEnd is allowed to redisplay previous pages without returning.
Attachment:
pgpUOeTUNo67Z.pgp
Description: PGP signature