anjuta r4490 - in trunk: . plugins/document-manager



Author: jhs
Date: Sat Dec 27 13:18:36 2008
New Revision: 4490
URL: http://svn.gnome.org/viewvc/anjuta?rev=4490&view=rev

Log:
2008-12-27  Johannes  Schmid <jhs gnome org>

	* plugins/document-manager/action-callbacks.c
	(on_reload_file_activate), (on_next_document),
	(on_previous_document):
	#565578 â Next Document command does not cycle back to first document

Modified:
   trunk/ChangeLog
   trunk/plugins/document-manager/action-callbacks.c

Modified: trunk/plugins/document-manager/action-callbacks.c
==============================================================================
--- trunk/plugins/document-manager/action-callbacks.c	(original)
+++ trunk/plugins/document-manager/action-callbacks.c	Sat Dec 27 13:18:36 2008
@@ -275,7 +275,7 @@
 	dialog = gtk_message_dialog_new (GTK_WINDOW (parent),
 									 GTK_DIALOG_DESTROY_WITH_PARENT,
 									 GTK_MESSAGE_QUESTION,
-									 GTK_BUTTONS_NONE, msg);
+									 GTK_BUTTONS_NONE, "%s", msg);
 	gtk_dialog_add_button (GTK_DIALOG (dialog),
 						   GTK_STOCK_CANCEL, GTK_RESPONSE_NO);
 	anjuta_util_dialog_add_button (GTK_DIALOG (dialog), _("_Reload"),
@@ -870,24 +870,39 @@
 		ianjuta_editor_view_remove_current (IANJUTA_EDITOR_VIEW (doc), NULL);
 }
 
-void on_next_document (GtkAction *action, gpointer user_data)
+void
+on_next_document (GtkAction *action, gpointer user_data)
 {
 	AnjutaDocman *docman;
 	DocmanPlugin *plugin;
 	plugin = ANJUTA_PLUGIN_DOCMAN (user_data);
 	docman = ANJUTA_DOCMAN (plugin->docman);
-	
-	gtk_notebook_set_current_page (GTK_NOTEBOOK (docman),
-								   gtk_notebook_get_current_page (GTK_NOTEBOOK(docman)) + 1);
+	GtkNotebook* notebook = GTK_NOTEBOOK (docman); 
+	gint cur_page = gtk_notebook_get_current_page(notebook);
+	if (cur_page <
+		gtk_notebook_get_n_pages(notebook) - 1)
+		cur_page++;
+	else
+		cur_page = 0;
+
+	gtk_notebook_set_current_page (notebook,
+								   cur_page);
 }
 
-void on_previous_document (GtkAction *action, gpointer user_data)
+void 
+on_previous_document (GtkAction *action, gpointer user_data)
 {
 	AnjutaDocman *docman;
 	DocmanPlugin *plugin;
 	plugin = ANJUTA_PLUGIN_DOCMAN (user_data);
 	docman = ANJUTA_DOCMAN (plugin->docman);
+	GtkNotebook* notebook = GTK_NOTEBOOK (docman); 
+	gint cur_page = gtk_notebook_get_current_page(notebook);
+	if (cur_page > 0)
+		cur_page--;
+	else
+		cur_page = -1; /* last_page */
 	
-	gtk_notebook_set_current_page (GTK_NOTEBOOK (docman),
-								   gtk_notebook_get_current_page (GTK_NOTEBOOK(docman)) - 1);
+	gtk_notebook_set_current_page (notebook,
+								   cur_page);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]