Sat, 29 Oct 2022 01:14:13 -0500
Convert PidginProxyPrefs to Adwaita 1.2
Testing Done:
Set all the values via the ui and the config file and tested bad values in the port in both as well. Bad values in the ui will store whatever atoi returned, but bad values in the config file will fallback to the default.
Reviewed at https://reviews.imfreedom.org/r/1996/
|
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" |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
30 | #include "gtksavedstatuses.h" |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
31 | #include "gtkutils.h" |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
32 | #include "pidginprefsinternal.h" |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
33 | |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
34 | struct _PidginAwayPrefs { |
|
41548
3353c766c6cf
Convert away prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41374
diff
changeset
|
35 | AdwPreferencesPage parent; |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
36 | |
|
41654
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
37 | GtkWidget *idle_reporting; |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
38 | 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
|
39 | GtkWidget *idle_row; |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
40 | GtkWidget *away_when_idle; |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
41 | 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
|
42 | GtkWidget *startup_row; |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
43 | }; |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
44 | |
|
41548
3353c766c6cf
Convert away prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41374
diff
changeset
|
45 | G_DEFINE_TYPE(PidginAwayPrefs, pidgin_away_prefs, 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
|
46 | |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
47 | /****************************************************************************** |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
48 | * Helpers |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
49 | *****************************************************************************/ |
|
41654
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
50 | static gchar * |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
51 | idle_reporting_expression_cb(GObject *self, G_GNUC_UNUSED gpointer data) |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
52 | { |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
53 | const gchar *text = ""; |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
54 | 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
|
55 | |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
56 | 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
|
57 | 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
|
58 | text = _("Never"); |
|
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, "purple")) { |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
60 | 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
|
61 | } 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
|
62 | 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
|
63 | } |
|
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 | 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
|
66 | } |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
67 | |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
68 | static void |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
69 | set_idle_away(PurpleSavedStatus *status) |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
70 | { |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
71 | purple_prefs_set_int("/purple/savedstatus/idleaway", |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
72 | purple_savedstatus_get_creation_time(status)); |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
73 | } |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
74 | |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
75 | static void |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
76 | set_startupstatus(PurpleSavedStatus *status) |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
77 | { |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
78 | purple_prefs_set_int("/purple/savedstatus/startup", |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
79 | purple_savedstatus_get_creation_time(status)); |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
80 | } |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
81 | |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
82 | /****************************************************************************** |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
83 | * GObject Implementation |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
84 | *****************************************************************************/ |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
85 | static void |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
86 | 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
|
87 | { |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
88 | 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
|
89 | |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
90 | 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
|
91 | widget_class, |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
92 | "/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
|
93 | ); |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
94 | |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
95 | 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
|
96 | idle_reporting); |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
97 | 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
|
98 | idle_reporting_expression_cb); |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
99 | 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
|
100 | mins_before_away); |
|
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
101 | 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
|
102 | away_when_idle); |
|
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
103 | 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
|
104 | idle_row); |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
105 | 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
|
106 | startup_current_status); |
|
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
107 | 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
|
108 | startup_row); |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
109 | } |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
110 | |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
111 | static void |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
112 | 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
|
113 | { |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
114 | GtkWidget *menu; |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
115 | |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
116 | 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
|
117 | |
|
41654
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
118 | pidgin_prefs_bind_combo_row("/purple/away/idle_reporting", |
|
fe90b5f62e88
Port away page combo boxes to drop downs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41640
diff
changeset
|
119 | prefs->idle_reporting); |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
120 | |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
121 | pidgin_prefs_bind_spin_button("/purple/away/mins_before_away", |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
122 | prefs->mins_before_away); |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
123 | |
|
41622
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
124 | pidgin_prefs_bind_switch("/purple/away/away_when_idle", |
|
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
125 | prefs->away_when_idle); |
|
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 | /* TODO: Show something useful if we don't have any saved statuses. */ |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
128 | menu = pidgin_status_menu(purple_savedstatus_get_idleaway(), |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
129 | G_CALLBACK(set_idle_away)); |
|
41622
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
130 | gtk_widget_set_valign(menu, GTK_ALIGN_CENTER); |
|
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
131 | adw_action_row_add_suffix(ADW_ACTION_ROW(prefs->idle_row), menu); |
|
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
132 | adw_action_row_set_activatable_widget(ADW_ACTION_ROW(prefs->idle_row), |
|
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
133 | menu); |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
134 | |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
135 | g_object_bind_property(prefs->away_when_idle, "active", |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
136 | menu, "sensitive", |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
137 | G_BINDING_SYNC_CREATE); |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
138 | |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
139 | /* Signon status stuff */ |
|
41622
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
140 | pidgin_prefs_bind_switch("/purple/savedstatus/startup_current_status", |
|
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
141 | prefs->startup_current_status); |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
142 | |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
143 | /* TODO: Show something useful if we don't have any saved statuses. */ |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
144 | menu = pidgin_status_menu(purple_savedstatus_get_startup(), |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
145 | G_CALLBACK(set_startupstatus)); |
|
41622
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
146 | gtk_widget_set_valign(menu, GTK_ALIGN_CENTER); |
|
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
147 | adw_action_row_add_suffix(ADW_ACTION_ROW(prefs->startup_row), menu); |
|
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
148 | adw_action_row_set_activatable_widget(ADW_ACTION_ROW(prefs->startup_row), |
|
4e81efb6f325
Move away preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41548
diff
changeset
|
149 | menu); |
|
41368
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
150 | } |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
151 | |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
152 | /****************************************************************************** |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
153 | * API |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
154 | *****************************************************************************/ |
|
54d7cfc990eb
Split away/idle prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
155 | GtkWidget * |
|
41374
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
156 | pidgin_away_prefs_new(void) { |
|
ea87294eff71
Rename PidginAwayPage to PidginAwayPrefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41368
diff
changeset
|
157 | return GTK_WIDGET(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
|
158 | } |