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/
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
1 | /* |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
2 | * Pidgin - Internet Messenger |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
3 | * Copyright (C) Pidgin Developers <devel@pidgin.im> |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
4 | * |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
5 | * Pidgin is the legal property of its developers, whose names are too numerous |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
6 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
7 | * source distribution. |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
8 | * |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
9 | * This program is free software; you can redistribute it and/or modify |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
10 | * it under the terms of the GNU General Public License as published by |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
11 | * the Free Software Foundation; either version 2 of the License, or |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
12 | * (at your option) any later version. |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
13 | * |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
14 | * This program is distributed in the hope that it will be useful, |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
17 | * GNU General Public License for more details. |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
18 | * |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
19 | * You should have received a copy of the GNU General Public License |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
20 | * along with this program; if not, see <https://www.gnu.org/licenses/>. |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
21 | */ |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
22 | |
|
41654
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
23 | #include <glib/gi18n-lib.h> |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
24 | |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
25 | #include <purple.h> |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
26 | |
|
41548
3353c766c6cf
Convert away prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41374
diff
changeset
|
27 | #include <adwaita.h> |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
28 | |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
29 | #include "pidginawayprefs.h" |
|
42507
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
30 | #include "pidginiconname.h" |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
31 | |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
32 | struct _PidginAwayPrefs { |
|
41548
3353c766c6cf
Convert away prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41374
diff
changeset
|
33 | AdwPreferencesPage parent; |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
34 | |
|
41654
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
35 | GtkWidget *idle_reporting; |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
36 | GtkWidget *mins_before_away; |
|
41622
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
37 | GtkWidget *idle_row; |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
38 | GtkWidget *away_when_idle; |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
39 | GtkWidget *startup_current_status; |
|
41622
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
40 | GtkWidget *startup_row; |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
41 | }; |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.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:
42507
diff
changeset
|
43 | G_DEFINE_FINAL_TYPE(PidginAwayPrefs, pidgin_away_prefs, |
|
580339aa47cc
Make sure all of the final types in pidgin are defined as such
Gary Kramlich <grim@reaperworld.com>
parents:
42507
diff
changeset
|
44 | ADW_TYPE_PREFERENCES_PAGE) |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
45 | |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
46 | /****************************************************************************** |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
47 | * Helpers |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
48 | *****************************************************************************/ |
|
41654
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
49 | static gchar * |
|
42507
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
50 | idle_reporting_expression_cb(GObject *self, G_GNUC_UNUSED gpointer data) { |
|
41654
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
51 | const gchar *text = ""; |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
52 | const gchar *value = NULL; |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
53 | |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
54 | value = gtk_string_object_get_string(GTK_STRING_OBJECT(self)); |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
55 | if(purple_strequal(value, "none")) { |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
56 | text = _("Never"); |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
57 | } else if(purple_strequal(value, "purple")) { |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
58 | text = _("From last sent message"); |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
59 | } else if(purple_strequal(value, "system")) { |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
60 | text = _("Based on keyboard or mouse use"); |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
61 | } |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
62 | |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
63 | return g_strdup(text); |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
64 | } |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
65 | |
|
42507
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
66 | static char * |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
67 | idle_presence_icon_name_from_primitive(G_GNUC_UNUSED GObject *self, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
68 | PurplePresencePrimitive primitive, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
69 | G_GNUC_UNUSED gpointer data) |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
70 | { |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
71 | const char *icon_name = NULL; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
72 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
73 | icon_name = pidgin_icon_name_from_presence_primitive(primitive, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
74 | "icon-missing"); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
75 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
76 | return g_strdup(icon_name); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
77 | } |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
78 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
79 | static gboolean |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
80 | idle_get_reporting_mapping(GValue *value, GVariant *variant, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
81 | G_GNUC_UNUSED gpointer data) |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
82 | { |
|
42507
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
83 | const char *id = NULL; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
84 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
85 | id = g_variant_get_string(variant, NULL); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
86 | if(purple_strequal(id, "none")) { |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
87 | g_value_set_uint(value, 0); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
88 | } else if(purple_strequal(id, "purple")) { |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
89 | g_value_set_uint(value, 1); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
90 | } else if(purple_strequal(id, "system")) { |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
91 | g_value_set_uint(value, 2); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
92 | } else { |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
93 | return FALSE; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
94 | } |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
95 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
96 | return TRUE; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
97 | } |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
98 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
99 | static GVariant * |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
100 | idle_set_reporting_mapping(const GValue *value, const GVariantType *expected, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
101 | G_GNUC_UNUSED gpointer data) |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
102 | { |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
103 | const char *id = NULL; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
104 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
105 | if(!g_variant_type_equal(expected, G_VARIANT_TYPE_STRING)) { |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
106 | return NULL; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
107 | } |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
108 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
109 | switch(g_value_get_uint(value)) { |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
110 | case 0: |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
111 | id = "none"; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
112 | break; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
113 | case 1: |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
114 | id = "purple"; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
115 | break; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
116 | case 2: |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
117 | id = "system"; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
118 | break; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
119 | } |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
120 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
121 | if(id != NULL) { |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
122 | return g_variant_new_string(id); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
123 | } |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
124 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
125 | return NULL; |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
126 | } |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
127 | |
|
42507
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
128 | static gboolean |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
129 | idle_get_saved_presence_mapping(GValue *value, GVariant *variant, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
130 | G_GNUC_UNUSED gpointer data) |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
131 | { |
|
42507
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
132 | GListModel *model = NULL; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
133 | const char *name = NULL; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
134 | guint n_items = 0; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
135 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
136 | model = purple_presence_manager_get_default_as_model(); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
137 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
138 | name = g_variant_get_string(variant, NULL); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
139 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
140 | n_items = g_list_model_get_n_items(model); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
141 | for(guint i = 0; i < n_items; i++) { |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
142 | PurpleSavedPresence *presence = NULL; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
143 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
144 | presence = g_list_model_get_item(model, i); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
145 | if(PURPLE_IS_SAVED_PRESENCE(presence)) { |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
146 | const char *presence_name = NULL; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
147 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
148 | presence_name = purple_saved_presence_get_name(presence); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
149 | if(purple_strequal(presence_name, name)) { |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
150 | g_value_set_uint(value, i); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
151 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
152 | g_clear_object(&presence); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
153 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
154 | return TRUE; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
155 | } |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
156 | } |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
157 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
158 | g_clear_object(&presence); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
159 | } |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
160 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
161 | g_value_set_uint(value, 0); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
162 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
163 | return TRUE; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
164 | } |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
165 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
166 | static GVariant * |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
167 | idle_set_saved_presence_mapping(const GValue *value, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
168 | const GVariantType *expected, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
169 | G_GNUC_UNUSED gpointer data) |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
170 | { |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
171 | PurpleSavedPresence *presence = NULL; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
172 | GListModel *model = NULL; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
173 | guint position = 0; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
174 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
175 | if(!g_variant_type_equal(expected, G_VARIANT_TYPE_STRING)) { |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
176 | return NULL; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
177 | } |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
178 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
179 | model = purple_presence_manager_get_default_as_model(); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
180 | position = g_value_get_uint(value); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
181 | presence = g_list_model_get_item(model, position); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
182 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
183 | if(PURPLE_IS_SAVED_PRESENCE(presence)) { |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
184 | GVariant *ret = NULL; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
185 | const char *name = NULL; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
186 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
187 | name = purple_saved_presence_get_name(presence); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
188 | ret = g_variant_new_string(name); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
189 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
190 | g_clear_object(&presence); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
191 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
192 | return ret; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
193 | } |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
194 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
195 | return NULL; |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
196 | } |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
197 | |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
198 | /****************************************************************************** |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
199 | * GObject Implementation |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
200 | *****************************************************************************/ |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
201 | static void |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
202 | pidgin_away_prefs_class_init(PidginAwayPrefsClass *klass) |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
203 | { |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
204 | GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
205 | |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
206 | gtk_widget_class_set_template_from_resource( |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
207 | widget_class, |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
208 | "/im/pidgin/Pidgin3/Prefs/away.ui" |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
209 | ); |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
210 | |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
211 | gtk_widget_class_bind_template_child(widget_class, PidginAwayPrefs, |
|
41654
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
212 | idle_reporting); |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
213 | gtk_widget_class_bind_template_callback(widget_class, |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
214 | idle_reporting_expression_cb); |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
215 | gtk_widget_class_bind_template_child(widget_class, PidginAwayPrefs, |
|
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
216 | mins_before_away); |
|
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
217 | gtk_widget_class_bind_template_child(widget_class, PidginAwayPrefs, |
|
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
218 | away_when_idle); |
|
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
219 | gtk_widget_class_bind_template_child(widget_class, PidginAwayPrefs, |
|
41622
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
220 | idle_row); |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
221 | gtk_widget_class_bind_template_child(widget_class, PidginAwayPrefs, |
|
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
222 | startup_current_status); |
|
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
223 | gtk_widget_class_bind_template_child(widget_class, PidginAwayPrefs, |
|
41622
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
224 | startup_row); |
|
42507
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
225 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
226 | gtk_widget_class_bind_template_callback(widget_class, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
227 | idle_presence_icon_name_from_primitive); |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
228 | } |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
229 | |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
230 | static void |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
231 | pidgin_away_prefs_init(PidginAwayPrefs *prefs) |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
232 | { |
|
42507
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
233 | GListModel *model = NULL; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
234 | GSettings *settings = NULL; |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
235 | gpointer backend = NULL; |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
236 | |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
237 | gtk_widget_init_template(GTK_WIDGET(prefs)); |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
238 | |
|
42507
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
239 | backend = purple_core_get_settings_backend(); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
240 | model = purple_presence_manager_get_default_as_model(); |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
241 | |
|
42507
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
242 | /* Finish setting up our idle preferences. */ |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
243 | adw_combo_row_set_model(ADW_COMBO_ROW(prefs->idle_row), model); |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
244 | |
|
42507
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
245 | settings = g_settings_new_with_backend("im.pidgin.Purple.Idle", backend); |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
246 | |
|
42507
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
247 | g_settings_bind_with_mapping(settings, "method", |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
248 | prefs->idle_reporting, "selected", |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
249 | G_SETTINGS_BIND_DEFAULT, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
250 | idle_get_reporting_mapping, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
251 | idle_set_reporting_mapping, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
252 | NULL, NULL); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
253 | g_settings_bind(settings, "duration", prefs->mins_before_away, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
254 | "value", G_SETTINGS_BIND_DEFAULT); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
255 | g_settings_bind(settings, "change-presence", prefs->away_when_idle, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
256 | "active", G_SETTINGS_BIND_DEFAULT); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
257 | g_settings_bind_with_mapping(settings, "saved-presence", |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
258 | prefs->idle_row, "selected", |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
259 | G_SETTINGS_BIND_DEFAULT, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
260 | idle_get_saved_presence_mapping, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
261 | idle_set_saved_presence_mapping, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
262 | NULL, NULL); |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
263 | |
|
42507
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
264 | g_clear_object(&settings); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
265 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
266 | /* Finish setting up the startup presence preferences. */ |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
267 | adw_combo_row_set_model(ADW_COMBO_ROW(prefs->startup_row), model); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
268 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
269 | settings = g_settings_new_with_backend("im.pidgin.Purple.Startup", |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
270 | backend); |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
271 | |
|
42507
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
272 | g_settings_bind(settings, "use-previous-presence", |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
273 | prefs->startup_current_status, "active", |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
274 | G_SETTINGS_BIND_DEFAULT); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
275 | g_settings_bind_with_mapping(settings, "saved-presence", |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
276 | prefs->startup_row, "selected", |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
277 | G_SETTINGS_BIND_DEFAULT, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
278 | idle_get_saved_presence_mapping, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
279 | idle_set_saved_presence_mapping, |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
280 | NULL, NULL); |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
281 | |
|
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
282 | g_clear_object(&settings); |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
283 | } |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
284 | |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
285 | /****************************************************************************** |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
286 | * API |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
287 | *****************************************************************************/ |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
288 | GtkWidget * |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
289 | pidgin_away_prefs_new(void) { |
|
42507
8e8f223cdd5a
Port PidginAwayPrefs to PurpleSavedPresence and GSettings
Gary Kramlich <grim@reaperworld.com>
parents:
41765
diff
changeset
|
290 | return g_object_new(PIDGIN_TYPE_AWAY_PREFS, NULL); |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
291 | } |