import { Button, VerticalBox , HorizontalBox, TabWidget, ListView, StandardListView, StandardTableView, CheckBox} from "std-widgets.slint"; import {LeftSidePanel} from "left_side_panel.slint"; import {MainList} from "main_lists.slint"; import {CurrentTab} from "common.slint"; import {BottomPanelVisibility} from "common.slint"; import {Callabler} from "callabler.slint"; export component VisibilityButton inherits Button { in-out property button_visibility; in-out property bottom_panel_visibility; enabled: bottom_panel_visibility != button-visibility; height: 30px; width: 70px; clicked => { bottom-panel-visibility = button_visibility; } } export component ActionButtons inherits HorizontalLayout { callback scan_stopping; callback scan_starting(CurrentTab); in-out property bottom_panel_visibility: BottomPanelVisibility.Directories; in-out property stop_requested: false; in-out property scanning; in-out property active-tab; out property name; height: 30px; spacing: 4px; scan_button := Button { height: parent.height; enabled: !scanning; text: "Scan"; clicked => { root.scanning = true; root.scan_starting(active-tab); } } stop_button := Button { height: parent.height; enabled: scanning && !stop_requested; text: "Stop"; clicked => { root.scan_stopping(); root.stop_requested = true; } } Rectangle { horizontal-stretch: 0.5; } delete_button := Button { height: parent.height; enabled: !scanning; text: "Delete"; clicked => { Callabler.delete_selected_items(); } } Rectangle { horizontal-stretch: 0.5; } HorizontalLayout { padding: 0px; spacing: 0px; VisibilityButton { height: parent.height; button-visibility: BottomPanelVisibility.Directories; bottom_panel_visibility <=> bottom_panel_visibility; text: "Dirs"; } VisibilityButton { height: parent.height; button-visibility: BottomPanelVisibility.TextErrors; bottom_panel_visibility <=> bottom_panel_visibility; text: "Text"; } VisibilityButton { height: parent.height; button-visibility: BottomPanelVisibility.NotVisible; bottom_panel_visibility <=> bottom_panel_visibility; text: "None"; } } }