SF.net SVN: geany-plugins:[1147] trunk/geanylatex/src/geanylatex.c

frlan at users.sourceforge.net frlan at xxxxx
Sun Jan 31 18:15:57 UTC 2010


Revision: 1147
          http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1147&view=rev
Author:   frlan
Date:     2010-01-31 18:15:57 +0000 (Sun, 31 Jan 2010)

Log Message:
-----------
GeanyLaTeX: Move activate and deactivate toolbar items to separate functions and do direct toggle_toolbar_items_by_file_type()-calls from inside callbacks where needed

Modified Paths:
--------------
    trunk/geanylatex/src/geanylatex.c

Modified: trunk/geanylatex/src/geanylatex.c
===================================================================
--- trunk/geanylatex/src/geanylatex.c	2010-01-31 18:15:33 UTC (rev 1146)
+++ trunk/geanylatex/src/geanylatex.c	2010-01-31 18:15:57 UTC (rev 1147)
@@ -296,44 +296,52 @@
 		glatex_set_latextoggle_status(TRUE);
 }
 
+static void activate_toolbar_items()
+{
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Bold"), TRUE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Underline"), TRUE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Centered"), TRUE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Italic"), TRUE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Left"), TRUE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Right"), TRUE);
+}
+
+static void deactivate_toolbar_items()
+{
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Bold"), TRUE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Underline"), TRUE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Centered"), TRUE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Italic"), TRUE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Left"), TRUE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Right"), TRUE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Bold"), FALSE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Underline"), FALSE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Centered"), FALSE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Italic"), FALSE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Left"), FALSE);
+	gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Right"), FALSE);
+}
+
+
 static void toggle_toolbar_items_by_file_type(gint id)
 {
 	if (glatex_set_toolbar_active == TRUE &&
 		glatex_deactivate_toolbaritems_with_non_latex == TRUE)
 	{
-		if (id != GEANY_FILETYPES_LATEX)
+		if (id == GEANY_FILETYPES_LATEX)
 		{
-			/* Deactivate toolbar items */
-			/* Some ugly work arround until there is some better resolution*/
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Bold"), TRUE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Underline"), TRUE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Centered"), TRUE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Italic"), TRUE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Left"), TRUE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Right"), TRUE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Bold"), FALSE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Underline"), FALSE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Centered"), FALSE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Italic"), FALSE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Left"), FALSE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Right"), FALSE);
+			activate_toolbar_items();
 		}
 		else
 		{
-			/* Activate toolbar items*/
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Bold"), TRUE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Underline"), TRUE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Centered"), TRUE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Italic"), TRUE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Left"), TRUE);
-			gtk_action_set_sensitive(gtk_ui_manager_get_action(uim, "/ui/glatex_format_toolbar/Right"), TRUE);
+			deactivate_toolbar_items();
 		}
 	}
 }
 
 
 static void on_document_activate(G_GNUC_UNUSED GObject *object,
-									 GeanyDocument *doc, G_GNUC_UNUSED gpointer data)
+								 GeanyDocument *doc, G_GNUC_UNUSED gpointer data)
 {
 	g_return_if_fail(doc != NULL);
 
@@ -344,24 +352,25 @@
 }
 
 
-static void on_document_new(GObject *object, GeanyDocument *doc, gpointer data)
+static void on_document_new(G_GNUC_UNUSED GObject *object, GeanyDocument *doc,
+							G_GNUC_UNUSED gpointer data)
 {
 	g_return_if_fail(doc != NULL);
 
 	if (main_is_realized() == TRUE)
 	{
-		on_document_activate(object, doc, data);
+		toggle_toolbar_items_by_file_type(doc->file_type->id);
 	}
 }
 
 
 static void
-on_geany_startup_complete(G_GNUC_UNUSED GObject *obj, G_GNUC_UNUSED gpointer user_data)
+on_geany_startup_complete(G_GNUC_UNUSED GObject *obj,
+						  G_GNUC_UNUSED gpointer user_data)
 {
 	GeanyDocument *doc = NULL;
 
 	doc = document_get_current();
-
 	if (doc != NULL)
 	{
 		toggle_toolbar_items_by_file_type(doc->file_type->id);
@@ -369,18 +378,15 @@
 }
 
 
-static void on_document_filetype_set(GObject *obj, GeanyDocument *doc,
-	GeanyFiletype *filetype_old, gpointer user_data)
+static void on_document_filetype_set(G_GNUC_UNUSED GObject *obj, GeanyDocument *doc,
+									 G_GNUC_UNUSED GeanyFiletype *filetype_old,
+									 G_GNUC_UNUSED gpointer user_data)
 {
 	g_return_if_fail(doc != NULL);
 
 	if (main_is_realized() == TRUE)
 	{
-		GeanyFiletype *ft = doc->file_type;
-		if (filetype_old != NULL && filetype_old->id != ft->id)
-		{
-			on_document_activate(obj, doc, user_data);
-		}
+		toggle_toolbar_items_by_file_type(doc->file_type->id);
 	}
 }
 
@@ -1698,9 +1704,13 @@
 
 	init_keybindings();
 	if (glatex_set_toolbar_active == TRUE)
+	{
 		glatex_toolbar = init_toolbar();
+	}
 	else
+	{
 		glatex_toolbar = NULL;
+	}
 
 	ui_add_document_sensitive(menu_latex_menu_special_char);
 	ui_add_document_sensitive(menu_latex_ref);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Plugins-Commits mailing list