diff options
author | Alexander Schwinn <alexxcons@xfce.org> | 2021-12-29 16:33:26 +0100 |
---|---|---|
committer | Alexander Schwinn <alexxcons@xfce.org> | 2021-12-29 22:53:21 +0100 |
commit | 9657a28263b1a593fe36b54a7baf3c5094f83ad9 (patch) | |
tree | 63ef73bd4db129a42472e5dee9833965a4596286 /thunar | |
parent | 7c5fa27f21f0ebe67f0e0aba8b1dd19e44b62664 (diff) | |
download | thunar-9657a28263b1a593fe36b54a7baf3c5094f83ad9.tar.gz |
Support for thumbnail size x-large and xx-large (Issue #606)
Diffstat (limited to 'thunar')
-rw-r--r-- | thunar/thunar-enum-types.c | 80 | ||||
-rw-r--r-- | thunar/thunar-enum-types.h | 30 | ||||
-rw-r--r-- | thunar/thunar-preferences-dialog.c | 4 |
3 files changed, 70 insertions, 44 deletions
diff --git a/thunar/thunar-enum-types.c b/thunar/thunar-enum-types.c index 37d57fa1..9e0ba1f4 100644 --- a/thunar/thunar-enum-types.c +++ b/thunar/thunar-enum-types.c @@ -185,6 +185,8 @@ thunar_icon_size_get_type (void) { THUNAR_ICON_SIZE_160, "THUNAR_ICON_SIZE_160", "160px", }, { THUNAR_ICON_SIZE_192, "THUNAR_ICON_SIZE_192", "192px", }, { THUNAR_ICON_SIZE_256, "THUNAR_ICON_SIZE_256", "256px", }, + { THUNAR_ICON_SIZE_512, "THUNAR_ICON_SIZE_512", "512px", }, + { THUNAR_ICON_SIZE_1024, "THUNAR_ICON_SIZE_1024", "1024px", }, /* Support of old type-strings for two thunar stable releases. Old strings will be transformed to new ones on write*/ { THUNAR_ICON_SIZE_16, "THUNAR_ICON_SIZE_SMALLEST", "16px", }, { THUNAR_ICON_SIZE_24, "THUNAR_ICON_SIZE_SMALLER", "24px", }, @@ -242,28 +244,30 @@ thunar_zoom_level_get_type (void) { static const GEnumValue values[] = { - { THUNAR_ZOOM_LEVEL_25_PERCENT, "THUNAR_ZOOM_LEVEL_25_PERCENT", "25%", }, - { THUNAR_ZOOM_LEVEL_38_PERCENT, "THUNAR_ZOOM_LEVEL_38_PERCENT", "38%", }, - { THUNAR_ZOOM_LEVEL_50_PERCENT, "THUNAR_ZOOM_LEVEL_50_PERCENT", "50%", }, - { THUNAR_ZOOM_LEVEL_75_PERCENT, "THUNAR_ZOOM_LEVEL_75_PERCENT", "75%", }, - { THUNAR_ZOOM_LEVEL_100_PERCENT, "THUNAR_ZOOM_LEVEL_100_PERCENT", "100%", }, - { THUNAR_ZOOM_LEVEL_150_PERCENT, "THUNAR_ZOOM_LEVEL_150_PERCENT", "150%", }, - { THUNAR_ZOOM_LEVEL_200_PERCENT, "THUNAR_ZOOM_LEVEL_200_PERCENT", "200%", }, - { THUNAR_ZOOM_LEVEL_250_PERCENT, "THUNAR_ZOOM_LEVEL_250_PERCENT", "250%", }, - { THUNAR_ZOOM_LEVEL_300_PERCENT, "THUNAR_ZOOM_LEVEL_300_PERCENT", "300%", }, - { THUNAR_ZOOM_LEVEL_400_PERCENT, "THUNAR_ZOOM_LEVEL_400_PERCENT", "400%", }, + { THUNAR_ZOOM_LEVEL_25_PERCENT, "THUNAR_ZOOM_LEVEL_25_PERCENT", "25%", }, + { THUNAR_ZOOM_LEVEL_38_PERCENT, "THUNAR_ZOOM_LEVEL_38_PERCENT", "38%", }, + { THUNAR_ZOOM_LEVEL_50_PERCENT, "THUNAR_ZOOM_LEVEL_50_PERCENT", "50%", }, + { THUNAR_ZOOM_LEVEL_75_PERCENT, "THUNAR_ZOOM_LEVEL_75_PERCENT", "75%", }, + { THUNAR_ZOOM_LEVEL_100_PERCENT, "THUNAR_ZOOM_LEVEL_100_PERCENT", "100%", }, + { THUNAR_ZOOM_LEVEL_150_PERCENT, "THUNAR_ZOOM_LEVEL_150_PERCENT", "150%", }, + { THUNAR_ZOOM_LEVEL_200_PERCENT, "THUNAR_ZOOM_LEVEL_200_PERCENT", "200%", }, + { THUNAR_ZOOM_LEVEL_250_PERCENT, "THUNAR_ZOOM_LEVEL_250_PERCENT", "250%", }, + { THUNAR_ZOOM_LEVEL_300_PERCENT, "THUNAR_ZOOM_LEVEL_300_PERCENT", "300%", }, + { THUNAR_ZOOM_LEVEL_400_PERCENT, "THUNAR_ZOOM_LEVEL_400_PERCENT", "400%", }, + { THUNAR_ZOOM_LEVEL_800_PERCENT, "THUNAR_ZOOM_LEVEL_800_PERCENT", "800%", }, + { THUNAR_ZOOM_LEVEL_1600_PERCENT, "THUNAR_ZOOM_LEVEL_1600_PERCENT", "1600%",}, /* Support of old type-strings for two thunar stable releases. Old strings will be transformed to new ones on write*/ - { THUNAR_ZOOM_LEVEL_25_PERCENT, "THUNAR_ZOOM_LEVEL_SMALLEST", "25%", }, - { THUNAR_ZOOM_LEVEL_38_PERCENT, "THUNAR_ZOOM_LEVEL_SMALLER", "38%", }, - { THUNAR_ZOOM_LEVEL_50_PERCENT, "THUNAR_ZOOM_LEVEL_SMALL", "50%", }, - { THUNAR_ZOOM_LEVEL_75_PERCENT, "THUNAR_ZOOM_LEVEL_NORMAL", "75%", }, - { THUNAR_ZOOM_LEVEL_100_PERCENT, "THUNAR_ZOOM_LEVEL_LARGE", "100%", }, - { THUNAR_ZOOM_LEVEL_150_PERCENT, "THUNAR_ZOOM_LEVEL_LARGER", "150%", }, - { THUNAR_ZOOM_LEVEL_200_PERCENT, "THUNAR_ZOOM_LEVEL_LARGEST", "200%", }, + { THUNAR_ZOOM_LEVEL_25_PERCENT, "THUNAR_ZOOM_LEVEL_SMALLEST", "25%", }, + { THUNAR_ZOOM_LEVEL_38_PERCENT, "THUNAR_ZOOM_LEVEL_SMALLER", "38%", }, + { THUNAR_ZOOM_LEVEL_50_PERCENT, "THUNAR_ZOOM_LEVEL_SMALL", "50%", }, + { THUNAR_ZOOM_LEVEL_75_PERCENT, "THUNAR_ZOOM_LEVEL_NORMAL", "75%", }, + { THUNAR_ZOOM_LEVEL_100_PERCENT, "THUNAR_ZOOM_LEVEL_LARGE", "100%", }, + { THUNAR_ZOOM_LEVEL_150_PERCENT, "THUNAR_ZOOM_LEVEL_LARGER", "150%", }, + { THUNAR_ZOOM_LEVEL_200_PERCENT, "THUNAR_ZOOM_LEVEL_LARGEST", "200%", }, /* g_value_transform will pick the last value if nothing else matches. So we put the default there */ /* this is required here, because the names of the enum values have changed since the previous thunar-version*/ - { THUNAR_ZOOM_LEVEL_100_PERCENT, "*", "*", }, - { 0, NULL, NULL, }, + { THUNAR_ZOOM_LEVEL_100_PERCENT, "*", "*", }, + { 0, NULL, NULL, }, }; type = g_enum_register_static (I_("ThunarZoomLevel"), values); @@ -358,8 +362,10 @@ thunar_thumbnail_size_get_type (void) { static const GEnumValue values[] = { - { THUNAR_THUMBNAIL_SIZE_NORMAL, "THUNAR_THUMBNAIL_SIZE_NORMAL", "normal", }, - { THUNAR_THUMBNAIL_SIZE_LARGE, "THUNAR_THUMBNAIL_SIZE_LARGE", "large", }, + { THUNAR_THUMBNAIL_SIZE_NORMAL, "THUNAR_THUMBNAIL_SIZE_NORMAL", "normal", }, + { THUNAR_THUMBNAIL_SIZE_LARGE, "THUNAR_THUMBNAIL_SIZE_LARGE", "large", }, + { THUNAR_THUMBNAIL_SIZE_X_LARGE, "THUNAR_THUMBNAIL_SIZE_X_LARGE", "x-large", }, + { THUNAR_THUMBNAIL_SIZE_XX_LARGE, "THUNAR_THUMBNAIL_SIZE_XX_LARGE", "xx-large", }, { 0, NULL, NULL, }, }; @@ -416,17 +422,19 @@ thunar_zoom_level_to_icon_size (ThunarZoomLevel zoom_level) { switch (zoom_level) { - case THUNAR_ZOOM_LEVEL_25_PERCENT: return THUNAR_ICON_SIZE_16; - case THUNAR_ZOOM_LEVEL_38_PERCENT: return THUNAR_ICON_SIZE_24; - case THUNAR_ZOOM_LEVEL_50_PERCENT: return THUNAR_ICON_SIZE_32; - case THUNAR_ZOOM_LEVEL_75_PERCENT: return THUNAR_ICON_SIZE_48; - case THUNAR_ZOOM_LEVEL_100_PERCENT: return THUNAR_ICON_SIZE_64; - case THUNAR_ZOOM_LEVEL_150_PERCENT: return THUNAR_ICON_SIZE_96; - case THUNAR_ZOOM_LEVEL_200_PERCENT: return THUNAR_ICON_SIZE_128; - case THUNAR_ZOOM_LEVEL_250_PERCENT: return THUNAR_ICON_SIZE_160; - case THUNAR_ZOOM_LEVEL_300_PERCENT: return THUNAR_ICON_SIZE_192; - case THUNAR_ZOOM_LEVEL_400_PERCENT: return THUNAR_ICON_SIZE_256; - default: return THUNAR_ICON_SIZE_64; // default = 100 %zoom + case THUNAR_ZOOM_LEVEL_25_PERCENT: return THUNAR_ICON_SIZE_16; + case THUNAR_ZOOM_LEVEL_38_PERCENT: return THUNAR_ICON_SIZE_24; + case THUNAR_ZOOM_LEVEL_50_PERCENT: return THUNAR_ICON_SIZE_32; + case THUNAR_ZOOM_LEVEL_75_PERCENT: return THUNAR_ICON_SIZE_48; + case THUNAR_ZOOM_LEVEL_100_PERCENT: return THUNAR_ICON_SIZE_64; + case THUNAR_ZOOM_LEVEL_150_PERCENT: return THUNAR_ICON_SIZE_96; + case THUNAR_ZOOM_LEVEL_200_PERCENT: return THUNAR_ICON_SIZE_128; + case THUNAR_ZOOM_LEVEL_250_PERCENT: return THUNAR_ICON_SIZE_160; + case THUNAR_ZOOM_LEVEL_300_PERCENT: return THUNAR_ICON_SIZE_192; + case THUNAR_ZOOM_LEVEL_400_PERCENT: return THUNAR_ICON_SIZE_256; + case THUNAR_ZOOM_LEVEL_800_PERCENT: return THUNAR_ICON_SIZE_512; + case THUNAR_ZOOM_LEVEL_1600_PERCENT: return THUNAR_ICON_SIZE_1024; + default: return THUNAR_ICON_SIZE_64; // default = 100 %zoom } } @@ -435,7 +443,13 @@ thunar_zoom_level_to_icon_size (ThunarZoomLevel zoom_level) static ThunarThumbnailSize thunar_icon_size_to_thumbnail_size (ThunarIconSize icon_size) { - if (icon_size > THUNAR_ICON_SIZE_128) + if (icon_size >= THUNAR_ICON_SIZE_1024) + return THUNAR_THUMBNAIL_SIZE_XX_LARGE; + + if (icon_size >= THUNAR_ICON_SIZE_512) + return THUNAR_THUMBNAIL_SIZE_X_LARGE; + + if (icon_size >= THUNAR_ICON_SIZE_128) return THUNAR_THUMBNAIL_SIZE_LARGE; return THUNAR_THUMBNAIL_SIZE_NORMAL; diff --git a/thunar/thunar-enum-types.h b/thunar/thunar-enum-types.h index 3757e478..ab4470d8 100644 --- a/thunar/thunar-enum-types.h +++ b/thunar/thunar-enum-types.h @@ -139,16 +139,18 @@ gboolean thunar_column_value_from_string (const gchar *value_string, **/ typedef enum { - THUNAR_ICON_SIZE_16 = 16, - THUNAR_ICON_SIZE_24 = 24, - THUNAR_ICON_SIZE_32 = 32, - THUNAR_ICON_SIZE_48 = 48, - THUNAR_ICON_SIZE_64 = 64, - THUNAR_ICON_SIZE_96 = 96, - THUNAR_ICON_SIZE_128 = 128, - THUNAR_ICON_SIZE_160 = 160, - THUNAR_ICON_SIZE_192 = 192, - THUNAR_ICON_SIZE_256 = 256, + THUNAR_ICON_SIZE_16 = 16, + THUNAR_ICON_SIZE_24 = 24, + THUNAR_ICON_SIZE_32 = 32, + THUNAR_ICON_SIZE_48 = 48, + THUNAR_ICON_SIZE_64 = 64, + THUNAR_ICON_SIZE_96 = 96, + THUNAR_ICON_SIZE_128 = 128, + THUNAR_ICON_SIZE_160 = 160, + THUNAR_ICON_SIZE_192 = 192, + THUNAR_ICON_SIZE_256 = 256, + THUNAR_ICON_SIZE_512 = 512, + THUNAR_ICON_SIZE_1024 = 1024, } ThunarIconSize; GType thunar_icon_size_get_type (void) G_GNUC_CONST; @@ -178,11 +180,15 @@ GType thunar_thumbnail_mode_get_type (void) G_GNUC_CONST; * ThunarThumbnailSize: * @THUNAR_THUMBNAIL_NORMAL : max 128px x 128px * @THUNAR_THUMBNAIL_LARGE : max 256px x 256px + * @THUNAR_THUMBNAIL_X_LARGE : max 512px x 512px + * @THUNAR_THUMBNAIL_XX_LARGE : max 1024px x 1024px **/ typedef enum { THUNAR_THUMBNAIL_SIZE_NORMAL, - THUNAR_THUMBNAIL_SIZE_LARGE + THUNAR_THUMBNAIL_SIZE_LARGE, + THUNAR_THUMBNAIL_SIZE_X_LARGE, + THUNAR_THUMBNAIL_SIZE_XX_LARGE } ThunarThumbnailSize; GType thunar_thumbnail_size_get_type (void) G_GNUC_CONST; @@ -248,6 +254,8 @@ typedef enum THUNAR_ZOOM_LEVEL_250_PERCENT, THUNAR_ZOOM_LEVEL_300_PERCENT, THUNAR_ZOOM_LEVEL_400_PERCENT, + THUNAR_ZOOM_LEVEL_800_PERCENT, + THUNAR_ZOOM_LEVEL_1600_PERCENT, /*< private >*/ THUNAR_ZOOM_N_LEVELS, diff --git a/thunar/thunar-preferences-dialog.c b/thunar/thunar-preferences-dialog.c index 315e0f50..8ea14635 100644 --- a/thunar/thunar-preferences-dialog.c +++ b/thunar/thunar-preferences-dialog.c @@ -653,6 +653,8 @@ thunar_preferences_dialog_init (ThunarPreferencesDialog *dialog) gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("160px")); gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("192px")); gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("256px")); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("512px")); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("1024px")); g_object_bind_property_full (G_OBJECT (dialog->preferences), "shortcuts-icon-size", G_OBJECT (combo), @@ -717,6 +719,8 @@ thunar_preferences_dialog_init (ThunarPreferencesDialog *dialog) gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("160px")); gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("192px")); gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("256px")); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("512px")); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _("1024px")); g_object_bind_property_full (G_OBJECT (dialog->preferences), "tree-icon-size", G_OBJECT (combo), |