I guess I'll release this later today. Is that ok with everyone?
[pidgin-git.git] / pidgin / gtksavedstatuses.h
blob144fd052c78c16d1c5e5ee4dffe85c05b15b6e7a
1 /**
2 * @file gtksavedstatuses.h GTK+ Saved Status Editor UI
3 * @ingroup pidgin
4 */
6 /* pidgin
8 * Pidgin is the legal property of its developers, whose names are too numerous
9 * to list here. Please refer to the COPYRIGHT file distributed with this
10 * source distribution.
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
26 #ifndef _PIDGINSAVEDSTATUSES_H_
27 #define _PIDGINSAVEDSTATUSES_H_
29 #include "savedstatuses.h"
30 #include "status.h"
32 /**
33 * Shows the status window.
35 void pidgin_status_window_show(void);
37 /**
38 * Hides the status window.
40 void pidgin_status_window_hide(void);
42 /**
43 * Shows a status editor (used for adding a new saved status or
44 * editing an already existing saved status).
46 * @param edit TRUE if we want to edit an existing saved
47 * status or FALSE to create a new one. You
48 * can not edit transient statuses--they don't
49 * have titles. If you want to edit a transient
50 * status, set this to FALSE and seed the dialog
51 * with the transient status using the status
52 * parameter to this function.
53 * @param status If edit is TRUE then this should be a
54 * pointer to the PurpleSavedStatus to edit.
55 * If edit is FALSE then this can be NULL,
56 * or you can pass in a saved status to
57 * seed the initial values of the new status.
59 void pidgin_status_editor_show(gboolean edit, PurpleSavedStatus *status);
61 /**
62 * Creates a dropdown menu of saved statuses and calls a callback
63 * when one is selected
65 * @param status The default saved_status to show as 'selected'
66 * @param callback The callback to call when the selection changes
67 * @return The menu widget
69 GtkWidget *pidgin_status_menu(PurpleSavedStatus *status, GCallback callback);
71 /**
72 * Returns the GTK+ status handle.
74 * @return The handle to the GTK+ status system.
76 void *pidgin_status_get_handle(void);
78 /**
79 * Initializes the GTK+ status system.
81 void pidgin_status_init(void);
83 /**
84 * Uninitializes the GTK+ status system.
86 void pidgin_status_uninit(void);
88 #endif /* _PIDGINSAVEDSTATUSES_H_ */