diff options
author | Apoorv Sachan <apoorv.99.sachan@gmail.com> | 2020-05-19 12:17:05 +0530 |
---|---|---|
committer | António Fernandes <antoniojpfernandes@gmail.com> | 2020-08-05 13:48:10 +0000 |
commit | c4e9dcd466b0ae7abd3d2536dd5903881aea8c56 (patch) | |
tree | e65765949eca19901ff77821dd1c16dd23694c5c /src | |
parent | 9c7afea7192a6c1af59092e5839789145abe9296 (diff) | |
download | nautilus-c4e9dcd466b0ae7abd3d2536dd5903881aea8c56.tar.gz |
properties-window: Inherit from GtkWindow instead of GtkDialog
The properties window has been subclassing GtkDialog since long ago.
GtkDialog features an action area where, historically, the properties
window added Help and Close action buttons.
These action were dropped when a headerbar was adopted.[1] Moreover, we
want to port the Properties window to a GtkBuilder UI definition, which
GtkDialog makes harder to achive.
Subclassing GtkWindow fits this use case much better.
[1] d8a8ab3b66a0a4849e2f9cd17e96f86f85541dee
Diffstat (limited to 'src')
-rw-r--r-- | src/nautilus-properties-window.c | 35 | ||||
-rw-r--r-- | src/nautilus-properties-window.h | 2 |
2 files changed, 8 insertions, 29 deletions
diff --git a/src/nautilus-properties-window.c b/src/nautilus-properties-window.c index 90fd5dc6c..4a4b0f435 100644 --- a/src/nautilus-properties-window.c +++ b/src/nautilus-properties-window.c @@ -75,7 +75,7 @@ typedef struct struct _NautilusPropertiesWindow { - GtkDialog parent_instance; + GtkWindow parent_instance; GList *original_files; GList *target_files; @@ -214,7 +214,7 @@ static GtkLabel *attach_ellipsizing_value_label (GtkGrid *grid, static GtkWidget *create_pie_widget (NautilusPropertiesWindow *window); -G_DEFINE_TYPE (NautilusPropertiesWindow, nautilus_properties_window, GTK_TYPE_DIALOG); +G_DEFINE_TYPE (NautilusPropertiesWindow, nautilus_properties_window, GTK_TYPE_WINDOW); static gboolean is_multi_file_window (NautilusPropertiesWindow *window) @@ -5047,9 +5047,9 @@ create_properties_window (StartupData *startup_data) { NautilusPropertiesWindow *window; GList *l; + GtkWidget *content_box; window = NAUTILUS_PROPERTIES_WINDOW (gtk_widget_new (NAUTILUS_TYPE_PROPERTIES_WINDOW, - "use-header-bar", TRUE, "type-hint", GDK_WINDOW_TYPE_HINT_DIALOG, "modal", TRUE, NULL)); @@ -5134,13 +5134,15 @@ create_properties_window (StartupData *startup_data) } /* Create the notebook tabs. */ + content_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); window->notebook = GTK_NOTEBOOK (gtk_notebook_new ()); gtk_notebook_set_show_border (window->notebook, FALSE); - gtk_container_set_border_width (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (window))), 0); + gtk_container_add (GTK_CONTAINER (window), content_box); gtk_widget_show (GTK_WIDGET (window->notebook)); - gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (window))), + gtk_box_pack_start (GTK_BOX (content_box), GTK_WIDGET (window->notebook), TRUE, TRUE, 0); + gtk_widget_show (GTK_WIDGET (content_box)); /* Create the pages. */ create_basic_page (window); @@ -5457,28 +5459,6 @@ nautilus_properties_window_present (GList *original_f } static void -real_response (GtkDialog *dialog, - int response) -{ - switch (response) - { - case GTK_RESPONSE_NONE: - case GTK_RESPONSE_CLOSE: - case GTK_RESPONSE_DELETE_EVENT: - { - gtk_widget_destroy (GTK_WIDGET (dialog)); - } - break; - - default: - { - g_assert_not_reached (); - } - break; - } -} - -static void real_destroy (GtkWidget *object) { NautilusPropertiesWindow *window; @@ -5804,7 +5784,6 @@ nautilus_properties_window_class_init (NautilusPropertiesWindowClass *class) G_OBJECT_CLASS (class)->finalize = real_finalize; GTK_WIDGET_CLASS (class)->destroy = real_destroy; - GTK_DIALOG_CLASS (class)->response = real_response; binding_set = gtk_binding_set_by_class (class); gtk_binding_entry_add_signal (binding_set, GDK_KEY_Escape, 0, diff --git a/src/nautilus-properties-window.h b/src/nautilus-properties-window.h index b3f1a8dbb..c1b44a103 100644 --- a/src/nautilus-properties-window.h +++ b/src/nautilus-properties-window.h @@ -29,7 +29,7 @@ G_DECLARE_FINAL_TYPE (NautilusPropertiesWindow, nautilus_properties_window, NAUTILUS, PROPERTIES_WINDOW, - GtkDialog) + GtkWindow) typedef void (* NautilusPropertiesWindowCallback) (gpointer callback_data); |