예제 #1
0
void
on_iface_properties_clicked (GtkWidget *widget, gpointer data)
{
  GstConnectionDialog *dialog;
  GtkTreeSelection *selection;
  GtkTreeModel *model;
  GtkTreeIter iter;
  OobsIface *iface;

  selection = gtk_tree_view_get_selection (GST_NETWORK_TOOL (tool)->interfaces_list);

  if (gtk_tree_selection_get_selected (selection, &model, &iter))
    {
      gtk_tree_model_get (model, &iter,
			  COL_OBJECT, &iface,
			  -1);

      dialog = GST_NETWORK_TOOL (tool)->dialog;
      connection_dialog_prepare (dialog, iface);
      gtk_window_set_transient_for (GTK_WINDOW (dialog->dialog), GTK_WINDOW (tool->main_dialog));

      gst_dialog_add_edit_dialog (tool->main_dialog, dialog->dialog);
      gtk_widget_show (dialog->dialog);
    }
}
예제 #2
0
void
host_aliases_run_dialog (GstNetworkTool *network_tool,
			 GtkTreeIter    *iter)
{
  GstTool *tool;
  GtkWidget *dialog;
  GtkTreeView *list;
  GtkTreeModel *model;
  gint response;
  OobsStaticHost *host = NULL;

  if (iter)
    {
      list = network_tool->host_aliases_list;
      model = gtk_tree_view_get_model (list);

      gtk_tree_model_get (model, iter,
			  COL_HOST_OBJECT, &host,
			  -1);
    }

  tool = GST_TOOL (network_tool);
  dialog = network_tool->host_aliases_dialog;
  host_aliases_dialog_prepare (host);

  gst_dialog_add_edit_dialog (tool->main_dialog, dialog);

  gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (GST_TOOL (tool)->main_dialog));
  response = gtk_dialog_run (GTK_DIALOG (dialog));
  gtk_widget_hide (dialog);

  gst_dialog_remove_edit_dialog (tool->main_dialog, dialog);

  if (response == GTK_RESPONSE_OK)
    host_aliases_dialog_save (iter);

  if (host)
    g_object_unref (host);
}