SF.net SVN: geany-plugins: [11] trunk/geanysendmail/geanysendmail.c

frlan at users.sourceforge.net frlan at xxxxx
Tue May 13 19:17:44 UTC 2008


Revision: 11
          http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=11&view=rev
Author:   frlan
Date:     2008-05-13 12:17:21 -0700 (Tue, 13 May 2008)

Log Message:
-----------
Moved code for cleaning up icon in toolbar to a separate function to don't need to reload the plugin by deactivation of the icon option.

Modified Paths:
--------------
    trunk/geanysendmail/geanysendmail.c

Modified: trunk/geanysendmail/geanysendmail.c
===================================================================
--- trunk/geanysendmail/geanysendmail.c	2008-05-13 19:17:02 UTC (rev 10)
+++ trunk/geanysendmail/geanysendmail.c	2008-05-13 19:17:21 UTC (rev 11)
@@ -143,6 +143,23 @@
 	gtk_toolbar_insert(GTK_TOOLBAR(app->toolbar), GTK_TOOL_ITEM(separator2), number_of_icons);
 }
 
+void cleanup_icon()
+{
+	if (mailbutton != NULL)
+	{
+		gtk_container_remove(GTK_CONTAINER (app->toolbar), mailbutton);
+	}
+	if (separator != NULL)
+	{
+		gtk_container_remove(GTK_CONTAINER (app->toolbar), separator);
+	}
+
+	if (separator2 != NULL)
+	{
+		gtk_container_remove(GTK_CONTAINER (app->toolbar), separator2);
+	}
+}
+
 void configure(GtkWidget *parent)
 {
 	GtkWidget	*dialog, *label1, *label2, *entry, *vbox;
@@ -202,6 +219,11 @@
 			icon_in_toolbar = TRUE;
 			show_icon();
 		}
+		else if (icon_in_toolbar == TRUE && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkbox_icon_to_toolbar)) == FALSE)
+		{
+			cleanup_icon();
+			icon_in_toolbar = FALSE;
+		}
 		else
 		{
 			icon_in_toolbar = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkbox_icon_to_toolbar));
@@ -230,8 +252,6 @@
 	gtk_widget_destroy(dialog);
 }
 
-
-
 /* Called by Geany to initialize the plugin */
 void init(GeanyData *data)
 {
@@ -252,7 +272,7 @@
 	// Initialising options from config file
 	g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL);
 	mailer = g_key_file_get_string(config, "tools", "mailer", NULL);
-	icon_in_toolbar =g_key_file_get_boolean(config, "icon", "show_icon", NULL);
+	icon_in_toolbar = g_key_file_get_boolean(config, "icon", "show_icon", NULL);
 
 	g_key_file_free(config);
 
@@ -291,19 +311,7 @@
 void cleanup()
 {
 	gtk_widget_destroy(plugin_fields->menu_item);
-	if (mailbutton != NULL)
-	{
-		gtk_container_remove(GTK_CONTAINER (app->toolbar), mailbutton);
-	}
-	if (separator != NULL)
-	{
-		gtk_container_remove(GTK_CONTAINER (app->toolbar), separator);
-	}
-
-	if (separator2 != NULL)
-	{
-		gtk_container_remove(GTK_CONTAINER (app->toolbar), separator2);
-	}
+	cleanup_icon();
 	g_free(mailer);
 	g_free(config_file);
 }


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