console/gntstatus.c

changeset 14757
8b8073188289
parent 14620
90d599495d65
child 14817
742ea8c9ffb4
--- a/console/gntstatus.c	Sun Oct 08 04:21:20 2006 +0000
+++ b/console/gntstatus.c	Sun Oct 08 04:31:39 2006 +0000
@@ -222,6 +222,25 @@
 }
 
 static void
+use_trans_status_cb(GntWidget *button, EditStatus *edit)
+{
+	const char *message;
+	GaimStatusPrimitive prim;
+	GaimSavedStatus *saved;
+
+	message = gnt_entry_get_text(GNT_ENTRY(edit->message));
+	prim = GPOINTER_TO_INT(gnt_combo_box_get_selected_data(GNT_COMBO_BOX(edit->type)));
+
+	saved = gaim_savedstatus_find_transient_by_type_and_message(prim, message);
+	if (saved == NULL) {
+		saved = gaim_savedstatus_new(NULL, prim);
+	}
+	gaim_savedstatus_set_message(saved, message);
+	gaim_savedstatus_activate(saved);
+	gnt_widget_destroy(edit->window);
+}
+
+static void
 save_savedstatus_cb(GntWidget *button, EditStatus *edit)
 {
 	const char *title, *message;
@@ -508,6 +527,11 @@
 	box = gnt_hbox_new(FALSE);
 	gnt_box_add_widget(GNT_BOX(window), box);
 
+	/* Use */
+	button = gnt_button_new(_("Use"));
+	gnt_box_add_widget(GNT_BOX(box), button);
+	g_signal_connect(G_OBJECT(button), "activate", G_CALLBACK(use_trans_status_cb), edit);
+
 	/* Save */
 	button = gnt_button_new(_("Save"));
 	gnt_box_add_widget(GNT_BOX(box), button);

mercurial