Updated Packages - Nuitka, kivymd, reportlab, requests, imageio
This commit is contained in:
parent
da3917eb88
commit
1c49f078ba
BIN
PIL/_imaging.pyd
BIN
PIL/_imaging.pyd
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
PIL/_webp.pyd
BIN
PIL/_webp.pyd
Binary file not shown.
|
|
@ -245,34 +245,6 @@ mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK
|
|||
4SVhM7JZG+Ju1zdXtg2pEto=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1
|
||||
# Subject: O=SECOM Trust.net OU=Security Communication RootCA1
|
||||
# Label: "Security Communication Root CA"
|
||||
# Serial: 0
|
||||
# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a
|
||||
# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7
|
||||
# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY
|
||||
MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t
|
||||
dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5
|
||||
WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD
|
||||
VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3
|
||||
DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8
|
||||
9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ
|
||||
DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9
|
||||
Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N
|
||||
QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ
|
||||
xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G
|
||||
A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T
|
||||
AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG
|
||||
kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr
|
||||
Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5
|
||||
Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU
|
||||
JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot
|
||||
RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com
|
||||
# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com
|
||||
# Label: "XRamp Global CA Root"
|
||||
|
|
@ -3513,46 +3485,6 @@ DgQWBBQxCpCPtsad0kRLgLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ
|
|||
+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+CAezNIm8BZ/3Hobui3A=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
# Issuer: CN=GLOBALTRUST 2020 O=e-commerce monitoring GmbH
|
||||
# Subject: CN=GLOBALTRUST 2020 O=e-commerce monitoring GmbH
|
||||
# Label: "GLOBALTRUST 2020"
|
||||
# Serial: 109160994242082918454945253
|
||||
# MD5 Fingerprint: 8a:c7:6f:cb:6d:e3:cc:a2:f1:7c:83:fa:0e:78:d7:e8
|
||||
# SHA1 Fingerprint: d0:67:c1:13:51:01:0c:aa:d0:c7:6a:65:37:31:16:26:4f:53:71:a2
|
||||
# SHA256 Fingerprint: 9a:29:6a:51:82:d1:d4:51:a2:e3:7f:43:9b:74:da:af:a2:67:52:33:29:f9:0f:9a:0d:20:07:c3:34:e2:3c:9a
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
qfrQA71yN2BWHzZ8vTmR9W0Nv3vXkg==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
# Issuer: CN=ANF Secure Server Root CA O=ANF Autoridad de Certificacion OU=ANF CA Raiz
|
||||
# Subject: CN=ANF Secure Server Root CA O=ANF Autoridad de Certificacion OU=ANF CA Raiz
|
||||
# Label: "ANF Secure Server Root CA"
|
||||
|
|
@ -4776,3 +4708,91 @@ lklyALKrdVwPaFsdZcJfMw8eD/A7hvWwTruc9+olBdytoptLFwG+Qt81IR2tq670
|
|||
v64fG9PiO/yzcnMcmyiQiRM9HcEARwmWmjgb3bHPDcK0RPOWlc4yOo80nOAXx17O
|
||||
rg3bhzjlP1v9mxnhMUF6cKojawHhRUzNlM47ni3niAIi9G7oyOzWPPO5std3eqx7
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
# Issuer: CN=Telekom Security TLS ECC Root 2020 O=Deutsche Telekom Security GmbH
|
||||
# Subject: CN=Telekom Security TLS ECC Root 2020 O=Deutsche Telekom Security GmbH
|
||||
# Label: "Telekom Security TLS ECC Root 2020"
|
||||
# Serial: 72082518505882327255703894282316633856
|
||||
# MD5 Fingerprint: c1:ab:fe:6a:10:2c:03:8d:bc:1c:22:32:c0:85:a7:fd
|
||||
# SHA1 Fingerprint: c0:f8:96:c5:a9:3b:01:06:21:07:da:18:42:48:bc:e9:9d:88:d5:ec
|
||||
# SHA256 Fingerprint: 57:8a:f4:de:d0:85:3f:4e:59:98:db:4a:ea:f9:cb:ea:8d:94:5f:60:b6:20:a3:8d:1a:3c:13:b2:bc:7b:a8:e1
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICQjCCAcmgAwIBAgIQNjqWjMlcsljN0AFdxeVXADAKBggqhkjOPQQDAzBjMQsw
|
||||
CQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBH
|
||||
bWJIMSswKQYDVQQDDCJUZWxla29tIFNlY3VyaXR5IFRMUyBFQ0MgUm9vdCAyMDIw
|
||||
MB4XDTIwMDgyNTA3NDgyMFoXDTQ1MDgyNTIzNTk1OVowYzELMAkGA1UEBhMCREUx
|
||||
JzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkgR21iSDErMCkGA1UE
|
||||
AwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgRUNDIFJvb3QgMjAyMDB2MBAGByqGSM49
|
||||
AgEGBSuBBAAiA2IABM6//leov9Wq9xCazbzREaK9Z0LMkOsVGJDZos0MKiXrPk/O
|
||||
tdKPD/M12kOLAoC+b1EkHQ9rK8qfwm9QMuU3ILYg/4gND21Ju9sGpIeQkpT0CdDP
|
||||
f8iAC8GXs7s1J8nCG6NCMEAwHQYDVR0OBBYEFONyzG6VmUex5rNhTNHLq+O6zd6f
|
||||
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cA
|
||||
MGQCMHVSi7ekEE+uShCLsoRbQuHmKjYC2qBuGT8lv9pZMo7k+5Dck2TOrbRBR2Di
|
||||
z6fLHgIwN0GMZt9Ba9aDAEH9L1r3ULRn0SyocddDypwnJJGDSA3PzfdUga/sf+Rn
|
||||
27iQ7t0l
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
# Issuer: CN=Telekom Security TLS RSA Root 2023 O=Deutsche Telekom Security GmbH
|
||||
# Subject: CN=Telekom Security TLS RSA Root 2023 O=Deutsche Telekom Security GmbH
|
||||
# Label: "Telekom Security TLS RSA Root 2023"
|
||||
# Serial: 44676229530606711399881795178081572759
|
||||
# MD5 Fingerprint: bf:5b:eb:54:40:cd:48:71:c4:20:8d:7d:de:0a:42:f2
|
||||
# SHA1 Fingerprint: 54:d3:ac:b3:bd:57:56:f6:85:9d:ce:e5:c3:21:e2:d4:ad:83:d0:93
|
||||
# SHA256 Fingerprint: ef:c6:5c:ad:bb:59:ad:b6:ef:e8:4d:a2:23:11:b3:56:24:b7:1b:3b:1e:a0:da:8b:66:55:17:4e:c8:97:86:46
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
dTdmQRCsu/WU48IxK63nI1bMNSWSs1A=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
# Issuer: CN=FIRMAPROFESIONAL CA ROOT-A WEB O=Firmaprofesional SA
|
||||
# Subject: CN=FIRMAPROFESIONAL CA ROOT-A WEB O=Firmaprofesional SA
|
||||
# Label: "FIRMAPROFESIONAL CA ROOT-A WEB"
|
||||
# Serial: 65916896770016886708751106294915943533
|
||||
# MD5 Fingerprint: 82:b2:ad:45:00:82:b0:66:63:f8:5f:c3:67:4e:ce:a3
|
||||
# SHA1 Fingerprint: a8:31:11:74:a6:14:15:0d:ca:77:dd:0e:e4:0c:5d:58:fc:a0:72:a5
|
||||
# SHA256 Fingerprint: be:f2:56:da:f2:6e:9c:69:bd:ec:16:02:35:97:98:f3:ca:f7:18:21:a0:3e:01:82:57:c5:3c:65:61:7f:3d:4a
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICejCCAgCgAwIBAgIQMZch7a+JQn81QYehZ1ZMbTAKBggqhkjOPQQDAzBuMQsw
|
||||
CQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE
|
||||
YQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB
|
||||
IFJPT1QtQSBXRUIwHhcNMjIwNDA2MDkwMTM2WhcNNDcwMzMxMDkwMTM2WjBuMQsw
|
||||
CQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE
|
||||
YQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB
|
||||
IFJPT1QtQSBXRUIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARHU+osEaR3xyrq89Zf
|
||||
e9MEkVz6iMYiuYMQYneEMy3pA4jU4DP37XcsSmDq5G+tbbT4TIqk5B/K6k84Si6C
|
||||
cyvHZpsKjECcfIr28jlgst7L7Ljkb+qbXbdTkBgyVcUgt5SjYzBhMA8GA1UdEwEB
|
||||
/wQFMAMBAf8wHwYDVR0jBBgwFoAUk+FDY1w8ndYn81LsF7Kpryz3dvgwHQYDVR0O
|
||||
BBYEFJPhQ2NcPJ3WJ/NS7Beyqa8s93b4MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjO
|
||||
PQQDAwNoADBlAjAdfKR7w4l1M+E7qUW/Runpod3JIha3RxEL2Jq68cgLcFBTApFw
|
||||
hVmpHqTm6iMxoAACMQD94vizrxa5HnPEluPBMBnYfubDl94cT7iJLzPrSA8Z94dG
|
||||
XSaQpYXFuXqUPoeovQA=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,73 +1,42 @@
|
|||
#:import Window kivy.core.window.Window
|
||||
<MDBottomSheetContent>
|
||||
size_hint_y: None
|
||||
height: self.minimum_height
|
||||
|
||||
|
||||
<SheetList>
|
||||
<MDBottomSheetDragHandle>
|
||||
orientation: "vertical"
|
||||
size_hint_y: None
|
||||
height: self.minimum_height
|
||||
padding: "16dp", "8dp", "16dp", "16dp"
|
||||
|
||||
MDGridLayout:
|
||||
id: box_sheet_list
|
||||
cols: 1
|
||||
adaptive_height: True
|
||||
padding: 0, 0, 0, "96dp"
|
||||
BottomSheetDragHandle:
|
||||
md_bg_color:
|
||||
app.theme_cls.disabled_hint_text_color \
|
||||
if not root.drag_handle_color else \
|
||||
root.drag_handle_color
|
||||
size_hint: None, None
|
||||
size: "32dp", "4dp"
|
||||
radius: 4
|
||||
pos_hint: {"center_x": .5}
|
||||
|
||||
BottomSheetDragHandleContainer:
|
||||
id: header_container
|
||||
size_hint_y: None
|
||||
height: self.minimum_height
|
||||
|
||||
|
||||
<MDBottomSheet>
|
||||
md_bg_color: root.value_transparent
|
||||
_upper_padding: _upper_padding
|
||||
_gl_content: _gl_content
|
||||
_position_content: Window.height
|
||||
orientation: "vertical"
|
||||
md_bg_color: root.bg_color if root.bg_color else app.theme_cls.bg_darkest
|
||||
radius: 16, 16, 0, 0
|
||||
padding: 0, "8dp", 0, 0
|
||||
|
||||
MDBoxLayout:
|
||||
orientation: "vertical"
|
||||
padding: 0, 1, 0, 0
|
||||
id: drag_handle_container
|
||||
size_hint_y: None
|
||||
height: self.minimum_height
|
||||
|
||||
BsPadding:
|
||||
id: _upper_padding
|
||||
size_hint_y: None
|
||||
height: root.height - min(root.width * 9 / 16, root._gl_content.height)
|
||||
on_release: root.dismiss()
|
||||
|
||||
BottomSheetContent:
|
||||
id: _gl_content
|
||||
size_hint_y: None
|
||||
cols: 1
|
||||
md_bg_color: 0, 0, 0, 0
|
||||
|
||||
canvas:
|
||||
Color:
|
||||
rgba: root.theme_cls.bg_normal if not root.bg_color else root.bg_color
|
||||
RoundedRectangle:
|
||||
pos: self.pos
|
||||
size: self.size
|
||||
radius:
|
||||
[
|
||||
(root.radius, root.radius) if root.radius_from == "top_left" or root.radius_from == "top" else (0, 0),
|
||||
(root.radius, root.radius) if root.radius_from == "top_right" or root.radius_from == "top" else (0, 0),
|
||||
(root.radius, root.radius) if root.radius_from == "bottom_right" or root.radius_from == "bottom" else (0, 0),
|
||||
(root.radius, root.radius) if root.radius_from == "bottom_left" or root.radius_from == "bottom" else (0, 0)
|
||||
]
|
||||
|
||||
|
||||
<ListBottomSheetIconLeft>
|
||||
theme_text_color: "Primary"
|
||||
pos_hint: {"center_x": .5, "center_y": .5}
|
||||
|
||||
|
||||
<GridBottomSheetItem>
|
||||
orientation: "vertical"
|
||||
padding: 0, dp(24), 0, 0
|
||||
size_hint_y: None
|
||||
size: dp(64), dp(96)
|
||||
|
||||
AnchorLayout:
|
||||
anchor_x: "center"
|
||||
|
||||
MDIconButton:
|
||||
icon: root.source
|
||||
user_font_size: root.icon_size
|
||||
on_release: root.dispatch("on_release")
|
||||
|
||||
MDLabel:
|
||||
font_style: "Caption"
|
||||
theme_text_color: "Secondary"
|
||||
text: root.caption
|
||||
halign: "center"
|
||||
MDBoxLayout:
|
||||
id: container
|
||||
size_hint_y: None
|
||||
height: self.minimum_height
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
canvas:
|
||||
Clear
|
||||
Color:
|
||||
group: "bg-color"
|
||||
rgba:
|
||||
self._md_bg_color \
|
||||
if not self.disabled else \
|
||||
|
|
@ -12,6 +13,7 @@
|
|||
source: self.source if hasattr(self, "source") else ""
|
||||
radius: [root._radius, ]
|
||||
Color:
|
||||
group: "outline-color"
|
||||
rgba:
|
||||
root._line_color \
|
||||
if not root.disabled else \
|
||||
|
|
@ -92,9 +94,11 @@
|
|||
root.theme_cls.disabled_hint_text_color \
|
||||
if not root.disabled_color else \
|
||||
root.disabled_color
|
||||
|
||||
on_icon:
|
||||
if self.icon not in md_icons.keys(): self.size_hint = (1, 1)
|
||||
# Fix https://github.com/kivymd/KivyMD/issues/1448
|
||||
# TODO: Perhaps this change may affect other widgets.
|
||||
# You need to create tests.
|
||||
# on_icon:
|
||||
# if self.icon not in md_icons.keys(): self.size_hint = (1, 1)
|
||||
theme_text_color: root._theme_icon_color
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,110 +1,38 @@
|
|||
<MDScalableCheckIcon>
|
||||
scale_value_x: 0
|
||||
scale_value_y: 0
|
||||
scale_value_z: 0
|
||||
|
||||
|
||||
<MDChip>
|
||||
size_hint_y: None
|
||||
height: "32dp"
|
||||
spacing: "8dp"
|
||||
adaptive_width: True
|
||||
radius: 16 if self.radius == [0, 0, 0, 0] else self.radius
|
||||
padding:
|
||||
"12dp" if not self.icon_left else "4dp", \
|
||||
0, \
|
||||
"12dp" if not self.icon_right else "8dp", \
|
||||
0
|
||||
radius:
|
||||
16 \
|
||||
if self.radius == [0, 0, 0, 0] else \
|
||||
(max(self.radius) if max(self.radius) < self.height / 2 else 16)
|
||||
md_bg_color:
|
||||
( \
|
||||
( \
|
||||
app.theme_cls.bg_darkest \
|
||||
if app.theme_cls.theme_style == "Light" else \
|
||||
app.theme_cls.bg_light \
|
||||
) \
|
||||
if not self.disabled else app.theme_cls.disabled_hint_text_color
|
||||
if not self._origin_md_bg_color else \
|
||||
self._origin_md_bg_color
|
||||
) \
|
||||
if not self.disabled else app.theme_cls.disabled_primary_color
|
||||
line_color:
|
||||
app.theme_cls.disabled_hint_text_color \
|
||||
if self.disabled else ( \
|
||||
self._origin_line_color \
|
||||
if self._origin_line_color else \
|
||||
self.line_color \
|
||||
)
|
||||
|
||||
canvas.before:
|
||||
Color:
|
||||
rgba:
|
||||
self.line_color \
|
||||
if not self.disabled else \
|
||||
app.theme_cls.disabled_hint_text_color
|
||||
Line:
|
||||
width: 1
|
||||
rounded_rectangle:
|
||||
( \
|
||||
self.x, \
|
||||
self.y, \
|
||||
self.width, \
|
||||
self.height, \
|
||||
*self.radius, \
|
||||
self.height \
|
||||
)
|
||||
LeadingIconContainer:
|
||||
id: leading_icon_container
|
||||
adaptive_width: True
|
||||
|
||||
MDRelativeLayout:
|
||||
id: relative_box
|
||||
size_hint: None, None
|
||||
size: ("24dp", "24dp") if root.icon_left else (0, 0)
|
||||
pos_hint: {"center_y": .5}
|
||||
radius: [int(self.height / 2),]
|
||||
LabelTextContainer:
|
||||
id: label_container
|
||||
adaptive_width: True
|
||||
|
||||
MDIcon:
|
||||
id: icon_left
|
||||
icon: root.icon_left
|
||||
size_hint: None, None
|
||||
size: ("28dp", "28dp") if root.icon_left else (0, 0)
|
||||
theme_text_color: "Custom"
|
||||
pos_hint: {"center_y": .5}
|
||||
pos: 0, -2
|
||||
text_color:
|
||||
( \
|
||||
root.icon_left_color \
|
||||
if root.icon_left_color else \
|
||||
root.theme_cls.disabled_hint_text_color \
|
||||
) \
|
||||
if not self.disabled else app.theme_cls.disabled_hint_text_color
|
||||
|
||||
MDBoxLayout:
|
||||
id: icon_left_box
|
||||
size_hint: None, None
|
||||
radius: [int(self.height / 2),]
|
||||
size: ("28dp", "28dp") if root.icon_left else (0, 0)
|
||||
pos: 0, -2
|
||||
|
||||
MDScalableCheckIcon:
|
||||
id: check_icon
|
||||
icon: "check"
|
||||
size_hint: None, None
|
||||
size: "28dp", "28dp"
|
||||
color: (1, 1, 1, 1) if not root.icon_check_color else root.icon_check_color
|
||||
pos: 2, -2
|
||||
|
||||
MDLabel:
|
||||
id: label
|
||||
text: root.text
|
||||
adaptive_size: True
|
||||
markup: True
|
||||
pos_hint: {"center_y": .5}
|
||||
color:
|
||||
( \
|
||||
root.text_color \
|
||||
if root.text_color else \
|
||||
root.theme_cls.disabled_hint_text_color \
|
||||
) \
|
||||
if not self.disabled else app.theme_cls.disabled_hint_text_color
|
||||
|
||||
MDIcon:
|
||||
id: icon_right
|
||||
icon: root.icon_right
|
||||
size_hint: None, None
|
||||
size: ("18dp", "18dp") if root.icon_right else (0, 0)
|
||||
font_size: "18sp" if root.icon_right else 0
|
||||
theme_text_color: "Custom"
|
||||
pos_hint: {"center_y": .5}
|
||||
text_color:
|
||||
( \
|
||||
root.icon_right_color \
|
||||
if root.icon_right_color else \
|
||||
root.theme_cls.disabled_hint_text_color \
|
||||
) \
|
||||
if not self.disabled else app.theme_cls.disabled_hint_text_color
|
||||
TrailingIconContainer:
|
||||
id: trailing_icon_container
|
||||
adaptive_width: True
|
||||
|
|
|
|||
|
|
@ -231,4 +231,11 @@
|
|||
id: container
|
||||
orientation: "vertical"
|
||||
elevation: root.elevation
|
||||
shadow_radius: root.shadow_radius
|
||||
shadow_softness: root.shadow_softness
|
||||
shadow_offset: root.shadow_offset
|
||||
shadow_color: root.shadow_color
|
||||
shadow_color: root.shadow_color
|
||||
shadow_softness_size: root.shadow_softness_size
|
||||
padding: "24dp", "24dp", "8dp", "8dp"
|
||||
md_bg_color: app.theme_cls.bg_normal
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
#:import os os
|
||||
#:import FILE_MANAGER_TOP_APP_BAR_ELEVATION kivymd.material_resources.FILE_MANAGER_TOP_APP_BAR_ELEVATION
|
||||
|
||||
|
||||
<BodyManager>
|
||||
icon: "folder"
|
||||
|
|
@ -74,7 +76,7 @@
|
|||
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: 3
|
||||
elevation: FILE_MANAGER_TOP_APP_BAR_ELEVATION
|
||||
md_bg_color:
|
||||
app.theme_cls.primary_color \
|
||||
if not root.background_color_toolbar else \
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
(0, 0)
|
||||
on_release: root.dispatch("on_release")
|
||||
on_press: root.dispatch("on_press")
|
||||
_no_ripple_effect: root._no_ripple_effect
|
||||
|
||||
SmartTileOverlayBox:
|
||||
id: box
|
||||
|
|
|
|||
|
|
@ -3,12 +3,10 @@
|
|||
|
||||
<MDLabel>
|
||||
disabled_color: self.theme_cls.disabled_hint_text_color
|
||||
# FIXME: Overriding the values of this property greatly affects application
|
||||
# performance. Especially when the application window is resized and a
|
||||
# custom font is used. Performance is especially slow when you are using
|
||||
# `PIL` as your text processing provider - os.environ ['KIVY_TEXT'] = 'pil'.
|
||||
# Priority - CRITICAL.
|
||||
text_size: self.width, None
|
||||
text_size:
|
||||
(self.width if not self.adaptive_width else None) \
|
||||
if not self.adaptive_size else None, \
|
||||
None
|
||||
|
||||
|
||||
<MDIcon>:
|
||||
|
|
@ -16,6 +14,7 @@
|
|||
Color:
|
||||
rgba: (1, 1, 1, 1) if self.source else (0, 0, 0, 0)
|
||||
Rectangle:
|
||||
group: "rectangle"
|
||||
source: self.source if self.source else None
|
||||
pos:
|
||||
self.pos \
|
||||
|
|
@ -32,6 +31,7 @@
|
|||
|
||||
# Badge icon.
|
||||
MDLabel:
|
||||
id: badge
|
||||
font_style: "Icon"
|
||||
adaptive_size: True
|
||||
opposite_icon_color: True
|
||||
|
|
@ -62,6 +62,7 @@
|
|||
if root.badge_icon else \
|
||||
(0, 0, 0, 0)
|
||||
RoundedRectangle:
|
||||
group: "badge"
|
||||
radius: [self.width / 2,]
|
||||
pos: self.pos
|
||||
size: self.size
|
||||
|
|
|
|||
|
|
@ -1,26 +1,9 @@
|
|||
#:import STANDARD_INCREMENT kivymd.material_resources.STANDARD_INCREMENT
|
||||
|
||||
|
||||
<RightContent>
|
||||
adaptive_width: True
|
||||
|
||||
|
||||
<MDMenuItemIcon>
|
||||
|
||||
IconLeftWidget:
|
||||
id: icon_widget
|
||||
icon: root.icon
|
||||
|
||||
|
||||
<MDMenu>
|
||||
size_hint: None, None
|
||||
width: root.width_mult * STANDARD_INCREMENT
|
||||
bar_width: 0
|
||||
key_viewclass: "viewclass"
|
||||
key_size: "height"
|
||||
|
||||
RecycleBoxLayout:
|
||||
padding: 0, "4dp", 0, "4dp"
|
||||
default_size: None, dp(48)
|
||||
default_size_hint: 1, None
|
||||
size_hint_y: None
|
||||
|
|
@ -28,32 +11,478 @@
|
|||
orientation: "vertical"
|
||||
|
||||
|
||||
<MenuContainer@MDCard>
|
||||
<MDDropdownTrailingTextItem>
|
||||
orientation: "vertical"
|
||||
|
||||
MDBoxLayout:
|
||||
id: container
|
||||
spacing: "12dp"
|
||||
padding: "12dp", 0, "12dp", 0
|
||||
|
||||
MDLabel:
|
||||
text: root.text
|
||||
pos_hint: {"center_y": .5}
|
||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
||||
shorten: True
|
||||
shorten_from: "right"
|
||||
size_hint_x: None
|
||||
width:
|
||||
root.width - \
|
||||
( \
|
||||
+ trailing_container.width \
|
||||
+ container.padding[0] \
|
||||
+ container.padding[2] \
|
||||
+ container.spacing \
|
||||
)
|
||||
text_color:
|
||||
root.text_color \
|
||||
if root.text_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
MDTrailingTextContainer:
|
||||
id: trailing_container
|
||||
text: root.trailing_text
|
||||
adaptive_width: True
|
||||
theme_text_color: "Custom" if root.trailing_text_color else "Primary"
|
||||
text_color:
|
||||
root.trailing_text_color \
|
||||
if root.trailing_text_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
MDSeparator:
|
||||
md_bg_color:
|
||||
( \
|
||||
self.theme_cls.divider_color \
|
||||
if not root.divider_color \
|
||||
else root.divider_color \
|
||||
) \
|
||||
if root.divider else \
|
||||
(0, 0, 0, 0)
|
||||
|
||||
|
||||
<MDDropdownLeadingIconTrailingTextItem>
|
||||
orientation: "vertical"
|
||||
|
||||
MDBoxLayout:
|
||||
id: container
|
||||
spacing: "12dp"
|
||||
padding: "10dp", 0, "16dp", 0
|
||||
|
||||
MDIcon:
|
||||
id: leading_icon
|
||||
icon: root.leading_icon
|
||||
size_hint: None, None
|
||||
size: "48dp", "48dp"
|
||||
pos_hint: {"center_y": .5}
|
||||
theme_text_color: "Custom" if root.leading_icon_color else "Primary"
|
||||
text_color:
|
||||
root.leading_icon_color \
|
||||
if root.leading_icon_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
MDLabel:
|
||||
text: root.text
|
||||
pos_hint: {"center_y": .5}
|
||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
||||
shorten: True
|
||||
shorten_from: "right"
|
||||
size_hint_x: None
|
||||
width:
|
||||
root.width - \
|
||||
( \
|
||||
leading_icon.width \
|
||||
+ trailing_container.width \
|
||||
+ container.padding[0] \
|
||||
+ container.padding[2] \
|
||||
+ container.spacing \
|
||||
+ dp(18) \
|
||||
)
|
||||
text_color:
|
||||
root.text_color \
|
||||
if root.text_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
Widget:
|
||||
|
||||
MDTrailingTextContainer:
|
||||
id: trailing_container
|
||||
text: root.trailing_text
|
||||
adaptive_width: True
|
||||
theme_text_color: "Custom" if root.trailing_text_color else "Primary"
|
||||
text_color:
|
||||
root.trailing_text_color \
|
||||
if root.trailing_text_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
MDSeparator:
|
||||
md_bg_color:
|
||||
( \
|
||||
self.theme_cls.divider_color \
|
||||
if not root.divider_color \
|
||||
else root.divider_color \
|
||||
) \
|
||||
if root.divider else \
|
||||
(0, 0, 0, 0)
|
||||
|
||||
|
||||
<MDDropdownTrailingIconItem>
|
||||
orientation: "vertical"
|
||||
|
||||
MDBoxLayout:
|
||||
id: container
|
||||
spacing: "12dp"
|
||||
padding: "12dp", 0, "12dp", 0
|
||||
|
||||
MDLabel:
|
||||
id: label
|
||||
text: root.text
|
||||
shorten: True
|
||||
size_hint_x: None
|
||||
shorten_from: "right"
|
||||
pos_hint: {"center_y": .5}
|
||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
||||
shorten: True
|
||||
shorten_from: "right"
|
||||
width:
|
||||
root.width - \
|
||||
( \
|
||||
+ trailing_icon.width \
|
||||
+ container.padding[0] \
|
||||
+ container.padding[2] \
|
||||
+ container.spacing \
|
||||
+ dp(18) \
|
||||
)
|
||||
text_color:
|
||||
root.text_color \
|
||||
if root.text_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
Widget:
|
||||
|
||||
MDIcon:
|
||||
id: trailing_icon
|
||||
size_hint: None, None
|
||||
size: "48dp", "48dp"
|
||||
pos_hint: {"center_y": .5}
|
||||
icon: root.trailing_icon
|
||||
theme_text_color: "Custom" if root.trailing_icon_color else "Primary"
|
||||
text_color:
|
||||
root.trailing_icon_color \
|
||||
if root.trailing_icon_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
MDSeparator:
|
||||
md_bg_color:
|
||||
( \
|
||||
self.theme_cls.divider_color \
|
||||
if not root.divider_color \
|
||||
else root.divider_color \
|
||||
) \
|
||||
if root.divider else \
|
||||
(0, 0, 0, 0)
|
||||
|
||||
|
||||
<MDTrailingIconTextContainer>
|
||||
adaptive_width: True
|
||||
|
||||
MDIcon:
|
||||
icon: root.trailing_icon
|
||||
size_hint: None, None
|
||||
size: "48dp", "48dp"
|
||||
pos_hint: {"center_y": .5}
|
||||
theme_text_color: "Custom" if root.trailing_icon_color else "Primary"
|
||||
text_color:
|
||||
root.trailing_icon_color \
|
||||
if root.trailing_icon_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
MDLabel:
|
||||
text: root.trailing_text
|
||||
adaptive_size: True
|
||||
pos_hint: {"center_y": .5}
|
||||
theme_text_color: "Custom" if root.trailing_text_color else "Primary"
|
||||
text_color:
|
||||
root.trailing_text_color \
|
||||
if root.trailing_text_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
|
||||
<MDDropdownTrailingIconTextItem>
|
||||
orientation: "vertical"
|
||||
|
||||
MDBoxLayout:
|
||||
id: container
|
||||
spacing: "12dp"
|
||||
padding: "12dp", 0, "12dp", 0
|
||||
|
||||
MDLabel:
|
||||
id: label
|
||||
text: root.text
|
||||
shorten: True
|
||||
size_hint_x: None
|
||||
shorten_from: "right"
|
||||
pos_hint: {"center_y": .5}
|
||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
||||
shorten: True
|
||||
shorten_from: "right"
|
||||
width:
|
||||
root.width - \
|
||||
( \
|
||||
+ trailing_container.width \
|
||||
+ container.padding[0] \
|
||||
+ container.padding[2] \
|
||||
+ container.spacing \
|
||||
)
|
||||
text_color:
|
||||
root.text_color \
|
||||
if root.text_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
MDTrailingIconTextContainer:
|
||||
id: trailing_container
|
||||
trailing_icon: root.trailing_icon
|
||||
trailing_text: root.trailing_text
|
||||
trailing_text_color: root.trailing_text_color
|
||||
trailing_icon_color: root.trailing_icon_color
|
||||
|
||||
MDSeparator:
|
||||
md_bg_color:
|
||||
( \
|
||||
self.theme_cls.divider_color \
|
||||
if not root.divider_color \
|
||||
else root.divider_color \
|
||||
) \
|
||||
if root.divider else \
|
||||
(0, 0, 0, 0)
|
||||
|
||||
|
||||
<MDDropdownTextItem>
|
||||
orientation: "vertical"
|
||||
|
||||
MDLabel:
|
||||
text: root.text
|
||||
valign: "center"
|
||||
padding_x: "12dp"
|
||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
||||
shorten: True
|
||||
shorten_from: "right"
|
||||
text_color:
|
||||
root.text_color \
|
||||
if root.text_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
MDSeparator:
|
||||
md_bg_color:
|
||||
( \
|
||||
self.theme_cls.divider_color \
|
||||
if not root.divider_color \
|
||||
else root.divider_color \
|
||||
) \
|
||||
if root.divider else \
|
||||
(0, 0, 0, 0)
|
||||
|
||||
|
||||
<MDDropdownLeadingTrailingIconTextItem>
|
||||
orientation: "vertical"
|
||||
|
||||
MDBoxLayout:
|
||||
id: container
|
||||
spacing: "12dp"
|
||||
padding: "10dp", 0, "16dp", 0
|
||||
|
||||
MDIcon:
|
||||
id: leading_icon
|
||||
icon: root.leading_icon
|
||||
size_hint: None, None
|
||||
size: "48dp", "48dp"
|
||||
pos_hint: {"center_y": .5}
|
||||
theme_text_color: "Custom" if root.leading_icon_color else "Primary"
|
||||
text_color:
|
||||
root.leading_icon_color \
|
||||
if root.leading_icon_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
MDLabel:
|
||||
text: root.text
|
||||
pos_hint: {"center_y": .5}
|
||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
||||
shorten: True
|
||||
shorten_from: "right"
|
||||
size_hint_x: None
|
||||
width:
|
||||
root.width - \
|
||||
( \
|
||||
leading_icon.width \
|
||||
+ trailing_container.width \
|
||||
+ container.padding[0] \
|
||||
+ container.padding[2] \
|
||||
+ container.spacing \
|
||||
+ dp(18) \
|
||||
)
|
||||
text_color:
|
||||
root.text_color \
|
||||
if root.text_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
Widget:
|
||||
|
||||
MDTrailingIconTextContainer:
|
||||
id: trailing_container
|
||||
trailing_icon: root.trailing_icon
|
||||
trailing_text: root.trailing_text
|
||||
trailing_icon_color: root.trailing_icon_color
|
||||
trailing_text_color: root.trailing_text_color
|
||||
|
||||
MDSeparator:
|
||||
md_bg_color:
|
||||
( \
|
||||
self.theme_cls.divider_color \
|
||||
if not root.divider_color \
|
||||
else root.divider_color \
|
||||
) \
|
||||
if root.divider else \
|
||||
(0, 0, 0, 0)
|
||||
|
||||
|
||||
<MDDropdownLeadingTrailingIconItem>
|
||||
orientation: "vertical"
|
||||
|
||||
MDBoxLayout:
|
||||
id: container
|
||||
spacing: "12dp"
|
||||
padding: "10dp", 0, "12dp", 0
|
||||
|
||||
MDIcon:
|
||||
id: leading_icon
|
||||
icon: root.leading_icon
|
||||
size_hint: None, None
|
||||
size: "48dp", "48dp"
|
||||
pos_hint: {"center_y": .5}
|
||||
theme_text_color: "Custom" if root.leading_icon_color else "Primary"
|
||||
text_color:
|
||||
root.leading_icon_color \
|
||||
if root.leading_icon_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
MDLabel:
|
||||
id: label
|
||||
text: root.text
|
||||
shorten: True
|
||||
size_hint_x: None
|
||||
shorten_from: "right"
|
||||
pos_hint: {"center_y": .5}
|
||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
||||
shorten: True
|
||||
shorten_from: "right"
|
||||
width:
|
||||
root.width - \
|
||||
( \
|
||||
leading_icon.width \
|
||||
+ trailing_icon.width \
|
||||
+ container.padding[0] \
|
||||
+ container.padding[2] \
|
||||
+ container.spacing \
|
||||
+ dp(18) \
|
||||
)
|
||||
text_color:
|
||||
root.text_color \
|
||||
if root.text_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
Widget:
|
||||
|
||||
MDIcon:
|
||||
id: trailing_icon
|
||||
size_hint: None, None
|
||||
size: "48dp", "48dp"
|
||||
pos_hint: {"center_y": .5}
|
||||
icon: root.trailing_icon
|
||||
theme_text_color: "Custom" if root.trailing_icon_color else "Primary"
|
||||
text_color:
|
||||
root.trailing_icon_color \
|
||||
if root.trailing_icon_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
MDSeparator:
|
||||
md_bg_color:
|
||||
( \
|
||||
self.theme_cls.divider_color \
|
||||
if not root.divider_color \
|
||||
else root.divider_color \
|
||||
) \
|
||||
if root.divider else \
|
||||
(0, 0, 0, 0)
|
||||
|
||||
|
||||
<MDDropdownLeadingIconItem>
|
||||
orientation: "vertical"
|
||||
|
||||
MDBoxLayout:
|
||||
id: container
|
||||
spacing: "12dp"
|
||||
padding: "12dp", 0, "12dp", 0
|
||||
|
||||
MDIcon:
|
||||
id: leading_icon
|
||||
icon: root.leading_icon
|
||||
size_hint: None, None
|
||||
size: "48dp", "48dp"
|
||||
pos_hint: {"center_y": .5}
|
||||
theme_text_color: "Custom" if root.leading_icon_color else "Primary"
|
||||
text_color:
|
||||
root.leading_icon_color \
|
||||
if root.leading_icon_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
MDLabel:
|
||||
id: label
|
||||
text: root.text
|
||||
shorten: True
|
||||
size_hint_x: None
|
||||
shorten_from: "right"
|
||||
pos_hint: {"center_y": .5}
|
||||
theme_text_color: "Custom" if root.text_color else "Primary"
|
||||
shorten: True
|
||||
shorten_from: "right"
|
||||
width:
|
||||
root.width - \
|
||||
( \
|
||||
leading_icon.width \
|
||||
+ container.padding[0] \
|
||||
+ container.padding[2] \
|
||||
+ container.spacing \
|
||||
)
|
||||
text_color:
|
||||
root.text_color \
|
||||
if root.text_color else \
|
||||
app.theme_cls.text_color
|
||||
|
||||
MDSeparator:
|
||||
md_bg_color:
|
||||
( \
|
||||
self.theme_cls.divider_color \
|
||||
if not root.divider_color \
|
||||
else root.divider_color \
|
||||
) \
|
||||
if root.divider else \
|
||||
(0, 0, 0, 0)
|
||||
|
||||
|
||||
<MDDropdownMenu>
|
||||
orientation: "vertical"
|
||||
elevation: root.elevation
|
||||
shadow_radius: root.shadow_radius
|
||||
shadow_softness: root.shadow_softness
|
||||
shadow_offset: root.shadow_offset
|
||||
shadow_color: root.shadow_color
|
||||
shadow_color: root.shadow_color
|
||||
radius: root.radius
|
||||
size_hint: None, None
|
||||
|
||||
MenuContainer:
|
||||
id: card
|
||||
orientation: "vertical"
|
||||
elevation: root.elevation
|
||||
size_hint: None, None
|
||||
size: md_menu.size[0], md_menu.size[1] + content_header.height
|
||||
pos: md_menu.pos
|
||||
opacity: md_menu.opacity
|
||||
radius: root.radius
|
||||
md_bg_color:
|
||||
root.background_color \
|
||||
if root.background_color else root.theme_cls.bg_dark
|
||||
MDBoxLayout:
|
||||
id: content_header
|
||||
adaptive_size: True
|
||||
|
||||
MDBoxLayout:
|
||||
id: content_header
|
||||
adaptive_size: True
|
||||
|
||||
MDMenu:
|
||||
id: md_menu
|
||||
drop_cls: root
|
||||
width_mult: root.width_mult
|
||||
size_hint: None, None
|
||||
size: 0, 0
|
||||
opacity: 0
|
||||
MDMenu:
|
||||
id: md_menu
|
||||
drop_cls: root
|
||||
|
|
|
|||
|
|
@ -371,6 +371,7 @@
|
|||
adaptive_height: True
|
||||
size_hint_x: None
|
||||
spacing: dp(8)
|
||||
opacity: 0
|
||||
width:
|
||||
self.owner.width - dp(48) \
|
||||
if root.owner.theme_cls.device_orientation == "portrait" \
|
||||
|
|
@ -386,7 +387,6 @@
|
|||
|
||||
<DatePickerInputField>
|
||||
mode: "fill"
|
||||
opacity: 0
|
||||
hint_text: "dd/mm/yyyy"
|
||||
input_filter: root.input_filter
|
||||
fill_color: root.owner.input_field_background_color or (0, 0, 0, .15)
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@
|
|||
self.theme_cls.divider_color \
|
||||
if not self.back_color else \
|
||||
self.back_color
|
||||
Rectangle:
|
||||
RoundedRectangle:
|
||||
radius: root.radius
|
||||
size:
|
||||
(self.width, self.height) \
|
||||
if self.orientation == "horizontal" else \
|
||||
|
|
@ -18,7 +19,8 @@
|
|||
Color:
|
||||
rgba:
|
||||
self.theme_cls.primary_color if not self.color else self.color
|
||||
Rectangle:
|
||||
RoundedRectangle:
|
||||
radius: root.radius
|
||||
size:
|
||||
(self.width * self.value_normalized, self.height if self.height else dp(4)) \
|
||||
if self.orientation == "horizontal" else \
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
canvas:
|
||||
Clear
|
||||
Color:
|
||||
rgba: root.theme_cls.primary_dark
|
||||
rgba: root.circle_color
|
||||
Ellipse:
|
||||
pos: self.pos
|
||||
size: self.size
|
||||
|
|
@ -24,4 +24,4 @@
|
|||
id: spinner
|
||||
size_hint: None, None
|
||||
size: dp(30), dp(30)
|
||||
color: 1, 1, 1, 1
|
||||
color: root.spinner_color
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
<MDSegmentedButton>
|
||||
size_hint: None, None
|
||||
height: "40dp"
|
||||
opacity: 0
|
||||
|
||||
|
||||
<MDSegmentedButtonItem>
|
||||
size_hint: None, None
|
||||
height: self.parent.height
|
||||
line_color:
|
||||
self.theme_cls.disabled_hint_text_color \
|
||||
if self.parent.line_color == [0, 0, 0, 0] else \
|
||||
self.parent.line_color
|
||||
|
||||
SegmentButtonIcon:
|
||||
id: scale_icon
|
||||
icon: root.icon
|
||||
size_hint: None, None
|
||||
size: "24dp", "24dp"
|
||||
pos_hint: {"center_y": .5}
|
||||
scale_value_x: 1 if root.icon else 0
|
||||
scale_value_y: 1 if root.icon else 0
|
||||
x: label_text.x - dp(32)
|
||||
|
||||
MDLabel:
|
||||
id: label_text
|
||||
text: root.text
|
||||
adaptive_size: True
|
||||
pos_hint: {"center_y": .5}
|
||||
x:
|
||||
root.center_x - (self.texture_size[0] / 2) \
|
||||
+ (dp(16) if root.icon else 0)
|
||||
|
|
@ -1,3 +1,6 @@
|
|||
#:import SEGMENT_CONTROL_SEGMENT_SWITCH_ELEVATION kivymd.material_resources.SEGMENT_CONTROL_SEGMENT_SWITCH_ELEVATION
|
||||
|
||||
|
||||
<MDSegmentedControlItem>
|
||||
adaptive_height: True
|
||||
halign: "center"
|
||||
|
|
@ -15,8 +18,9 @@
|
|||
pos_hint: {"center_y": .5}
|
||||
x: root._segment_switch_x
|
||||
md_bg_color: root.segment_color
|
||||
elevation: 2
|
||||
elevation: SEGMENT_CONTROL_SEGMENT_SWITCH_ELEVATION
|
||||
_radius: root.radius[0] - 4
|
||||
shadow_radius: self._radius
|
||||
width:
|
||||
segment_panel.width / segment_panel.children_number \
|
||||
- segment_panel.spacing
|
||||
|
|
|
|||
|
|
@ -1,34 +1,28 @@
|
|||
#:import window kivy.core.window
|
||||
#:import SNACK_BAR_ELEVATION kivymd.material_resources.SNACK_BAR_ELEVATION
|
||||
#:import SNACK_BAR_OFFSET kivymd.material_resources.SNACK_BAR_OFFSET
|
||||
|
||||
|
||||
<BaseSnackbar>
|
||||
<MDSnackbar>
|
||||
padding: 0, 0, "8dp", 0
|
||||
size_hint_y: None
|
||||
height: "58dp"
|
||||
spacing: "10dp"
|
||||
padding: "10dp", "10dp", "10dp", "10dp"
|
||||
md_bg_color: "323232" if not root.bg_color else root.bg_color
|
||||
radius: root.radius
|
||||
elevation: 4 if root.padding else 0
|
||||
height: self.minimum_height
|
||||
md_bg_color: "#323232"
|
||||
elevation: SNACK_BAR_ELEVATION
|
||||
shadow_offset: SNACK_BAR_OFFSET
|
||||
|
||||
canvas:
|
||||
Color:
|
||||
rgba: self.md_bg_color
|
||||
RoundedRectangle:
|
||||
size: self.size
|
||||
pos: self.pos
|
||||
radius: self.radius
|
||||
|
||||
<Snackbar>
|
||||
|
||||
MDLabel:
|
||||
id: text_bar
|
||||
size_hint_y: None
|
||||
height: self.texture_size[1]
|
||||
text: root.text
|
||||
font_size: root.font_size
|
||||
theme_text_color: "Custom"
|
||||
text_color: "ffffff"
|
||||
shorten: True
|
||||
shorten_from: "right"
|
||||
markup: True
|
||||
SnackbarLabelContainer:
|
||||
id: label_container
|
||||
padding: "16dp", "15dp", 0, "15dp"
|
||||
orientation: "vertical"
|
||||
adaptive_height: True
|
||||
pos_hint: {"center_y": .5}
|
||||
spacing: "4dp"
|
||||
|
||||
SnackbarActionButtonContainer:
|
||||
id: action_container
|
||||
size_hint_x: None
|
||||
|
||||
SnackbarCloseButtonContainer:
|
||||
id: close_container
|
||||
size_hint_x: None
|
||||
width: "38dp"
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
# "round" mode.
|
||||
Color:
|
||||
group: "round-color"
|
||||
rgba: self._fill_color if self.mode == "round" else (0, 0, 0, 0)
|
||||
Ellipse:
|
||||
angle_start: 180
|
||||
|
|
@ -19,49 +20,32 @@
|
|||
pos: (self.width - dp(18)) + self.x - self.height / 2.0, self.y
|
||||
size: self.height, self.height
|
||||
Rectangle:
|
||||
pos: self.x + dp(9), self.y
|
||||
size: self.width - dp(18), self.height
|
||||
pos: self.x + dp(14), self.y
|
||||
size: self.width - dp(28), self.height
|
||||
|
||||
Color:
|
||||
rgba:
|
||||
( \
|
||||
(self.line_color_focus if not self.error else self.error_color) \
|
||||
if self.focus \
|
||||
else self.theme_cls.disabled_hint_text_color \
|
||||
if self.focus else ( \
|
||||
self.theme_cls.disabled_hint_text_color \
|
||||
if not self.line_color_normal else \
|
||||
self.line_color_normal) \
|
||||
) \
|
||||
if self.mode == "round" else \
|
||||
(0, 0, 0, 0)
|
||||
Line:
|
||||
points:
|
||||
self.x + dp(18), \
|
||||
self.y, \
|
||||
self.x + self.width - dp(18), \
|
||||
self.y
|
||||
Line:
|
||||
points:
|
||||
self.x + dp(18), \
|
||||
self.y + self.height, \
|
||||
self.x + self.width - dp(18), \
|
||||
self.y + self.height
|
||||
Line:
|
||||
ellipse:
|
||||
self.x - self.height / 2 + dp(18), \
|
||||
SmoothLine:
|
||||
width: dp(1)
|
||||
rounded_rectangle:
|
||||
self.x, \
|
||||
self.y, \
|
||||
self.width, \
|
||||
self.height, \
|
||||
self.height, \
|
||||
180, \
|
||||
360
|
||||
Line:
|
||||
ellipse:
|
||||
self.width + self.x - self.height / 2.0 - dp(18), \
|
||||
self.y, \
|
||||
self.height, \
|
||||
self.height, \
|
||||
360, \
|
||||
540
|
||||
self.height / 2
|
||||
|
||||
# "fill" mode.
|
||||
Color:
|
||||
group: "fill-color"
|
||||
rgba: self._fill_color if self.mode == "fill" else (0, 0, 0, 0)
|
||||
RoundedRectangle:
|
||||
pos: self.x, self.y
|
||||
|
|
@ -70,6 +54,7 @@
|
|||
|
||||
# Static underline texture.
|
||||
Color:
|
||||
group: "static-underline-color"
|
||||
rgba:
|
||||
(self._line_color_normal \
|
||||
if self.line_color_normal else self.theme_cls.divider_color) \
|
||||
|
|
@ -82,6 +67,7 @@
|
|||
|
||||
# Active underline (on focus) texture.
|
||||
Color:
|
||||
group: "active-underline-color"
|
||||
rgba:
|
||||
self._line_color_focus \
|
||||
if self.mode in ("line", "fill") and self.active_line \
|
||||
|
|
@ -94,7 +80,10 @@
|
|||
|
||||
# Helper text texture.
|
||||
Color:
|
||||
group: "helper-text-color"
|
||||
rgba:
|
||||
self.theme_cls.disabled_hint_text_color \
|
||||
if self.disabled else \
|
||||
self._helper_text_color
|
||||
Rectangle:
|
||||
texture: self._helper_text_label.texture
|
||||
|
|
@ -106,7 +95,11 @@
|
|||
|
||||
# Right/left icon texture.
|
||||
Color:
|
||||
rgba: self._icon_right_color if self.icon_right else self._icon_left_color
|
||||
group: "right-left-icons-color"
|
||||
rgba:
|
||||
self.theme_cls.disabled_hint_text_color \
|
||||
if self.disabled else \
|
||||
(self._icon_right_color if self.icon_right else self._icon_left_color)
|
||||
Rectangle:
|
||||
texture:
|
||||
self._icon_right_label.texture if self.icon_right else self._icon_left_label.texture
|
||||
|
|
@ -137,7 +130,11 @@
|
|||
|
||||
# Max length texture.
|
||||
Color:
|
||||
rgba: self._max_length_text_color
|
||||
group: "max-length-color"
|
||||
rgba:
|
||||
self.theme_cls.disabled_hint_text_color \
|
||||
if self.disabled else \
|
||||
self._max_length_text_color
|
||||
Rectangle:
|
||||
texture: self._max_length_label.texture
|
||||
size: self._max_length_label.texture_size
|
||||
|
|
@ -160,9 +157,75 @@
|
|||
pos: (int(x) for x in self.cursor_pos)
|
||||
size: 1, -self.line_height
|
||||
|
||||
# Hint text texture.
|
||||
# "rectangle" mode
|
||||
Color:
|
||||
group: "rectangle-color"
|
||||
rgba:
|
||||
( \
|
||||
(self.line_color_focus if not self.error else self.error_color) \
|
||||
if self.focus else \
|
||||
self.line_color_normal \
|
||||
) \
|
||||
if self.mode == "rectangle" else \
|
||||
(0, 0, 0, 0)
|
||||
SmoothLine:
|
||||
width: dp(1)
|
||||
rounded_rectangle:
|
||||
self.x, \
|
||||
self.y, \
|
||||
self.width, \
|
||||
self.height - self._hint_text_label.texture_size[1] // 2, \
|
||||
root.radius[0]
|
||||
|
||||
# The background color line of the widget on which the text field
|
||||
# is placed (for background hint text texture).
|
||||
Color:
|
||||
rgba:
|
||||
( \
|
||||
( \
|
||||
self.parent.md_bg_color \
|
||||
if hasattr(self.parent, "md_bg_color") \
|
||||
and self.parent.md_bg_color != [1, 1, 1, 0] else \
|
||||
self.theme_cls.bg_normal \
|
||||
) \
|
||||
if self.focus else \
|
||||
( \
|
||||
(0, 0, 0, 0) if not self.text else \
|
||||
( \
|
||||
self.parent.md_bg_color \
|
||||
if hasattr(self.parent, "md_bg_color") \
|
||||
and self.parent.md_bg_color != [1, 1, 1, 0] else \
|
||||
self.theme_cls.bg_normal \
|
||||
) \
|
||||
) \
|
||||
) \
|
||||
if self.mode == "rectangle" else \
|
||||
(0, 0, 0, 0)
|
||||
SmoothLine:
|
||||
width: dp(2)
|
||||
points:
|
||||
self.x + dp(10), \
|
||||
self.top - self._hint_text_label.texture_size[1] // 2, \
|
||||
self.x + dp(16) + self._hint_text_label.texture_size[0], \
|
||||
self.top - self._hint_text_label.texture_size[1] // 2
|
||||
|
||||
# Text color.
|
||||
Color:
|
||||
group: "text-color"
|
||||
rgba:
|
||||
self.theme_cls.disabled_hint_text_color if self.disabled else \
|
||||
( \
|
||||
self.text_color_focus if self.focus else self._text_color_normal
|
||||
) \
|
||||
if not self.error else self.error_color
|
||||
|
||||
canvas.after:
|
||||
# Hint text texture.
|
||||
Color:
|
||||
group: "hint-text-color"
|
||||
rgba:
|
||||
self.theme_cls.disabled_hint_text_color \
|
||||
if self.disabled else \
|
||||
self._hint_text_color
|
||||
Rectangle:
|
||||
texture: self._hint_text_label.texture
|
||||
|
|
@ -184,34 +247,6 @@
|
|||
if self.mode != "line" else \
|
||||
dp(-6)) if self.mode != "rectangle" else dp(-4)) - self._hint_y
|
||||
|
||||
# "rectangle" mode
|
||||
Color:
|
||||
rgba:
|
||||
(self.line_color_focus if not self.error else self.error_color) \
|
||||
if self.focus else \
|
||||
self.line_color_normal
|
||||
Line:
|
||||
width: dp(1) if self.mode == "rectangle" else dp(0.00001)
|
||||
points:
|
||||
(
|
||||
self.x + self._line_blank_space_right_point,
|
||||
self.top - self._hint_text_label.texture_size[1] // 2,
|
||||
self.right, self.top - self._hint_text_label.texture_size[1] // 2,
|
||||
self.right, self.y,
|
||||
self.x, self.y,
|
||||
self.x, self.top - self._hint_text_label.texture_size[1] // 2,
|
||||
self.x + self._line_blank_space_left_point,
|
||||
self.top - self._hint_text_label.texture_size[1] // 2
|
||||
)
|
||||
|
||||
# Text color.
|
||||
Color:
|
||||
rgba:
|
||||
self.disabled_foreground_color if self.disabled else \
|
||||
( \
|
||||
self.text_color_focus if self.focus else self._text_color_normal
|
||||
) \
|
||||
if not self.error else self.error_color
|
||||
|
||||
font_name: "Roboto" if not self.font_name else self.font_name
|
||||
foreground_color: self.theme_cls.text_color
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue