#include <gtk/gtk.h>
#include <glade/glade.h>
+#include <telepathy-glib/util.h>
#include <libmissioncontrol/mc-enum-types.h>
#include <libempathy/empathy-idle.h>
gtk_combo_box_set_model (GTK_COMBO_BOX (dialog->comboboxentry_message),
GTK_TREE_MODEL (store));
+
+ g_object_unref (store);
}
static void
messages = empathy_status_presets_get (presence, -1);
for (l = messages; l; l = l->next) {
- if (!empathy_strdiff (text, l->data)) {
+ if (!tp_strdiff (text, l->data)) {
found = TRUE;
break;
}
}
static void
-presence_chooser_dialog_destroy_cb (GtkWidget *widget,
- CustomMessageDialog *dialog)
+presence_chooser_dialog_response_cb (GtkWidget *widget,
+ gint response,
+ CustomMessageDialog *dialog)
{
- McPresence state;
- const gchar *text;
+ if (response == GTK_RESPONSE_APPLY) {
+ McPresence state;
+ const gchar *text;
- state = presence_chooser_dialog_get_selected (dialog);
- text = gtk_entry_get_text (GTK_ENTRY (dialog->entry_message));
+ state = presence_chooser_dialog_get_selected (dialog);
+ text = gtk_entry_get_text (GTK_ENTRY (dialog->entry_message));
- presence_chooser_set_state (state, text);
+ presence_chooser_set_state (state, text);
+ }
+
+ gtk_widget_destroy (widget);
+}
+
+static void
+presence_chooser_dialog_destroy_cb (GtkWidget *widget,
+ CustomMessageDialog *dialog)
+{
g_free (dialog);
message_dialog = NULL;
empathy_glade_connect (glade,
message_dialog,
"custom_message_dialog", "destroy", presence_chooser_dialog_destroy_cb,
- "custom_message_dialog", "response", gtk_widget_destroy,
+ "custom_message_dialog", "response", presence_chooser_dialog_response_cb,
"combobox_status", "changed", presence_chooser_dialog_status_changed_cb,
"checkbutton_save", "toggled", presence_chooser_dialog_save_toggled_cb,
NULL);