static void thunar_uca_editor_constructed (GObject *object) { ThunarUcaEditor *editor = THUNAR_UCA_EDITOR (object); G_OBJECT_CLASS (thunar_uca_editor_parent_class)->constructed (object); /* Visual tweaks for header-bar mode only */ g_object_set (gtk_dialog_get_content_area (GTK_DIALOG (editor)), "border-width", 0, NULL); g_object_set (editor->notebook, "show-border", FALSE, NULL); }
static void thunar_uca_chooser_open_editor (ThunarUcaChooser *uca_chooser, gboolean edit) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; GtkWidget *editor; g_return_if_fail (THUNAR_UCA_IS_CHOOSER (uca_chooser)); /* allocate the new editor */ editor = g_object_new (THUNAR_UCA_TYPE_EDITOR, NULL); gtk_window_set_title (GTK_WINDOW (editor), edit ? _("Edit Action") : _("Create Action")); gtk_window_set_transient_for (GTK_WINDOW (editor), GTK_WINDOW (uca_chooser)); /* load the editor with the currently selected item (when editing) */ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (uca_chooser->treeview)); if (gtk_tree_selection_get_selected (selection, &model, &iter) && edit) thunar_uca_editor_load (THUNAR_UCA_EDITOR (editor), THUNAR_UCA_MODEL (model), &iter); /* run the editor */ if (gtk_dialog_run (GTK_DIALOG (editor)) == GTK_RESPONSE_OK) { /* append a new iter (when not editing) */ if (G_UNLIKELY (!edit)) thunar_uca_model_append (THUNAR_UCA_MODEL (model), &iter); /* save the editor values to the model */ thunar_uca_editor_save (THUNAR_UCA_EDITOR (editor), THUNAR_UCA_MODEL (model), &iter); /* hide the editor window */ gtk_widget_hide (editor); /* sync the model to persistent storage */ thunar_uca_chooser_save (uca_chooser, THUNAR_UCA_MODEL (model)); } /* destroy the editor */ gtk_widget_destroy (editor); }