Sun, 03 Nov 2024 00:05:44 -0500
remove purple3-url-handler.desktop.in.in
The application that did the launching was removed long ago. Also this should
be implemented by the user interfaces and they might provide separate files to
groups schemas as well.
Testing Done:
Called in the turtles.
Reviewed at https://reviews.imfreedom.org/r/3640/
|
42365
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
1 | /* |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
2 | * Pidgin - Internet Messenger |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
3 | * Copyright (C) Pidgin Developers <devel@pidgin.im> |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
4 | * |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
5 | * Pidgin is the legal property of its developers, whose names are too numerous |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
6 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
7 | * source distribution. |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
8 | * |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
9 | * This program is free software; you can redistribute it and/or modify |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
10 | * it under the terms of the GNU General Public License as published by |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
11 | * the Free Software Foundation; either version 2 of the License, or |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
12 | * (at your option) any later version. |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
13 | * |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
14 | * This program is distributed in the hope that it will be useful, |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
17 | * GNU General Public License for more details. |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
18 | * |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
19 | * You should have received a copy of the GNU General Public License |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
20 | * along with this program; if not, see <https://www.gnu.org/licenses/>. |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
21 | */ |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
22 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
23 | #include <glib/gi18n-lib.h> |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
24 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
25 | #include <purple.h> |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
26 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
27 | #include "pidgin/pidginaccountrow.h" |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
28 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
29 | struct _PidginAccountRow { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
30 | AdwComboRow parent; |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
31 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
32 | GtkFilterListModel *filter; |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
33 | }; |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
34 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
35 | enum { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
36 | PROP_0, |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
37 | PROP_ACCOUNT, |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
38 | PROP_FILTER, |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
39 | N_PROPERTIES, |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
40 | }; |
|
42584
687260353985
Make signal and property enums and initializers consistent
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42575
diff
changeset
|
41 | static GParamSpec *properties[N_PROPERTIES] = {NULL, }; |
|
42365
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
42 | |
|
42575
580339aa47cc
Make sure all of the final types in pidgin are defined as such
Gary Kramlich <grim@reaperworld.com>
parents:
42365
diff
changeset
|
43 | G_DEFINE_FINAL_TYPE(PidginAccountRow, pidgin_account_row, ADW_TYPE_COMBO_ROW) |
|
42365
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
44 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
45 | /****************************************************************************** |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
46 | * Callbacks |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
47 | *****************************************************************************/ |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
48 | static void |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
49 | pidgin_account_row_changed_cb(G_GNUC_UNUSED GObject *obj, |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
50 | G_GNUC_UNUSED GParamSpec *pspec, |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
51 | gpointer data) |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
52 | { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
53 | g_object_notify_by_pspec(G_OBJECT(data), properties[PROP_ACCOUNT]); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
54 | } |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
55 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
56 | /****************************************************************************** |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
57 | * GObject Implementation |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
58 | *****************************************************************************/ |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
59 | static void |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
60 | pidgin_account_row_get_property(GObject *obj, guint param_id, GValue *value, |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
61 | GParamSpec *pspec) |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
62 | { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
63 | PidginAccountRow *row = PIDGIN_ACCOUNT_ROW(obj); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
64 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
65 | switch(param_id) { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
66 | case PROP_ACCOUNT: |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
67 | g_value_set_object(value, pidgin_account_row_get_account(row)); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
68 | break; |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
69 | case PROP_FILTER: |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
70 | g_value_set_object(value, pidgin_account_row_get_filter(row)); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
71 | break; |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
72 | default: |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
73 | G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
74 | break; |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
75 | } |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
76 | } |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
77 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
78 | static void |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
79 | pidgin_account_row_set_property(GObject *obj, guint param_id, |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
80 | const GValue *value, GParamSpec *pspec) |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
81 | { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
82 | PidginAccountRow *row = PIDGIN_ACCOUNT_ROW(obj); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
83 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
84 | switch(param_id) { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
85 | case PROP_ACCOUNT: |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
86 | pidgin_account_row_set_account(row, g_value_get_object(value)); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
87 | break; |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
88 | case PROP_FILTER: |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
89 | pidgin_account_row_set_filter(row, g_value_get_object(value)); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
90 | break; |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
91 | default: |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
92 | G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
93 | break; |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
94 | } |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
95 | } |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
96 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
97 | static void |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
98 | pidgin_account_row_init(PidginAccountRow *row) { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
99 | GListModel *model = NULL; |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
100 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
101 | gtk_widget_init_template(GTK_WIDGET(row)); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
102 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
103 | model = purple_account_manager_get_default_as_model(); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
104 | gtk_filter_list_model_set_model(row->filter, model); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
105 | } |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
106 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
107 | static void |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
108 | pidgin_account_row_class_init(PidginAccountRowClass *klass) { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
109 | GObjectClass *obj_class = G_OBJECT_CLASS(klass); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
110 | GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
111 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
112 | obj_class->get_property = pidgin_account_row_get_property; |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
113 | obj_class->set_property = pidgin_account_row_set_property; |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
114 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
115 | /** |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
116 | * PidginAccountRow:account: |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
117 | * |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
118 | * The [class@Purple.Account] that is selected. |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
119 | * |
|
42620
72178a341eb8
Remove minor versions from Since tags in Pidgin
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42584
diff
changeset
|
120 | * Since: 3.0 |
|
42365
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
121 | */ |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
122 | properties[PROP_ACCOUNT] = g_param_spec_object( |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
123 | "account", "account", |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
124 | "The account that is selected.", |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
125 | PURPLE_TYPE_ACCOUNT, |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
126 | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
127 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
128 | /** |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
129 | * PidginAccountRow:filter: |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
130 | * |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
131 | * The filter to use on the list of accounts. |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
132 | * |
|
42620
72178a341eb8
Remove minor versions from Since tags in Pidgin
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42584
diff
changeset
|
133 | * Since: 3.0 |
|
42365
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
134 | */ |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
135 | properties[PROP_FILTER] = g_param_spec_object( |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
136 | "filter", "filter", |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
137 | "The filter to be applied on the list of accounts.", |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
138 | GTK_TYPE_FILTER, |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
139 | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
140 | g_object_class_install_properties(obj_class, N_PROPERTIES, properties); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
141 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
142 | gtk_widget_class_set_template_from_resource( |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
143 | widget_class, |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
144 | "/im/pidgin/Pidgin3/account-row.ui" |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
145 | ); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
146 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
147 | gtk_widget_class_bind_template_child(widget_class, PidginAccountRow, |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
148 | filter); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
149 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
150 | gtk_widget_class_bind_template_callback(widget_class, |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
151 | pidgin_account_row_changed_cb); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
152 | } |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
153 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
154 | /****************************************************************************** |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
155 | * API |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
156 | *****************************************************************************/ |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
157 | GtkWidget * |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
158 | pidgin_account_row_new(void) { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
159 | return g_object_new(PIDGIN_TYPE_ACCOUNT_ROW, NULL); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
160 | } |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
161 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
162 | PurpleAccount * |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
163 | pidgin_account_row_get_account(PidginAccountRow *row) { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
164 | g_return_val_if_fail(PIDGIN_IS_ACCOUNT_ROW(row), NULL); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
165 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
166 | return adw_combo_row_get_selected_item(ADW_COMBO_ROW(row)); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
167 | } |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
168 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
169 | void |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
170 | pidgin_account_row_set_account(PidginAccountRow *row, PurpleAccount *account) { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
171 | GListModel *model = NULL; |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
172 | guint n_items = 0; |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
173 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
174 | g_return_if_fail(PIDGIN_IS_ACCOUNT_ROW(row)); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
175 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
176 | model = adw_combo_row_get_model(ADW_COMBO_ROW(row)); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
177 | g_return_if_fail(G_IS_LIST_MODEL(model)); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
178 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
179 | n_items = g_list_model_get_n_items(model); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
180 | for(guint position = 0; position < n_items; position++) { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
181 | PurpleAccount *account1 = g_list_model_get_item(model, position); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
182 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
183 | if(account1 == account) { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
184 | /* NOTE: Property notification occurs in 'changed' signal |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
185 | * callback. |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
186 | */ |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
187 | adw_combo_row_set_selected(ADW_COMBO_ROW(row), position); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
188 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
189 | g_clear_object(&account1); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
190 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
191 | return; |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
192 | } |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
193 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
194 | g_clear_object(&account1); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
195 | } |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
196 | } |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
197 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
198 | GtkFilter * |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
199 | pidgin_account_row_get_filter(PidginAccountRow *row) { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
200 | g_return_val_if_fail(PIDGIN_IS_ACCOUNT_ROW(row), NULL); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
201 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
202 | return gtk_filter_list_model_get_filter(row->filter); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
203 | } |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
204 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
205 | void |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
206 | pidgin_account_row_set_filter(PidginAccountRow *row, GtkFilter *filter) { |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
207 | g_return_if_fail(PIDGIN_IS_ACCOUNT_ROW(row)); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
208 | |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
209 | gtk_filter_list_model_set_filter(row->filter, filter); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
210 | g_object_notify_by_pspec(G_OBJECT(row), properties[PROP_FILTER]); |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
211 | } |
|
45ce6d3f6386
Create PidginAccountRow which subclasses AdwRow
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
212 |