[geany/geany-plugins] 3b981f: GeanySendMail: Use build in XOR operator for decision whether to toggle.
Frank Lanitz
git-noreply at xxxxx
Wed Feb 22 19:19:43 UTC 2012
Branch: refs/heads/master
Author: Frank Lanitz <frank at frank.uvena.de>
Committer: Frank Lanitz <frank at frank.uvena.de>
Date: Wed, 22 Feb 2012 19:19:43
Commit: 3b981f6fe620b2100f22bf23d96550dd051dfeaf
https://github.com/geany/geany-plugins/commit/3b981f6fe620b2100f22bf23d96550dd051dfeaf
Log Message:
-----------
GeanySendMail: Use build in XOR operator for decision whether to toggle.
Modified Paths:
--------------
geanysendmail/src/geanysendmail.c
Modified: geanysendmail/src/geanysendmail.c
33 files changed, 19 insertions(+), 14 deletions(-)
===================================================================
@@ -219,6 +219,7 @@ static void show_icon()
#endif
g_signal_connect (G_OBJECT(mailbutton), "clicked", G_CALLBACK(send_as_attachment), NULL);
gtk_widget_show_all (mailbutton);
+ icon_in_toolbar = TRUE;
}
static void cleanup_icon()
@@ -227,6 +228,7 @@ static void cleanup_icon()
{
gtk_container_remove(GTK_CONTAINER (geany->main_widgets->toolbar), mailbutton);
}
+ icon_in_toolbar = FALSE;
}
@@ -238,6 +240,7 @@ static void cleanup_icon()
}
pref_widgets;
+
static void
on_configure_response(G_GNUC_UNUSED GtkDialog *dialog, gint response, G_GNUC_UNUSED gpointer user_data)
{
@@ -245,25 +248,27 @@ static void cleanup_icon()
{
GKeyFile *config = g_key_file_new();
gchar *config_dir = g_path_get_dirname(config_file);
+ gboolean configure_toogle_status;
g_free(mailer);
mailer = g_strdup(gtk_entry_get_text(GTK_ENTRY(pref_widgets.entry)));
- if (icon_in_toolbar == FALSE &&
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar)) == TRUE)
- {
- icon_in_toolbar = TRUE;
- show_icon();
- }
- else if (icon_in_toolbar == TRUE &&
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar)) == FALSE)
- {
- cleanup_icon();
- icon_in_toolbar = FALSE;
- }
- else
+ configure_toogle_status =
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar));
+
+ if (icon_in_toolbar ^ configure_toogle_status)
+ /* Only do anything if a status change is needed */
{
- icon_in_toolbar = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar));
+ if (icon_in_toolbar == TRUE)
+ {
+ /* We need to remove the toolbar icon */
+ cleanup_icon();
+ }
+ else
+ {
+ /* We need to show the toolbar icon */
+ show_icon();
+ }
}
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_use_addressdialog)) == TRUE)
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
More information about the Plugins-Commits
mailing list