pidgin/pidgintypinglabel.h

Tue, 01 Apr 2025 00:28:58 -0500

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Tue, 01 Apr 2025 00:28:58 -0500
changeset 43221
44fffd2f5564
parent 43177
595a5f31003a
permissions
-rw-r--r--

Convert PidginAccountsEnabledMenu to the list model

Again, not exactly what PIDGIN-18066 requested, but should be a reasonable version of it.

Testing Done:
Opened Pidgin with no accounts enabled, and the menu was empty. Enabled an account and it moved there, disable the account and it was removed.

Also, started Pidgin with an account enabled, and it appeared in the lower menu as expected.

Bugs closed: PIDGIN-18066

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

42943
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Pidgin - Internet Messenger
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * Pidgin is the legal property of its developers, whose names are too numerous
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * source distribution.
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 *
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * (at your option) any later version.
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 *
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 * GNU General Public License for more details.
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18 *
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 * along with this program; if not, see <https://www.gnu.org/licenses/>.
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 */
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 #if !defined(PIDGIN_GLOBAL_HEADER_INSIDE) && !defined(PIDGIN_COMPILATION)
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24 # error "only <pidgin.h> may be included directly"
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25 #endif
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 #ifndef PIDGIN_TYPING_LABEL_H
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28 #define PIDGIN_TYPING_LABEL_H
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 #include <glib.h>
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32 #include <gtk/gtk.h>
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
34 #include "pidginconversation.h"
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35 #include "pidginversion.h"
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37 G_BEGIN_DECLS
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 /**
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40 * PidginTypingLabel:
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41 *
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42 * A [class@Gtk.Widget] for displaying who is typing in a
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 * [class@Purple.Conversation].
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44 *
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
45 * Since: 3.0
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46 */
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 #define PIDGIN_TYPE_TYPING_LABEL (pidgin_typing_label_get_type())
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 PIDGIN_AVAILABLE_IN_3_0
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51 G_DECLARE_FINAL_TYPE(PidginTypingLabel, pidgin_typing_label, PIDGIN,
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52 TYPING_LABEL, GtkBox)
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54 /**
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55 * pidgin_typing_label_new:
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56 * @conversation: A [class@Purple.Conversation] instance.
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57 *
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 * Creates the new typing label for @conversation.
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 *
43177
595a5f31003a Annotate Pidgin constructors that return base types
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42943
diff changeset
60 * Returns: (transfer full) (type PidginTypingLabel): The new widget.
42943
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 *
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 * Since: 3.0
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 */
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 PIDGIN_AVAILABLE_IN_3_0
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 GtkWidget *pidgin_typing_label_new(PurpleConversation *conversation);
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 /**
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 * pidgin_typing_label_get_conversation:
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 * @label: The instance.
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 *
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 * Gets the [class@Purple.Conversation] that @label was created for.
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 *
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 * Returns: (transfer none): The conversation.
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 *
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75 * Since: 3.0
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76 */
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 PIDGIN_AVAILABLE_IN_3_0
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78 PurpleConversation *pidgin_typing_label_get_conversation(PidginTypingLabel *label);
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 G_END_DECLS
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81
d453240767f9 Create Pidgin.TypingLabel
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 #endif /* PIDGIN_TYPING_LABEL_H */

mercurial