pidgin/pidginconversationwindow.h

Fri, 05 Mar 2021 03:31:29 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 05 Mar 2021 03:31:29 -0600
changeset 40810
28d50eece92d
parent 40577
953d563429b8
child 41124
95555046173e
permissions
-rw-r--r--

Create a PidginAvatar widget.

This does everything the existing code does, but trying to integrate right now
is kind of difficult. The plan is to use this in a new PidginInfoPane I have
started, but that change got very large so I just packed it into the end of
the existing info pane.

The only things that are not implement right now, are making menu items
insensitive and that's because we need to figure out a better want to handle
custom avatars for users.

Testing Done:
Ran locally.

Reviewed at https://reviews.imfreedom.org/r/528/

40577
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Pidgin - Internet Messenger
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * Pidgin is the legal property of its developers, whose names are too numerous
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * source distribution.
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 *
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * (at your option) any later version.
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 *
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 * GNU General Public License for more details.
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18 *
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 * along with this program; if not, see <https://www.gnu.org/licenses/>.
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 */
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 #if !defined(PIDGIN_GLOBAL_HEADER_INSIDE) && !defined(PIDGIN_COMPILATION)
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24 # error "only <pidgin.h> may be included directly"
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25 #endif
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 #ifndef PIDGIN_CONVERSATION_WINDOW_H
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28 #define PIDGIN_CONVERSATION_WINDOW_H
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 /**
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31 * SECTION:pidginconversationwindow
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32 * @section_id: pidgin-pidginconversationwindow
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33 * @short_description: The main conversation window widget.
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
34 * @title: Conversation window widget
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35 *
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36 * #PidginConversationWindow is a widget that contains #PidginConversations.
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37 */
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 #include <glib.h>
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41 #include <gtk/gtk.h>
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 G_BEGIN_DECLS
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
45 #define PIDGIN_TYPE_CONVERSATION_WINDOW (pidgin_conversation_window_get_type())
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46 G_DECLARE_FINAL_TYPE(PidginConversationWindow, pidgin_conversation_window,
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47 PIDGIN, CONVERSATION_WINDOW, GtkApplicationWindow)
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49 /**
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 * pidgin_conversation_window_new:
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51 *
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52 * Creates a new #PidginConversationWindow instance.
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 *
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54 * Returns: (transfer full): The new #PidginConversationWindow instance.
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55 */
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56 GtkWidget *pidgin_conversation_window_new(void);
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 /**
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 * pidgin_conversation_window_get_vbox:
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60 * @window: The #PidginConversationWindow instance.
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 *
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 * Gets the main vertical box of @window.
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 *
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 * Returns: (transfer none): The main vertical box of @window.
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 *
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66 * Since: 3.0.0
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 * Deprecated: 3.0.0
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 */
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 GtkWidget *pidgin_conversation_window_get_vbox(PidginConversationWindow *window);
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 G_END_DECLS
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72
953d563429b8 Create a new PidginConversationWindow widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 #endif /* PIDGIN_CONVERSATION_WINDOW_H */

mercurial