diff --git a/Changelog.md b/Changelog.md index e88488f8..fdac0c0f 100644 --- a/Changelog.md +++ b/Changelog.md @@ -40,6 +40,7 @@ - Changed way to close/open panel at bottom - [#1359](https://github.com/qarmin/czkawka/pull/1359) - Modify logo a little - [#1359](https://github.com/qarmin/czkawka/pull/1359) - Avoid errors when trying to load preview of not supported file - [#1359](https://github.com/qarmin/czkawka/pull/1359) +- Added ability to show preview of referenced folders - [#1359](https://github.com/qarmin/czkawka/pull/1359) ### GTK GUI diff --git a/krokiet/ui/color_palette.slint b/krokiet/ui/color_palette.slint index 4a0bada3..35d7bc64 100644 --- a/krokiet/ui/color_palette.slint +++ b/krokiet/ui/color_palette.slint @@ -6,9 +6,30 @@ export global ColorPalette { in-out property tab_selected_color: dark_scheme ? #353535 : #5e5e5e; in-out property tab_hovered_color: dark_scheme ? #49494926 : #80808014; // ListView - in-out property list_view_normal_color: dark_scheme ? #222222 : #dddddd; - in-out property list_view_normal_header_color: dark_scheme ? #111111 : #888888; - in-out property list_view_normal_selected_header: dark_scheme ? #444444 : #cccccc; + in-out property list_view_item_color: dark_scheme ? #222222 : #dddddd; + in-out property list_view_item_hovered_color: dark_scheme ? #333333 : #d2d2d2; + in-out property list_view_item_selected_color: dark_scheme ? #444444 : #cccccc; + in-out property list_view_item_selected_hovered_color: dark_scheme ? #555555 : #bbbbbb; + + in-out property list_view_header_color: dark_scheme ? #111111 : #888888; + in-out property list_view_clicked_header_color: dark_scheme ? #1a1a1a : #808080; + // Popup in-out property popup_background: dark_scheme ? #353535 : #5e5e5e; + + + public pure function get_listview_color(selected: bool, hovered: bool) -> color { + if (selected) { + return hovered ? self.list_view_item_selected_hovered_color : self.list_view_item_selected_color; + } else { + return hovered ? self.list_view_item_hovered_color : self.list_view_item_color; + } + } + public pure function get_listview_color_with_header(selected: bool, hovered: bool, header: bool) -> color { + if (header) { + return selected ? self.list_view_clicked_header_color : self.list_view_header_color; + } else { + return self.get_listview_color(selected, hovered); + } + } } diff --git a/krokiet/ui/gui_state.slint b/krokiet/ui/gui_state.slint index 59dc4a46..9c9952fb 100644 --- a/krokiet/ui/gui_state.slint +++ b/krokiet/ui/gui_state.slint @@ -18,7 +18,7 @@ export global GuiState { in-out property visible_tool_settings; in-out property available_subsettings: active_tab == CurrentTab.SimilarImages || active_tab == CurrentTab.DuplicateFiles || active_tab == CurrentTab.SimilarVideos || active_tab == CurrentTab.SimilarMusic || active_tab == CurrentTab.BigFiles || active_tab == CurrentTab.BrokenFiles; - in-out property active_tab: CurrentTab.DuplicateFiles; + in-out property active_tab: CurrentTab.SimilarImages; in-out property is_tool_tab_active: active_tab != CurrentTab.Settings && active_tab != CurrentTab.About; in-out property <[SelectModel]> select_results_list: [{data: SelectMode.SelectAll, name: "Select All"}, {data: SelectMode.UnselectAll, name: "Deselect All"}, {data: SelectMode.SelectTheSmallestResolution, name: "Select the smallest resolution"}]; diff --git a/krokiet/ui/included_directories.slint b/krokiet/ui/included_directories.slint index 9b3d9060..e55ba227 100644 --- a/krokiet/ui/included_directories.slint +++ b/krokiet/ui/included_directories.slint @@ -31,7 +31,7 @@ export component IncludedDirectories { border_radius: 5px; width: parent.width; - background: touch-area.has-hover ? (r.selected_row ? ColorPalette.list_view_normal_selected_header : ColorPalette.list_view_normal_color) : (r.selected_row ? ColorPalette.list_view_normal_selected_header : ColorPalette.list_view_normal_color); + background: ColorPalette.get_listview_color(r.selected_row, touch-area.has-hover); touch_area := TouchArea { clicked => { if (current_index == -1) { @@ -90,7 +90,7 @@ export component ExcludedDirectories { border_radius: 5px; width: parent.width; - background: touch-area.has-hover ? (r.selected_row ? ColorPalette.list_view_normal_selected_header : ColorPalette.list_view_normal_color) : (r.selected_row ? ColorPalette.list_view_normal_selected_header : ColorPalette.list_view_normal_color); + background: ColorPalette.get_listview_color(r.selected_row, touch-area.has-hover); touch_area := TouchArea { clicked => { diff --git a/krokiet/ui/main_window.slint b/krokiet/ui/main_window.slint index 78d3bdf4..55fabdfd 100644 --- a/krokiet/ui/main_window.slint +++ b/krokiet/ui/main_window.slint @@ -161,7 +161,7 @@ export component MainWindow inherits Window { read-only: true; } Text { - text: "Krokiet\n8.0.0"; + text: "Krokiet\n7.0.0"; vertical-alignment: center; horizontal-alignment: center; } diff --git a/krokiet/ui/selectable_tree_view.slint b/krokiet/ui/selectable_tree_view.slint index bfbc063a..7ee0cde5 100644 --- a/krokiet/ui/selectable_tree_view.slint +++ b/krokiet/ui/selectable_tree_view.slint @@ -73,10 +73,12 @@ export component SelectableTableView inherits Rectangle { border-radius: 5px; height: 20px; - background: r.header_row ? ColorPalette.list_view_normal_header_color : (touch-area.has-hover ? (r.selected_row ? ColorPalette.list_view_normal_selected_header : ColorPalette.list_view_normal_color) : (r.selected_row ? ColorPalette.list_view_normal_selected_header : ColorPalette.list_view_normal_color)); + background: ColorPalette.get_listview_color_with_header(r.selected_row, touch-area.has-hover, r.header_row); touch_area := TouchArea { function clicked_manual() { - if (!r.header_row) { + // We don't allow to select header row + // unless it contains data, which is true only for for modes with reference folders + if (!r.header_row || r.val_str.length > 0) { if (root.selected_item == -1) { r.selected_row = !r.selected_row; root.selected_item = idx;