Mercurial > pidgin
annotate finch/gntconv.h @ 29560:13f320cde14f
jabber: Heavily refactor jabber_presence_parse(). It's still not short enough.
This also fixes building (jabber_presence_uninit() snuck in to my
previous changes). Anyway, this has been lightly tested, but should
be a lot cleaner going forward, hopefully.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Tue, 09 Mar 2010 22:44:59 +0000 |
parents | 6bf32c9e15a7 |
children | 49a33bd1baf1 |
rev | line source |
---|---|
15817 | 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:
19681
diff
changeset
|
4 */ |
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
19681
diff
changeset
|
5 |
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
19681
diff
changeset
|
6 /* finch |
15817 | 7 * |
15870
66dff3dfdea6
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
8 * Finch is the legal property of its developers, whose names are too numerous |
15817 | 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 | |
19681
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 |
15817 | 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> |
15817 | 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 | |
15817 | 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 |
15817 | 52 struct _FinchConv |
53 { | |
54 GList *list; | |
15822 | 55 PurpleConversation *active_conv; |
15817 | 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:
15870
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; |
15817 | 63 |
64 union | |
65 { | |
66 FinchConvChat *chat; | |
67 FinchConvIm *im; | |
68 } u; | |
69 }; | |
70 | |
71 struct _FinchConvChat | |
72 { | |
73 GntWidget *userlist; /* the userlist */ | |
16663
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; |
15817 | 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; |
16663
5e6f8b92a2a5
Preemptive padding.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16194
diff
changeset
|
81 void *something_for_later; |
15817 | 82 }; |
83 | |
84 /** | |
85 * Get the ui-functions. | |
86 * | |
15822 | 87 * @return The PurpleConversationUiOps populated with the appropriate functions. |
15817 | 88 */ |
15822 | 89 PurpleConversationUiOps *finch_conv_get_ui_ops(void); |
15817 | 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 */ | |
15822 | 106 void finch_conversation_set_active(PurpleConversation *conv); |
15817 | 107 |
16128
7a2ffa981c1a
Allow adding information widgets in the conversation window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15870
diff
changeset
|
108 /** |
7a2ffa981c1a
Allow adding information widgets in the conversation window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15870
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:
15870
diff
changeset
|
110 * |
7a2ffa981c1a
Allow adding information widgets in the conversation window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15870
diff
changeset
|
111 * @param conv The conversation. |
7a2ffa981c1a
Allow adding information widgets in the conversation window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15870
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:
15870
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:
15870
diff
changeset
|
114 */ |
7a2ffa981c1a
Allow adding information widgets in the conversation window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15870
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:
15870
diff
changeset
|
116 |
15817 | 117 /*@}*/ |
118 | |
119 #endif |