1332 lines
44 KiB
Plaintext
1332 lines
44 KiB
Plaintext
|
|
#:import Toolbar kivymd.toolbar.Toolbar
|
|
#:import NavigationLayout kivymd.navigationdrawer.NavigationLayout
|
|
#:import NavigationDrawerDivider kivymd.navigationdrawer.NavigationDrawerDivider
|
|
#:import NavigationDrawerSubheader kivymd.navigationdrawer.NavigationDrawerSubheader
|
|
#:import MDCheckbox kivymd.selectioncontrols.MDCheckbox
|
|
#:import MDList kivymd.list.MDList
|
|
#:import OneLineListItem kivymd.list.OneLineListItem
|
|
#:import MDTextField kivymd.textfields.MDTextField
|
|
#:import get_color_from_hex kivy.utils.get_color_from_hex
|
|
#:import colors kivymd.color_definitions.colors
|
|
#:import MDTabbedPanel kivymd.tabs.MDTabbedPanel
|
|
#:import MDTab kivymd.tabs.MDTab
|
|
#:import MDFloatingActionButton kivymd.button.MDFloatingActionButton
|
|
#:import Factory kivy.factory.Factory
|
|
#:import MDScrollViewRefreshLayout kivymd.refreshlayout.MDScrollViewRefreshLayout
|
|
#:import MDSpinner kivymd.spinner.MDSpinner
|
|
#:import NoTransition kivy.uix.screenmanager.NoTransition
|
|
#:import MDSeparator kivymd.card.MDSeparator
|
|
|
|
#:set color_button (0.784, 0.443, 0.216, 1) # brown
|
|
#:set color_button_pressed (0.659, 0.522, 0.431, 1) # darker brown
|
|
#:set color_font (0.957, 0.890, 0.843, 1) # off white
|
|
|
|
<MyNavigationDrawerIconButton@NavigationDrawerIconButton>:
|
|
icon: 'checkbox-blank-circle'
|
|
|
|
<MySpinnerOption@SpinnerOption>:
|
|
font_size: '12.5sp'
|
|
background_color: color_button if self.state == 'down' else color_button_pressed
|
|
background_down: 'atlas://data/images/defaulttheme/button'
|
|
color: color_font
|
|
|
|
<ContentNavigationDrawer@Navigatorss>:
|
|
drawer_logo: './images/drawer_logo1.png'
|
|
NavigationDrawerDivider:
|
|
NavigationDrawerSubheader:
|
|
text: "Accounts"
|
|
NavigationDrawerIconButton:
|
|
CustomSpinner:
|
|
id: btn
|
|
pos_hint:{"x":0,"y":.25}
|
|
option_cls: Factory.get("MySpinnerOption")
|
|
font_size: '11.9sp'
|
|
text: app.getDefaultAccData()
|
|
background_color: color_button if self.state == 'normal' else color_button_pressed
|
|
background_down: 'atlas://data/images/defaulttheme/spinner'
|
|
color: color_font
|
|
values: app.variable_1
|
|
on_text:app.getCurrentAccountData(self.text)
|
|
Image:
|
|
source: app.get_default_image()
|
|
x: self.width/6
|
|
y: self.parent.y + self.parent.height/4
|
|
size: self.parent.height/2, self.parent.height/2
|
|
ArrowImg:
|
|
NavigationDrawerIconButton:
|
|
id: inbox_cnt
|
|
icon: 'email-open'
|
|
text: "Inbox"
|
|
on_release: app.root.ids.scr_mngr.current = 'inbox'
|
|
badge_text: "0"
|
|
on_press: app.load_screen(self)
|
|
NavigationDrawerIconButton:
|
|
id: send_cnt
|
|
icon: 'send'
|
|
text: "Sent"
|
|
on_release: app.root.ids.scr_mngr.current = 'sent'
|
|
badge_text: "0"
|
|
NavigationDrawerIconButton:
|
|
id: draft_cnt
|
|
icon: 'message-draw'
|
|
text: "Draft"
|
|
on_release: app.root.ids.scr_mngr.current = 'draft'
|
|
badge_text: "0"
|
|
#NavigationDrawerIconButton:
|
|
#text: "Starred"
|
|
#icon:'star'
|
|
#on_release: app.root.ids.scr_mngr.current = 'starred'
|
|
#badge_text: "0"
|
|
#NavigationDrawerIconButton:
|
|
#icon: 'archive'
|
|
#text: "Archieve"
|
|
#on_release: app.root.ids.scr_mngr.current = 'archieve'
|
|
#badge_text: "0"
|
|
#NavigationDrawerIconButton:
|
|
#icon: 'email-open-outline'
|
|
#text: "Spam"
|
|
#on_release: app.root.ids.scr_mngr.current = 'spam'
|
|
#badge_text: "0"
|
|
NavigationDrawerIconButton:
|
|
id: trash_cnt
|
|
icon: 'delete'
|
|
text: "Trash"
|
|
on_release: app.root.ids.scr_mngr.current = 'trash'
|
|
badge_text: "0"
|
|
NavigationDrawerIconButton:
|
|
id: allmail_cnt
|
|
text: "All Mails"
|
|
icon:'contact-mail'
|
|
on_release: app.root.ids.scr_mngr.current = 'allmails'
|
|
badge_text: "0"
|
|
on_press: app.load_screen(self)
|
|
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:'bell'
|
|
on_release: app.root.ids.scr_mngr.current = 'payment'
|
|
NavigationDrawerIconButton:
|
|
text: "Credits"
|
|
icon:'wallet'
|
|
on_release: app.root.ids.scr_mngr.current = 'credits'
|
|
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
|
|
|
|
FloatLayout:
|
|
id: float_box
|
|
BoxLayout:
|
|
id: box_layout
|
|
orientation: 'vertical'
|
|
Toolbar:
|
|
id: toolbar
|
|
title: app.current_address_label()
|
|
opacity: 1 if app.addressexist() else 0
|
|
disabled: False if app.addressexist() else True
|
|
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()]]
|
|
right_action_items: [['account-plus', lambda x: app.addingtoaddressbook()]]
|
|
|
|
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
|
|
Spam:
|
|
id:sc8
|
|
Setting:
|
|
id:sc9
|
|
MyAddress:
|
|
id:sc10
|
|
AddressBook:
|
|
id:sc11
|
|
Payment:
|
|
id:sc12
|
|
NetworkStat:
|
|
id:sc13
|
|
MailDetail:
|
|
id:sc14
|
|
ShowQRCode:
|
|
id:sc15
|
|
Draft:
|
|
id:sc16
|
|
Allmails:
|
|
id:sc17
|
|
Credits:
|
|
id:sc18
|
|
Starred:
|
|
id:sc19
|
|
Archieve:
|
|
id:sc20
|
|
|
|
<Inbox>:
|
|
name: 'inbox'
|
|
transition: NoTransition()
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
spacing: dp(5)
|
|
SearchBar:
|
|
GridLayout:
|
|
id: identi_tag
|
|
padding: [20, 0, 0, 5]
|
|
cols: 1
|
|
size_hint_y: None
|
|
height: self.minimum_height
|
|
MDLabel:
|
|
text: ''
|
|
font_style: 'Body1'
|
|
bold: True
|
|
#FloatLayout:
|
|
# MDScrollViewRefreshLayout:
|
|
# id: refresh_layout
|
|
# refresh_callback: root.refresh_callback
|
|
# root_layout: root.set_root_layout()
|
|
# MDList:
|
|
# id: ml
|
|
BoxLayout:
|
|
orientation:'vertical'
|
|
ScrollView:
|
|
id: scroll_y
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
Loader:
|
|
ComposerButton:
|
|
|
|
<Sent>:
|
|
name: 'sent'
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
spacing: dp(5)
|
|
SearchBar:
|
|
GridLayout:
|
|
id: identi_tag
|
|
padding: [20, 0, 0, 5]
|
|
cols: 1
|
|
size_hint_y: None
|
|
height: self.minimum_height
|
|
MDLabel:
|
|
text: ''
|
|
font_style: 'Body1'
|
|
bold: True
|
|
BoxLayout:
|
|
orientation:'vertical'
|
|
ScrollView:
|
|
id: scroll_y
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
Loader:
|
|
ComposerButton:
|
|
|
|
<Trash>:
|
|
name: 'trash'
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
spacing: dp(5)
|
|
GridLayout:
|
|
id: identi_tag
|
|
padding: [20, 20, 0, 5]
|
|
spacing: dp(5)
|
|
cols: 1
|
|
size_hint_y: None
|
|
height: self.minimum_height
|
|
MDLabel:
|
|
text: ''
|
|
font_style: 'Body1'
|
|
bold: True
|
|
BoxLayout:
|
|
orientation:'vertical'
|
|
ScrollView:
|
|
id: scroll_y
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
Loader:
|
|
ComposerButton:
|
|
|
|
<Draft>:
|
|
name: 'draft'
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
spacing: dp(5)
|
|
GridLayout:
|
|
id: identi_tag
|
|
padding: [20, 20, 0, 5]
|
|
cols: 1
|
|
size_hint_y: None
|
|
height: self.minimum_height
|
|
MDLabel:
|
|
text: ''
|
|
font_style: 'Body1'
|
|
bold: True
|
|
BoxLayout:
|
|
orientation:'vertical'
|
|
ScrollView:
|
|
id: scroll_y
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
ComposerButton:
|
|
|
|
<Starred>:
|
|
name: 'starred'
|
|
ScrollView:
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
ComposerButton:
|
|
|
|
<Archieve>:
|
|
name: 'archieve'
|
|
ScrollView:
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
ComposerButton:
|
|
|
|
<Spam>:
|
|
name: 'spam'
|
|
ScrollView:
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
ComposerButton:
|
|
|
|
<Allmails>:
|
|
name: 'allmails'
|
|
#FloatLayout:
|
|
# MDScrollViewRefreshLayout:
|
|
# id: refresh_layout
|
|
# refresh_callback: root.refresh_callback
|
|
# root_layout: root.set_root_layout()
|
|
# MDList:
|
|
# id: ml
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
spacing: dp(5)
|
|
GridLayout:
|
|
id: identi_tag
|
|
padding: [20, 20, 0, 5]
|
|
spacing: dp(5)
|
|
cols: 1
|
|
size_hint_y: None
|
|
height: self.minimum_height
|
|
MDLabel:
|
|
text: ''
|
|
font_style: 'Body1'
|
|
bold: True
|
|
BoxLayout:
|
|
orientation:'vertical'
|
|
ScrollView:
|
|
id: scroll_y
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
Loader:
|
|
ComposerButton:
|
|
|
|
<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'
|
|
Loader:
|
|
|
|
<Credits>:
|
|
name: 'credits'
|
|
ScrollView:
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
size_hint_y: None
|
|
height: dp(200)
|
|
OneLineListItem:
|
|
text: "Available Credits"
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .6, .35
|
|
height: dp(40)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: root.available_credits
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
|
|
<DropDownWidget>:
|
|
ScrollView:
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
size_hint_y: None
|
|
height: self.minimum_height + 2 * self.parent.height/4
|
|
padding: dp(32)
|
|
spacing: 15
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
MDTextField:
|
|
id: ti
|
|
hint_text: 'type or select sender address'
|
|
size_hint_y: None
|
|
height: 100
|
|
font_size: '13sp'
|
|
multiline: False
|
|
required: True
|
|
helper_text_mode: "on_error"
|
|
|
|
BoxLayout:
|
|
size_hint_y: None
|
|
height: dp(40)
|
|
CustomSpinner:
|
|
background_color: app.theme_cls.primary_dark
|
|
id: btn
|
|
values: app.variable_1
|
|
on_text: root.auto_fill_fromaddr() if self.text != 'Select' else ''
|
|
option_cls: Factory.get("MySpinnerOption")
|
|
background_color: color_button if self.state == 'normal' else color_button_pressed
|
|
background_down: 'atlas://data/images/defaulttheme/spinner'
|
|
color: color_font
|
|
font_size: '12.5sp'
|
|
ArrowImg:
|
|
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
txt_input: txt_input
|
|
rv: rv
|
|
size : (890, 60)
|
|
size_hint: 1,1
|
|
MyTextInput:
|
|
id: txt_input
|
|
size_hint_y: None
|
|
font_size: '13sp'
|
|
height: self.parent.height/2
|
|
#hint_text: 'type or search recipients address starting with BM-'
|
|
hint_text: 'type, select or scan QR code for recipients address'
|
|
RV:
|
|
id: rv
|
|
MDTextField:
|
|
id: subject
|
|
hint_text: 'subject'
|
|
required: True
|
|
height: 100
|
|
font_size: '13sp'
|
|
size_hint_y: None
|
|
multiline: False
|
|
helper_text_mode: "on_error"
|
|
|
|
MDTextField:
|
|
id: body
|
|
multiline: True
|
|
hint_text: 'body'
|
|
size_hint_y: None
|
|
font_size: '13sp'
|
|
required: True
|
|
helper_text_mode: "on_error"
|
|
BoxLayout:
|
|
spacing:50
|
|
|
|
<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(750)
|
|
padding: dp(10)
|
|
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
|
|
allow_no_selection: False
|
|
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'
|
|
allow_no_selection: False
|
|
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:
|
|
height: dp(40)
|
|
on_press: app.root.ids.scr_mngr.current = 'random'
|
|
on_press: app.root.ids.sc7.reset_address_label()
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'proceed'
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
|
|
<Random>:
|
|
name: 'random'
|
|
ScrollView:
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
size_hint_y: None
|
|
height: self.minimum_height
|
|
padding: dp(20)
|
|
spacing: 100
|
|
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"
|
|
required: True
|
|
helper_text_mode: "on_error"
|
|
on_text: root.add_validation(self)
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
height: dp(40)
|
|
on_release: root.generateaddress(app)
|
|
opposite_colors: True
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'next'
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
|
|
<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: .6, .55
|
|
height: dp(40)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'Server'
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
OneLineListItem:
|
|
text: "DATA SETTINGS"
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .6, .55
|
|
height: dp(40)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'Import or export data'
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
OneLineListItem:
|
|
text: "OTHER SETTINGS"
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .6, .55
|
|
height: dp(40)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'Restart background service'
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
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(64)
|
|
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'
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
spacing: dp(5)
|
|
SearchBar:
|
|
GridLayout:
|
|
id: identi_tag
|
|
padding: [20, 0, 0, 5]
|
|
cols: 1
|
|
size_hint_y: None
|
|
height: self.minimum_height
|
|
MDLabel:
|
|
text: 'My Addresses'
|
|
font_style: 'Body1'
|
|
bold: True
|
|
FloatLayout:
|
|
MDScrollViewRefreshLayout:
|
|
id: refresh_layout
|
|
refresh_callback: root.refresh_callback
|
|
root_layout: root.set_root_layout()
|
|
MDList:
|
|
id: ml
|
|
Loader:
|
|
ComposerButton:
|
|
|
|
<AddressBook>:
|
|
name: 'addressbook'
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
spacing: dp(5)
|
|
SearchBar:
|
|
GridLayout:
|
|
id: identi_tag
|
|
padding: [20, 0, 0, 5]
|
|
cols: 1
|
|
size_hint_y: None
|
|
height: self.minimum_height
|
|
MDLabel:
|
|
text: ''
|
|
font_style: 'Body1'
|
|
bold: True
|
|
BoxLayout:
|
|
orientation:'vertical'
|
|
ScrollView:
|
|
id: scroll_y
|
|
do_scroll_x: False
|
|
MDList:
|
|
id: ml
|
|
Loader:
|
|
ComposerButton:
|
|
|
|
<Payment>:
|
|
name: 'payment'
|
|
ScrollView:
|
|
do_scroll_x: False
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
padding: [dp(app.window_size[0]/16 if app.window_size[0] <= 720 else app.window_size[0]/6 if app.window_size[0] <= 800 else app.window_size[0]/18), dp(10)]
|
|
spacing: 12
|
|
size_hint_y: None
|
|
height: self.minimum_height + dp(app.window_size[1]) if app.window_size[1] > app.window_size[0] else dp(app.window_size[0])
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
padding: dp(5)
|
|
canvas.before:
|
|
Color:
|
|
rgba: app.theme_cls.primary_dark
|
|
Rectangle:
|
|
# self here refers to the widget i.e FloatLayout
|
|
pos: self.pos
|
|
size: self.size
|
|
MDLabel:
|
|
size_hint_y: None
|
|
font_style: 'Headline'
|
|
theme_text_color: 'Primary'
|
|
text: 'Platinum'
|
|
halign: 'center'
|
|
color: 1,1,1,1
|
|
MDLabel:
|
|
font_style: 'Subhead'
|
|
theme_text_color: 'Primary'
|
|
text: 'We provide subscriptions for proof of work calculation for first month. '
|
|
halign: 'center'
|
|
color: 1,1,1,1
|
|
MDLabel:
|
|
id: free_pak
|
|
font_style: 'Headline'
|
|
theme_text_color: 'Primary'
|
|
text: '€ 50.0'
|
|
halign: 'center'
|
|
color: 1,1,1,1
|
|
MDRaisedButton:
|
|
canvas:
|
|
Color:
|
|
rgb: (0.93, 0.93, 0.93)
|
|
Rectangle:
|
|
pos: self.pos
|
|
size: self.size
|
|
size_hint: 1, None
|
|
height: dp(40)
|
|
on_press: root.get_available_credits(self)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'Get Free Credits'
|
|
font_size: '13sp'
|
|
color: (0,0,0,1)
|
|
halign: 'center'
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
padding: dp(5)
|
|
canvas.before:
|
|
Color:
|
|
rgba: app.theme_cls.primary_dark
|
|
Rectangle:
|
|
# self here refers to the widget i.e FloatLayout
|
|
pos: self.pos
|
|
size: self.size
|
|
MDLabel:
|
|
size_hint_y: None
|
|
font_style: 'Headline'
|
|
theme_text_color: 'Primary'
|
|
text: 'Silver'
|
|
halign: 'center'
|
|
color: 1,1,1,1
|
|
MDLabel:
|
|
font_style: 'Subhead'
|
|
theme_text_color: 'Primary'
|
|
text: 'We provide for proof of work calculation for six month. '
|
|
halign: 'center'
|
|
color: 1,1,1,1
|
|
MDLabel:
|
|
font_style: 'Headline'
|
|
theme_text_color: 'Primary'
|
|
text: '€ 100.0'
|
|
halign: 'center'
|
|
color: 1,1,1,1
|
|
MDRaisedButton:
|
|
canvas:
|
|
Color:
|
|
rgb: (0.93, 0.93, 0.93)
|
|
Rectangle:
|
|
pos: self.pos
|
|
size: self.size
|
|
size_hint: 1, None
|
|
height: dp(40)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'Get Monthly Credits'
|
|
font_size: '13sp'
|
|
color: (0,0,0,1)
|
|
halign: 'center'
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
padding: dp(5)
|
|
canvas.before:
|
|
Color:
|
|
rgba: app.theme_cls.primary_dark
|
|
Rectangle:
|
|
# self here refers to the widget i.e FloatLayout
|
|
pos: self.pos
|
|
size: self.size
|
|
MDLabel:
|
|
size_hint_y: None
|
|
font_style: 'Headline'
|
|
theme_text_color: 'Primary'
|
|
text: 'Gold'
|
|
halign: 'center'
|
|
color: 1,1,1,1
|
|
MDLabel:
|
|
font_style: 'Subhead'
|
|
theme_text_color: 'Primary'
|
|
text: 'We provide for proof of work calculation for 1years. '
|
|
halign: 'center'
|
|
color: 1,1,1,1
|
|
MDLabel:
|
|
font_style: 'Headline'
|
|
theme_text_color: 'Primary'
|
|
text: '€ 500.0'
|
|
halign: 'center'
|
|
color: 1,1,1,1
|
|
MDRaisedButton:
|
|
canvas:
|
|
Color:
|
|
rgb: (0.93, 0.93, 0.93)
|
|
Rectangle:
|
|
pos: self.pos
|
|
size: self.size
|
|
size_hint: 1, None
|
|
height: dp(40)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'Get Yearly Credits'
|
|
font_size: '13sp'
|
|
color: (0,0,0,1)
|
|
halign: 'center'
|
|
|
|
|
|
<GrashofPopup>:
|
|
id: popup
|
|
size_hint : (None,None)
|
|
height: 2*(label.height + address.height) + 10
|
|
width :app.window_size[0] - (app.window_size[0]/10 if app.app_platform == 'android' else app.window_size[0]/4)
|
|
title: 'add contact\'s'
|
|
background: './images/popup.jpeg'
|
|
title_size: sp(20)
|
|
title_color: 0.4, 0.3765, 0.3451, 1
|
|
auto_dismiss: False
|
|
separator_color: 0.3529, 0.3922, 0.102, 0.7
|
|
BoxLayout:
|
|
size_hint_y: 0.5
|
|
orientation: 'vertical'
|
|
spacing:dp(20)
|
|
id: popup_box
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
MDTextField:
|
|
id: label
|
|
multiline: False
|
|
hint_text: "Label"
|
|
required: True
|
|
helper_text_mode: "on_error"
|
|
on_text: root.checkLabel_valid(self)
|
|
MDTextField:
|
|
id: address
|
|
hint_text: "Address"
|
|
required: True
|
|
helper_text_mode: "on_error"
|
|
on_text: root.checkAddress_valid(self)
|
|
BoxLayout:
|
|
spacing:5
|
|
orientation: 'horizontal'
|
|
MDRaisedButton:
|
|
id: save_addr
|
|
size_hint: 1.5, None
|
|
height: dp(40)
|
|
on_release:
|
|
root.savecontact()
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'Save'
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
MDRaisedButton:
|
|
size_hint: 1.5, None
|
|
height: dp(40)
|
|
on_press: root.dismiss()
|
|
on_press: root.close_pop()
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'Cancel'
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
MDRaisedButton:
|
|
size_hint: 2, None
|
|
height: dp(40)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'Scan QR code'
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
|
|
|
|
<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: .6, .35
|
|
height: dp(40)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: root.text_variable_1
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
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: .7, .6
|
|
height: dp(40)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: root.text_variable_2
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
OneLineListItem:
|
|
text: "Brodcast"
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .7, .6
|
|
height: dp(40)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: root.text_variable_3
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
OneLineListItem:
|
|
text: "publickeys"
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .7, .6
|
|
height: dp(40)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: root.text_variable_4
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
OneLineListItem:
|
|
text: "objects"
|
|
BoxLayout:
|
|
AnchorLayout:
|
|
MDRaisedButton:
|
|
size_hint: .7, .6
|
|
height: dp(40)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: root.text_variable_5
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
|
|
<MailDetail>:
|
|
name: 'mailDetail'
|
|
ScrollView:
|
|
do_scroll_x: False
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
size_hint_y: None
|
|
height: dp(500) + self.minimum_height
|
|
padding: dp(32)
|
|
MDLabel:
|
|
font_style: 'Headline'
|
|
theme_text_color: 'Primary'
|
|
text: root.subject
|
|
halign: 'left'
|
|
font_size: '20sp'
|
|
CopyTextBtn:
|
|
MDLabel:
|
|
font_style: 'Subhead'
|
|
theme_text_color: 'Primary'
|
|
text: "From: " + root.from_addr
|
|
halign: 'left'
|
|
CopyTextBtn:
|
|
MDLabel:
|
|
font_style: 'Subhead'
|
|
theme_text_color: 'Primary'
|
|
text: "To: " + root.to_addr
|
|
halign: 'left'
|
|
CopyTextBtn:
|
|
MDLabel:
|
|
font_style: 'Subhead'
|
|
theme_text_color: 'Primary'
|
|
text: root.status
|
|
halign: 'left'
|
|
MDLabel:
|
|
font_style: 'Subhead'
|
|
theme_text_color: 'Primary'
|
|
text: root.message
|
|
halign: 'left'
|
|
bold: True
|
|
CopyTextBtn:
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
size_hint_y: None
|
|
height: dp(100) + self.minimum_height
|
|
Loader:
|
|
|
|
<CopyTextBtn@Button>:
|
|
id: cpyButton
|
|
color: 0,0,0,1
|
|
background_color: (0,0,0,0)
|
|
center_x: self.parent.center_x * 2 - self.parent.parent.padding[0]/2
|
|
center_y: self.parent.center_y
|
|
on_press:app.root.ids.sc14.copy_composer_text(self)
|
|
Image:
|
|
source: './images/copy_text.png'
|
|
center_x: self.parent.center_x
|
|
center_y: self.parent.center_y
|
|
size: 20, 20
|
|
|
|
<ComposerButton@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'
|
|
on_press: app.clear_composer()
|
|
|
|
<MyaddDetailPopup>:
|
|
id: myadd_popup
|
|
size_hint : (None,None)
|
|
height: 4.5*(myaddr_label.height+ my_add_btn.children[0].height)
|
|
width :app.window_size[0] - (app.window_size[0]/10 if app.app_platform == 'android' else app.window_size[0]/4)
|
|
background: './images/popup.jpeg'
|
|
auto_dismiss: False
|
|
separator_height: 0
|
|
BoxLayout:
|
|
id: myadd_popup_box
|
|
size_hint_y: None
|
|
spacing:dp(70)
|
|
orientation: 'vertical'
|
|
BoxLayout:
|
|
size_hint_y: None
|
|
orientation: 'vertical'
|
|
spacing:dp(25)
|
|
MDLabel:
|
|
id: myaddr_label
|
|
font_style: 'Title'
|
|
theme_text_color: 'Primary'
|
|
text: "Label"
|
|
font_size: '17sp'
|
|
halign: 'left'
|
|
MDLabel:
|
|
font_style: 'Subhead'
|
|
theme_text_color: 'Primary'
|
|
text: root.address_label
|
|
font_size: '15sp'
|
|
halign: 'left'
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
theme_text_color: 'Primary'
|
|
text: "Address"
|
|
font_size: '17sp'
|
|
halign: 'left'
|
|
MDLabel:
|
|
font_style: 'Subhead'
|
|
theme_text_color: 'Primary'
|
|
text: root.address
|
|
font_size: '15sp'
|
|
halign: 'left'
|
|
BoxLayout:
|
|
id: my_add_btn
|
|
spacing:5
|
|
orientation: 'horizontal'
|
|
MDRaisedButton:
|
|
size_hint: 2, None
|
|
height: dp(40)
|
|
on_press: root.send_message_from()
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'Send message from'
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
MDRaisedButton:
|
|
size_hint: 1.5, None
|
|
height: dp(40)
|
|
on_press: root.dismiss()
|
|
on_press: app.root.ids.scr_mngr.current = 'showqrcode'
|
|
on_press: app.root.ids.sc15.qrdisplay()
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'Show QR code'
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
MDRaisedButton:
|
|
size_hint: 1.5, None
|
|
height: dp(40)
|
|
on_press: root.dismiss()
|
|
on_press: root.close_pop()
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'Cancel'
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
|
|
<AddbookDetailPopup>:
|
|
id: addbook_popup
|
|
size_hint : (None,None)
|
|
height: 4*(add_label.height)
|
|
width :app.window_size[0] - (app.window_size[0]/10 if app.app_platform == 'android' else app.window_size[0]/4)
|
|
background: './images/popup.jpeg'
|
|
separator_height: 0
|
|
auto_dismiss: False
|
|
BoxLayout:
|
|
size_hint_y: None
|
|
spacing:dp(70)
|
|
id: addbook_popup_box
|
|
orientation: 'vertical'
|
|
BoxLayout:
|
|
size_hint_y: None
|
|
orientation: 'vertical'
|
|
spacing:dp(20)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
theme_text_color: 'Primary'
|
|
text: "Label"
|
|
font_size: '17sp'
|
|
halign: 'left'
|
|
MDTextField:
|
|
id: add_label
|
|
font_style: 'Subhead'
|
|
font_size: '15sp'
|
|
halign: 'left'
|
|
text: root.address_label
|
|
theme_text_color: 'Primary'
|
|
required: True
|
|
helper_text_mode: "on_error"
|
|
on_text: root.checkLabel_valid(self)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
theme_text_color: 'Primary'
|
|
text: "Address"
|
|
font_size: '17sp'
|
|
halign: 'left'
|
|
MDLabel:
|
|
id: address
|
|
font_style: 'Subhead'
|
|
theme_text_color: 'Primary'
|
|
text: root.address
|
|
font_size: '15sp'
|
|
halign: 'left'
|
|
BoxLayout:
|
|
id: addbook_btn
|
|
spacing:5
|
|
orientation: 'horizontal'
|
|
MDRaisedButton:
|
|
size_hint: 2, None
|
|
height: dp(40)
|
|
on_press: root.send_message_to()
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'Send message to'
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
MDRaisedButton:
|
|
size_hint: 1.5, None
|
|
height: dp(40)
|
|
font_size: '10sp'
|
|
on_press: root.update_addbook_label(root.address)
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'Save'
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
MDRaisedButton:
|
|
size_hint: 1.5, None
|
|
height: dp(40)
|
|
on_press: root.dismiss()
|
|
on_press: root.close_pop()
|
|
MDLabel:
|
|
font_style: 'Title'
|
|
text: 'Cancel'
|
|
font_size: '13sp'
|
|
color: (1,1,1,1)
|
|
halign: 'center'
|
|
|
|
<ShowQRCode>:
|
|
name: 'showqrcode'
|
|
BoxLayout:
|
|
orientation: 'vertical'
|
|
id: qr
|
|
|
|
|
|
<ArrowImg@Image>:
|
|
source: './images/down-arrow.png' if self.parent.is_open == True else './images/right-arrow.png'
|
|
size: 15, 15
|
|
x: self.parent.x + self.parent.width - self.width - 5
|
|
y: self.parent.y + self.parent.height/2 - self.height + 5
|
|
|
|
|
|
<SearchBar@BoxLayout>:
|
|
id: search_bar
|
|
size_hint_y: None
|
|
height: self.minimum_height
|
|
|
|
MDIconButton:
|
|
icon: 'magnify'
|
|
|
|
MDTextField:
|
|
id: search_field
|
|
hint_text: 'Search'
|
|
on_text: app.searchQuery(self)
|
|
|
|
|
|
<LoadingPopup>:
|
|
separator_color: 1, 1, 1, 1
|
|
background: "White.png"
|
|
Button:
|
|
id: btn
|
|
disabled: True
|
|
background_disabled_normal: "White.png"
|
|
Image:
|
|
source: './images/loader.zip'
|
|
anim_delay: 0
|
|
#mipmap: True
|
|
size: root.size
|
|
|
|
|
|
<Loader@MDSpinner>:
|
|
id: spinner
|
|
size_hint: None, None
|
|
size: dp(46), dp(46)
|
|
pos_hint: {'center_x': 0.5, 'center_y': 0.5}
|
|
active: False |