diff pidgin/gtksavedstatuses.h @ 20400:ea9a5566a156

propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head 36b8a3e05397b5918f311a046fa580c5bb8846e0) to branch 'im.pidgin.cpw.khc.msnp14' (head 39ac2e1b7754245b292605b0e3055ebb1b954c5d)
author Richard Laager <rlaager@wiktel.com>
date Sun, 15 Apr 2007 05:00:56 +0000
parents 66dff3dfdea6
children 247e421c4fa6
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pidgin/gtksavedstatuses.h	Sun Apr 15 05:00:56 2007 +0000
@@ -0,0 +1,87 @@
+/**
+ * @file gtksavedstatuses.h GTK+ Saved Status Editor UI
+ * @ingroup gtkui
+ *
+ * pidgin
+ *
+ * Pidgin is the legal property of its developers, whose names are too numerous
+ * to list here.  Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+#ifndef _PIDGINSAVEDSTATUSES_H_
+#define _PIDGINSAVEDSTATUSES_H_
+
+#include "savedstatuses.h"
+#include "status.h"
+
+/**
+ * Shows the status window.
+ */
+void pidgin_status_window_show(void);
+
+/**
+ * Hides the status window.
+ */
+void pidgin_status_window_hide(void);
+
+/**
+ * Shows a status editor (used for adding a new saved status or
+ * editing an already existing saved status).
+ *
+ * @param edit   TRUE if we want to edit an existing saved
+ *               status or FALSE to create a new one.  You
+ *               can not edit transient statuses--they don't
+ *               have titles.  If you want to edit a transient
+ *               status, set this to FALSE and seed the dialog
+ *               with the transient status using the status
+ *               parameter to this function.
+ * @param status If edit is TRUE then this should be a
+ *               pointer to the PurpleSavedStatus to edit.
+ *               If edit is FALSE then this can be NULL,
+ *               or you can pass in a saved status to
+ *               seed the initial values of the new status.
+ */
+void pidgin_status_editor_show(gboolean edit, PurpleSavedStatus *status);
+
+/**
+ * Creates a dropdown menu of saved statuses and calls a callback
+ * when one is selected
+ *
+ * @param status   The default saved_status to show as 'selected'
+ * @param callback The callback to call when the selection changes
+ * @return         The menu widget
+ */
+GtkWidget *pidgin_status_menu(PurpleSavedStatus *status, GCallback callback);
+
+/**
+ * Returns the GTK+ status handle.
+ *
+ * @return The handle to the GTK+ status system.
+ */
+void *pidgin_status_get_handle(void);
+
+/**
+ * Initializes the GTK+ status system.
+ */
+void pidgin_status_init(void);
+
+/**
+ * Uninitializes the GTK+ status system.
+ */
+void pidgin_status_uninit(void);
+
+#endif /* _PIDGINSAVEDSTATUSES_H_ */