...
 
Commits (48)
......@@ -12,8 +12,8 @@ variables:
gsettings-desktop-schemas-devel gtk3-devel ibus-devel intltool libcanberra-devel
libgtop2-devel libgudev-devel libnma-devel libpwquality-devel libsmbclient-devel
libsoup-devel libwacom-devel libX11-devel libXi-devel libxml2-devel libxslt
libXxf86misc-devel meson ModemManager-glib-devel NetworkManager-glib-devel
NetworkManager-libnm-devel polkit-devel pulseaudio-libs-devel upower-devel
libXxf86misc-devel meson ModemManager-glib-devel NetworkManager-libnm-devel
polkit-devel pulseaudio-libs-devel upower-devel
before_script:
......
==============
Version 3.28.2
==============
- Don't pass --overview on desktop file
- Translation updates
Display:
- Fix crashes on Night Light dialog
Network:
- Fix various Bluetooth and VPN issues
User Accounts:
- Fix building without Cheese
- Fix wrong enterprise user/password hint
==============
Version 3.28.1
==============
- Translation updates
Keyboard:
- Make "Set Shortcut" button accessible
Network:
- Silence a compiler warning
- Cleanup dead code
Online Accounts:
- Remove pending account when closing the panel
Printers:
- Fix crash when panel is closed quickly
User Accounts:
- Prevent freezes caused by external cameras
==============
Version 3.28.0
==============
- Translation updates
Network:
- Don't crash when connecting to hidden networks
===============
Version 3.27.92
===============
......
project(
'gnome-control-center', 'c',
version: '3.27.92',
version: '3.28.2',
license: 'GPL2+',
meson_version: '>= 0.43.0'
)
......@@ -41,7 +41,9 @@ foreach define: set_defines
config_h.set_quoted(define[0], define[1])
endforeach
config_h.set('USER_DIR_MODE', 0700,
# meson does not support octal values, so it must be handled as a
# string. See: https://github.com/mesonbuild/meson/issues/2047
config_h.set('USER_DIR_MODE', '0700',
description: 'Permissions for creating the user\'s config, cache and data directories')
# compiler flags
......@@ -87,16 +89,6 @@ libgvc = subproject(
)
libgvc_dep = libgvc.get_variable('libgvc_dep')
libgd = subproject(
'libgd',
default_options: [
'static=true',
'with-view-common=true',
'with-main-view=true'
]
)
libgd_dep = libgd.get_variable('libgd_dep')
goa_req_version = '>= 3.25.3'
pulse_req_version = '>= 2.0'
......@@ -156,7 +148,7 @@ if enable_cheese
cheese_deps = [
clutter_gtk_dep,
dependency('cheese'),
dependency('cheese', version: '>= 3.28.0'),
dependency('cheese-gtk', version: '>= 3.5.91')
]
endif
......@@ -189,10 +181,6 @@ if host_is_linux
dependency('libnma', version: '>= 1.2.0'),
dependency('mm-glib', version: '>= 0.7')
]
network_manager_dep = dependency('NetworkManager')
nm_vpn_config_dir = join_paths(network_manager_dep.get_pkgconfig_variable('configdir'), 'VPN')
nm_vpn_module_dir = network_manager_dep.get_pkgconfig_variable('plugindir')
endif
config_h.set('BUILD_NETWORK', host_is_linux,
description: 'Define to 1 to build the Network panel')
......
......@@ -207,13 +207,16 @@ monitor_labeler_show (CcDisplayPanel *self)
if (!priv->shell_proxy || !priv->current_config)
return;
outputs = g_object_get_data (G_OBJECT (priv->current_config), "ui-sorted-outputs");
if (!outputs)
return;
if (cc_display_config_is_cloning (priv->current_config))
return monitor_labeler_hide (self);
g_variant_builder_init (&builder, G_VARIANT_TYPE_TUPLE);
g_variant_builder_open (&builder, G_VARIANT_TYPE_ARRAY);
outputs = g_object_get_data (G_OBJECT (priv->current_config), "ui-sorted-outputs");
for (l = outputs; l != NULL; l = l->next)
{
CcDisplayMonitor *output = l->data;
......
......@@ -77,11 +77,11 @@ cc_night_light_dialog_finalize (GObject *object)
self->main_window = NULL;
}
g_object_unref (self->builder);
g_object_unref (self->proxy_color);
g_object_unref (self->proxy_color_props);
g_object_unref (self->settings_display);
g_object_unref (self->settings_clock);
g_clear_object (&self->builder);
g_clear_object (&self->proxy_color);
g_clear_object (&self->proxy_color_props);
g_clear_object (&self->settings_display);
g_clear_object (&self->settings_clock);
if (self->timer_id > 0)
g_source_remove (self->timer_id);
......@@ -384,13 +384,19 @@ static void
dialog_got_proxy_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
CcNightLightDialog *self = (CcNightLightDialog *) user_data;
GDBusProxy *proxy;
g_autoptr(GError) error = NULL;
self->proxy_color = g_dbus_proxy_new_for_bus_finish (res, &error);
if (self->proxy_color == NULL)
proxy = g_dbus_proxy_new_for_bus_finish (res, &error);
if (proxy == NULL)
{
g_warning ("failed to connect to g-s-d: %s", error->message);
if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
g_warning ("failed to connect to g-s-d: %s", error->message);
return;
}
self->proxy_color = proxy;
g_signal_connect (self->proxy_color, "g-properties-changed",
G_CALLBACK (dialog_color_properties_changed_cb), self);
dialog_update_state (self);
......@@ -401,13 +407,18 @@ static void
dialog_got_proxy_props_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
CcNightLightDialog *self = (CcNightLightDialog *) user_data;
GDBusProxy *proxy;
g_autoptr(GError) error = NULL;
self->proxy_color_props = g_dbus_proxy_new_for_bus_finish (res, &error);
if (self->proxy_color_props == NULL)
proxy = g_dbus_proxy_new_for_bus_finish (res, &error);
if (proxy == NULL)
{
g_warning ("failed to connect to g-s-d: %s", error->message);
if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
g_warning ("failed to connect to g-s-d: %s", error->message);
return;
}
self->proxy_color_props = proxy;
}
static gboolean
......
......@@ -255,7 +255,7 @@
<child>
<object class="GtkButton" id="change_custom_shortcut_button">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Set Shortcut…</property>
<signal name="clicked" handler="change_custom_shortcut_button_clicked_cb" object="CcKeyboardShortcutEditor" swapped="yes" />
</object>
......
......@@ -413,7 +413,8 @@ update_simple_section (CcNetworkPanel *self)
for (i = 0, n_simple = 0; i < self->devices->len; i++) {
NetObject *net_object = g_ptr_array_index (self->devices, i);
if (!NET_IS_DEVICE_SIMPLE (net_object))
/* NetDeviceSimple but none of the subclasses */
if (G_OBJECT_TYPE (net_object) != NET_TYPE_DEVICE_SIMPLE)
continue;
net_device_simple_set_show_separator (NET_DEVICE_SIMPLE (net_object), n_simple > 0);
......@@ -554,6 +555,8 @@ panel_remove_device (CcNetworkPanel *panel, NMDevice *device)
if (object == NULL)
return;
/* NMObject will not fire the "removed" signal, so handle the UI removal explicitly */
object_removed_cb (object, panel);
g_ptr_array_remove (panel->devices, object);
/* update vpn widgets */
......
......@@ -37,16 +37,11 @@ sources += gnome.compile_resources(
export: true
)
ce_cflags = cflags + [
'-DNM_VPN_CONFIG_DIR="@0@"'.format(nm_vpn_config_dir),
'-DNM_VPN_MODULE_DIR="@0@"'.format(nm_vpn_module_dir)
]
libconnection_editor = static_library(
name,
sources: sources,
include_directories: [top_inc, wireless_security_inc],
dependencies: deps,
c_args: ce_cflags,
c_args: cflags,
link_with: libwireless_security
)
......@@ -814,7 +814,7 @@ net_connection_editor_new (GtkWindow *parent_window,
editor = g_object_new (NET_TYPE_CONNECTION_EDITOR, NULL);
if (parent_window) {
editor->parent_window = g_object_ref (parent_window);
editor->parent_window = GTK_WIDGET (g_object_ref (parent_window));
gtk_window_set_transient_for (GTK_WINDOW (editor->window),
parent_window);
}
......
......@@ -551,8 +551,8 @@ device_ethernet_constructed (GObject *object)
G_CALLBACK (add_profile), device);
client = net_object_get_client (NET_OBJECT (object));
g_signal_connect (client, NM_CLIENT_CONNECTION_ADDED,
G_CALLBACK (client_connection_added_cb), object);
g_signal_connect_object (client, NM_CLIENT_CONNECTION_ADDED,
G_CALLBACK (client_connection_added_cb), object, 0);
g_signal_connect_object (client, NM_CLIENT_CONNECTION_REMOVED,
G_CALLBACK (connection_removed), device, 0);
......
......@@ -51,6 +51,8 @@ enum {
G_DEFINE_TYPE (NetVpn, net_vpn, NET_TYPE_OBJECT)
static void nm_device_refresh_vpn_ui (NetVpn *vpn);
void
net_vpn_set_show_separator (NetVpn *self,
gboolean show_separator)
......@@ -61,20 +63,12 @@ net_vpn_set_show_separator (NetVpn *self,
gtk_widget_set_visible (separator, show_separator);
}
static void
connection_vpn_state_changed_cb (NMVpnConnection *connection,
NMVpnConnectionState state,
NMVpnConnectionStateReason reason,
NetVpn *vpn)
{
net_object_emit_changed (NET_OBJECT (vpn));
}
static void
connection_changed_cb (NMConnection *connection,
NetVpn *vpn)
{
net_object_emit_changed (NET_OBJECT (vpn));
nm_device_refresh_vpn_ui (vpn);
}
static void
......@@ -118,34 +112,18 @@ net_vpn_set_connection (NetVpn *vpn, NMConnection *connection)
priv->connection = g_object_ref (connection);
client = net_object_get_client (NET_OBJECT (vpn));
g_signal_connect (client,
g_signal_connect_object (client,
NM_CLIENT_CONNECTION_REMOVED,
G_CALLBACK (connection_removed_cb),
vpn);
g_signal_connect (connection,
vpn, 0);
g_signal_connect_object (connection,
NM_CONNECTION_CHANGED,
G_CALLBACK (connection_changed_cb),
vpn);
if (NM_IS_VPN_CONNECTION (priv->connection)) {
g_signal_connect (priv->connection,
NM_VPN_CONNECTION_VPN_STATE,
G_CALLBACK (connection_vpn_state_changed_cb),
vpn);
}
vpn, 0);
priv->service_type = net_vpn_connection_to_type (priv->connection);
}
static NMVpnConnectionState
net_vpn_get_state (NetVpn *vpn)
{
NetVpnPrivate *priv = vpn->priv;
if (!NM_IS_VPN_CONNECTION (priv->connection))
return NM_VPN_CONNECTION_STATE_DISCONNECTED;
return nm_vpn_connection_get_vpn_state (NM_VPN_CONNECTION (priv->connection));
}
static void
vpn_proxy_delete (NetObject *object)
{
......@@ -202,14 +180,14 @@ nm_device_refresh_vpn_ui (NetVpn *vpn)
}
/* use status */
state = net_vpn_get_state (vpn);
/* Default to disconnected if there is no active connection */
state = NM_VPN_CONNECTION_STATE_DISCONNECTED;
client = net_object_get_client (NET_OBJECT (vpn));
acs = nm_client_get_active_connections (client);
if (acs != NULL) {
const gchar *uuid;
uuid = nm_connection_get_uuid (vpn->priv->connection);
for (i = 0; i < acs->len; i++) {
const gchar *auuid;
......@@ -406,15 +384,6 @@ net_vpn_finalize (GObject *object)
g_object_unref (priv->active_connection);
}
g_signal_handlers_disconnect_by_func (priv->connection,
connection_vpn_state_changed_cb,
vpn);
g_signal_handlers_disconnect_by_func (priv->connection,
connection_removed_cb,
vpn);
g_signal_handlers_disconnect_by_func (priv->connection,
connection_changed_cb,
vpn);
g_object_unref (priv->connection);
g_free (priv->service_type);
......
......@@ -97,19 +97,6 @@ activate_new_cb (GObject *source_object,
}
}
static void
nag_dialog_response_cb (GtkDialog *nag_dialog,
gint response,
gpointer user_data)
{
NMAWifiDialog *wireless_dialog = NMA_WIFI_DIALOG (user_data);
if (response == GTK_RESPONSE_NO) { /* user opted not to correct the warning */
nma_wifi_dialog_set_nag_ignored (wireless_dialog, TRUE);
gtk_dialog_response (GTK_DIALOG (wireless_dialog), GTK_RESPONSE_OK);
}
}
static void
wireless_dialog_response_cb (GtkDialog *foo,
gint response,
......@@ -126,22 +113,6 @@ wireless_dialog_response_cb (GtkDialog *foo,
if (response != GTK_RESPONSE_OK)
goto done;
if (!nma_wifi_dialog_get_nag_ignored (dialog)) {
GtkWidget *nag_dialog;
/* Nag the user about certificates or whatever. Only destroy the dialog
* if no nagging was done.
*/
nag_dialog = nma_wifi_dialog_nag_user (dialog);
if (nag_dialog) {
gtk_window_set_transient_for (GTK_WINDOW (nag_dialog), GTK_WINDOW (dialog));
g_signal_connect (nag_dialog, "response",
G_CALLBACK (nag_dialog_response_cb),
dialog);
return;
}
}
/* nma_wifi_dialog_get_connection() returns a connection with the
* refcount incremented, so the caller must remember to unref it.
*/
......
......@@ -349,7 +349,7 @@ eap_method_fast_new (WirelessSecurity *ws_parent,
fill_connection,
update_secrets,
destroy,
"/org/freedesktop/network-manager-applet/eap-method-fast.ui",
"/org/gnome/ControlCenter/network/eap-method-fast.ui",
"eap_fast_notebook",
"eap_fast_anon_identity_entry",
FALSE);
......
......@@ -199,7 +199,7 @@ eap_method_leap_new (WirelessSecurity *ws_parent,
fill_connection,
update_secrets,
destroy,
"/org/freedesktop/network-manager-applet/eap-method-leap.ui",
"/org/gnome/ControlCenter/network/eap-method-leap.ui",
"eap_leap_notebook",
"eap_leap_username_entry",
FALSE);
......
......@@ -349,7 +349,7 @@ eap_method_peap_new (WirelessSecurity *ws_parent,
fill_connection,
update_secrets,
destroy,
"/org/freedesktop/network-manager-applet/eap-method-peap.ui",
"/org/gnome/ControlCenter/network/eap-method-peap.ui",
"eap_peap_notebook",
"eap_peap_anon_identity_entry",
FALSE);
......
......@@ -296,7 +296,7 @@ eap_method_simple_new (WirelessSecurity *ws_parent,
fill_connection,
update_secrets,
destroy,
"/org/freedesktop/network-manager-applet/eap-method-simple.ui",
"/org/gnome/ControlCenter/network/eap-method-simple.ui",
"eap_simple_notebook",
"eap_simple_username_entry",
flags & EAP_METHOD_SIMPLE_FLAG_PHASE2);
......
......@@ -449,7 +449,7 @@ eap_method_tls_new (WirelessSecurity *ws_parent,
fill_connection,
update_secrets,
NULL,
"/org/freedesktop/network-manager-applet/eap-method-tls.ui",
"/org/gnome/ControlCenter/network/eap-method-tls.ui",
"eap_tls_notebook",
"eap_tls_identity_entry",
phase2);
......
......@@ -398,7 +398,7 @@ eap_method_ttls_new (WirelessSecurity *ws_parent,
fill_connection,
update_secrets,
destroy,
"/org/freedesktop/network-manager-applet/eap-method-ttls.ui",
"/org/gnome/ControlCenter/network/eap-method-ttls.ui",
"eap_ttls_notebook",
"eap_ttls_anon_identity_entry",
FALSE);
......
......@@ -34,7 +34,19 @@
#include "utils.h"
#include "helpers.h"
G_DEFINE_BOXED_TYPE (EAPMethod, eap_method, eap_method_ref, eap_method_unref)
GType
eap_method_get_type (void)
{
static GType type_id = 0;
if (!type_id) {
type_id = g_boxed_type_register_static ("CcEAPMethod",
(GBoxedCopyFunc) eap_method_ref,
(GBoxedFreeFunc) eap_method_unref);
}
return type_id;
}
GtkWidget *
eap_method_get_widget (EAPMethod *method)
......
diff --git a/panels/network/wireless-security/eap-method.c b/panels/network/wireless-security/eap-method.c
index cb733e861..824f315a3 100644
--- a/panels/network/wireless-security/eap-method.c
+++ b/panels/network/wireless-security/eap-method.c
@@ -34,7 +34,19 @@
#include "utils.h"
#include "helpers.h"
-G_DEFINE_BOXED_TYPE (EAPMethod, eap_method, eap_method_ref, eap_method_unref)
+GType
+eap_method_get_type (void)
+{
+ static GType type_id = 0;
+
+ if (!type_id) {
+ type_id = g_boxed_type_register_static ("CcEAPMethod",
+ (GBoxedCopyFunc) eap_method_ref,
+ (GBoxedFreeFunc) eap_method_unref);
+ }
+
+ return type_id;
+}
GtkWidget *
eap_method_get_widget (EAPMethod *method)
diff --git a/panels/network/wireless-security/wireless-security.c b/panels/network/wireless-security/wireless-security.c
index 23b8a27..bd233b0 100644
--- a/panels/network/wireless-security/wireless-security.c
......@@ -19,7 +44,7 @@ index 23b8a27..bd233b0 100644
+ if (!type_id) {
+ g_resources_register (wireless_security_get_resource ());
+
+ type_id = g_boxed_type_register_static ("WirelessSecurity",
+ type_id = g_boxed_type_register_static ("CcWirelessSecurity",
+ (GBoxedCopyFunc) wireless_security_ref,
+ (GBoxedFreeFunc) wireless_security_unref);
+ }
......
......@@ -493,3 +493,146 @@ index b34720a..3c689d3 100644
<property name="row_spacing">6</property>
<child>
<object class="GtkLabel" id="wpa_psk_label">
diff --git a/panels/network/wireless-security/eap-method-fast.c b/panels/network/wireless-security/eap-method-fast.c
index ec1cd6455..98d5411a7 100644
--- a/panels/network/wireless-security/eap-method-fast.c
+++ b/panels/network/wireless-security/eap-method-fast.c
@@ -349,7 +349,7 @@ eap_method_fast_new (WirelessSecurity *ws_parent,
fill_connection,
update_secrets,
destroy,
- "/org/freedesktop/network-manager-applet/eap-method-fast.ui",
+ "/org/gnome/ControlCenter/network/eap-method-fast.ui",
"eap_fast_notebook",
"eap_fast_anon_identity_entry",
FALSE);
diff --git a/panels/network/wireless-security/eap-method-leap.c b/panels/network/wireless-security/eap-method-leap.c
index 0087bdf24..57d8759b9 100644
--- a/panels/network/wireless-security/eap-method-leap.c
+++ b/panels/network/wireless-security/eap-method-leap.c
@@ -199,7 +199,7 @@ eap_method_leap_new (WirelessSecurity *ws_parent,
fill_connection,
update_secrets,
destroy,
- "/org/freedesktop/network-manager-applet/eap-method-leap.ui",
+ "/org/gnome/ControlCenter/network/eap-method-leap.ui",
"eap_leap_notebook",
"eap_leap_username_entry",
FALSE);
diff --git a/panels/network/wireless-security/eap-method-peap.c b/panels/network/wireless-security/eap-method-peap.c
index 402887c87..f75631e10 100644
--- a/panels/network/wireless-security/eap-method-peap.c
+++ b/panels/network/wireless-security/eap-method-peap.c
@@ -349,7 +349,7 @@ eap_method_peap_new (WirelessSecurity *ws_parent,
fill_connection,
update_secrets,
destroy,
- "/org/freedesktop/network-manager-applet/eap-method-peap.ui",
+ "/org/gnome/ControlCenter/network/eap-method-peap.ui",
"eap_peap_notebook",
"eap_peap_anon_identity_entry",
FALSE);
diff --git a/panels/network/wireless-security/eap-method-simple.c b/panels/network/wireless-security/eap-method-simple.c
index 80de96482..2287b99cd 100644
--- a/panels/network/wireless-security/eap-method-simple.c
+++ b/panels/network/wireless-security/eap-method-simple.c
@@ -296,7 +296,7 @@ eap_method_simple_new (WirelessSecurity *ws_parent,
fill_connection,
update_secrets,
destroy,
- "/org/freedesktop/network-manager-applet/eap-method-simple.ui",
+ "/org/gnome/ControlCenter/network/eap-method-simple.ui",
"eap_simple_notebook",
"eap_simple_username_entry",
flags & EAP_METHOD_SIMPLE_FLAG_PHASE2);
diff --git a/panels/network/wireless-security/eap-method-tls.c b/panels/network/wireless-security/eap-method-tls.c
index ce6763b37..aa0491c56 100644
--- a/panels/network/wireless-security/eap-method-tls.c
+++ b/panels/network/wireless-security/eap-method-tls.c
@@ -449,7 +449,7 @@ eap_method_tls_new (WirelessSecurity *ws_parent,
fill_connection,
update_secrets,
NULL,
- "/org/freedesktop/network-manager-applet/eap-method-tls.ui",
+ "/org/gnome/ControlCenter/network/eap-method-tls.ui",
"eap_tls_notebook",
"eap_tls_identity_entry",
phase2);
diff --git a/panels/network/wireless-security/eap-method-ttls.c b/panels/network/wireless-security/eap-method-ttls.c
index 2d9de48d6..efdc00676 100644
--- a/panels/network/wireless-security/eap-method-ttls.c
+++ b/panels/network/wireless-security/eap-method-ttls.c
@@ -398,7 +398,7 @@ eap_method_ttls_new (WirelessSecurity *ws_parent,
fill_connection,
update_secrets,
destroy,
- "/org/freedesktop/network-manager-applet/eap-method-ttls.ui",
+ "/org/gnome/ControlCenter/network/eap-method-ttls.ui",
"eap_ttls_notebook",
"eap_ttls_anon_identity_entry",
FALSE);
diff --git a/panels/network/wireless-security/ws-dynamic-wep.c b/panels/network/wireless-security/ws-dynamic-wep.c
index 810a10565..c267cac4d 100644
--- a/panels/network/wireless-security/ws-dynamic-wep.c
+++ b/panels/network/wireless-security/ws-dynamic-wep.c
@@ -109,7 +109,7 @@ ws_dynamic_wep_new (NMConnection *connection,
fill_connection,
update_secrets,
destroy,
- "/org/freedesktop/network-manager-applet/ws-dynamic-wep.ui",
+ "/org/gnome/ControlCenter/network/ws-dynamic-wep.ui",
"dynamic_wep_notebook",
NULL);
if (!parent)
diff --git a/panels/network/wireless-security/ws-leap.c b/panels/network/wireless-security/ws-leap.c
index 0d2ce75bf..35b2e034b 100644
--- a/panels/network/wireless-security/ws-leap.c
+++ b/panels/network/wireless-security/ws-leap.c
@@ -154,7 +154,7 @@ ws_leap_new (NMConnection *connection, gboolean secrets_only)
fill_connection,
update_secrets,
NULL,
- "/org/freedesktop/network-manager-applet/ws-leap.ui",
+ "/org/gnome/ControlCenter/network/ws-leap.ui",
"leap_notebook",
"leap_username_entry");
if (!parent)
diff --git a/panels/network/wireless-security/ws-wep-key.c b/panels/network/wireless-security/ws-wep-key.c
index c7472ca39..8b78515b1 100644
--- a/panels/network/wireless-security/ws-wep-key.c
+++ b/panels/network/wireless-security/ws-wep-key.c
@@ -264,7 +264,7 @@ ws_wep_key_new (NMConnection *connection,
fill_connection,
update_secrets,
destroy,
- "/org/freedesktop/network-manager-applet/ws-wep-key.ui",
+ "/org/gnome/ControlCenter/network/ws-wep-key.ui",
"wep_key_notebook",
"wep_key_entry");
if (!parent)
diff --git a/panels/network/wireless-security/ws-wpa-eap.c b/panels/network/wireless-security/ws-wpa-eap.c
index 2479a3ee2..f9a9be37e 100644
--- a/panels/network/wireless-security/ws-wpa-eap.c
+++ b/panels/network/wireless-security/ws-wpa-eap.c
@@ -110,7 +110,7 @@ ws_wpa_eap_new (NMConnection *connection,
fill_connection,
update_secrets,
destroy,
- "/org/freedesktop/network-manager-applet/ws-wpa-eap.ui",
+ "/org/gnome/ControlCenter/network/ws-wpa-eap.ui",
"wpa_eap_notebook",
NULL);
if (!parent)
diff --git a/panels/network/wireless-security/ws-wpa-psk.c b/panels/network/wireless-security/ws-wpa-psk.c
index befe68b04..29064f4f3 100644
--- a/panels/network/wireless-security/ws-wpa-psk.c
+++ b/panels/network/wireless-security/ws-wpa-psk.c
@@ -182,7 +182,7 @@ ws_wpa_psk_new (NMConnection *connection, gboolean secrets_only)
fill_connection,
update_secrets,
NULL,
- "/org/freedesktop/network-manager-applet/ws-wpa-psk.ui",
+ "/org/gnome/ControlCenter/network/ws-wpa-psk.ui",
"wpa_psk_notebook",
"wpa_psk_entry");
if (!parent)
......@@ -37,7 +37,7 @@ wireless_security_get_type (void)
if (!type_id) {
g_resources_register (wireless_security_get_resource ());
type_id = g_boxed_type_register_static ("WirelessSecurity",
type_id = g_boxed_type_register_static ("CcWirelessSecurity",
(GBoxedCopyFunc) wireless_security_ref,
(GBoxedFreeFunc) wireless_security_unref);
}
......
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/freedesktop/network-manager-applet/">
<gresource prefix="/org/gnome/ControlCenter/network/">
<file preprocess="xml-stripblanks">eap-method-leap.ui</file>
<file preprocess="xml-stripblanks">eap-method-fast.ui</file>
<file preprocess="xml-stripblanks">eap-method-peap.ui</file>
......
......@@ -109,7 +109,7 @@ ws_dynamic_wep_new (NMConnection *connection,
fill_connection,
update_secrets,
destroy,
"/org/freedesktop/network-manager-applet/ws-dynamic-wep.ui",
"/org/gnome/ControlCenter/network/ws-dynamic-wep.ui",
"dynamic_wep_notebook",
NULL);
if (!parent)
......
......@@ -154,7 +154,7 @@ ws_leap_new (NMConnection *connection, gboolean secrets_only)
fill_connection,
update_secrets,
NULL,
"/org/freedesktop/network-manager-applet/ws-leap.ui",
"/org/gnome/ControlCenter/network/ws-leap.ui",
"leap_notebook",
"leap_username_entry");
if (!parent)
......
......@@ -264,7 +264,7 @@ ws_wep_key_new (NMConnection *connection,
fill_connection,
update_secrets,
destroy,
"/org/freedesktop/network-manager-applet/ws-wep-key.ui",
"/org/gnome/ControlCenter/network/ws-wep-key.ui",
"wep_key_notebook",
"wep_key_entry");
if (!parent)
......
......@@ -110,7 +110,7 @@ ws_wpa_eap_new (NMConnection *connection,
fill_connection,
update_secrets,
destroy,
"/org/freedesktop/network-manager-applet/ws-wpa-eap.ui",
"/org/gnome/ControlCenter/network/ws-wpa-eap.ui",
"wpa_eap_notebook",
NULL);
if (!parent)
......
......@@ -182,7 +182,7 @@ ws_wpa_psk_new (NMConnection *connection, gboolean secrets_only)
fill_connection,
update_secrets,
NULL,
"/org/freedesktop/network-manager-applet/ws-wpa-psk.ui",
"/org/gnome/ControlCenter/network/ws-wpa-psk.ui",
"wpa_psk_notebook",
"wpa_psk_entry");
if (!parent)
......
......@@ -402,6 +402,22 @@ cc_goa_panel_finalize (GObject *object)
{
CcGoaPanel *panel = CC_GOA_PANEL (object);
if (panel->removed_object != NULL)
{
g_autoptr(GError) error = NULL;
goa_account_call_remove_sync (goa_object_peek_account (panel->removed_object),
NULL, /* GCancellable */
&error);
if (error != NULL)
{
g_warning ("Error removing account: %s (%s, %d)",
error->message,
g_quark_to_string (error->domain),
error->code);
}
}
g_clear_object (&panel->client);
G_OBJECT_CLASS (cc_goa_panel_parent_class)->finalize (object);
......
......@@ -31,7 +31,6 @@ sources += gnome.compile_resources(
deps = common_deps + [
goa_dep,
libgd_dep,
dependency('goa-backend-1.0', version: goa_req_version)
]
......
......@@ -1229,14 +1229,13 @@ connection_test_cb (GObject *source_object,
gpointer user_data)
{
CcPrintersPanelPrivate *priv;
CcPrintersPanel *self = (CcPrintersPanel*) user_data;
CcPrintersPanel *self;
gboolean success;
PpCups *cups = PP_CUPS (source_object);
g_autoptr(GError) error = NULL;
priv = self->priv;
success = pp_cups_connection_test_finish (cups, result, &error);
g_object_unref (cups);
if (error != NULL)
{
......@@ -1244,15 +1243,18 @@ connection_test_cb (GObject *source_object,
{
g_warning ("Could not test connection: %s", error->message);
}
return;
}
self = CC_PRINTERS_PANEL (user_data);
priv = self->priv;
if (!success)
{
priv->cups_status_check_id =
g_timeout_add_seconds (CUPS_STATUS_CHECK_INTERVAL, cups_status_check, self);
}
g_object_unref (cups);
}
static void
......
......@@ -43,7 +43,6 @@ sources += gnome.compile_resources(
deps = common_deps + [
accounts_dep,
gnome_desktop_dep,
libgd_dep,
liblanguage_dep,
polkit_gobject_dep
]
......
......@@ -538,7 +538,7 @@
</packing>
</child>
<child>
<object class="GtkLabel" id="enterprise-hint">
<object class="GtkLabel" id="enterprise_hint">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="yalign">0</property>
......@@ -810,7 +810,7 @@
<widget name="enterprise_domain_hint"/>
<widget name="enterprise_login"/>
<widget name="enterprise_password"/>
<widget name="enterprise-hint"/>
<widget name="enterprise_hint"/>
</widgets>
</object>
<object class="GtkSizeGroup">
......
......@@ -78,9 +78,9 @@ install_data(
# create symlinks for legacy images to not break current images for people
meson.add_install_script('sh', '-c',
'for f in $DESTDIR@0@/*; do
ln -s legacy/$(basename $f) $DESTDIR@1@/$(basename $f);
done'.format(legacy_image_dir, image_dir))
'''for f in $DESTDIR@0@/*; do
ln -sf legacy/$(basename $f) $DESTDIR@1@/$(basename $f);
done'''.format(legacy_image_dir, image_dir))
polkit = 'org.gnome.controlcenter.@0@.policy'.format(cappletname)
......@@ -164,7 +164,6 @@ deps = common_deps + [
accounts_dep,
gdk_pixbuf_dep,
gnome_desktop_dep,
libgd_dep,
liblanguage_dep,
krb_dep,
m_dep,
......
......@@ -1581,6 +1581,7 @@ um_account_dialog_class_init (UmAccountDialogClass *klass)
gtk_widget_class_bind_template_child (widget_class, UmAccountDialog, enterprise_login);
gtk_widget_class_bind_template_child (widget_class, UmAccountDialog, enterprise_password);
gtk_widget_class_bind_template_child (widget_class, UmAccountDialog, enterprise_domain_hint);
gtk_widget_class_bind_template_child (widget_class, UmAccountDialog, enterprise_hint);
}
UmAccountDialog *
......
......@@ -52,6 +52,7 @@ struct _UmPhotoDialog {
#ifdef HAVE_CHEESE
CheeseCameraDeviceMonitor *monitor;
GCancellable *cancellable;
guint num_cameras;
#endif /* HAVE_CHEESE */
......@@ -370,6 +371,32 @@ create_face_widget (gpointer item,
return image;
}
#ifdef HAVE_CHEESE
static void
setup_cheese_camera_device_monitor (UmPhotoDialog *um)
{
g_signal_connect (G_OBJECT (um->monitor), "added", G_CALLBACK (device_added), um);
g_signal_connect (G_OBJECT (um->monitor), "removed", G_CALLBACK (device_removed), um);
cheese_camera_device_monitor_coldplug (um->monitor);
}
static void
cheese_camera_device_monitor_new_cb (GObject *source,
GAsyncResult *result,
gpointer user_data)
{
UmPhotoDialog *um = user_data;
GObject *ret;
ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source), result, NULL);
if (ret == NULL)
return;
um->monitor = CHEESE_CAMERA_DEVICE_MONITOR (ret);
setup_cheese_camera_device_monitor (um);
}
#endif /* HAVE_CHEESE */
static void
setup_photo_popup (UmPhotoDialog *um)
{
......@@ -445,12 +472,13 @@ setup_photo_popup (UmPhotoDialog *um)
#ifdef HAVE_CHEESE
gtk_widget_set_visible (um->take_picture_button, TRUE);
um->monitor = cheese_camera_device_monitor_new ();
g_signal_connect (G_OBJECT (um->monitor), "added",
G_CALLBACK (device_added), um);
g_signal_connect (G_OBJECT (um->monitor), "removed",
G_CALLBACK (device_removed), um);
cheese_camera_device_monitor_coldplug (um->monitor);
um->cancellable = g_cancellable_new ();
g_async_initable_new_async (CHEESE_TYPE_CAMERA_DEVICE_MONITOR,
G_PRIORITY_DEFAULT,
um->cancellable,
cheese_camera_device_monitor_new_cb,
um,
NULL);
#endif /* HAVE_CHEESE */
}
......@@ -509,6 +537,8 @@ um_photo_dialog_dispose (GObject *object)
g_clear_object (&um->thumb_factory);
#ifdef HAVE_CHEESE
g_cancellable_cancel (um->cancellable);
g_clear_object (&um->cancellable);
g_clear_object (&um->monitor);
#endif
g_clear_object (&um->user);
......@@ -534,7 +564,9 @@ um_photo_dialog_class_init (UmPhotoDialogClass *klass)
gtk_widget_class_bind_template_child (wclass, UmPhotoDialog, take_picture_button);
gtk_widget_class_bind_template_callback (wclass, um_photo_dialog_select_file);
#ifdef HAVE_CHEESE
gtk_widget_class_bind_template_callback (wclass, webcam_icon_selected);
#endif
oclass->dispose = um_photo_dialog_dispose;
}
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -19,8 +19,10 @@
<kudos>
<kudo>AppMenu</kudo>
<kudo>HiDpiIcon</kudo>
<kudo>HighContrast</kudo>
<kudo>ModernToolkit</kudo>
<kudo>SearchProvider</kudo>
<kudo>UserDocs</kudo>
</kudos>
<translation type="gettext">gnome-control-center-2.0</translation>
</component>
......@@ -327,6 +327,30 @@ cc_shell_model_add_item (CcShellModel *model,
g_strfreev (keywords);
}
gboolean
cc_shell_model_has_panel (CcShellModel *model,
const char *id)
{
GtkTreeIter iter;
gboolean valid;
g_assert (id);
valid = gtk_tree_model_get_iter_first (model, &iter);
while (valid)
{
g_autofree gchar *panel_id = NULL;
gtk_tree_model_get (model, &iter, COL_ID, &panel_id, -1);
if (g_str_equal (id, panel_id))
return TRUE;
valid = gtk_tree_model_iter_next (model, &iter);
}
return FALSE;
}
gboolean
cc_shell_model_iter_matches_search (CcShellModel *model,
GtkTreeIter *iter,
......
......@@ -98,6 +98,9 @@ void cc_shell_model_add_item (CcShellModel *model,
GAppInfo *appinfo,
const char *id);
gboolean cc_shell_model_has_panel (CcShellModel *model,
const char *id);
gboolean cc_shell_model_iter_matches_search (CcShellModel *model,
GtkTreeIter *iter,
const char *term);
......
......@@ -31,7 +31,6 @@
#include <gdk/gdkkeysyms.h>
#include <gdk/gdkx.h>
#include <string.h>
#include <libgd/gd.h>
#include "cc-panel.h"
#include "cc-shell.h"
......@@ -744,7 +743,7 @@ cc_window_init (CcWindow *self)
/* After everything is loaded, select the last used panel, if any,
* or the first visible panel */
id = g_settings_get_string (self->settings, "last-panel");
if (id != NULL && *id != '\0')
if (id != NULL && cc_shell_model_has_panel (self->store, id))
cc_panel_list_set_active_panel (CC_PANEL_LIST (self->panel_list), id);
else
cc_panel_list_activate (CC_PANEL_LIST (self->panel_list));
......
......@@ -2,7 +2,7 @@
Name=Settings
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
Icon=gnome-control-center
Exec=gnome-control-center --overview
Exec=gnome-control-center
Terminal=false
Type=Application
StartupNotify=true
......
......@@ -77,7 +77,6 @@ sources = common_sources + files(
shell_deps = common_deps + [
libdevice_dep,
libgd_dep,
liblanguage_dep,
polkit_gobject_dep,
x11_dep
......
libgd @ cc901075
Subproject commit cc90107531640bcba6c3c58e5cf6aec94d498763