pidgin/prefs/pidginawayprefs.c

Fri, 30 Sep 2022 03:12:09 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 30 Sep 2022 03:12:09 -0500
changeset 41765
6b1dc67b861d
parent 41654
fe90b5f62e88
child 42507
8e8f223cdd5a
permissions
-rw-r--r--

Remove auto-replies

Auto-replies only work if the protocol supports them, and at the time of this
writing the only protocol that sets that flag is Zephyr which is barely used.

Testing Done:
Opened the preferences and verified the away page loaded fine.

Bugs closed: PIDGIN-17684

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

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 }

mercurial