110 lines
2.8 KiB
Plaintext
110 lines
2.8 KiB
Plaintext
#:import os os
|
|
#:import FILE_MANAGER_TOP_APP_BAR_ELEVATION kivymd.material_resources.FILE_MANAGER_TOP_APP_BAR_ELEVATION
|
|
|
|
|
|
<BodyManager>
|
|
icon: "folder"
|
|
path: ""
|
|
background_normal: ""
|
|
background_down: ""
|
|
dir_or_file_name: ""
|
|
icon_color: 0, 0, 0, 0
|
|
_selected: False
|
|
events_callback: lambda x: None
|
|
orientation: "vertical"
|
|
|
|
ModifiedOneLineIconListItem:
|
|
text: root.dir_or_file_name
|
|
on_release: root.events_callback(root.path, root)
|
|
bg_color:
|
|
self.theme_cls.bg_darkest \
|
|
if root._selected else \
|
|
self.theme_cls.bg_normal
|
|
|
|
IconLeftWidget:
|
|
icon: root.icon
|
|
theme_icon_color: "Custom"
|
|
icon_color: root.icon_color
|
|
|
|
MDSeparator:
|
|
|
|
|
|
<LabelContent@MDLabel>
|
|
adaptive_height: True
|
|
shorten: True
|
|
shorten_from: "center"
|
|
halign: "center"
|
|
text_size: self.width, None
|
|
|
|
|
|
<BodyManagerWithPreview>
|
|
name: ""
|
|
path: ""
|
|
realpath: ""
|
|
type: "folder"
|
|
events_callback: lambda x: None
|
|
_selected: False
|
|
orientation: "vertical"
|
|
size_hint_y: None
|
|
hright: root.height
|
|
padding: dp(20)
|
|
|
|
IconButton:
|
|
mipmap: True
|
|
source: root.path
|
|
bg_color:
|
|
app.theme_cls.bg_darkest \
|
|
if root._selected else app.theme_cls.bg_normal
|
|
on_release:
|
|
root.events_callback( \
|
|
os.path.join(root.path if root.type != "folder" \
|
|
else root.realpath, root.name), root)
|
|
|
|
LabelContent:
|
|
text: root.name
|
|
|
|
|
|
<MDFileManager>
|
|
md_bg_color: root.theme_cls.bg_normal
|
|
|
|
MDBoxLayout:
|
|
orientation: "vertical"
|
|
spacing: dp(5)
|
|
|
|
MDTopAppBar:
|
|
id: toolbar
|
|
title: root.current_path
|
|
right_action_items: [["close-box", lambda x: root.exit_manager(1)]]
|
|
left_action_items: [["chevron-left", lambda x: root.back()]]
|
|
elevation: FILE_MANAGER_TOP_APP_BAR_ELEVATION
|
|
md_bg_color:
|
|
app.theme_cls.primary_color \
|
|
if not root.background_color_toolbar else \
|
|
root.background_color_toolbar
|
|
|
|
RecycleView:
|
|
id: rv
|
|
key_viewclass: "viewclass"
|
|
key_size: "height"
|
|
bar_width: dp(4)
|
|
bar_color: root.theme_cls.primary_color
|
|
|
|
RecycleGridLayout:
|
|
padding: "10dp"
|
|
spacing: "2dp"
|
|
cols: 3 if root.preview else 1
|
|
default_size: None, dp(48)
|
|
default_size_hint: 1, None
|
|
size_hint_y: None
|
|
height: self.minimum_height
|
|
|
|
|
|
<ModifiedOneLineIconListItem>
|
|
|
|
BoxLayout:
|
|
id: _left_container
|
|
size_hint: None, None
|
|
x: root.x + dp(16)
|
|
y: root.y + root.height / 2 - self.height / 2
|
|
size: dp(48), dp(48)
|