network: Don't reference CcNetworkPanel directly from some helper code

All we need is the toplevel, here, so pass that in directly.

https://bugzilla.gnome.org/show_bug.cgi?id=690086
This commit is contained in:
Jasper St. Pierre 2012-11-14 16:33:21 -05:00
parent 6b1ae0b18f
commit 23e51495ee
5 changed files with 24 additions and 22 deletions

View file

@ -517,6 +517,7 @@ handle_argv_for_device (CcNetworkPanel *panel,
{
CcNetworkPanelPrivate *priv = panel->priv;
NMDeviceType type;
GtkWidget *toplevel = cc_shell_get_toplevel (cc_panel_get_shell (CC_PANEL (panel)));
if (priv->arg_operation == OPERATION_NULL)
return TRUE;
@ -530,21 +531,21 @@ handle_argv_for_device (CcNetworkPanel *panel,
select_tree_iter (panel, iter);
if (priv->arg_operation == OPERATION_CREATE_WIFI)
cc_network_panel_create_wifi_network (panel, priv->client, priv->remote_settings);
cc_network_panel_create_wifi_network (toplevel, priv->client, priv->remote_settings);
else
cc_network_panel_connect_to_hidden_network (panel, priv->client, priv->remote_settings);
cc_network_panel_connect_to_hidden_network (toplevel, priv->client, priv->remote_settings);
reset_command_line_args (panel); /* done */
return TRUE;
} else if (g_strcmp0 (nm_object_get_path (NM_OBJECT (device)), priv->arg_device) == 0) {
if (priv->arg_operation == OPERATION_CONNECT_MOBILE) {
cc_network_panel_connect_to_3g_network (panel, priv->client, priv->remote_settings, device);
cc_network_panel_connect_to_3g_network (toplevel, priv->client, priv->remote_settings, device);
reset_command_line_args (panel); /* done */
select_tree_iter (panel, iter);
return TRUE;
} else if (priv->arg_operation == OPERATION_CONNECT_8021X) {
cc_network_panel_connect_to_8021x_network (panel, priv->client, priv->remote_settings, device, priv->arg_access_point);
cc_network_panel_connect_to_8021x_network (toplevel, priv->client, priv->remote_settings, device, priv->arg_access_point);
reset_command_line_args (panel); /* done */
select_tree_iter (panel, iter);
return TRUE;

View file

@ -108,6 +108,7 @@ mobile_connection_changed_cb (GtkComboBox *combo_box, NetDeviceMobile *device_mo
NMClient *client;
NMRemoteSettings *remote_settings;
CcNetworkPanel *panel;
GtkWidget *toplevel;
if (device_mobile->priv->updating_device)
goto out;
@ -129,7 +130,8 @@ mobile_connection_changed_cb (GtkComboBox *combo_box, NetDeviceMobile *device_mo
-1);
if (g_strcmp0 (object_path, NULL) == 0) {
panel = net_object_get_panel (NET_OBJECT (device_mobile));
cc_network_panel_connect_to_3g_network (panel,
toplevel = cc_shell_get_toplevel (cc_panel_get_shell (CC_PANEL (panel)));
cc_network_panel_connect_to_3g_network (toplevel,
client,
remote_settings,
device);

View file

@ -985,11 +985,13 @@ connect_to_hidden_network (NetDeviceWifi *device_wifi)
NMRemoteSettings *remote_settings;
NMClient *client;
CcNetworkPanel *panel;
GtkWidget *toplevel;
remote_settings = net_object_get_remote_settings (NET_OBJECT (device_wifi));
client = net_object_get_client (NET_OBJECT (device_wifi));
panel = net_object_get_panel (NET_OBJECT (device_wifi));
cc_network_panel_connect_to_hidden_network (panel, client, remote_settings);
toplevel = cc_shell_get_toplevel (cc_panel_get_shell (CC_PANEL (panel)));
cc_network_panel_connect_to_hidden_network (toplevel, client, remote_settings);
}
static void

View file

@ -20,7 +20,6 @@
* Copyright 2008 - 2011 Red Hat, Inc.
*/
#include <shell/cc-shell.h>
#include <nm-utils.h>
#include <nm-connection.h>
#include <nm-setting-gsm.h>
@ -210,12 +209,11 @@ done:
}
static void
show_wireless_dialog (CcNetworkPanel *panel,
show_wireless_dialog (GtkWidget *toplevel,
NMClient *client,
NMRemoteSettings *settings,
GtkWidget *dialog)
{
GtkWidget *toplevel = cc_shell_get_toplevel (cc_panel_get_shell (CC_PANEL (panel)));
WirelessDialogClosure *closure;
g_debug ("About to parent and show a network dialog");
@ -239,28 +237,28 @@ show_wireless_dialog (CcNetworkPanel *panel,
}
void
cc_network_panel_create_wifi_network (CcNetworkPanel *panel,
cc_network_panel_create_wifi_network (GtkWidget *toplevel,
NMClient *client,
NMRemoteSettings *settings)
{
if (wifi_can_create_wifi_network (client)) {
show_wireless_dialog (panel, client, settings,
show_wireless_dialog (toplevel, client, settings,
nma_wifi_dialog_new_for_create (client, settings));
}
}
void
cc_network_panel_connect_to_hidden_network (CcNetworkPanel *panel,
cc_network_panel_connect_to_hidden_network (GtkWidget *toplevel,
NMClient *client,
NMRemoteSettings *settings)
{
g_debug ("connect to hidden wifi");
show_wireless_dialog (panel, client, settings,
show_wireless_dialog (toplevel, client, settings,
nma_wifi_dialog_new_for_other (client, settings));
}
void
cc_network_panel_connect_to_8021x_network (CcNetworkPanel *panel,
cc_network_panel_connect_to_8021x_network (GtkWidget *toplevel,
NMClient *client,
NMRemoteSettings *settings,
NMDevice *device,
@ -321,7 +319,7 @@ cc_network_panel_connect_to_8021x_network (CcNetworkPanel *panel,
nm_connection_add_setting (connection, NM_SETTING (s_8021x));
dialog = nma_wifi_dialog_new (client, settings, connection, device, ap, FALSE);
show_wireless_dialog (panel, client, settings, dialog);
show_wireless_dialog (toplevel, client, settings, dialog);
}
static void
@ -493,12 +491,11 @@ show_wizard_idle_cb (NMAMobileWizard *wizard)
}
void
cc_network_panel_connect_to_3g_network (CcNetworkPanel *panel,
cc_network_panel_connect_to_3g_network (GtkWidget *toplevel,
NMClient *client,
NMRemoteSettings *settings,
NMDevice *device)
{
GtkWidget *toplevel = cc_shell_get_toplevel (cc_panel_get_shell (CC_PANEL (panel)));
MobileDialogClosure *closure;
NMAMobileWizard *wizard;
NMDeviceModemCapabilities caps;

View file

@ -24,23 +24,23 @@
#include <nm-remote-settings.h>
#include <nm-device.h>
#include <nm-access-point.h>
#include "cc-network-panel.h"
#include <gtk/gtk.h>
void cc_network_panel_create_wifi_network (CcNetworkPanel *panel,
void cc_network_panel_create_wifi_network (GtkWidget *toplevel,
NMClient *client,
NMRemoteSettings *settings);
void cc_network_panel_connect_to_hidden_network (CcNetworkPanel *panel,
void cc_network_panel_connect_to_hidden_network (GtkWidget *toplevel,
NMClient *client,
NMRemoteSettings *settings);
void cc_network_panel_connect_to_8021x_network (CcNetworkPanel *panel,
void cc_network_panel_connect_to_8021x_network (GtkWidget *toplevel,
NMClient *client,
NMRemoteSettings *settings,
NMDevice *device,
const gchar *arg_access_point);
void cc_network_panel_connect_to_3g_network (CcNetworkPanel *panel,
void cc_network_panel_connect_to_3g_network (GtkWidget *toplevel,
NMClient *client,
NMRemoteSettings *settings,
NMDevice *device);