pidgin/gtkmenutray.h

Sun, 09 Nov 2008 20:55:10 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Sun, 09 Nov 2008 20:55:10 +0000
branch
maiku.vv
changeset 26159
24ffae1874f1
parent 20147
66f05a854eee
child 26727
b8885bab55ab
permissions
-rw-r--r--

Added menu items to buddy list context menu to start voice and video sessions
After discussing the matter with Maiku, we decided to have two choises.
"Audio call" which will show up if audio sessions is possible with a buddy and
the other item is either "Audio/Video" or "Video" depending on if the buddy
supports both at the same time or not

11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /**
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * @file gtkmenutray.h GTK+ Tray menu item
16254
eeb2bba4dc94 Rename the Doxygen group from gtkui to pidgin.
Richard Laager <rlaager@pidgin.im>
parents: 15572
diff changeset
3 * @ingroup pidgin
20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
4 */
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
5
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
6 /* Pidgin is the legal property of its developers, whose names are too numerous
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * to list here. Please refer to the COPYRIGHT file distributed with this
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 * source distribution.
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 *
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * This program is free software; you can redistribute it and/or modify
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * under the terms of the GNU General Public License as published by
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 * (at your option) any later version.
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 *
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * This program is distributed in the hope that it will be useful,
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18 * GNU General Public License for more details.
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 *
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 * You should have received a copy of the GNU General Public License
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16254
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
24 #ifndef PIDGIN_MENU_TRAY_H
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
25 #define PIDGIN_MENU_TRAY_H
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 #include <gtk/gtkhbox.h>
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28 #include <gtk/gtkmenuitem.h>
11908
ad9c7ca74793 [gaim-migrate @ 14199]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11599
diff changeset
29 #include <gtk/gtktooltips.h>
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
31 #define PIDGIN_TYPE_MENU_TRAY (pidgin_menu_tray_get_gtype())
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
32 #define PIDGIN_MENU_TRAY(obj) (GTK_CHECK_CAST((obj), PIDGIN_TYPE_MENU_TRAY, PidginMenuTray))
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
33 #define PIDGIN_MENU_TRAY_CLASS(klass) (GTK_CHECK_CLASS_CAST((klass), PIDGIN_TYPE_MENU_TRAY, PidginMenuTrayClass))
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
34 #define PIDGIN_IS_MENU_TRAY(obj) (GTK_CHECK_TYPE((obj), PIDGIN_TYPE_MENU_TRAY))
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
35 #define PIDGIN_IS_MENU_TRAY_CLASS(klass) (GTK_CHECK_CLASS_TYPE((klass), PIDGIN_TYPE_MENU_TRAY))
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
36 #define PIDGIN_MENU_TRAY_GET_CLASS(obj) (GTK_CHECK_GET_CLASS((obj), PIDGIN_TYPE_MENU_TRAY, PidginMenuTrayClass))
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
38 typedef struct _PidginMenuTray PidginMenuTray;
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
39 typedef struct _PidginMenuTrayClass PidginMenuTrayClass;
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
41 /** A PidginMenuTray */
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
42 struct _PidginMenuTray {
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 GtkMenuItem gparent; /**< The parent instance */
11599
431352c132c8 [gaim-migrate @ 13869]
Gary Kramlich <grim@reaperworld.com>
parents: 11558
diff changeset
44 GtkWidget *tray; /**< The tray */
11908
ad9c7ca74793 [gaim-migrate @ 14199]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11599
diff changeset
45 GtkTooltips *tooltips; /**< Tooltips */
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46 };
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
48 /** A PidginMenuTrayClass */
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
49 struct _PidginMenuTrayClass {
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 GtkMenuItemClass gparent; /**< The parent class */
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51 };
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 G_BEGIN_DECLS
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55 /**
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
56 * Registers the PidginMenuTray class if necessary and returns the
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57 * type ID assigned to it.
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 *
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
59 * @return The PidginMenuTray type ID
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
61 GType pidgin_menu_tray_get_gtype(void);
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 /**
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
64 * Creates a new PidginMenuTray
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 *
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
66 * @return A new PidginMenuTray
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
68 GtkWidget *pidgin_menu_tray_new(void);
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 /**
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
71 * Gets the box for the PidginMenuTray
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 *
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
73 * @param menu_tray The PidginMenuTray
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 *
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75 * @return The box that this menu tray is using
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
77 GtkWidget *pidgin_menu_tray_get_box(PidginMenuTray *menu_tray);
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79 /**
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 * Appends a widget into the tray
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81 *
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 * @param menu_tray The tray
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 * @param widget The widget
11908
ad9c7ca74793 [gaim-migrate @ 14199]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11599
diff changeset
84 * @param tooltip The tooltip for this widget (widget requires its own X-window)
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
86 void pidgin_menu_tray_append(PidginMenuTray *menu_tray, GtkWidget *widget, const char *tooltip);
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88 /**
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
89 * Prepends a widget into the tray
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 *
11908
ad9c7ca74793 [gaim-migrate @ 14199]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11599
diff changeset
91 * @param menu_tray The tray
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 * @param widget The widget
11908
ad9c7ca74793 [gaim-migrate @ 14199]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11599
diff changeset
93 * @param tooltip The tooltip for this widget (widget requires its own X-window)
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
95 void pidgin_menu_tray_prepend(PidginMenuTray *menu_tray, GtkWidget *widget, const char *tooltip);
11908
ad9c7ca74793 [gaim-migrate @ 14199]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11599
diff changeset
96
ad9c7ca74793 [gaim-migrate @ 14199]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11599
diff changeset
97 /**
ad9c7ca74793 [gaim-migrate @ 14199]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11599
diff changeset
98 * Set the tooltip for a widget
ad9c7ca74793 [gaim-migrate @ 14199]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11599
diff changeset
99 *
ad9c7ca74793 [gaim-migrate @ 14199]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11599
diff changeset
100 * @param menu_tray The tray
ad9c7ca74793 [gaim-migrate @ 14199]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11599
diff changeset
101 * @param widget The widget
ad9c7ca74793 [gaim-migrate @ 14199]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11599
diff changeset
102 * @param tooltip The tooltip to set for the widget (widget requires its own X-window)
ad9c7ca74793 [gaim-migrate @ 14199]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11599
diff changeset
103 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
104 void pidgin_menu_tray_set_tooltip(PidginMenuTray *menu_tray, GtkWidget *widget, const char *tooltip);
11553
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106 G_END_DECLS
473bd98f493b [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
108 #endif /* PIDGIN_MENU_TRAY_H */

mercurial