643 lines
21 KiB
Plaintext
643 lines
21 KiB
Plaintext
|
|
#:import Toolbar kivymd.toolbar.Toolbar
|
|
#:import ThemeManager kivymd.theming.ThemeManager
|
|
#:import MDNavigationDrawer kivymd.navigationdrawer.MDNavigationDrawer
|
|
#:import NavigationLayout kivymd.navigationdrawer.NavigationLayout
|
|
#:import NavigationDrawerDivider kivymd.navigationdrawer.NavigationDrawerDivider
|
|
#:import NavigationDrawerToolbar kivymd.navigationdrawer.NavigationDrawerToolbar
|
|
#:import NavigationDrawerSubheader kivymd.navigationdrawer.NavigationDrawerSubheader
|
|
#:import MDCheckbox kivymd.selectioncontrols.MDCheckbox
|
|
#:import MDSwitch kivymd.selectioncontrols.MDSwitch
|
|
#:import MDList kivymd.list.MDList
|
|
#:import OneLineListItem kivymd.list.OneLineListItem
|
|
#:import TwoLineListItem kivymd.list.TwoLineListItem
|
|
#:import ThreeLineListItem kivymd.list.ThreeLineListItem
|
|
#:import OneLineAvatarListItem kivymd.list.OneLineAvatarListItem
|
|
#:import OneLineIconListItem kivymd.list.OneLineIconListItem
|
|
#:import OneLineAvatarIconListItem kivymd.list.OneLineAvatarIconListItem
|
|
#:import MDTextField kivymd.textfields.MDTextField
|
|
#:import MDSpinner kivymd.spinner.MDSpinner
|
|
#:import MDCard kivymd.card.MDCard
|
|
#:import MDSeparator kivymd.card.MDSeparator
|
|
#:import MDDropdownMenu kivymd.menu.MDDropdownMenu
|
|
#:import get_color_from_hex kivy.utils.get_color_from_hex
|
|
#:import colors kivymd.color_definitions.colors
|
|
#:import SmartTile kivymd.grid.SmartTile
|
|
#:import MDSlider kivymd.slider.MDSlider
|
|
#:import MDTabbedPanel kivymd.tabs.MDTabbedPanel
|
|
#:import MDTab kivymd.tabs.MDTab
|
|
#:import MDProgressBar kivymd.progressbar.MDProgressBar
|
|
#:import MDAccordion kivymd.accordion.MDAccordion
|
|
#:import MDAccordionItem kivymd.accordion.MDAccordionItem
|
|
#:import MDAccordionSubItem kivymd.accordion.MDAccordionSubItem
|
|
#:import MDThemePicker kivymd.theme_picker.MDThemePicker
|
|
#:import MDBottomNavigation kivymd.tabs.MDBottomNavigation
|
|
#:import MDBottomNavigationItem kivymd.tabs.MDBottomNavigationItem
|
|
#:import MDFloatingActionButton kivymd.button.MDFloatingActionButton
|
|
|
|
<MyNavigationDrawerIconButton@NavigationDrawerIconButton>:
|
|
icon: 'checkbox-blank-circle'
|
|
|
|
<ContentNavigationDrawer@Navigatorss>:
|
|
drawer_logo: './images/drawer_logo1.png'
|
|
NavigationDrawerDivider:
|
|
|
|
NavigationDrawerTwoLineListItem:
|
|
text: "Accounts"
|
|
NavigationDrawerIconButton:
|
|
Spinner:
|
|
pos_hint:{"x":0,"y":.25}
|
|
id: btn
|
|
text: app.getDefaultAccData()
|
|
values: app.variable_1
|
|
on_text:app.getCurrentAccountData(self.text)
|
|
NavigationDrawerIconButton:
|
|
icon: 'email-open'
|
|
text: "Inbox"
|
|
on_release: app.root.ids.scr_mngr.current = 'inbox'
|
|
badge_text: "99+"
|
|
NavigationDrawerIconButton:
|
|
icon: 'send'
|
|
text: "Sent"
|
|
on_release: app.root.ids.scr_mngr.current = 'sent'
|
|
badge_text: "2"
|
|
NavigationDrawerIconButton:
|
|
icon: 'message-draw'
|
|
text: "Draft"
|
|
on_release: app.root.ids.scr_mngr.current = 'inbox'
|
|
badge_text: "99+"
|
|
NavigationDrawerIconButton:
|
|
text: "Starred"
|
|
icon:'star'
|
|
on_release: app.root.ids.scr_mngr.current = 'inbox'
|
|
NavigationDrawerIconButton:
|
|
icon: 'archive'
|
|
text: "Archieve"
|
|
on_release: app.root.ids.scr_mngr.current = 'trash'
|
|
badge_text: "9+"
|
|
NavigationDrawerIconButton:
|
|
icon: 'email-open-outline'
|
|
text: "Spam"
|
|
on_release: app.root.ids.scr_mngr.current = 'inbox'
|
|
badge_text: "8+"
|
|
NavigationDrawerIconButton:
|
|
icon: 'delete'
|
|
text: "Trash"
|
|
on_release: app.root.ids.scr_mngr.current = 'trash'
|
|
badge_text: "9+"
|
|
NavigationDrawerIconButton:
|
|
text: "All Mails"
|
|
icon:'contact-mail'
|
|
on_release: app.root.ids.scr_mngr.current = 'inbox'
|
|
badge_text: "999+"
|
|
NavigationDrawerDivider:
|
|
NavigationDrawerSubheader:
|
|
text: "All labels"
|
|
NavigationDrawerIconButton:
|
|
text: "Address Book"
|
|
icon:'book-multiple'
|
|
on_release: app.root.ids.scr_mngr.current = 'addressbook'
|
|
NavigationDrawerIconButton:
|
|
text: "Settings"
|
|
icon:'settings'
|
|
on_release: app.root.ids.scr_mngr.current = 'set'
|
|
NavigationDrawerIconButton:
|
|
text: "Subscriptions/Payment"
|
|
icon:'wallet'
|
|
on_release: app.root.ids.scr_mngr.current = 'payment'
|
|
NavigationDrawerIconButton:
|
|
text: "new address"
|
|
icon:'account-plus'
|
|
on_release: app.root.ids.scr_mngr.current = 'login'
|
|
NavigationDrawerIconButton:
|
|
text: "Network Status"
|
|
icon:'server-network'
|
|
on_release: app.root.ids.scr_mngr.current = 'networkstat'
|
|
NavigationDrawerIconButton:
|
|
text: "My Addresses"
|
|
icon:'account-multiple'
|
|
on_release: app.root.ids.scr_mngr.current = 'myaddress'
|
|
|
|
NavigationLayout:
|
|
id: nav_layout
|
|
|
|
ContentNavigationDrawer:
|
|
id: nav_drawer
|
|
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
Toolbar:
|
|
id: toolbar..
|
|
md_bg_color: app.theme_cls.primary_color
|
|
background_palette: 'Primary'
|
|
background_hue: '500'
|
|
left_action_items: [['menu', lambda x: app.root.toggle_nav_drawer()]]
|
|
Button:
|
|
id: myButton
|
|
size_hint_y: 0.35
|
|
size_hint_x: 0.2
|
|
pos_hint: {'x': .1, 'y': 0.3}
|
|
color: 0,0,0,1
|
|
background_color: (0,0,0,0)
|
|
on_press:app.addingtoaddressbook()
|
|
Image:
|
|
source: './images/addressbookadd.png'
|
|
center_x: self.parent.center_x
|
|
center_y: self.parent.center_y
|
|
ScreenManager:
|
|
id: scr_mngr
|
|
Inbox:
|
|
id:sc1
|
|
Page:
|
|
id:sc2
|
|
Create:
|
|
id:sc3
|
|
Sent:
|
|
id:sc4
|
|
Trash:
|
|
id:sc5
|
|
Login:
|
|
id:sc6
|
|
Random:
|
|
id:sc7
|
|
AddressSuccessful:
|
|
id:sc8
|
|
Setting:
|
|
id:sc9
|
|
MyAddress:
|
|
id:sc10
|
|
AddressBook:
|
|
id:sc11
|
|
Payment:
|
|
id:sc12
|
|
NetworkStat:
|
|
id:sc13
|
|
|
|
<Inbox>:
|
|
name: 'inbox'
|
|
ScrollView:
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
BoxLayout:
|
|
size_hint_y: None
|
|
height: dp(56)
|
|
spacing: '10dp'
|
|
pos_hint: {'center_x':0.45, 'center_y': .1}
|
|
|
|
Widget:
|
|
|
|
MDFloatingActionButton:
|
|
icon: 'plus'
|
|
opposite_colors: True
|
|
elevation_normal: 8
|
|
md_bg_color: [0.941, 0, 0,1]
|
|
on_press: app.root.ids.scr_mngr.current = 'create'
|
|
|
|
<Sent>:
|
|
name: 'sent'
|
|
ScrollView:
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
BoxLayout:
|
|
size_hint_y: None
|
|
height: dp(56)
|
|
spacing: '10dp'
|
|
pos_hint: {'center_x':0.45, 'center_y': .1}
|
|
|
|
Widget:
|
|
|
|
MDFloatingActionButton:
|
|
icon: 'plus'
|
|
opposite_colors: True
|
|
elevation_normal: 8
|
|
md_bg_color: [0.941, 0, 0,1]
|
|
on_press: app.root.ids.scr_mngr.current = 'create'
|
|
|
|
<Trash>:
|
|
name: 'trash'
|
|
ScrollView:
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
BoxLayout:
|
|
size_hint_y: None
|
|
height: dp(56)
|
|
spacing: '10dp'
|
|
pos_hint: {'center_x':0.45, 'center_y': .1}
|
|
|
|
Widget:
|
|
|
|
MDFloatingActionButton:
|
|
icon: 'plus'
|
|
opposite_colors: True
|
|
elevation_normal: 8
|
|
md_bg_color: [0.941, 0, 0,1]
|
|
on_press: app.root.ids.scr_mngr.current = 'create'
|
|
|
|
<Draft>:
|
|
name: 'draft'
|
|
Label:
|
|
text:"I have a good dialox box"
|
|
color: 0,0,0,1
|
|
<Test>:
|
|
name: 'test'
|
|
Label:
|
|
text:"I am in test"
|
|
color: 0,0,0,1
|
|
|
|
<Page>:
|
|
name: 'page'
|
|
Label:
|
|
text:"I am on page"
|
|
color: 0,0,0,1
|
|
|
|
<Create>:
|
|
name: 'create'
|
|
|
|
<DropDownWidget>:
|
|
ScrollView:
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
size_hint_y: None
|
|
height: dp(app.scr_size)
|
|
padding: dp(32)
|
|
spacing: 15
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
MDTextField:
|
|
id: ti
|
|
hint_text: 'type or select sender address'
|
|
size_hint_y: None
|
|
height: 100
|
|
multiline: False
|
|
required: True
|
|
helper_text_mode: "on_error"
|
|
|
|
BoxLayout:
|
|
size_hint_y: None
|
|
height: 100
|
|
Spinner:
|
|
background_color: app.theme_cls.primary_dark
|
|
id: btn
|
|
text: 'select'
|
|
values: app.variable_1
|
|
on_text: ti.text = self.text
|
|
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
txt_input: txt_input
|
|
rv: rv
|
|
size : (890, 60)
|
|
size_hint: 1,1
|
|
MyTextInput:
|
|
id: txt_input
|
|
size_hint_y: None
|
|
height: 100
|
|
hint_text: 'type or search recipients address starting with BM-'
|
|
RV:
|
|
id: rv
|
|
MDTextField:
|
|
id: subject
|
|
hint_text: 'subject'
|
|
required: True
|
|
height: 100
|
|
size_hint_y: None
|
|
multiline: False
|
|
helper_text_mode: "on_error"
|
|
|
|
MDTextField:
|
|
id: body
|
|
multiline: True
|
|
hint_text: 'body'
|
|
size_hint_y: None
|
|
required: True
|
|
helper_text_mode: "on_error"
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .8, .3
|
|
text: 'send'
|
|
on_press: root.send()
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .8, .3
|
|
text: 'reset'
|
|
on_press: app.root.ids.scr_mngr.current = 'random'
|
|
|
|
<MyTextInput>:
|
|
readonly: False
|
|
multiline: False
|
|
|
|
<SelectableLabel>:
|
|
# Draw a background to indicate selection
|
|
color: 0,0,0,1
|
|
canvas.before:
|
|
Color:
|
|
rgba: app.theme_cls.primary_dark if self.selected else (1, 1, 1, 0)
|
|
Rectangle:
|
|
pos: self.pos
|
|
size: self.size
|
|
|
|
<RV>:
|
|
canvas:
|
|
Color:
|
|
rgba: 0,0,0,.2
|
|
|
|
Line:
|
|
rectangle: self.x +1 , self.y, self.width - 2, self.height -2
|
|
bar_width: 10
|
|
scroll_type:['bars']
|
|
viewclass: 'SelectableLabel'
|
|
SelectableRecycleBoxLayout:
|
|
default_size: None, dp(20)
|
|
default_size_hint: 1, None
|
|
size_hint_y: None
|
|
height: self.minimum_height
|
|
orientation: 'vertical'
|
|
multiselect: False
|
|
|
|
|
|
<Login>:
|
|
name: 'login'
|
|
ScrollView:
|
|
do_scroll_x: False
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
size_hint_y: None
|
|
height: dp(800)
|
|
BoxLayout:
|
|
MDLabel:
|
|
font_style: 'Body1'
|
|
theme_text_color: 'Primary'
|
|
text: "You may generate addresses by using either random numbers or by using a passphrase If you use a passphrase, the address is called a deterministic; address The Random Number option is selected by default but deterministic addresses have several \n pros and cons:\n"
|
|
halign: 'center'
|
|
bold: True
|
|
color:app.theme_cls.primary_dark
|
|
BoxLayout:
|
|
MDLabel:
|
|
font_style: 'Caption'
|
|
theme_text_color: 'Primary'
|
|
text: "If talk about pros You can recreate your addresses on any computer from memory, You need-not worry about backing up your keys.dat file as long as you can remember your passphrase and aside talk about cons You must remember (or write down) your You must remember the address version number and the stream number along with your passphrase If you choose a weak passphrase and someone on the Internet can brute-force it, they can read your messages and send messages as you"
|
|
halign: 'center'
|
|
bold: True
|
|
color:app.theme_cls.primary_dark
|
|
MDCheckbox:
|
|
id: grp_chkbox_1
|
|
group: 'test'
|
|
active: True
|
|
MDLabel:
|
|
font_style: 'Caption'
|
|
theme_text_color: 'Primary'
|
|
text: "use a random number generator to make an address"
|
|
halign: 'center'
|
|
size_hint_y: None
|
|
bold: True
|
|
height: self.texture_size[1] + dp(4)
|
|
color: [0.941, 0, 0,1]
|
|
MDCheckbox:
|
|
id: grp_chkbox_1
|
|
group: 'test'
|
|
MDLabel:
|
|
font_style: 'Caption'
|
|
theme_text_color: 'Primary'
|
|
text: "use a pseudo number generator to make an address"
|
|
halign: 'center'
|
|
size_hint_y: None
|
|
bold: True
|
|
color: [0.941, 0, 0,1]
|
|
height: self.texture_size[1] + dp(4)
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .8, .5
|
|
text: 'proceed'
|
|
on_press: app.root.ids.scr_mngr.current = 'random'
|
|
|
|
<Random>:
|
|
name: 'random'
|
|
ScrollView:
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
size_hint_y: None
|
|
height: self.minimum_height
|
|
padding: dp(48)
|
|
spacing: 200
|
|
MDLabel:
|
|
font_style: 'Body1'
|
|
theme_text_color: 'Primary'
|
|
text: "Random Addresses"
|
|
halign: 'center'
|
|
bold: True
|
|
color:app.theme_cls.primary_dark
|
|
|
|
MDLabel:
|
|
font_style: 'Body1'
|
|
theme_text_color: 'Primary'
|
|
text: "Here you may generate as many addresses as you like, Indeed creating and abandoning addresses is encouraged"
|
|
halign: 'center'
|
|
bold: True
|
|
color:app.theme_cls.primary_dark
|
|
|
|
MDTextField:
|
|
id: label
|
|
multiline: True
|
|
hint_text: "Label"
|
|
helper_text: "Label (not shown to anyone except you)"
|
|
required: True
|
|
helper_text_mode: "on_error"
|
|
MDRaisedButton:
|
|
text: 'next'
|
|
size_hint_y: 0.13
|
|
size_hint_x: 0.8
|
|
pos_hint: {'x': .1, 'y': 0.3}
|
|
opposite_colors: True
|
|
on_release: root.generateaddress()
|
|
|
|
<AddressSuccessful>:
|
|
name: 'add_sucess'
|
|
Label:
|
|
text: 'Successfully created a new bit address'
|
|
color: 0,0,0,1
|
|
|
|
<Setting>:
|
|
name: 'set'
|
|
ScrollView:
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
size_hint_y: None
|
|
height: dp(500)
|
|
OneLineListItem:
|
|
text: "SERVER SETTINGS"
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .8, .6
|
|
text: 'Server '
|
|
on_press: app.root.ids.scr_mngr.current = 'random'
|
|
OneLineListItem:
|
|
text: "DATA SETTINGS"
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .8, .6
|
|
text: 'Import or export data'
|
|
on_press: app.root.ids.scr_mngr.current = 'random'
|
|
OneLineListItem:
|
|
text: "OTHER SETTINGS"
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .8, .6
|
|
text: 'Restart background service'
|
|
on_press: app.root.ids.scr_mngr.current = 'random'
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDLabel:
|
|
font_style: 'Body1'
|
|
theme_text_color: 'Primary'
|
|
text: "bitmessage is 11 seconds behind the network"
|
|
halign: 'center'
|
|
bold: True
|
|
color: [0.941, 0, 0,1]
|
|
|
|
BoxLayout:
|
|
MDCheckbox:
|
|
id: chkbox
|
|
size_hint: None, None
|
|
size: dp(48), dp(48)
|
|
active: True
|
|
MDLabel:
|
|
font_style: 'Body1'
|
|
theme_text_color: 'Primary'
|
|
text: "show settings (for advanced users only)"
|
|
halign: 'left'
|
|
bold: True
|
|
color: app.theme_cls.primary_dark
|
|
|
|
<MyAddress>:
|
|
name: 'myaddress'
|
|
ScrollView:
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
|
|
<AddressBook>:
|
|
name: 'addressbook'
|
|
BoxLayout:
|
|
orientation:'vertical'
|
|
ScrollView:
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
|
|
<Payment>:
|
|
name: 'payment'
|
|
|
|
|
|
<GrashofPopup>:
|
|
id: popup
|
|
title: 'add contact\'s'
|
|
background: './images/popup.jpeg'
|
|
title_size: sp(30)
|
|
title_color: 0.4, 0.3765, 0.3451, 1
|
|
size_hint: 1, 1
|
|
auto_dismiss: False
|
|
separator_color: 0.3529, 0.3922, 0.102, 0.7
|
|
BoxLayout:
|
|
size_hint_y: None
|
|
orientation: 'vertical'
|
|
spacing:50
|
|
id: popup_box
|
|
orientation: 'vertical'
|
|
MDTextField:
|
|
id: label
|
|
multiline: True
|
|
hint_text: "Label"
|
|
required: True
|
|
helper_text_mode: "on_error"
|
|
MDTextField:
|
|
id: address
|
|
hint_text: "Address"
|
|
required: True
|
|
helper_text_mode: "on_error"
|
|
MDRaisedButton:
|
|
size_hint: 1, None
|
|
height: dp(40)
|
|
text: 'Save'
|
|
on_release:
|
|
root.savecontact()
|
|
app.root.ids.scr_mngr.current = 'addressbook'
|
|
MDRaisedButton:
|
|
size_hint: 1, None
|
|
height: dp(40)
|
|
text: 'Cancel'
|
|
on_press: root.dismiss()
|
|
MDRaisedButton:
|
|
size_hint: 1, None
|
|
height: dp(40)
|
|
text: 'Scan QR code'
|
|
|
|
<NetworkStat>:
|
|
name: 'networkstat'
|
|
MDTabbedPanel:
|
|
id: tab_panel
|
|
tab_display_mode:'text'
|
|
|
|
MDTab:
|
|
name: 'connections'
|
|
text: "Total connections"
|
|
ScrollView:
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
size_hint_y: None
|
|
height: dp(200)
|
|
OneLineListItem:
|
|
text: "Total Connections"
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .8, .5
|
|
text: root.text_variable_1
|
|
MDTab:
|
|
name: 'processes'
|
|
text: 'Processes'
|
|
ScrollView:
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
size_hint_y: None
|
|
height: dp(500)
|
|
OneLineListItem:
|
|
text: "person-to-person"
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .8, .6
|
|
text: root.text_variable_2
|
|
OneLineListItem:
|
|
text: "Brodcast"
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .8, .6
|
|
text: root.text_variable_3
|
|
OneLineListItem:
|
|
text: "publickeys"
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .8, .6
|
|
text: root.text_variable_4
|
|
|
|
OneLineListItem:
|
|
text: "objects"
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .8, .6
|
|
text: root.text_variable_5 |