Mercurial > pidgin.yaz
annotate finch/gntconv.h @ 26776:83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
associated account actions are changed. This is necessary since XMPP's
account actions are not known when setting the account to connected. Also
added support for push updates as specified in XEP-0050 2.3.
Refs #7233.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Sun, 26 Apr 2009 06:45:55 +0000 |
parents | 6bf32c9e15a7 |
children | 49a33bd1baf1 |
rev | line source |
---|---|
15818 | 1 /** |
2 * @file gntconv.h GNT Conversation API | |
16194
0f0832c13fcb
Rename the Doxygen group from gntui to finch and define the finch group
Richard Laager <rlaager@wiktel.com>
parents:
16168
diff
changeset
|
3 * @ingroup finch |
20074
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
19680
diff
changeset
|
4 */ |
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
19680
diff
changeset
|
5 |
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
19680
diff
changeset
|
6 /* finch |
15818 | 7 * |
15871
66dff3dfdea6
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@wiktel.com>
parents:
15823
diff
changeset
|
8 * Finch is the legal property of its developers, whose names are too numerous |
15818 | 9 * to list here. Please refer to the COPYRIGHT file distributed with this |
10 * source distribution. | |
11 * | |
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. | |
16 * | |
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. | |
21 * | |
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 | |
19680
44b4e8bd759b
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19447
diff
changeset
|
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
15818 | 25 */ |
26 #ifndef _GNT_CONV_H | |
27 #define _GNT_CONV_H | |
28 | |
29 #include <gnt.h> | |
30 #include <gntwidget.h> | |
19326
4ce4ff8a3c19
I broke the build. Sorry :(
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19100
diff
changeset
|
31 #include <gntmenuitem.h> |
15818 | 32 |
33 #include "conversation.h" | |
34 | |
19100 | 35 /* Grabs the conv out of a PurpleConverstation */ |
36 #define FINCH_CONV(conv) ((FinchConv *)(conv)->ui_data) | |
37 | |
15818 | 38 /*************************************************************************** |
39 * @name GNT Conversations API | |
40 ***************************************************************************/ | |
41 /*@{*/ | |
42 | |
43 typedef struct _FinchConv FinchConv; | |
44 typedef struct _FinchConvChat FinchConvChat; | |
45 typedef struct _FinchConvIm FinchConvIm; | |
46 | |
19447
1a9b30a95fa6
Fix #2767 (per-conversation/chat mute option).
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19326
diff
changeset
|
47 typedef enum |
1a9b30a95fa6
Fix #2767 (per-conversation/chat mute option).
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19326
diff
changeset
|
48 { |
1a9b30a95fa6
Fix #2767 (per-conversation/chat mute option).
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19326
diff
changeset
|
49 FINCH_CONV_NO_SOUND = 1 << 0, |
1a9b30a95fa6
Fix #2767 (per-conversation/chat mute option).
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19326
diff
changeset
|
50 } FinchConversationFlag; |
1a9b30a95fa6
Fix #2767 (per-conversation/chat mute option).
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19326
diff
changeset
|
51 |
15818 | 52 struct _FinchConv |
53 { | |
54 GList *list; | |
15823 | 55 PurpleConversation *active_conv; |
15818 | 56 |
57 GntWidget *window; /* the container */ | |
58 GntWidget *entry; /* entry */ | |
59 GntWidget *tv; /* text-view */ | |
19326
4ce4ff8a3c19
I broke the build. Sorry :(
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19100
diff
changeset
|
60 GntWidget *menu; |
16128
7a2ffa981c1a
Allow adding information widgets in the conversation window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15871
diff
changeset
|
61 GntWidget *info; |
19447
1a9b30a95fa6
Fix #2767 (per-conversation/chat mute option).
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19326
diff
changeset
|
62 FinchConversationFlag flags; |
15818 | 63 |
64 union | |
65 { | |
66 FinchConvChat *chat; | |
67 FinchConvIm *im; | |
68 } u; | |
69 }; | |
70 | |
71 struct _FinchConvChat | |
72 { | |
73 GntWidget *userlist; /* the userlist */ | |
16671
5e6f8b92a2a5
Preemptive padding.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16194
diff
changeset
|
74 void *pad1; |
5e6f8b92a2a5
Preemptive padding.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16194
diff
changeset
|
75 void *pad2; |
15818 | 76 }; |
77 | |
78 struct _FinchConvIm | |
79 { | |
19326
4ce4ff8a3c19
I broke the build. Sorry :(
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19100
diff
changeset
|
80 GntMenuItem *sendto; |
16671
5e6f8b92a2a5
Preemptive padding.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16194
diff
changeset
|
81 void *something_for_later; |
15818 | 82 }; |
83 | |
84 /** | |
85 * Get the ui-functions. | |
86 * | |
15823 | 87 * @return The PurpleConversationUiOps populated with the appropriate functions. |
15818 | 88 */ |
15823 | 89 PurpleConversationUiOps *finch_conv_get_ui_ops(void); |
15818 | 90 |
91 /** | |
92 * Perform the necessary initializations. | |
93 */ | |
94 void finch_conversation_init(void); | |
95 | |
96 /** | |
97 * Perform the necessary uninitializations. | |
98 */ | |
99 void finch_conversation_uninit(void); | |
100 | |
101 /** | |
102 * Set a conversation as active in a contactized conversation | |
103 * | |
104 * @param conv The conversation to make active. | |
105 */ | |
15823 | 106 void finch_conversation_set_active(PurpleConversation *conv); |
15818 | 107 |
16128
7a2ffa981c1a
Allow adding information widgets in the conversation window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15871
diff
changeset
|
108 /** |
7a2ffa981c1a
Allow adding information widgets in the conversation window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15871
diff
changeset
|
109 * Sets the information widget for the conversation window. |
7a2ffa981c1a
Allow adding information widgets in the conversation window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15871
diff
changeset
|
110 * |
7a2ffa981c1a
Allow adding information widgets in the conversation window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15871
diff
changeset
|
111 * @param conv The conversation. |
7a2ffa981c1a
Allow adding information widgets in the conversation window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15871
diff
changeset
|
112 * @param widget The widget containing the information. If @c NULL, |
7a2ffa981c1a
Allow adding information widgets in the conversation window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15871
diff
changeset
|
113 * the current information widget is removed. |
7a2ffa981c1a
Allow adding information widgets in the conversation window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15871
diff
changeset
|
114 */ |
7a2ffa981c1a
Allow adding information widgets in the conversation window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15871
diff
changeset
|
115 void finch_conversation_set_info_widget(PurpleConversation *conv, GntWidget *widget); |
7a2ffa981c1a
Allow adding information widgets in the conversation window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15871
diff
changeset
|
116 |
15818 | 117 /*@}*/ |
118 | |
119 #endif |