~khurshid-alam/unity-control-center/libnm-port-test

« back to all changes in this revision

Viewing changes to panels/network/connection-editor/ce-page-details.c

  • Committer: Khurshid Alam
  • Date: 2018-06-05 14:47:56 UTC
  • Revision ID: khurshid.alam@linuxmail.org-20180605144756-or0tftb2kddhvhq2
Update connection editor pages and wireless security from Gnome-3.26

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
 
32
32
G_DEFINE_TYPE (CEPageDetails, ce_page_details, CE_TYPE_PAGE)
33
33
 
 
34
static void
 
35
forget_cb (GtkButton *button, CEPageDetails *page)
 
36
{
 
37
        net_connection_editor_forget (page->editor);
 
38
}
 
39
 
34
40
static gchar *
35
41
get_ap_security_string (NMAccessPoint *ap)
36
42
{
112
118
}
113
119
 
114
120
static void
 
121
all_user_changed (GtkToggleButton *b, CEPageDetails *page)
 
122
{
 
123
        gboolean all_users;
 
124
        NMSettingConnection *sc;
 
125
 
 
126
        sc = nm_connection_get_setting_connection (CE_PAGE (page)->connection);
 
127
        all_users = gtk_toggle_button_get_active (b);
 
128
 
 
129
        g_object_set (sc, "permissions", NULL, NULL);
 
130
        if (!all_users)
 
131
                nm_setting_connection_add_permission (sc, "user", g_get_user_name (), NULL);
 
132
}
 
133
 
 
134
static void
115
135
connect_details_page (CEPageDetails *page)
116
136
{
 
137
        NMSettingConnection *sc;
 
138
        GtkWidget *widget;
117
139
        guint speed;
118
140
        guint strength;
119
141
        NMDeviceState state;
120
142
        NMAccessPoint *active_ap;
121
143
        const gchar *str;
 
144
        const gchar *type;
122
145
        gboolean device_is_active;
123
146
 
124
147
        if (NM_IS_DEVICE_WIFI (page->device))
198
221
        else
199
222
                panel_set_device_widget_details (CE_PAGE (page)->builder, "last_used", NULL);
200
223
 
 
224
        /* Auto connect check */
 
225
        widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder,
 
226
                                                     "auto_connect_check"));
 
227
        sc = nm_connection_get_setting_connection (CE_PAGE (page)->connection);
 
228
        g_object_bind_property (sc, "autoconnect",
 
229
                                widget, "active",
 
230
                                G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
 
231
        g_signal_connect_swapped (widget, "toggled", G_CALLBACK (ce_page_changed), page);
 
232
 
 
233
        /* All users check */
 
234
        widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder,
 
235
                                                     "all_user_check"));
 
236
        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget),
 
237
                                      nm_setting_connection_get_num_permissions (sc) == 0);
 
238
        g_signal_connect (widget, "toggled",
 
239
                          G_CALLBACK (all_user_changed), page);
 
240
        g_signal_connect_swapped (widget, "toggled", G_CALLBACK (ce_page_changed), page);
 
241
 
 
242
        /* Forget button */
 
243
        widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "button_forget"));
 
244
        g_signal_connect (widget, "clicked", G_CALLBACK (forget_cb), page);
 
245
 
 
246
        type = nm_setting_connection_get_connection_type (sc);
 
247
        if (g_str_equal (type, NM_SETTING_WIRELESS_SETTING_NAME))
 
248
                gtk_button_set_label (GTK_BUTTON (widget), _("Forget Connection"));
 
249
        else if (g_str_equal (type, NM_SETTING_WIRED_SETTING_NAME))
 
250
                gtk_button_set_label (GTK_BUTTON (widget), _("Remove Connection Profile"));
 
251
        else if (g_str_equal (type, NM_SETTING_VPN_SETTING_NAME))
 
252
                gtk_button_set_label (GTK_BUTTON (widget), _("Remove VPN"));
 
253
        else
 
254
                gtk_widget_hide (widget);
201
255
}
202
256
 
203
257
static void
211
265
}
212
266
 
213
267
CEPage *
214
 
ce_page_details_new (NMConnection     *connection,
215
 
                     NMClient         *client,
216
 
                     NMDevice         *device,
217
 
                     NMAccessPoint    *ap)
 
268
ce_page_details_new (NMConnection        *connection,
 
269
                     NMClient            *client,
 
270
                     NMDevice            *device,
 
271
                     NMAccessPoint       *ap,
 
272
                     NetConnectionEditor *editor)
218
273
{
219
274
        CEPageDetails *page;
220
275
 
224
279
                                             "/org/gnome/control-center/network/details-page.ui",
225
280
                                             _("Details")));
226
281
 
 
282
        page->editor = editor;
227
283
        page->device = device;
228
284
        page->ap = ap;
229
285
 
231
287
 
232
288
        return CE_PAGE (page);
233
289
}
234