Again fixes
This commit is contained in:
parent
0b99d9c1d9
commit
74ae728cde
|
@ -22,6 +22,7 @@ pub struct SettingsCustom {
|
||||||
#[serde(default = "default_excluded_directories")]
|
#[serde(default = "default_excluded_directories")]
|
||||||
pub excluded_directories: Vec<PathBuf>,
|
pub excluded_directories: Vec<PathBuf>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for SettingsCustom {
|
impl Default for SettingsCustom {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self {
|
Self {
|
||||||
|
|
|
@ -24,14 +24,16 @@ export component SelectableTableView inherits Rectangle {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ScrollView {
|
VerticalBox {
|
||||||
VerticalBox {
|
padding: 0px;
|
||||||
padding: 5px;
|
forward-focus: focus-item;
|
||||||
forward-focus: focus-item;
|
ScrollView {
|
||||||
|
height: 30px;
|
||||||
|
viewport-x <=> list_view.viewport-x;
|
||||||
|
vertical-stretch: 0;
|
||||||
|
|
||||||
HorizontalLayout {
|
HorizontalLayout {
|
||||||
padding: 5px;
|
|
||||||
spacing: 5px;
|
spacing: 5px;
|
||||||
vertical-stretch: 0;
|
|
||||||
for title [idx] in root.columns: HorizontalLayout {
|
for title [idx] in root.columns: HorizontalLayout {
|
||||||
width: root.column-sizes[idx];
|
width: root.column-sizes[idx];
|
||||||
Text {
|
Text {
|
||||||
|
@ -66,70 +68,73 @@ export component SelectableTableView inherits Rectangle {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
list_view := ListView {
|
list_view := ListView {
|
||||||
min-width: 100px;
|
padding: 0px;
|
||||||
|
min-width: 100px;
|
||||||
|
forward-focus: focus-item;
|
||||||
|
for r [idx] in root.values: Rectangle {
|
||||||
|
width: column_sizes[0] + column_sizes[1] + column_sizes[2] + column_sizes[3] + column_sizes[4] + column_sizes[5] + column_sizes[6] + column_sizes[7] + column_sizes[8] + column_sizes[9] + column_sizes[10] + column_sizes[11];
|
||||||
|
|
||||||
|
border-radius: 5px;
|
||||||
forward-focus: focus-item;
|
forward-focus: focus-item;
|
||||||
for r [idx] in root.values: Rectangle {
|
height: 20px;
|
||||||
border-radius: 5px;
|
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));
|
||||||
|
touch_area := TouchArea {
|
||||||
forward-focus: focus-item;
|
forward-focus: focus-item;
|
||||||
height: 20px;
|
clicked => {
|
||||||
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));
|
if (!r.header_row) {
|
||||||
touch_area := TouchArea {
|
r.selected_row = !r.selected_row;
|
||||||
forward-focus: focus-item;
|
if (root.selected-item == -1) {
|
||||||
clicked => {
|
root.selected-item = idx;
|
||||||
if (!r.header_row) {
|
} else {
|
||||||
r.selected_row = !r.selected_row;
|
if (r.selected_row == true) {
|
||||||
if (root.selected-item == -1) {
|
root.values[root.selected-item].selected_row = false;
|
||||||
root.selected-item = idx;
|
root.selected-item = idx;
|
||||||
} else {
|
} else {
|
||||||
if (r.selected_row == true) {
|
root.selected-item = -1;
|
||||||
root.values[root.selected-item].selected_row = false;
|
|
||||||
root.selected-item = idx;
|
|
||||||
} else {
|
|
||||||
root.selected-item = -1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (root.selected_item != -1) {
|
if (root.selected_item != -1) {
|
||||||
Callabler.load_image_preview(r.val[root.parentPathIdx - 1] + "/" + r.val[root.fileNameIdx - 1]);
|
Callabler.load_image_preview(r.val[root.parentPathIdx - 1] + "/" + r.val[root.fileNameIdx - 1]);
|
||||||
} else {
|
} else {
|
||||||
GuiState.preview-visible = false;
|
GuiState.preview-visible = false;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pointer-event(event) => {
|
}
|
||||||
// TODO this should be clicked by double-click
|
pointer-event(event) => {
|
||||||
if (event.button == PointerEventButton.right && event.kind == PointerEventKind.up) {
|
// TODO this should be clicked by double-click
|
||||||
Callabler.item_opened(r.val[root.parentPathIdx - 1])
|
if (event.button == PointerEventButton.right && event.kind == PointerEventKind.up) {
|
||||||
} else if (event.button == PointerEventButton.middle && event.kind == PointerEventKind.up) {
|
Callabler.item_opened(r.val[root.parentPathIdx - 1])
|
||||||
Callabler.item_opened(r.val[root.parentPathIdx - 1] + "/" + r.val[root.fileNameIdx - 1])
|
} else if (event.button == PointerEventButton.middle && event.kind == PointerEventKind.up) {
|
||||||
}
|
Callabler.item_opened(r.val[root.parentPathIdx - 1] + "/" + r.val[root.fileNameIdx - 1])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
HorizontalLayout {
|
||||||
|
forward-focus: focus-item;
|
||||||
|
CheckBox {
|
||||||
|
visible: !r.header-row;
|
||||||
|
checked: r.checked && !r.header-row;
|
||||||
|
width: root.column-sizes[0];
|
||||||
|
forward-focus: focus-item;
|
||||||
|
toggled => {
|
||||||
|
r.checked = self.checked;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HorizontalLayout {
|
HorizontalLayout {
|
||||||
forward-focus: focus-item;
|
spacing: 5px;
|
||||||
CheckBox {
|
for f [idx] in r.val: Text {
|
||||||
visible: !r.header-row;
|
width: root.column-sizes[idx + 1];
|
||||||
checked: r.checked && !r.header-row;
|
text: f;
|
||||||
width: root.column-sizes[0];
|
font-size: 12px;
|
||||||
forward-focus: focus-item;
|
forward-focus: focus-item;
|
||||||
toggled => {
|
vertical-alignment: center;
|
||||||
r.checked = self.checked;
|
overflow: elide;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
HorizontalLayout {
|
|
||||||
spacing: 5px;
|
|
||||||
for f [idx] in r.val: Text {
|
|
||||||
width: root.column-sizes[idx + 1];
|
|
||||||
text: f;
|
|
||||||
font-size: 12px;
|
|
||||||
forward-focus: focus-item;
|
|
||||||
vertical-alignment: center;
|
|
||||||
overflow: elide;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue