network: Simplify access to the device treeview

This commit is contained in:
Bastien Nocera 2012-09-28 11:24:11 +02:00
parent a11ad3bed1
commit 194d28ae50

View file

@ -60,6 +60,7 @@ struct _CcNetworkPanelPrivate
{ {
GCancellable *cancellable; GCancellable *cancellable;
GtkBuilder *builder; GtkBuilder *builder;
GtkWidget *treeview;
NMClient *client; NMClient *client;
NMRemoteSettings *remote_settings; NMRemoteSettings *remote_settings;
gboolean updating_device; gboolean updating_device;
@ -232,15 +233,12 @@ cc_network_panel_class_init (CcNetworkPanelClass *klass)
static NetObject * static NetObject *
get_selected_object (CcNetworkPanel *panel) get_selected_object (CcNetworkPanel *panel)
{ {
GtkWidget *widget;
GtkTreeSelection *selection; GtkTreeSelection *selection;
GtkTreeModel *model; GtkTreeModel *model;
GtkTreeIter iter; GtkTreeIter iter;
NetObject *object = NULL; NetObject *object = NULL;
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (panel->priv->treeview));
"treeview_devices"));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget));
if (!gtk_tree_selection_get_selected (selection, &model, &iter)) { if (!gtk_tree_selection_get_selected (selection, &model, &iter)) {
return NULL; return NULL;
} }
@ -256,12 +254,9 @@ static void
select_first_device (CcNetworkPanel *panel) select_first_device (CcNetworkPanel *panel)
{ {
GtkTreePath *path; GtkTreePath *path;
GtkWidget *widget;
GtkTreeSelection *selection; GtkTreeSelection *selection;
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (panel->priv->treeview));
"treeview_devices"));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget));
/* select the first device */ /* select the first device */
path = gtk_tree_path_new_from_string ("0"); path = gtk_tree_path_new_from_string ("0");
@ -272,12 +267,9 @@ select_first_device (CcNetworkPanel *panel)
static void static void
select_tree_iter (CcNetworkPanel *panel, GtkTreeIter *iter) select_tree_iter (CcNetworkPanel *panel, GtkTreeIter *iter)
{ {
GtkTreeView *widget;
GtkTreeSelection *selection; GtkTreeSelection *selection;
widget = GTK_TREE_VIEW (gtk_builder_get_object (panel->priv->builder, selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (panel->priv->treeview));
"treeview_devices"));
selection = gtk_tree_view_get_selection (widget);
gtk_tree_selection_select_iter (selection, iter); gtk_tree_selection_select_iter (selection, iter);
} }
@ -289,12 +281,9 @@ object_removed_cb (NetObject *object, CcNetworkPanel *panel)
NetObject *object_tmp; NetObject *object_tmp;
GtkTreeIter iter; GtkTreeIter iter;
GtkTreeModel *model; GtkTreeModel *model;
GtkWidget *widget;
GtkTreeSelection *selection; GtkTreeSelection *selection;
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (panel->priv->treeview));
"treeview_devices"));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget));
/* remove device from model */ /* remove device from model */
model = GTK_TREE_MODEL (gtk_builder_get_object (panel->priv->builder, model = GTK_TREE_MODEL (gtk_builder_get_object (panel->priv->builder,
@ -612,8 +601,6 @@ nm_devices_treeview_clicked_cb (GtkTreeSelection *selection, CcNetworkPanel *pan
guint i = 0; guint i = 0;
NetObject *object = NULL; NetObject *object = NULL;
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"treeview_devices"));
if (!gtk_tree_selection_get_selected (selection, &model, &iter)) { if (!gtk_tree_selection_get_selected (selection, &model, &iter)) {
g_debug ("no row selected"); g_debug ("no row selected");
goto out; goto out;
@ -1099,10 +1086,10 @@ cc_network_panel_init (CcNetworkPanel *panel)
panel->priv->cancellable = g_cancellable_new (); panel->priv->cancellable = g_cancellable_new ();
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, panel->priv->treeview = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"treeview_devices")); "treeview_devices"));
panel_add_devices_columns (panel, GTK_TREE_VIEW (widget)); panel_add_devices_columns (panel, GTK_TREE_VIEW (panel->priv->treeview));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (panel->priv->treeview));
gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE); gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE);
g_signal_connect (selection, "changed", g_signal_connect (selection, "changed",
G_CALLBACK (nm_devices_treeview_clicked_cb), panel); G_CALLBACK (nm_devices_treeview_clicked_cb), panel);