2022-04-07 15:03:53 -04:00
root_layout = """
2022-09-14 15:34:21 -04:00
#: import NoTransition kivy.uix.screenmanager.NoTransition
#: import SlideTransition kivy.uix.screenmanager.SlideTransition
2022-04-07 15:03:53 -04:00
MDNavigationLayout :
2022-10-02 18:47:27 -04:00
md_bg_color : app . theme_cls . bg_darkest
2022-04-07 15:03:53 -04:00
ScreenManager :
id : screen_manager
2022-09-17 11:12:25 -04:00
transition : SlideTransition ( )
# transition: NoTransition()
2022-09-14 15:34:21 -04:00
MDScreen :
name : " starting_screen "
AnchorLayout :
anchor_x : " center "
anchor_y : " center "
padding : dp ( 64 )
BoxLayout :
spacing : dp ( 36 )
orientation : ' vertical '
size_hint_y : None
MDLabel :
id : connecting_info
halign : " center "
text : " Please Wait "
font_size : " 32dp "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDIconButton :
pos_hint : { " center_x " : .5 , " center_y " : .5 }
icon : " transit-connection-variant "
2022-10-02 11:17:55 -04:00
icon_size : " 72dp "
2022-09-14 15:34:21 -04:00
MDLabel :
2022-10-11 11:49:31 -04:00
id : connecting_status
2022-09-14 15:34:21 -04:00
halign : " center "
text : " Substantiating Reticulum "
font_size : " 32dp "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
2022-10-07 11:22:03 -04:00
MDScreen :
name : " exit_screen "
AnchorLayout :
anchor_x : " center "
anchor_y : " center "
padding : dp ( 64 )
BoxLayout :
spacing : dp ( 36 )
orientation : ' vertical '
size_hint_y : None
MDLabel :
2022-10-11 11:49:31 -04:00
id : exiting_info
2022-10-07 11:22:03 -04:00
halign : " center "
text : " Please Wait "
font_size : " 32dp "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDIconButton :
pos_hint : { " center_x " : .5 , " center_y " : .5 }
2022-10-08 16:47:08 -04:00
# icon: "close-network-outline"
icon : " waves "
2022-10-07 11:22:03 -04:00
icon_size : " 72dp "
MDLabel :
2022-10-11 11:49:31 -04:00
id : exiting_status
2022-10-07 11:22:03 -04:00
halign : " center "
2022-10-08 16:47:08 -04:00
text : " Dissolving Reticulum "
2022-10-07 11:22:03 -04:00
font_size : " 32dp "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
2022-09-14 15:34:21 -04:00
2022-04-07 15:03:53 -04:00
MDScreen :
name : " conversations_screen "
BoxLayout :
orientation : " vertical "
2022-07-06 10:08:53 -04:00
MDTopAppBar :
2022-04-07 15:03:53 -04:00
title : " Conversations "
2022-10-02 16:00:15 -04:00
anchor_title : " left "
2022-10-02 11:17:55 -04:00
elevation : 2
2022-04-07 15:03:53 -04:00
left_action_items :
2022-07-06 10:08:53 -04:00
[
[ ' menu ' , lambda x : nav_drawer . set_state ( " open " ) ] ,
]
2022-04-07 15:03:53 -04:00
right_action_items :
[
2022-07-06 10:08:53 -04:00
[ ' webhook ' , lambda x : root . ids . screen_manager . app . connectivity_status ( self ) ] ,
2022-04-07 15:03:53 -04:00
[ ' access-point ' , lambda x : root . ids . screen_manager . app . announce_now_action ( self ) ] ,
[ ' email-sync ' , lambda x : root . ids . screen_manager . app . lxmf_sync_action ( self ) ] ,
[ ' account-plus ' , lambda x : root . ids . screen_manager . app . new_conversation_action ( self ) ] ,
]
ScrollView :
id : conversations_scrollview
MDScreen :
name : " messages_screen "
BoxLayout :
orientation : " vertical "
2022-07-06 10:08:53 -04:00
MDTopAppBar :
2022-04-07 15:03:53 -04:00
id : messages_toolbar
2022-10-02 16:00:15 -04:00
anchor_title : " left "
2022-04-07 15:03:53 -04:00
title : " Messages "
2022-10-02 11:17:55 -04:00
elevation : 2
2022-04-07 15:03:53 -04:00
left_action_items :
[ [ ' menu ' , lambda x : nav_drawer . set_state ( " open " ) ] ]
right_action_items :
[
[ ' lan-connect ' , lambda x : root . ids . screen_manager . app . message_propagation_action ( self ) ] ,
[ ' close ' , lambda x : root . ids . screen_manager . app . close_messages_action ( self ) ] ,
]
ScrollView :
id : messages_scrollview
do_scroll_x : False
do_scroll_y : True
BoxLayout :
id : no_keys_part
2022-10-02 11:17:55 -04:00
orientation : " vertical "
padding : [ dp ( 16 ) , dp ( 0 ) , dp ( 16 ) , dp ( 16 ) ]
2022-04-07 15:03:53 -04:00
spacing : dp ( 24 )
size_hint_y : None
height : self . minimum_height + dp ( 64 )
MDLabel :
id : nokeys_text
text : " "
MDRectangleFlatIconButton :
icon : " key-wireless "
text : " Query Network For Keys "
on_release : root . ids . screen_manager . app . key_query_action ( self )
BoxLayout :
id : message_input_part
2022-10-02 11:17:55 -04:00
padding : [ dp ( 16 ) , dp ( 0 ) , dp ( 16 ) , dp ( 16 ) ]
2022-04-07 15:03:53 -04:00
spacing : dp ( 24 )
size_hint_y : None
height : self . minimum_height
MDTextField :
id : message_text
multiline : True
hint_text : " Write message "
mode : " rectangle "
max_height : dp ( 100 )
MDRectangleFlatIconButton :
2022-10-08 12:13:24 -04:00
id : message_send_button
2022-04-07 15:03:53 -04:00
icon : " transfer-up "
text : " Send "
2022-10-02 16:28:09 -04:00
padding : [ dp ( 10 ) , dp ( 13 ) , dp ( 10 ) , dp ( 14 ) ]
icon_size : dp ( 24 )
font_size : dp ( 16 )
2022-04-07 15:03:53 -04:00
on_release : root . ids . screen_manager . app . message_send_action ( self )
MDScreen :
name : " broadcasts_screen "
BoxLayout :
orientation : " vertical "
2022-07-06 10:08:53 -04:00
MDTopAppBar :
2022-04-07 15:03:53 -04:00
title : " Local Broadcasts "
2022-10-02 16:00:15 -04:00
anchor_title : " left "
2022-10-02 11:17:55 -04:00
elevation : 2
2022-04-07 15:03:53 -04:00
left_action_items :
[ [ ' menu ' , lambda x : nav_drawer . set_state ( " open " ) ] ]
ScrollView :
id : broadcasts_scrollview
MDBoxLayout :
orientation : " vertical "
spacing : " 24dp "
size_hint_y : None
height : self . minimum_height
2022-10-02 11:17:55 -04:00
padding : [ dp ( 35 ) , dp ( 35 ) , dp ( 35 ) , dp ( 35 ) ]
2022-04-07 15:03:53 -04:00
MDLabel :
id : broadcasts_info
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDScreen :
name : " connectivity_screen "
BoxLayout :
orientation : " vertical "
2022-07-06 10:08:53 -04:00
MDTopAppBar :
2022-04-07 15:03:53 -04:00
title : " Connectivity "
2022-10-02 16:00:15 -04:00
anchor_title : " left "
2022-10-02 11:17:55 -04:00
elevation : 2
2022-04-07 15:03:53 -04:00
left_action_items :
[ [ ' menu ' , lambda x : nav_drawer . set_state ( " open " ) ] ]
2022-07-06 06:19:05 -04:00
right_action_items :
[
[ ' close ' , lambda x : root . ids . screen_manager . app . close_connectivity_action ( self ) ] ,
]
2022-04-07 15:03:53 -04:00
ScrollView :
2022-07-06 06:19:05 -04:00
id : connectivity_scrollview
2022-04-07 15:03:53 -04:00
MDBoxLayout :
orientation : " vertical "
2022-10-02 14:43:56 -04:00
spacing : " 8dp "
2022-04-07 15:03:53 -04:00
size_hint_y : None
height : self . minimum_height
2022-10-02 14:43:56 -04:00
padding : [ dp ( 28 ) , dp ( 48 ) , dp ( 28 ) , dp ( 16 ) ]
2022-07-06 06:19:05 -04:00
MDLabel :
2022-10-02 14:43:56 -04:00
text : " Configuring Connectivity \\ n "
2022-07-06 06:19:05 -04:00
font_style : " H6 "
2022-04-07 15:03:53 -04:00
MDLabel :
id : connectivity_info
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
2022-07-06 06:19:05 -04:00
MDBoxLayout :
orientation : " horizontal "
2022-10-02 14:43:56 -04:00
padding : [ 0 , 0 , dp ( 24 ) , 0 ]
2022-07-06 06:19:05 -04:00
size_hint_y : None
2022-10-02 14:43:56 -04:00
height : dp ( 24 )
2022-07-06 06:19:05 -04:00
MDLabel :
2022-07-06 07:07:11 -04:00
id : connectivity_local_label
2022-07-06 06:19:05 -04:00
text : " Connect via local WiFi/Ethernet "
font_style : " H6 "
MDSwitch :
id : connectivity_use_local
2022-10-02 14:43:56 -04:00
pos_hint : { " center_y " : 0.3 }
2022-07-06 06:19:05 -04:00
active : False
2022-10-02 14:43:56 -04:00
MDBoxLayout :
id : connectivity_local_fields
orientation : " vertical "
size_hint_y : None
height : self . minimum_height
padding : [ 0 , 0 , 0 , dp ( 32 ) ]
2022-07-06 06:19:05 -04:00
2022-10-02 14:43:56 -04:00
MDTextField :
id : connectivity_local_groupid
hint_text : " Optional WiFi/Ethernet Group ID "
text : " "
max_text_length : 128
font_size : dp ( 24 )
2022-07-06 06:19:05 -04:00
2022-10-02 14:43:56 -04:00
MDTextField :
id : connectivity_local_ifac_netname
hint_text : " Optional IFAC network name "
text : " "
font_size : dp ( 24 )
2022-07-06 06:19:05 -04:00
2022-10-02 14:43:56 -04:00
MDTextField :
id : connectivity_local_ifac_passphrase
hint_text : " Optional IFAC passphrase "
text : " "
font_size : dp ( 24 )
2022-07-06 06:19:05 -04:00
MDBoxLayout :
orientation : " horizontal "
2022-10-02 14:43:56 -04:00
padding : [ 0 , 0 , dp ( 24 ) , 0 ]
2022-07-06 06:19:05 -04:00
size_hint_y : None
2022-10-02 14:43:56 -04:00
height : dp ( 24 )
2022-07-06 06:19:05 -04:00
MDLabel :
2022-07-06 07:07:11 -04:00
id : connectivity_tcp_label
2022-07-06 06:19:05 -04:00
text : " Connect via TCP "
font_style : " H6 "
MDSwitch :
id : connectivity_use_tcp
2022-10-02 14:43:56 -04:00
pos_hint : { " center_y " : 0.3 }
2022-07-06 06:19:05 -04:00
active : False
2022-10-02 14:43:56 -04:00
MDBoxLayout :
id : connectivity_tcp_fields
orientation : " vertical "
size_hint_y : None
height : self . minimum_height
padding : [ 0 , 0 , 0 , dp ( 32 ) ]
MDTextField :
id : connectivity_tcp_host
hint_text : " TCP Host "
text : " "
font_size : dp ( 24 )
MDTextField :
id : connectivity_tcp_port
hint_text : " TCP Port "
text : " "
font_size : dp ( 24 )
MDTextField :
id : connectivity_tcp_ifac_netname
hint_text : " Optional IFAC network name "
text : " "
font_size : dp ( 24 )
MDTextField :
id : connectivity_tcp_ifac_passphrase
hint_text : " Optional IFAC passphrase "
text : " "
font_size : dp ( 24 )
2022-07-06 06:19:05 -04:00
MDBoxLayout :
orientation : " horizontal "
2022-10-02 14:43:56 -04:00
padding : [ 0 , 0 , dp ( 24 ) , 0 ]
2022-07-06 06:19:05 -04:00
size_hint_y : None
2022-10-02 14:43:56 -04:00
height : dp ( 24 )
2022-07-06 06:19:05 -04:00
MDLabel :
2022-07-06 07:07:11 -04:00
id : connectivity_i2p_label
2022-07-06 06:19:05 -04:00
text : " Connect via I2P "
font_style : " H6 "
MDSwitch :
id : connectivity_use_i2p
2022-10-02 14:43:56 -04:00
pos_hint : { " center_y " : 0.3 }
2022-07-06 06:19:05 -04:00
active : False
2022-10-02 14:43:56 -04:00
MDBoxLayout :
id : connectivity_i2p_fields
orientation : " vertical "
size_hint_y : None
height : self . minimum_height
padding : [ 0 , 0 , 0 , dp ( 32 ) ]
2022-07-06 06:19:05 -04:00
2022-10-02 14:43:56 -04:00
MDTextField :
id : connectivity_i2p_b32
hint_text : " I2P B32 "
text : " "
font_size : dp ( 24 )
2022-07-06 06:19:05 -04:00
2022-10-02 14:43:56 -04:00
MDTextField :
id : connectivity_i2p_ifac_netname
hint_text : " Optional IFAC network name "
text : " "
font_size : dp ( 24 )
2022-07-06 06:19:05 -04:00
2022-10-02 14:43:56 -04:00
MDTextField :
id : connectivity_i2p_ifac_passphrase
hint_text : " Optional IFAC passphrase "
text : " "
font_size : dp ( 24 )
2022-07-06 06:19:05 -04:00
MDBoxLayout :
orientation : " horizontal "
2022-10-02 14:43:56 -04:00
padding : [ 0 , 0 , dp ( 24 ) , 0 ]
2022-07-06 06:19:05 -04:00
size_hint_y : None
2022-10-02 14:43:56 -04:00
height : dp ( 24 )
2022-07-06 06:19:05 -04:00
MDLabel :
2022-07-06 07:07:11 -04:00
id : connectivity_rnode_label
2022-07-06 06:19:05 -04:00
text : " Connect via RNode "
font_style : " H6 "
2022-10-11 08:16:21 -04:00
disabled : False
2022-07-06 06:19:05 -04:00
MDSwitch :
id : connectivity_use_rnode
active : False
2022-10-02 14:43:56 -04:00
pos_hint : { " center_y " : 0.3 }
2022-10-11 08:16:21 -04:00
disabled : False
2022-07-06 06:19:05 -04:00
2022-10-02 14:43:56 -04:00
MDBoxLayout :
id : connectivity_rnode_fields
orientation : " vertical "
2022-07-06 13:42:41 -04:00
size_hint_y : None
2022-10-02 14:43:56 -04:00
height : self . minimum_height
padding : [ 0 , 0 , 0 , dp ( 32 ) ]
2022-07-06 13:42:41 -04:00
2022-10-11 08:16:21 -04:00
MDTextField :
id : connectivity_rnode_ifac_netname
hint_text : " Optional IFAC network name "
text : " "
font_size : dp ( 24 )
MDTextField :
id : connectivity_rnode_ifac_passphrase
hint_text : " Optional IFAC passphrase "
text : " "
font_size : dp ( 24 )
2022-10-02 14:43:56 -04:00
MDBoxLayout :
orientation : " horizontal "
padding : [ 0 , 0 , dp ( 24 ) , 0 ]
size_hint_y : None
height : dp ( 24 )
MDLabel :
id : connectivity_bluetooth_label
text : " Connect via Bluetooth "
font_style : " H6 "
disabled : True
MDSwitch :
id : connectivity_use_bluetooth
active : False
pos_hint : { " center_y " : 0.3 }
disabled : True
MDBoxLayout :
id : connectivity_bluetooth_fields
orientation : " vertical "
size_hint_y : None
height : self . minimum_height
padding : [ 0 , 0 , 0 , dp ( 32 ) ]
MDTextField :
id : connectivity_bluetooth_cid
hint_text : " Bluetooth Pairing ID "
text : " "
font_size : dp ( 24 )
# disabled: True
MDBoxLayout :
orientation : " horizontal "
padding : [ 0 , 0 , dp ( 24 ) , 0 ]
size_hint_y : None
height : dp ( 24 )
MDLabel :
id : connectivity_modem_label
text : " Connect via Radio Modem "
font_style : " H6 "
disabled : True
MDSwitch :
id : connectivity_use_modem
active : False
pos_hint : { " center_y " : 0.3 }
disabled : True
MDBoxLayout :
id : connectivity_modem_fields
orientation : " vertical "
size_hint_y : None
height : self . minimum_height
padding : [ 0 , 0 , 0 , dp ( 32 ) ]
MDTextField :
id : connectivity_modem_cid
hint_text : " Modem Pairing ID "
text : " "
font_size : dp ( 24 )
# disabled: True
MDBoxLayout :
orientation : " horizontal "
padding : [ 0 , 0 , dp ( 24 ) , 0 ]
size_hint_y : None
height : dp ( 24 )
MDLabel :
id : connectivity_transport_label
text : " Enable Reticulum Transport "
font_style : " H6 "
disabled : True
MDSwitch :
id : connectivity_enable_transport
active : False
pos_hint : { " center_y " : 0.3 }
disabled : True
2022-07-06 06:19:05 -04:00
2022-04-07 15:03:53 -04:00
MDScreen :
name : " guide_screen "
BoxLayout :
orientation : " vertical "
2022-07-06 10:08:53 -04:00
MDTopAppBar :
2022-04-07 15:03:53 -04:00
title : " Guide "
2022-10-02 16:00:15 -04:00
anchor_title : " left "
2022-10-02 11:17:55 -04:00
elevation : 2
2022-04-07 15:03:53 -04:00
left_action_items :
[ [ ' menu ' , lambda x : nav_drawer . set_state ( " open " ) ] ]
2022-09-17 16:55:27 -04:00
right_action_items :
[
[ ' close ' , lambda x : root . ids . screen_manager . app . close_guide_action ( self ) ] ,
]
2022-04-07 15:03:53 -04:00
ScrollView :
id : guide_scrollview
MDBoxLayout :
orientation : " vertical "
size_hint_y : None
height : self . minimum_height
2022-09-17 16:55:27 -04:00
padding : [ dp ( 35 ) , dp ( 16 ) , dp ( 35 ) , dp ( 16 ) ]
2022-10-08 18:46:14 -04:00
MDLabel :
id : guide_info1
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDLabel :
id : guide_info2
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDLabel :
id : guide_info3
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDLabel :
id : guide_info4
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDLabel :
id : guide_info5
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDLabel :
id : guide_info6
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDLabel :
id : guide_info7
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDLabel :
id : guide_info8
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
2022-04-07 15:03:53 -04:00
MDLabel :
2022-10-08 18:46:14 -04:00
id : guide_info9
2022-04-07 15:03:53 -04:00
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDScreen :
name : " information_screen "
BoxLayout :
orientation : " vertical "
2022-07-06 10:08:53 -04:00
MDTopAppBar :
2022-04-07 15:03:53 -04:00
title : " App & Version Information "
2022-10-02 16:00:15 -04:00
anchor_title : " left "
2022-10-02 11:17:55 -04:00
elevation : 2
2022-04-07 15:03:53 -04:00
left_action_items :
[ [ ' menu ' , lambda x : nav_drawer . set_state ( " open " ) ] ]
2022-09-17 16:55:27 -04:00
right_action_items :
[
[ ' close ' , lambda x : root . ids . screen_manager . app . close_information_action ( self ) ] ,
]
2022-04-07 15:03:53 -04:00
ScrollView :
id : information_scrollview
MDBoxLayout :
orientation : " vertical "
size_hint_y : None
height : self . minimum_height
2022-09-17 16:55:27 -04:00
padding : [ dp ( 35 ) , dp ( 32 ) , dp ( 35 ) , dp ( 16 ) ]
2022-04-07 15:03:53 -04:00
MDLabel :
id : information_info
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDScreen :
name : " map_screen "
BoxLayout :
orientation : " vertical "
2022-07-06 10:08:53 -04:00
MDTopAppBar :
2022-04-07 15:03:53 -04:00
title : " Local Area Map "
2022-10-02 16:00:15 -04:00
anchor_title : " left "
2022-10-02 11:17:55 -04:00
elevation : 2
2022-04-07 15:03:53 -04:00
left_action_items :
[ [ ' menu ' , lambda x : nav_drawer . set_state ( " open " ) ] ]
ScrollView :
id : information_scrollview
MDBoxLayout :
orientation : " vertical "
spacing : " 24dp "
size_hint_y : None
height : self . minimum_height
2022-10-02 11:17:55 -04:00
padding : [ dp ( 35 ) , dp ( 35 ) , dp ( 35 ) , dp ( 35 ) ]
2022-04-07 15:03:53 -04:00
MDLabel :
id : map_info
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDScreen :
name : " keys_screen "
BoxLayout :
orientation : " vertical "
2022-07-06 10:08:53 -04:00
MDTopAppBar :
2022-04-07 15:03:53 -04:00
title : " Encryption Keys "
2022-10-02 16:00:15 -04:00
anchor_title : " left "
2022-10-02 11:17:55 -04:00
elevation : 2
2022-04-07 15:03:53 -04:00
left_action_items :
[ [ ' menu ' , lambda x : nav_drawer . set_state ( " open " ) ] ]
2022-09-17 16:55:27 -04:00
right_action_items :
[
[ ' close ' , lambda x : root . ids . screen_manager . app . close_keys_action ( self ) ] ,
]
2022-04-07 15:03:53 -04:00
ScrollView :
id : keys_scrollview
MDBoxLayout :
orientation : " vertical "
spacing : " 24dp "
size_hint_y : None
height : self . minimum_height
2022-10-02 11:17:55 -04:00
padding : [ dp ( 35 ) , dp ( 35 ) , dp ( 35 ) , dp ( 35 ) ]
2022-04-07 15:03:53 -04:00
MDLabel :
id : keys_info
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
2022-09-17 16:55:27 -04:00
MDRectangleFlatIconButton :
id : keys_display
icon : " eye "
text : " Display Identity Key "
2022-10-02 16:28:09 -04:00
padding : [ dp ( 0 ) , dp ( 14 ) , dp ( 0 ) , dp ( 14 ) ]
icon_size : dp ( 24 )
font_size : dp ( 16 )
2022-09-17 16:55:27 -04:00
size_hint : [ 1.0 , None ]
on_release : root . ids . screen_manager . app . identity_display_action ( self )
MDRectangleFlatIconButton :
id : keys_copy
icon : " file-key "
text : " Copy Key To Clipboard "
2022-10-02 16:28:09 -04:00
padding : [ dp ( 0 ) , dp ( 14 ) , dp ( 0 ) , dp ( 14 ) ]
icon_size : dp ( 24 )
font_size : dp ( 16 )
2022-09-17 16:55:27 -04:00
size_hint : [ 1.0 , None ]
on_release : root . ids . screen_manager . app . identity_copy_action ( self )
MDRectangleFlatIconButton :
id : keys_share
icon : " upload-lock "
text : " Send Key To Other App "
2022-10-02 16:28:09 -04:00
padding : [ dp ( 0 ) , dp ( 14 ) , dp ( 0 ) , dp ( 14 ) ]
icon_size : dp ( 24 )
font_size : dp ( 16 )
2022-09-17 16:55:27 -04:00
size_hint : [ 1.0 , None ]
on_release : root . ids . screen_manager . app . identity_share_action ( self )
MDBoxLayout :
orientation : " vertical "
# spacing: "24dp"
size_hint_y : None
height : self . minimum_height
2022-10-02 11:17:55 -04:00
padding : [ dp ( 0 ) , dp ( 12 ) , dp ( 0 ) , dp ( 0 ) ]
2022-09-17 16:55:27 -04:00
MDTextField :
id : key_restore_text
hint_text : " Enter base32 key for import "
mode : " rectangle "
# size_hint: [1.0, None]
pos_hint : { " center_x " : .5 }
MDRectangleFlatIconButton :
id : keys_restore
icon : " download-lock "
text : " Restore Identity From Key "
2022-10-02 16:28:09 -04:00
padding : [ dp ( 0 ) , dp ( 14 ) , dp ( 0 ) , dp ( 14 ) ]
icon_size : dp ( 24 )
font_size : dp ( 16 )
2022-09-17 16:55:27 -04:00
size_hint : [ 1.0 , None ]
on_release : root . ids . screen_manager . app . identity_restore_action ( self )
2022-04-07 15:03:53 -04:00
MDScreen :
name : " announces_screen "
BoxLayout :
orientation : " vertical "
2022-07-06 10:08:53 -04:00
MDTopAppBar :
2022-04-07 15:03:53 -04:00
title : " Announce Stream "
2022-10-02 16:00:15 -04:00
anchor_title : " left "
2022-10-02 11:17:55 -04:00
elevation : 2
2022-04-07 15:03:53 -04:00
left_action_items :
[ [ ' menu ' , lambda x : nav_drawer . set_state ( " open " ) ] ]
right_action_items :
[
[ ' close ' , lambda x : root . ids . screen_manager . app . close_settings_action ( self ) ] ,
]
# [['eye-off', lambda x: root.ids.screen_manager.app.announce_filter_action(self)]]
ScrollView :
id : announces_scrollview
MDBoxLayout :
orientation : " vertical "
spacing : " 24dp "
size_hint_y : None
height : self . minimum_height
padding : dp ( 64 )
MDLabel :
id : announces_info
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDScreen :
name : " settings_screen "
BoxLayout :
orientation : " vertical "
2022-07-06 10:08:53 -04:00
MDTopAppBar :
2022-10-13 12:37:59 -04:00
title : " Preferences "
2022-10-02 16:00:15 -04:00
anchor_title : " left "
2022-10-02 11:17:55 -04:00
elevation : 2
2022-04-07 15:03:53 -04:00
left_action_items :
[ [ ' menu ' , lambda x : nav_drawer . set_state ( " open " ) ] ]
right_action_items :
[
[ ' close ' , lambda x : root . ids . screen_manager . app . close_settings_action ( self ) ] ,
]
ScrollView :
id : settings_scrollview
MDBoxLayout :
orientation : " vertical "
2022-10-08 15:12:36 -04:00
spacing : 0
2022-04-07 15:03:53 -04:00
size_hint_y : None
height : self . minimum_height
2022-10-08 15:12:36 -04:00
padding : [ 0 , 0 , 0 , 0 ]
2022-04-07 15:03:53 -04:00
MDBoxLayout :
2022-10-08 15:12:36 -04:00
orientation : " vertical "
spacing : " 16dp "
2022-04-07 15:03:53 -04:00
size_hint_y : None
2022-10-08 15:12:36 -04:00
height : self . minimum_height
padding : [ dp ( 28 ) , dp ( 16 ) , dp ( 28 ) , dp ( 16 ) ]
2022-04-07 15:03:53 -04:00
2022-10-02 08:03:56 -04:00
MDLabel :
2022-10-08 15:12:36 -04:00
text : " "
2022-10-02 08:03:56 -04:00
font_style : " H6 "
2022-04-07 15:03:53 -04:00
MDLabel :
2022-10-08 15:12:36 -04:00
text : " User Options "
2022-04-07 15:03:53 -04:00
font_style : " H6 "
2022-10-08 15:12:36 -04:00
MDTextField :
id : settings_display_name
hint_text : " Display Name "
text : " "
max_text_length : 128
font_size : dp ( 24 )
2022-04-07 15:03:53 -04:00
2022-10-08 15:12:36 -04:00
MDTextField :
id : settings_lxmf_address
hint_text : " Your LXMF Address "
text : " "
disabled : False
max_text_length : 32
font_size : dp ( 24 )
2022-04-07 15:03:53 -04:00
2022-10-08 15:12:36 -04:00
MDTextField :
id : settings_propagation_node_address
hint_text : " LXMF Propagation Node "
2022-04-07 15:03:53 -04:00
disabled : False
2022-10-08 15:12:36 -04:00
text : " "
max_text_length : 32
font_size : dp ( 24 )
2022-04-07 15:03:53 -04:00
2022-10-08 15:12:36 -04:00
MDTextField :
id : settings_home_node_address
hint_text : " Nomad Network Home Node "
disabled : False
text : " "
max_text_length : 32
font_size : dp ( 24 )
2022-04-07 15:03:53 -04:00
MDBoxLayout :
2022-10-08 15:12:36 -04:00
orientation : " vertical "
# spacing: "24dp"
2022-04-07 15:03:53 -04:00
size_hint_y : None
2022-10-08 15:12:36 -04:00
height : self . minimum_height
padding : [ dp ( 28 ) , dp ( 16 ) , dp ( 28 ) , dp ( 16 ) ]
2022-04-07 15:03:53 -04:00
2022-10-08 18:30:58 -04:00
MDBoxLayout :
orientation : " horizontal "
size_hint_y : None
padding : [ 0 , 0 , dp ( 24 ) , dp ( 0 ) ]
height : dp ( 48 )
MDLabel :
text : " Notifications "
font_style : " H6 "
MDSwitch :
id : settings_notifications_on
pos_hint : { " center_y " : 0.3 }
active : True
2022-10-08 15:12:36 -04:00
MDBoxLayout :
orientation : " horizontal "
size_hint_y : None
padding : [ 0 , 0 , dp ( 24 ) , dp ( 0 ) ]
height : dp ( 48 )
MDLabel :
text : " Dark Mode UI "
font_style : " H6 "
MDSwitch :
id : settings_dark_ui
pos_hint : { " center_y " : 0.3 }
active : False
MDBoxLayout :
orientation : " horizontal "
size_hint_y : None
padding : [ 0 , 0 , dp ( 24 ) , dp ( 0 ) ]
height : dp ( 48 )
MDLabel :
text : " Announce At App Startup "
font_style : " H6 "
MDSwitch :
id : settings_start_announce
pos_hint : { " center_y " : 0.3 }
active : False
MDBoxLayout :
orientation : " horizontal "
size_hint_y : None
padding : [ 0 , 0 , dp ( 24 ) , dp ( 0 ) ]
height : dp ( 48 )
MDLabel :
text : " Send via Propagation Node by default "
font_style : " H6 "
MDSwitch :
id : settings_lxmf_delivery_by_default
pos_hint : { " center_y " : 0.3 }
disabled : False
active : False
MDBoxLayout :
orientation : " horizontal "
size_hint_y : None
padding : [ 0 , 0 , dp ( 24 ) , dp ( 0 ) ]
height : dp ( 48 )
MDLabel :
text : " Limit each sync to 3 messages "
font_style : " H6 "
MDSwitch :
id : settings_lxmf_sync_limit
pos_hint : { " center_y " : 0.3 }
disabled : False
active : False
MDBoxLayout :
orientation : " horizontal "
size_hint_y : None
padding : [ 0 , 0 , dp ( 24 ) , dp ( 0 ) ]
height : dp ( 48 )
MDLabel :
id : settings_lxmf_sync_periodic
text : " Sync with Propagation Node periodically "
font_style : " H6 "
MDSwitch :
id : settings_lxmf_periodic_sync
pos_hint : { " center_y " : 0.3 }
disabled : False
active : False
MDBoxLayout :
id : lxmf_syncslider_container
orientation : " vertical "
size_hint_y : None
padding : [ 0 , 0 , dp ( 0 ) , 0 ]
height : dp ( 68 )
MDSlider
min : 300
max : 172800
value : 43200
id : settings_lxmf_sync_interval
sensitivity : " all "
hint : False
MDBoxLayout :
orientation : " horizontal "
size_hint_y : None
padding : [ 0 , 0 , dp ( 24 ) , dp ( 0 ) ]
height : dp ( 48 )
MDLabel :
text : " Use Home Node as Broadcast Repeater "
font_style : " H6 "
MDSwitch :
id : settings_home_node_as_broadcast_repeater
pos_hint : { " center_y " : 0.3 }
active : False
disabled : True
MDBoxLayout :
orientation : " horizontal "
size_hint_y : None
padding : [ 0 , 0 , dp ( 24 ) , dp ( 0 ) ]
height : dp ( 48 )
MDLabel :
text : " Send Telemetry to Home Node "
font_style : " H6 "
MDSwitch :
id : settings_telemetry_to_home_node
pos_hint : { " center_y " : 0.3 }
disabled : True
active : False
2022-10-13 12:37:59 -04:00
MDScreen :
name : " hardware_screen "
BoxLayout :
orientation : " vertical "
MDTopAppBar :
title : " Hardware "
anchor_title : " left "
elevation : 2
left_action_items :
[ [ ' menu ' , lambda x : nav_drawer . set_state ( " open " ) ] ]
right_action_items :
[
[ ' close ' , lambda x : root . ids . screen_manager . app . close_hardware_action ( self ) ] ,
]
ScrollView :
id : hardware_scrollview
MDBoxLayout :
orientation : " vertical "
spacing : " 8dp "
size_hint_y : None
height : self . minimum_height
padding : [ dp ( 28 ) , dp ( 48 ) , dp ( 28 ) , dp ( 16 ) ]
MDLabel :
text : " Configure Hardware Parameters \\ n "
font_style : " H6 "
MDLabel :
id : hardware_info
markup : True
text : " "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDBoxLayout :
orientation : " vertical "
spacing : " 24dp "
size_hint_y : None
height : self . minimum_height
padding : [ dp ( 0 ) , dp ( 35 ) , dp ( 0 ) , dp ( 35 ) ]
MDRectangleFlatIconButton :
id : hardware_rnode_button
icon : " radio-handheld "
text : " RNode "
padding : [ dp ( 0 ) , dp ( 14 ) , dp ( 0 ) , dp ( 14 ) ]
icon_size : dp ( 24 )
font_size : dp ( 16 )
size_hint : [ 1.0 , None ]
on_release : root . ids . screen_manager . app . hardware_rnode_action ( self )
MDRectangleFlatIconButton :
id : hardware_modem_button
icon : " router-wireless "
text : " Packet Modem "
padding : [ dp ( 0 ) , dp ( 14 ) , dp ( 0 ) , dp ( 14 ) ]
icon_size : dp ( 24 )
font_size : dp ( 16 )
size_hint : [ 1.0 , None ]
on_release : root . ids . screen_manager . app . hardware_mode_action ( self )
disabled : True
MDRectangleFlatIconButton :
id : hardware_serial_button
icon : " cable-data "
text : " Serial Port "
padding : [ dp ( 0 ) , dp ( 14 ) , dp ( 0 ) , dp ( 14 ) ]
icon_size : dp ( 24 )
font_size : dp ( 16 )
size_hint : [ 1.0 , None ]
on_release : root . ids . screen_manager . app . hardware_serial_action ( self )
disabled : True
MDScreen :
name : " hardware_rnode_screen "
BoxLayout :
orientation : " vertical "
MDTopAppBar :
title : " RNode "
anchor_title : " left "
elevation : 2
left_action_items :
[ [ ' menu ' , lambda x : nav_drawer . set_state ( " open " ) ] ]
right_action_items :
[
[ ' close ' , lambda x : root . ids . screen_manager . app . close_sub_hardware_action ( self ) ] ,
]
ScrollView :
id : hardware_rnode_scrollview
MDBoxLayout :
orientation : " vertical "
spacing : " 8dp "
size_hint_y : None
height : self . minimum_height
padding : [ dp ( 28 ) , dp ( 48 ) , dp ( 28 ) , dp ( 16 ) ]
MDLabel :
text : " RNode Hardware Parameters \\ n "
font_style : " H6 "
MDLabel :
id : hardware_rnode_info
markup : True
text : " To communicate using an RNode, you will need to specify the following parameters. For two or more RNodes to be able to communicate, all parameters must match, except for the [i]Coding Rate[/i] parameter, which can vary between devices. \\ n "
size_hint_y : None
text_size : self . width , None
height : self . texture_size [ 1 ]
MDBoxLayout :
orientation : " horizontal "
spacing : " 24dp "
size_hint_y : None
height : self . minimum_height
padding : [ dp ( 0 ) , dp ( 0 ) , dp ( 0 ) , dp ( 35 ) ]
MDRectangleFlatIconButton :
id : rnode_mote_export
icon : " upload "
text : " Export "
padding : [ dp ( 0 ) , dp ( 14 ) , dp ( 0 ) , dp ( 14 ) ]
icon_size : dp ( 24 )
font_size : dp ( 16 )
size_hint : [ 1.0 , None ]
on_release : root . ids . screen_manager . app . hardware_rnode_export ( self )
MDRectangleFlatIconButton :
id : rnode_mote_import
icon : " download "
text : " Import "
padding : [ dp ( 0 ) , dp ( 14 ) , dp ( 0 ) , dp ( 14 ) ]
icon_size : dp ( 24 )
font_size : dp ( 16 )
size_hint : [ 1.0 , None ]
on_release : root . ids . screen_manager . app . hardware_rnode_import ( self )
MDLabel :
text : " Radio Options "
font_style : " H6 "
# MDTextField:
# id: hardware_rnode_modulation
# hint_text: "Modulation"
# text: "LoRa"
# disabled: True
# font_size: dp(24)
MDBoxLayout :
orientation : " horizontal "
spacing : " 24dp "
size_hint_y : None
height : self . minimum_height
# padding: [dp(0), dp(0), dp(0), dp(35)]
MDTextField :
id : hardware_rnode_frequency
hint_text : " Frequency (MHz) "
text : " "
font_size : dp ( 24 )
MDTextField :
id : hardware_rnode_bandwidth
hint_text : " Bandwidth (KHz) "
text : " "
font_size : dp ( 24 )
MDTextField :
id : hardware_rnode_txpower
hint_text : " TX Power (dBm) "
text : " "
font_size : dp ( 24 )
MDBoxLayout :
orientation : " horizontal "
spacing : " 24dp "
size_hint_y : None
height : self . minimum_height
padding : [ dp ( 0 ) , dp ( 0 ) , dp ( 0 ) , dp ( 24 ) ]
MDTextField :
id : hardware_rnode_spreadingfactor
hint_text : " Spreading Factor "
text : " "
font_size : dp ( 24 )
MDTextField :
id : hardware_rnode_codingrate
hint_text : " Coding Rate "
text : " "
font_size : dp ( 24 )
MDLabel :
text : " Optional Settings "
font_style : " H6 "
MDBoxLayout :
orientation : " horizontal "
spacing : " 24dp "
size_hint_y : None
height : self . minimum_height
# padding: [dp(0), dp(0), dp(0), dp(35)]
MDTextField :
id : hardware_rnode_beaconinterval
hint_text : " Beacon Interval (seconds) "
text : " "
font_size : dp ( 24 )
MDTextField :
id : hardware_rnode_beacondata
hint_text : " Beacon Data "
text : " "
font_size : dp ( 24 )
2022-04-07 15:03:53 -04:00
MDNavigationDrawer :
id : nav_drawer
2022-10-02 11:17:55 -04:00
radius : ( 0 , dp ( 8 ) , dp ( 8 ) , 0 )
2022-04-07 15:03:53 -04:00
ContentNavigationDrawer :
ScrollView :
2022-10-08 13:23:51 -04:00
id : nav_scrollview
2022-04-07 15:03:53 -04:00
DrawerList :
id : md_list
MDList :
OneLineIconListItem :
text : " Conversations "
on_release : root . ids . screen_manager . app . conversations_action ( self )
IconLeftWidget :
icon : " email "
on_release : root . ids . screen_manager . app . conversations_action ( self )
OneLineIconListItem :
text : " Announce Stream "
on_release : root . ids . screen_manager . app . announces_action ( self )
IconLeftWidget :
icon : " account-voice "
on_release : root . ids . screen_manager . app . announces_action ( self )
OneLineIconListItem :
text : " Local Broadcasts "
on_release : root . ids . screen_manager . app . broadcasts_action ( self )
IconLeftWidget :
icon : " radio-tower "
on_release : root . ids . screen_manager . app . broadcasts_action ( self )
OneLineIconListItem :
text : " Local Area Map "
on_release : root . ids . screen_manager . app . map_action ( self )
IconLeftWidget :
icon : " map "
on_release : root . ids . screen_manager . app . map_action ( self )
2022-10-13 12:37:59 -04:00
OneLineIconListItem :
text : " Preferences "
on_release : root . ids . screen_manager . app . settings_action ( self )
_no_ripple_effect : True
IconLeftWidget :
icon : " cog "
on_release : root . ids . screen_manager . app . settings_action ( self )
2022-04-07 15:03:53 -04:00
OneLineIconListItem :
text : " Connectivity "
on_release : root . ids . screen_manager . app . connectivity_action ( self )
_no_ripple_effect : True
IconLeftWidget :
icon : " wifi "
on_release : root . ids . screen_manager . app . connectivity_action ( self )
OneLineIconListItem :
2022-10-13 12:37:59 -04:00
text : " Hardware "
on_release : root . ids . screen_manager . app . hardware_action ( self )
2022-04-07 15:03:53 -04:00
_no_ripple_effect : True
IconLeftWidget :
2022-10-13 12:37:59 -04:00
icon : " router-wireless "
on_release : root . ids . screen_manager . app . hardware_action ( self )
2022-04-07 15:03:53 -04:00
OneLineIconListItem :
text : " Encryption Keys "
on_release : root . ids . screen_manager . app . keys_action ( self )
_no_ripple_effect : True
IconLeftWidget :
icon : " key-chain "
on_release : root . ids . screen_manager . app . keys_action ( self )
OneLineIconListItem :
text : " Guide "
on_release : root . ids . screen_manager . app . guide_action ( self )
_no_ripple_effect : True
IconLeftWidget :
icon : " book-open "
on_release : root . ids . screen_manager . app . guide_action ( self )
OneLineIconListItem :
id : app_version_info
text : " "
on_release : root . ids . screen_manager . app . information_action ( self )
_no_ripple_effect : True
IconLeftWidget :
icon : " information "
on_release : root . ids . screen_manager . app . information_action ( self )
OneLineIconListItem :
text : " Shutdown "
on_release : root . ids . screen_manager . app . quit_action ( self )
_no_ripple_effect : True
IconLeftWidget :
icon : " power "
on_release : root . ids . screen_manager . app . quit_action ( self )
< ListLXMessageCard > :
2022-10-08 12:01:33 -04:00
style : " outlined "
2022-10-02 11:17:55 -04:00
elevation : 2
2022-04-07 15:03:53 -04:00
padding : dp ( 8 )
2022-10-02 11:17:55 -04:00
radius : [ dp ( 4 ) , dp ( 4 ) , dp ( 4 ) , dp ( 4 ) ]
2022-04-07 15:03:53 -04:00
size_hint : 1.0 , None
height : content_text . height + heading_text . height + dp ( 32 )
pos_hint : { " center_x " : .5 , " center_y " : .5 }
MDRelativeLayout :
size_hint : 1.0 , None
2022-10-02 08:51:01 -04:00
theme_text_color : " ContrastParentBackground "
2022-04-07 15:03:53 -04:00
MDIconButton :
id : msg_submenu
icon : " dots-vertical "
2022-10-02 19:36:21 -04:00
# theme_text_color: 'Custom'
# text_color: rgba(255,255,255,216)
2022-04-07 15:03:53 -04:00
pos :
root . width - ( self . width + root . padding [ 0 ] + dp ( 4 ) ) , root . height - ( self . height + root . padding [ 0 ] + dp ( 4 ) )
MDLabel :
id : heading_text
markup : True
text : root . heading
adaptive_size : True
2022-10-02 19:36:21 -04:00
# theme_text_color: 'Custom'
# text_color: rgba(255,255,255,100)
2022-04-07 15:03:53 -04:00
pos : 0 , root . height - ( self . height + root . padding [ 0 ] + dp ( 8 ) )
MDLabel :
id : content_text
text : root . text
# adaptive_size: True
size_hint_y : None
text_size : self . width , None
2022-10-02 19:36:21 -04:00
# theme_text_color: 'Custom'
# text_color: rgba(255,255,255,216)
2022-04-07 15:03:53 -04:00
height : self . texture_size [ 1 ]
< MsgSync >
orientation : " vertical "
spacing : " 24dp "
size_hint_y : None
2022-10-08 16:47:08 -04:00
padding : [ 0 , 0 , 0 , dp ( 16 ) ]
2022-04-07 15:03:53 -04:00
height : self . minimum_height + dp ( 24 )
2022-10-08 16:47:08 -04:00
MDProgressBar :
id : sync_progress
value : 0
2022-04-07 15:03:53 -04:00
MDLabel :
id : sync_status
hint_text : " Name "
text : " Initiating sync... "
< ConvSettings >
orientation : " vertical "
2022-10-08 18:09:26 -04:00
spacing : " 16dp "
2022-04-07 15:03:53 -04:00
size_hint_y : None
2022-10-08 18:09:26 -04:00
padding : [ 0 , 0 , 0 , dp ( 8 ) ]
height : self . minimum_height
MDTextField :
id : dest_field
hint_text : " Address "
text : root . context_dest
# disabled: True
font_size : dp ( 18 )
2022-04-07 15:03:53 -04:00
MDTextField :
id : name_field
hint_text : " Name "
text : root . disp_name
2022-10-08 18:09:26 -04:00
font_size : dp ( 18 )
2022-04-07 15:03:53 -04:00
MDBoxLayout :
orientation : " horizontal "
# spacing: "24dp"
size_hint_y : None
2022-10-08 18:09:26 -04:00
padding : [ 0 , 0 , dp ( 8 ) , 0 ]
2022-04-07 15:03:53 -04:00
height : dp ( 48 )
MDLabel :
id : trusted_switch_label
text : " Trusted "
font_style : " H6 "
MDSwitch :
id : trusted_switch
2022-10-08 18:09:26 -04:00
pos_hint : { " center_y " : 0.43 }
2022-04-07 15:03:53 -04:00
active : root . trusted
< NewConv >
orientation : " vertical "
spacing : " 24dp "
size_hint_y : None
height : dp ( 250 )
MDTextField :
id : n_address_field
2022-07-03 04:38:39 -04:00
max_text_length : 32
2022-04-07 15:03:53 -04:00
hint_text : " Address "
helper_text : " Error, check your input "
helper_text_mode : " on_error "
text : " "
font_size : dp ( 24 )
MDTextField :
id : n_name_field
hint_text : " Name "
text : " "
font_size : dp ( 24 )
MDBoxLayout :
orientation : " horizontal "
size_hint_y : None
2022-10-08 18:52:36 -04:00
padding : [ 0 , 0 , dp ( 8 ) , 0 ]
2022-04-07 15:03:53 -04:00
height : dp ( 48 )
MDLabel :
id : " trusted_switch_label "
text : " Trusted "
font_style : " H6 "
MDSwitch :
id : n_trusted
2022-10-02 16:00:15 -04:00
pos_hint : { " center_y " : 0.3 }
2022-04-07 15:03:53 -04:00
active : False
"""