From 25c9935c888006f8a540d7bcaadb99a9a52bf4d0 Mon Sep 17 00:00:00 2001 From: Wu Xiaotian Date: Thu, 25 Jul 2019 22:32:36 +0800 Subject: Add preference option to hide icons in list view. --- src/caja-file-management-properties.c | 5 ++++ src/caja-file-management-properties.ui | 49 ++++++++++++++++++++++++++++++++++ src/file-manager/fm-list-model.c | 14 ++++++++++ src/ui-a11y.suppr | 1 + 4 files changed, 69 insertions(+) (limited to 'src') diff --git a/src/caja-file-management-properties.c b/src/caja-file-management-properties.c index d361d15d..9596461e 100644 --- a/src/caja-file-management-properties.c +++ b/src/caja-file-management-properties.c @@ -73,6 +73,7 @@ #define CAJA_FILE_MANAGEMENT_PROPERTIES_MEDIA_AUTOMOUNT_OPEN "media_automount_open_checkbutton" #define CAJA_FILE_MANAGEMENT_PROPERTIES_MEDIA_AUTORUN_NEVER "media_autorun_never_checkbutton" #define CAJA_FILE_MANAGEMENT_PROPERTIES_USE_IEC_UNITS_WIDGET "use_iec_units" +#define CAJA_FILE_MANAGEMENT_PROPERTIES_HIDE_ICON_IN_LIST_VIEW "hide_icons_in_list_view" /* int enums */ #define CAJA_FILE_MANAGEMENT_PROPERTIES_THUMBNAIL_LIMIT_WIDGET "preview_image_size_combobox" @@ -1192,6 +1193,10 @@ caja_file_management_properties_dialog_setup (GtkBuilder *builder, GtkWindow *wi CAJA_FILE_MANAGEMENT_PROPERTIES_USE_IEC_UNITS_WIDGET, CAJA_PREFERENCES_USE_IEC_UNITS); + bind_builder_bool (builder, caja_preferences, + CAJA_FILE_MANAGEMENT_PROPERTIES_HIDE_ICON_IN_LIST_VIEW, + CAJA_PREFERENCES_HIDE_ICON_IN_LIST_VIEW); + bind_builder_enum (builder, caja_preferences, CAJA_FILE_MANAGEMENT_PROPERTIES_DEFAULT_VIEW_WIDGET, CAJA_PREFERENCES_DEFAULT_FOLDER_VIEWER, diff --git a/src/caja-file-management-properties.ui b/src/caja-file-management-properties.ui index aa337c2f..903301e7 100644 --- a/src/caja-file-management-properties.ui +++ b/src/caja-file-management-properties.ui @@ -1519,6 +1519,55 @@ 2 + + + True + False + vertical + 6 + + + True + False + <b>List View</b> + True + 0 + + + False + False + 0 + + + + + True + False + 12 + + + _Hide icons in list view + True + True + False + True + True + + + + + False + False + 1 + + + + + False + False + 3 + + 2 diff --git a/src/file-manager/fm-list-model.c b/src/file-manager/fm-list-model.c index d8b99aad..3b7f03b0 100644 --- a/src/file-manager/fm-list-model.c +++ b/src/file-manager/fm-list-model.c @@ -37,6 +37,7 @@ #include #include +#include #include "fm-list-model.h" @@ -321,6 +322,19 @@ fm_list_model_get_value (GtkTreeModel *tree_model, GtkTreeIter *iter, int column case FM_LIST_MODEL_LARGE_ICON_COLUMN: case FM_LIST_MODEL_LARGER_ICON_COLUMN: case FM_LIST_MODEL_LARGEST_ICON_COLUMN: + if (g_settings_get_boolean (caja_preferences, CAJA_PREFERENCES_HIDE_ICON_IN_LIST_VIEW)) { + cairo_surface_t *surface; + int icon_size; + + g_value_init (value, CAIRO_GOBJECT_TYPE_SURFACE); + + zoom_level = fm_list_model_get_zoom_level_from_column_id (column); + icon_size = caja_get_icon_size_for_zoom_level (zoom_level); + + surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, icon_size, icon_size); + g_value_take_boxed (value, surface); + break; + } g_value_init (value, CAIRO_GOBJECT_TYPE_SURFACE); if (file != NULL) diff --git a/src/ui-a11y.suppr b/src/ui-a11y.suppr index c257b3c7..cc6decc2 100644 --- a/src/ui-a11y.suppr +++ b/src/ui-a11y.suppr @@ -32,4 +32,5 @@ caja-file-management-properties.ui://GtkLabel[@id='label60'] orphan-label caja-file-management-properties.ui://GtkLabel[@id='label61'] orphan-label caja-file-management-properties.ui://GtkLabel[@id='label65'] orphan-label caja-file-management-properties.ui://GtkLabel[@id='label7'] orphan-label +caja-file-management-properties.ui://GtkLabel[@id='label8'] orphan-label caja-file-management-properties.ui://GtkTreeView[@id='extension_view'] no-labelled-by -- cgit v1.2.1