diff options
-rw-r--r-- | src/nautilus-compress-dialog-controller.c | 24 | ||||
-rw-r--r-- | src/resources/ui/nautilus-compress-dialog.ui | 48 |
2 files changed, 52 insertions, 20 deletions
diff --git a/src/nautilus-compress-dialog-controller.c b/src/nautilus-compress-dialog-controller.c index db4662d2a..3937181a8 100644 --- a/src/nautilus-compress-dialog-controller.c +++ b/src/nautilus-compress-dialog-controller.c @@ -26,16 +26,12 @@ #include "nautilus-global-preferences.h" -#define ZIP_DESCRIPTION _("Compatible with all operating systems.") -#define TAR_XZ_DESCRIPTION _("Smaller archives but Linux and Mac only.") -#define SEVEN_ZIP_DESCRIPTION _("Smaller archives but must be installed on Windows and Mac.") - struct _NautilusCompressDialogController { NautilusFileNameWidgetController parent_instance; GtkWidget *compress_dialog; - GtkWidget *description_label; + GtkWidget *description_stack; GtkWidget *name_entry; GtkWidget *zip_radio_button; GtkWidget *tar_xz_radio_button; @@ -123,7 +119,7 @@ update_selected_format (NautilusCompressDialogController *self, NautilusCompressionFormat format) { const char *extension; - const char *description; + const char *description_label_name; GtkWidget *active_button; switch (format) @@ -131,7 +127,7 @@ update_selected_format (NautilusCompressDialogController *self, case NAUTILUS_COMPRESSION_ZIP: { extension = ".zip"; - description = ZIP_DESCRIPTION; + description_label_name = "zip-description-label"; active_button = self->zip_radio_button; } break; @@ -139,7 +135,7 @@ update_selected_format (NautilusCompressDialogController *self, case NAUTILUS_COMPRESSION_TAR_XZ: { extension = ".tar.xz"; - description = TAR_XZ_DESCRIPTION; + description_label_name = "tar-xz-description-label"; active_button = self->tar_xz_radio_button; } break; @@ -147,7 +143,7 @@ update_selected_format (NautilusCompressDialogController *self, case NAUTILUS_COMPRESSION_7ZIP: { extension = ".7z"; - description = SEVEN_ZIP_DESCRIPTION; + description_label_name = "seven-zip-description-label"; active_button = self->seven_zip_radio_button; } break; @@ -161,8 +157,8 @@ update_selected_format (NautilusCompressDialogController *self, self->extension = extension; - gtk_label_set_text (GTK_LABEL (self->description_label), - description); + gtk_stack_set_visible_child_name (GTK_STACK (self->description_stack), + description_label_name); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (active_button), TRUE); @@ -239,7 +235,7 @@ nautilus_compress_dialog_controller_new (GtkWindow *parent_window, GtkWidget *error_label; GtkWidget *name_entry; GtkWidget *activate_button; - GtkWidget *description_label; + GtkWidget *description_stack; GtkWidget *zip_radio_button; GtkWidget *tar_xz_radio_button; GtkWidget *seven_zip_radio_button; @@ -254,7 +250,7 @@ nautilus_compress_dialog_controller_new (GtkWindow *parent_window, zip_radio_button = GTK_WIDGET (gtk_builder_get_object (builder, "zip_radio_button")); tar_xz_radio_button = GTK_WIDGET (gtk_builder_get_object (builder, "tar_xz_radio_button")); seven_zip_radio_button = GTK_WIDGET (gtk_builder_get_object (builder, "seven_zip_radio_button")); - description_label = GTK_WIDGET (gtk_builder_get_object (builder, "description_label")); + description_stack = GTK_WIDGET (gtk_builder_get_object (builder, "description_stack")); gtk_window_set_transient_for (GTK_WINDOW (compress_dialog), parent_window); @@ -270,7 +266,7 @@ nautilus_compress_dialog_controller_new (GtkWindow *parent_window, self->zip_radio_button = zip_radio_button; self->tar_xz_radio_button = tar_xz_radio_button; self->seven_zip_radio_button = seven_zip_radio_button; - self->description_label = description_label; + self->description_stack = description_stack; self->name_entry = name_entry; self->response_handler_id = g_signal_connect (compress_dialog, diff --git a/src/resources/ui/nautilus-compress-dialog.ui b/src/resources/ui/nautilus-compress-dialog.ui index 507f0ba03..526e9eed2 100644 --- a/src/resources/ui/nautilus-compress-dialog.ui +++ b/src/resources/ui/nautilus-compress-dialog.ui @@ -9,7 +9,6 @@ <property name="destroy_with_parent">True</property> <property name="type_hint">dialog</property> <property name="use-header-bar">1</property> - <property name="width_request">490</property> <child internal-child="vbox"> <object class="GtkBox" id="vbox"> <property name="orientation">vertical</property> @@ -109,12 +108,49 @@ </packing> </child> <child> - <object class="GtkLabel" id="description_label"> + <object class="GtkStack" id="description_stack"> <property name="visible">True</property> - <property name="xalign">0</property> - <style> - <class name="dim-label"/> - </style> + <property name="can_focus">False</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkLabel" id="zip_description_label"> + <property name="visible">True</property> + <property name="label" translatable="yes">Compatible with all operating systems.</property> + <property name="xalign">0</property> + <style> + <class name="dim-label"/> + </style> + </object> + <packing> + <property name="name">zip-description-label</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="tar_xz_description_label"> + <property name="visible">True</property> + <property name="label" translatable="yes">Smaller archives but Linux and Mac only.</property> + <property name="xalign">0</property> + <style> + <class name="dim-label"/> + </style> + </object> + <packing> + <property name="name">tar-xz-description-label</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="seven_zip_description_label"> + <property name="visible">True</property> + <property name="label" translatable="yes">Smaller archives but must be installed on Windows and Mac.</property> + <property name="xalign">0</property> + <style> + <class name="dim-label"/> + </style> + </object> + <packing> + <property name="name">seven-zip-description-label</property> + </packing> + </child> </object> <packing> <property name="expand">False</property> |