view-icon: add new zoom level

With the flow box we can finally add more zoom levels. Add a new larger
one so the user can view larger content.
This commit is contained in:
Carlos Soriano 2017-02-15 01:10:37 +01:00
parent 1add4a1bde
commit 1e5eba1d7c
5 changed files with 13 additions and 4 deletions

View file

@ -37,6 +37,7 @@
<value value="1" nick="standard"/> <value value="1" nick="standard"/>
<value value="2" nick="large"/> <value value="2" nick="large"/>
<value value="3" nick="larger"/> <value value="3" nick="larger"/>
<value value="4" nick="largest"/>
</enum> </enum>
<enum id="org.gnome.nautilus.ListZoomLevel"> <enum id="org.gnome.nautilus.ListZoomLevel">

View file

@ -3954,7 +3954,7 @@ thumbnail_loader_size_prepared (GdkPixbufLoader *loader,
aspect_ratio = ((double) width) / height; aspect_ratio = ((double) width) / height;
/* cf. nautilus_file_get_icon() */ /* cf. nautilus_file_get_icon() */
max_thumbnail_size = NAUTILUS_CANVAS_ICON_SIZE_LARGER * cached_thumbnail_size / NAUTILUS_CANVAS_ICON_SIZE_SMALL; max_thumbnail_size = NAUTILUS_CANVAS_ICON_SIZE_LARGEST * cached_thumbnail_size / NAUTILUS_CANVAS_ICON_SIZE_SMALL;
if (MAX (width, height) > max_thumbnail_size) if (MAX (width, height) > max_thumbnail_size)
{ {
if (width > height) if (width > height)

View file

@ -15,6 +15,7 @@ typedef enum {
NAUTILUS_CANVAS_ZOOM_LEVEL_STANDARD, NAUTILUS_CANVAS_ZOOM_LEVEL_STANDARD,
NAUTILUS_CANVAS_ZOOM_LEVEL_LARGE, NAUTILUS_CANVAS_ZOOM_LEVEL_LARGE,
NAUTILUS_CANVAS_ZOOM_LEVEL_LARGER, NAUTILUS_CANVAS_ZOOM_LEVEL_LARGER,
NAUTILUS_CANVAS_ZOOM_LEVEL_LARGEST,
} NautilusCanvasZoomLevel; } NautilusCanvasZoomLevel;
typedef enum { typedef enum {
@ -25,7 +26,7 @@ typedef enum {
} NautilusListZoomLevel; } NautilusListZoomLevel;
#define NAUTILUS_LIST_ZOOM_LEVEL_N_ENTRIES (NAUTILUS_LIST_ZOOM_LEVEL_LARGER + 1) #define NAUTILUS_LIST_ZOOM_LEVEL_N_ENTRIES (NAUTILUS_LIST_ZOOM_LEVEL_LARGER + 1)
#define NAUTILUS_CANVAS_ZOOM_LEVEL_N_ENTRIES (NAUTILUS_CANVAS_ZOOM_LEVEL_LARGER + 1) #define NAUTILUS_CANVAS_ZOOM_LEVEL_N_ENTRIES (NAUTILUS_CANVAS_ZOOM_LEVEL_LARGEST + 1)
/* Nominal icon sizes for each Nautilus zoom level. /* Nominal icon sizes for each Nautilus zoom level.
* This scheme assumes that icons are designed to * This scheme assumes that icons are designed to
@ -42,6 +43,7 @@ typedef enum {
#define NAUTILUS_CANVAS_ICON_SIZE_STANDARD 64 #define NAUTILUS_CANVAS_ICON_SIZE_STANDARD 64
#define NAUTILUS_CANVAS_ICON_SIZE_LARGE 96 #define NAUTILUS_CANVAS_ICON_SIZE_LARGE 96
#define NAUTILUS_CANVAS_ICON_SIZE_LARGER 128 #define NAUTILUS_CANVAS_ICON_SIZE_LARGER 128
#define NAUTILUS_CANVAS_ICON_SIZE_LARGEST 256
/* Maximum size of an icon that the icon factory will ever produce */ /* Maximum size of an icon that the icon factory will ever produce */
#define NAUTILUS_ICON_MAXIMUM_SIZE 320 #define NAUTILUS_ICON_MAXIMUM_SIZE 320

View file

@ -445,7 +445,7 @@ real_bump_zoom_level (NautilusFilesView *files_view,
new_level = self->zoom_level + zoom_increment; new_level = self->zoom_level + zoom_increment;
if (new_level >= NAUTILUS_CANVAS_ZOOM_LEVEL_SMALL && if (new_level >= NAUTILUS_CANVAS_ZOOM_LEVEL_SMALL &&
new_level <= NAUTILUS_CANVAS_ZOOM_LEVEL_LARGER) new_level <= NAUTILUS_CANVAS_ZOOM_LEVEL_LARGEST)
{ {
g_action_group_change_action_state (self->action_group, g_action_group_change_action_state (self->action_group,
"zoom-to-level", "zoom-to-level",
@ -481,6 +481,12 @@ get_icon_size_for_zoom_level (NautilusCanvasZoomLevel zoom_level)
return NAUTILUS_CANVAS_ICON_SIZE_LARGER; return NAUTILUS_CANVAS_ICON_SIZE_LARGER;
} }
break; break;
case NAUTILUS_CANVAS_ZOOM_LEVEL_LARGEST:
{
return NAUTILUS_CANVAS_ICON_SIZE_LARGEST;
}
break;
} }
g_return_val_if_reached (NAUTILUS_CANVAS_ICON_SIZE_STANDARD); g_return_val_if_reached (NAUTILUS_CANVAS_ICON_SIZE_STANDARD);
} }

View file

@ -131,7 +131,7 @@ nautilus_view_item_model_class_init (NautilusViewItemModelClass *klass)
"Icon size", "Icon size",
"The size in pixels of the icon", "The size in pixels of the icon",
NAUTILUS_CANVAS_ICON_SIZE_SMALL, NAUTILUS_CANVAS_ICON_SIZE_SMALL,
NAUTILUS_CANVAS_ICON_SIZE_LARGER, NAUTILUS_CANVAS_ICON_SIZE_LARGEST,
NAUTILUS_CANVAS_ICON_SIZE_LARGE, NAUTILUS_CANVAS_ICON_SIZE_LARGE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
g_object_class_install_property (object_class, g_object_class_install_property (object_class,