commit
9a1917face
|
@ -1,8 +1,8 @@
|
||||||
|
#:import IconLeftWidget kivymd.uix.list.IconLeftWidget
|
||||||
|
#:import images_path kivymd.images_path
|
||||||
|
#:import Spinner kivy.uix.spinner.Spinner
|
||||||
|
#:import Factory kivy.factory.Factory
|
||||||
|
|
||||||
#:import MDToolbar kivymd.uix.toolbar.MDToolbar
|
|
||||||
#:import NavigationLayout kivymd.uix.navigationdrawer.NavigationLayout
|
|
||||||
#:import NavigationDrawerDivider kivymd.uix.navigationdrawer.NavigationDrawerDivider
|
|
||||||
#:import NavigationDrawerSubheader kivymd.uix.navigationdrawer.NavigationDrawerSubheader
|
|
||||||
#:import MDCheckbox kivymd.uix.selectioncontrol.MDCheckbox
|
#:import MDCheckbox kivymd.uix.selectioncontrol.MDCheckbox
|
||||||
#:import MDList kivymd.uix.list.MDList
|
#:import MDList kivymd.uix.list.MDList
|
||||||
#:import OneLineListItem kivymd.uix.list.OneLineListItem
|
#:import OneLineListItem kivymd.uix.list.OneLineListItem
|
||||||
|
@ -15,35 +15,58 @@
|
||||||
#:import Factory kivy.factory.Factory
|
#:import Factory kivy.factory.Factory
|
||||||
#:import MDScrollViewRefreshLayout kivymd.uix.refreshlayout.MDScrollViewRefreshLayout
|
#:import MDScrollViewRefreshLayout kivymd.uix.refreshlayout.MDScrollViewRefreshLayout
|
||||||
#:import MDSpinner kivymd.uix.spinner.MDSpinner
|
#:import MDSpinner kivymd.uix.spinner.MDSpinner
|
||||||
#:import NoTransition kivy.uix.screenmanager.NoTransition
|
|
||||||
#:import MDTabsBase kivymd.uix.tab.MDTabsBase
|
#:import MDTabsBase kivymd.uix.tab.MDTabsBase
|
||||||
<Tab@BoxLayout+MDTabsBase>
|
<Tab@BoxLayout+MDTabsBase>
|
||||||
|
|
||||||
|
|
||||||
#:set color_button (0.784, 0.443, 0.216, 1) # brown
|
#: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_button_pressed (0.659, 0.522, 0.431, 1) # darker brown
|
||||||
#:set color_font (0.957, 0.890, 0.843, 1) # off white
|
#:set color_font (0.957, 0.890, 0.843, 1) # off white
|
||||||
|
|
||||||
<MyNavigationDrawerIconButton@NavigationDrawerIconButton>:
|
|
||||||
font_style: 'Body1'
|
|
||||||
theme_text_color: 'Secondary'
|
|
||||||
|
|
||||||
<MySpinnerOption@SpinnerOption>:
|
<MySpinnerOption@SpinnerOption>:
|
||||||
font_size: '12.5sp'
|
font_size: '12.5sp'
|
||||||
background_color: color_button if self.state == 'down' else color_button_pressed
|
background_color: color_button if self.state == 'down' else color_button_pressed
|
||||||
background_down: 'atlas://data/images/defaulttheme/button'
|
background_down: 'atlas://data/images/defaulttheme/button'
|
||||||
color: color_font
|
color: color_font
|
||||||
|
|
||||||
<ContentNavigationDrawer@Navigatorss>:
|
<NavigationItem>
|
||||||
drawer_logo: './images/drawer_logo1.png'
|
theme_text_color: 'Custom'
|
||||||
NavigationDrawerDivider:
|
divider: None
|
||||||
height: dp(7)
|
|
||||||
NavigationDrawerSubheader:
|
IconLeftWidget:
|
||||||
text: "Accounts"
|
icon: root.icon
|
||||||
AddressDropdown:
|
|
||||||
CustomSpinner:
|
|
||||||
|
<ContentNavigationDrawer>
|
||||||
|
|
||||||
|
BoxLayout:
|
||||||
|
orientation: 'vertical'
|
||||||
|
|
||||||
|
FloatLayout:
|
||||||
|
size_hint_y: None
|
||||||
|
height: "200dp"
|
||||||
|
|
||||||
|
BoxLayout:
|
||||||
|
id: top_box
|
||||||
|
size_hint_y: None
|
||||||
|
height: "200dp"
|
||||||
|
#padding: "10dp"
|
||||||
|
x: root.parent.x
|
||||||
|
pos_hint: {"top": 1}
|
||||||
|
Image:
|
||||||
|
source: './images/drawer_logo1.png'
|
||||||
|
|
||||||
|
ScrollView:
|
||||||
|
pos_hint: {"top": 1}
|
||||||
|
|
||||||
|
GridLayout:
|
||||||
|
id: box_item
|
||||||
|
cols: 1
|
||||||
|
size_hint_y: None
|
||||||
|
height: self.minimum_height
|
||||||
|
NavigationItem:
|
||||||
|
Spinner:
|
||||||
id: btn
|
id: btn
|
||||||
pos_hint:{"x":0,"y":.25}
|
pos_hint:{"x":0,"y":.1}
|
||||||
option_cls: Factory.get("MySpinnerOption")
|
option_cls: Factory.get("MySpinnerOption")
|
||||||
font_size: '11.9sp'
|
font_size: '11.9sp'
|
||||||
text: app.getDefaultAccData()
|
text: app.getDefaultAccData()
|
||||||
|
@ -58,110 +81,100 @@
|
||||||
y: self.parent.y + self.parent.height/4
|
y: self.parent.y + self.parent.height/4
|
||||||
size: self.parent.height/2, self.parent.height/2
|
size: self.parent.height/2, self.parent.height/2
|
||||||
ArrowImg:
|
ArrowImg:
|
||||||
MyNavigationDrawerIconButton:
|
NavigationItem:
|
||||||
id: inbox_cnt
|
text: 'Inbox'
|
||||||
icon: 'email-open'
|
icon: 'email-open'
|
||||||
text: "Inbox"
|
divider: None
|
||||||
|
badge_text: "0"
|
||||||
on_release: app.root.ids.scr_mngr.current = 'inbox'
|
on_release: app.root.ids.scr_mngr.current = 'inbox'
|
||||||
badge_text: "0"
|
on_release: root.parent.toggle_nav_drawer()
|
||||||
on_press: app.load_screen(self)
|
on_press: app.load_screen(self)
|
||||||
MyNavigationDrawerIconButton:
|
NavigationItem:
|
||||||
id: send_cnt
|
text: 'Sent'
|
||||||
icon: 'send'
|
icon: 'send'
|
||||||
text: "Sent"
|
divider: None
|
||||||
#use_active: False
|
|
||||||
on_release: app.root.ids.scr_mngr.current = 'sent'
|
on_release: app.root.ids.scr_mngr.current = 'sent'
|
||||||
badge_text: "0"
|
on_release: root.parent.toggle_nav_drawer()
|
||||||
MyNavigationDrawerIconButton:
|
NavigationItem:
|
||||||
id: draft_cnt
|
text: 'Draft'
|
||||||
icon: 'message-draw'
|
icon: 'message-draw'
|
||||||
text: "Draft"
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'draft'
|
on_release: app.root.ids.scr_mngr.current = 'draft'
|
||||||
badge_text: "0"
|
on_release: root.parent.toggle_nav_drawer()
|
||||||
#MyNavigationDrawerIconButton:
|
NavigationItem:
|
||||||
#text: "Starred"
|
text: 'Trash'
|
||||||
#icon:'star'
|
|
||||||
#on_release: app.root.ids.scr_mngr.current = 'starred'
|
|
||||||
#badge_text: "0"
|
|
||||||
#MyNavigationDrawerIconButton:
|
|
||||||
#icon: 'archive'
|
|
||||||
#text: "Archieve"
|
|
||||||
#on_release: app.root.ids.scr_mngr.current = 'archieve'
|
|
||||||
#badge_text: "0"
|
|
||||||
#MyNavigationDrawerIconButton:
|
|
||||||
#icon: 'email-open-outline'
|
|
||||||
#text: "Spam"
|
|
||||||
#on_release: app.root.ids.scr_mngr.current = 'spam'
|
|
||||||
#badge_text: "0"
|
|
||||||
MyNavigationDrawerIconButton:
|
|
||||||
id: trash_cnt
|
|
||||||
icon: 'delete'
|
icon: 'delete'
|
||||||
text: "Trash"
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'trash'
|
on_release: app.root.ids.scr_mngr.current = 'trash'
|
||||||
badge_text: "0"
|
on_release: root.parent.toggle_nav_drawer()
|
||||||
MyNavigationDrawerIconButton:
|
NavigationItem:
|
||||||
id: allmail_cnt
|
text: 'All Mails'
|
||||||
text: "All Mails"
|
icon: 'contact-mail'
|
||||||
icon:'contact-mail'
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'allmails'
|
on_release: app.root.ids.scr_mngr.current = 'allmails'
|
||||||
badge_text: "0"
|
on_release: root.parent.toggle_nav_drawer()
|
||||||
on_press: app.load_screen(self)
|
on_press: app.load_screen(self)
|
||||||
NavigationDrawerDivider:
|
NavigationItem:
|
||||||
NavigationDrawerSubheader:
|
text: 'Address Book'
|
||||||
text: "All labels"
|
icon: 'book-multiple'
|
||||||
MyNavigationDrawerIconButton:
|
divider: None
|
||||||
text: "Address Book"
|
|
||||||
icon:'book-multiple'
|
|
||||||
on_release: app.root.ids.scr_mngr.current = 'addressbook'
|
on_release: app.root.ids.scr_mngr.current = 'addressbook'
|
||||||
MyNavigationDrawerIconButton:
|
on_release: root.parent.toggle_nav_drawer()
|
||||||
text: "Settings"
|
NavigationItem:
|
||||||
icon:'settings'
|
text: 'Settings'
|
||||||
|
icon: 'settings'
|
||||||
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'set'
|
on_release: app.root.ids.scr_mngr.current = 'set'
|
||||||
MyNavigationDrawerIconButton:
|
on_release: root.parent.toggle_nav_drawer()
|
||||||
text: "Subscriptions/Payment"
|
NavigationItem:
|
||||||
icon:'bell'
|
text: 'Payment'
|
||||||
|
icon: 'bell'
|
||||||
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'payment'
|
on_release: app.root.ids.scr_mngr.current = 'payment'
|
||||||
MyNavigationDrawerIconButton:
|
on_release: root.parent.toggle_nav_drawer()
|
||||||
text: "Credits"
|
NavigationItem:
|
||||||
icon:'wallet'
|
text: 'Credits'
|
||||||
|
icon: 'wallet'
|
||||||
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'credits'
|
on_release: app.root.ids.scr_mngr.current = 'credits'
|
||||||
MyNavigationDrawerIconButton:
|
on_release: root.parent.toggle_nav_drawer()
|
||||||
text: "new address"
|
NavigationItem:
|
||||||
icon:'account-plus'
|
text: 'New address'
|
||||||
|
icon: 'account-plus'
|
||||||
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'login'
|
on_release: app.root.ids.scr_mngr.current = 'login'
|
||||||
MyNavigationDrawerIconButton:
|
on_release: root.parent.toggle_nav_drawer()
|
||||||
text: "Network Status"
|
NavigationItem:
|
||||||
icon:'server-network'
|
text: 'Network status'
|
||||||
|
icon: 'server-network'
|
||||||
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'networkstat'
|
on_release: app.root.ids.scr_mngr.current = 'networkstat'
|
||||||
MyNavigationDrawerIconButton:
|
on_release: root.parent.toggle_nav_drawer()
|
||||||
text: "My Addresses"
|
NavigationItem:
|
||||||
icon:'account-multiple'
|
text: 'My addresses'
|
||||||
|
icon: 'account-multiple'
|
||||||
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'myaddress'
|
on_release: app.root.ids.scr_mngr.current = 'myaddress'
|
||||||
|
on_release: root.parent.toggle_nav_drawer()
|
||||||
|
|
||||||
NavigationLayout:
|
NavigationLayout:
|
||||||
id: nav_layout
|
id: nav_layout
|
||||||
|
|
||||||
ContentNavigationDrawer:
|
|
||||||
id: nav_drawer
|
|
||||||
|
|
||||||
FloatLayout:
|
|
||||||
id: float_box
|
|
||||||
BoxLayout:
|
|
||||||
id: box_layout
|
|
||||||
orientation: 'vertical'
|
|
||||||
MDToolbar:
|
MDToolbar:
|
||||||
id: toolbar
|
id: toolbar
|
||||||
title: app.current_address_label()
|
title: app.current_address_label()
|
||||||
opacity: 1 if app.addressexist() else 0
|
opacity: 1 if app.addressexist() else 0
|
||||||
disabled: False if app.addressexist() else True
|
disabled: False if app.addressexist() else True
|
||||||
|
pos_hint: {"top": 1}
|
||||||
md_bg_color: app.theme_cls.primary_color
|
md_bg_color: app.theme_cls.primary_color
|
||||||
background_palette: 'Primary'
|
elevation: 10
|
||||||
background_hue: '500'
|
left_action_items: [['menu', lambda x: nav_drawer.toggle_nav_drawer()]]
|
||||||
left_action_items: [['menu', lambda x: app.root.toggle_nav_drawer()]]
|
|
||||||
right_action_items: [['account-plus', lambda x: app.addingtoaddressbook()]]
|
right_action_items: [['account-plus', lambda x: app.addingtoaddressbook()]]
|
||||||
|
|
||||||
ScreenManager:
|
ScreenManager:
|
||||||
id: scr_mngr
|
id: scr_mngr
|
||||||
|
size_hint_y: None
|
||||||
|
height: root.height - toolbar.height
|
||||||
Inbox:
|
Inbox:
|
||||||
id:sc1
|
id:sc1
|
||||||
Page:
|
Page:
|
||||||
|
@ -203,9 +216,15 @@ NavigationLayout:
|
||||||
Archieve:
|
Archieve:
|
||||||
id:sc20
|
id:sc20
|
||||||
|
|
||||||
|
MDNavigationDrawer:
|
||||||
|
id: nav_drawer
|
||||||
|
|
||||||
|
ContentNavigationDrawer:
|
||||||
|
id: content_drawer
|
||||||
|
|
||||||
<Inbox>:
|
<Inbox>:
|
||||||
name: 'inbox'
|
name: 'inbox'
|
||||||
transition: NoTransition()
|
#transition: NoTransition()
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
spacing: dp(5)
|
spacing: dp(5)
|
||||||
|
@ -261,6 +280,16 @@ NavigationLayout:
|
||||||
Loader:
|
Loader:
|
||||||
ComposerButton:
|
ComposerButton:
|
||||||
|
|
||||||
|
<Page>:
|
||||||
|
name: 'page'
|
||||||
|
Label:
|
||||||
|
text:"I am in Page"
|
||||||
|
color: 0,0,0,1
|
||||||
|
|
||||||
|
<Create>:
|
||||||
|
name: 'create'
|
||||||
|
Loader:
|
||||||
|
|
||||||
<Trash>:
|
<Trash>:
|
||||||
name: 'trash'
|
name: 'trash'
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -286,224 +315,6 @@ NavigationLayout:
|
||||||
Loader:
|
Loader:
|
||||||
ComposerButton:
|
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: 'Subtitle2'
|
|
||||||
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: 'Subtitle2'
|
|
||||||
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:
|
|
||||||
height: dp(40)
|
|
||||||
MDLabel:
|
|
||||||
font_style: 'H4'
|
|
||||||
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)
|
|
||||||
MyTextInput:
|
|
||||||
id: txt_input
|
|
||||||
size_hint_y: None
|
|
||||||
font_size: '13sp'
|
|
||||||
height: self.parent.height/2
|
|
||||||
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>:
|
<Login>:
|
||||||
name: 'login'
|
name: 'login'
|
||||||
ScrollView:
|
ScrollView:
|
||||||
|
@ -608,6 +419,12 @@ NavigationLayout:
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
|
|
||||||
|
<Spam>:
|
||||||
|
name: 'spam'
|
||||||
|
Label:
|
||||||
|
text:"I am in Spam"
|
||||||
|
color: 0,0,0,1
|
||||||
|
|
||||||
<Setting>:
|
<Setting>:
|
||||||
name: 'set'
|
name: 'set'
|
||||||
ScrollView:
|
ScrollView:
|
||||||
|
@ -696,7 +513,7 @@ NavigationLayout:
|
||||||
MDScrollViewRefreshLayout:
|
MDScrollViewRefreshLayout:
|
||||||
id: refresh_layout
|
id: refresh_layout
|
||||||
refresh_callback: root.refresh_callback
|
refresh_callback: root.refresh_callback
|
||||||
root_layout: root.set_root_layout()
|
root_layout: root
|
||||||
MDList:
|
MDList:
|
||||||
id: ml
|
id: ml
|
||||||
Loader:
|
Loader:
|
||||||
|
@ -872,75 +689,6 @@ NavigationLayout:
|
||||||
color: (0,0,0,1)
|
color: (0,0,0,1)
|
||||||
halign: 'center'
|
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: 'H6'
|
|
||||||
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: 'H6'
|
|
||||||
text: 'Cancel'
|
|
||||||
font_size: '13sp'
|
|
||||||
color: (1,1,1,1)
|
|
||||||
halign: 'center'
|
|
||||||
MDRaisedButton:
|
|
||||||
size_hint: 2, None
|
|
||||||
height: dp(40)
|
|
||||||
MDLabel:
|
|
||||||
font_style: 'H6'
|
|
||||||
text: 'Scan QR code'
|
|
||||||
font_size: '13sp'
|
|
||||||
color: (1,1,1,1)
|
|
||||||
halign: 'center'
|
|
||||||
|
|
||||||
|
|
||||||
<NetworkStat>:
|
<NetworkStat>:
|
||||||
name: 'networkstat'
|
name: 'networkstat'
|
||||||
MDTabs:
|
MDTabs:
|
||||||
|
@ -1075,18 +823,130 @@ NavigationLayout:
|
||||||
height: dp(100) + self.minimum_height
|
height: dp(100) + self.minimum_height
|
||||||
Loader:
|
Loader:
|
||||||
|
|
||||||
<CopyTextBtn@Button>:
|
<ShowQRCode>:
|
||||||
id: cpyButton
|
name: 'showqrcode'
|
||||||
|
BoxLayout:
|
||||||
|
orientation: 'vertical'
|
||||||
|
id: qr
|
||||||
|
|
||||||
|
<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: 'Subtitle2'
|
||||||
|
BoxLayout:
|
||||||
|
orientation:'vertical'
|
||||||
|
ScrollView:
|
||||||
|
id: scroll_y
|
||||||
|
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: 'Subtitle2'
|
||||||
|
BoxLayout:
|
||||||
|
orientation:'vertical'
|
||||||
|
ScrollView:
|
||||||
|
id: scroll_y
|
||||||
|
do_scroll_x: False
|
||||||
|
MDList:
|
||||||
|
id: ml
|
||||||
|
Loader:
|
||||||
|
ComposerButton:
|
||||||
|
|
||||||
|
<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:
|
||||||
|
height: dp(40)
|
||||||
|
MDLabel:
|
||||||
|
font_style: 'H4'
|
||||||
|
text: root.available_credits
|
||||||
|
font_size: '13sp'
|
||||||
|
color: (1,1,1,1)
|
||||||
|
halign: 'center'
|
||||||
|
|
||||||
|
<Starred>:
|
||||||
|
name: 'starred'
|
||||||
|
Label:
|
||||||
|
text:"I am in Starred"
|
||||||
color: 0,0,0,1
|
color: 0,0,0,1
|
||||||
background_color: (0,0,0,0)
|
|
||||||
center_x: self.parent.center_x * 2 - self.parent.parent.padding[0]/2
|
color: 0,0,0,1
|
||||||
center_y: self.parent.center_y
|
|
||||||
on_press:app.root.ids.sc14.copy_composer_text(self)
|
<Archieve>:
|
||||||
Image:
|
name: 'archieve'
|
||||||
source: './images/copy_text.png'
|
Label:
|
||||||
center_x: self.parent.center_x
|
text:"I am in Archieve"
|
||||||
center_y: self.parent.center_y
|
color: 0,0,0,1
|
||||||
size: 20, 20
|
|
||||||
|
color: 0,0,0,1
|
||||||
|
|
||||||
|
|
||||||
|
<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)
|
||||||
|
|
||||||
|
<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
|
||||||
|
|
||||||
<ComposerButton@BoxLayout>:
|
<ComposerButton@BoxLayout>:
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
|
@ -1104,71 +964,180 @@ NavigationLayout:
|
||||||
on_press: app.root.ids.scr_mngr.current = 'create'
|
on_press: app.root.ids.scr_mngr.current = 'create'
|
||||||
on_press: app.clear_composer()
|
on_press: app.clear_composer()
|
||||||
|
|
||||||
<MyaddDetailPopup>:
|
|
||||||
id: myadd_popup
|
<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)
|
||||||
|
Spinner:
|
||||||
|
id: btn
|
||||||
|
background_color: app.theme_cls.primary_dark
|
||||||
|
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)
|
||||||
|
MyTextInput:
|
||||||
|
id: txt_input
|
||||||
|
size_hint_y: None
|
||||||
|
font_size: '13sp'
|
||||||
|
height: self.parent.height/2
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
<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
|
||||||
|
|
||||||
|
<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
|
||||||
|
|
||||||
|
|
||||||
|
<GrashofPopup>:
|
||||||
|
id: popup
|
||||||
size_hint : (None,None)
|
size_hint : (None,None)
|
||||||
height: 4.5*(myaddr_label.height+ my_add_btn.children[0].height)
|
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)
|
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'
|
background: './images/popup.jpeg'
|
||||||
|
title_size: sp(20)
|
||||||
|
title_color: 0.4, 0.3765, 0.3451, 1
|
||||||
auto_dismiss: False
|
auto_dismiss: False
|
||||||
separator_height: 0
|
separator_color: 0.3529, 0.3922, 0.102, 0.7
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
id: myadd_popup_box
|
size_hint_y: 0.5
|
||||||
size_hint_y: None
|
|
||||||
spacing:dp(70)
|
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
|
spacing:dp(20)
|
||||||
|
id: popup_box
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
size_hint_y: None
|
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
spacing:dp(25)
|
MDTextField:
|
||||||
MDLabel:
|
id: label
|
||||||
id: myaddr_label
|
multiline: False
|
||||||
font_style: 'Subtitle2'
|
hint_text: "Label"
|
||||||
theme_text_color: 'Primary'
|
required: True
|
||||||
text: "Label"
|
helper_text_mode: "on_error"
|
||||||
font_size: '17sp'
|
on_text: root.checkLabel_valid(self)
|
||||||
halign: 'left'
|
MDTextField:
|
||||||
MDLabel:
|
id: address
|
||||||
font_style: 'Body1'
|
hint_text: "Address"
|
||||||
theme_text_color: 'Primary'
|
required: True
|
||||||
text: root.address_label
|
helper_text_mode: "on_error"
|
||||||
font_size: '15sp'
|
on_text: root.checkAddress_valid(self)
|
||||||
halign: 'left'
|
|
||||||
MDLabel:
|
|
||||||
font_style: 'Subtitle2'
|
|
||||||
theme_text_color: 'Primary'
|
|
||||||
text: "Address"
|
|
||||||
font_size: '17sp'
|
|
||||||
halign: 'left'
|
|
||||||
MDLabel:
|
|
||||||
font_style: 'Body1'
|
|
||||||
theme_text_color: 'Primary'
|
|
||||||
text: root.address
|
|
||||||
font_size: '15sp'
|
|
||||||
halign: 'left'
|
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
id: my_add_btn
|
|
||||||
spacing:5
|
spacing:5
|
||||||
orientation: 'horizontal'
|
orientation: 'horizontal'
|
||||||
MDRaisedButton:
|
MDRaisedButton:
|
||||||
size_hint: 2, None
|
id: save_addr
|
||||||
height: dp(40)
|
|
||||||
on_press: root.send_message_from()
|
|
||||||
MDLabel:
|
|
||||||
font_style: 'H6'
|
|
||||||
text: 'Send message from'
|
|
||||||
font_size: '13sp'
|
|
||||||
color: (1,1,1,1)
|
|
||||||
halign: 'center'
|
|
||||||
MDRaisedButton:
|
|
||||||
size_hint: 1.5, None
|
size_hint: 1.5, None
|
||||||
height: dp(40)
|
height: dp(40)
|
||||||
on_press: root.dismiss()
|
on_release:
|
||||||
on_press: app.root.ids.scr_mngr.current = 'showqrcode'
|
root.savecontact()
|
||||||
on_press: app.root.ids.sc15.qrdisplay()
|
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'H6'
|
font_style: 'H6'
|
||||||
text: 'Show QR code'
|
text: 'Save'
|
||||||
font_size: '13sp'
|
font_size: '13sp'
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
|
@ -1183,6 +1152,15 @@ NavigationLayout:
|
||||||
font_size: '13sp'
|
font_size: '13sp'
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
|
MDRaisedButton:
|
||||||
|
size_hint: 2, None
|
||||||
|
height: dp(40)
|
||||||
|
MDLabel:
|
||||||
|
font_style: 'H6'
|
||||||
|
text: 'Scan QR code'
|
||||||
|
font_size: '13sp'
|
||||||
|
color: (1,1,1,1)
|
||||||
|
halign: 'center'
|
||||||
|
|
||||||
<AddbookDetailPopup>:
|
<AddbookDetailPopup>:
|
||||||
id: addbook_popup
|
id: addbook_popup
|
||||||
|
@ -1267,51 +1245,83 @@ NavigationLayout:
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
|
|
||||||
<ShowQRCode>:
|
|
||||||
name: 'showqrcode'
|
<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:
|
BoxLayout:
|
||||||
orientation: 'vertical'
|
id: myadd_popup_box
|
||||||
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
|
size_hint_y: None
|
||||||
height: self.minimum_height
|
spacing:dp(70)
|
||||||
|
orientation: 'vertical'
|
||||||
MDIconButton:
|
BoxLayout:
|
||||||
icon: 'magnify'
|
size_hint_y: None
|
||||||
|
orientation: 'vertical'
|
||||||
MDTextField:
|
spacing:dp(25)
|
||||||
id: search_field
|
MDLabel:
|
||||||
hint_text: 'Search'
|
id: myaddr_label
|
||||||
on_text: app.searchQuery(self)
|
font_style: 'Subtitle2'
|
||||||
|
theme_text_color: 'Primary'
|
||||||
|
text: "Label"
|
||||||
<LoadingPopup>:
|
font_size: '17sp'
|
||||||
separator_color: 1, 1, 1, 1
|
halign: 'left'
|
||||||
background: "White.png"
|
MDLabel:
|
||||||
Button:
|
font_style: 'Body1'
|
||||||
id: btn
|
theme_text_color: 'Primary'
|
||||||
disabled: True
|
text: root.address_label
|
||||||
background_disabled_normal: "White.png"
|
font_size: '15sp'
|
||||||
Image:
|
halign: 'left'
|
||||||
source: './images/loader.zip'
|
MDLabel:
|
||||||
anim_delay: 0
|
font_style: 'Subtitle2'
|
||||||
#mipmap: True
|
theme_text_color: 'Primary'
|
||||||
size: root.size
|
text: "Address"
|
||||||
|
font_size: '17sp'
|
||||||
|
halign: 'left'
|
||||||
<Loader@MDSpinner>:
|
MDLabel:
|
||||||
id: spinner
|
font_style: 'Body1'
|
||||||
size_hint: None, None
|
theme_text_color: 'Primary'
|
||||||
size: dp(46), dp(46)
|
text: root.address
|
||||||
pos_hint: {'center_x': 0.5, 'center_y': 0.5}
|
font_size: '15sp'
|
||||||
active: False
|
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: 'H6'
|
||||||
|
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: 'H6'
|
||||||
|
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: 'H6'
|
||||||
|
text: 'Cancel'
|
||||||
|
font_size: '13sp'
|
||||||
|
color: (1,1,1,1)
|
||||||
|
halign: 'center'
|
|
@ -11,7 +11,7 @@ from bitmessagekivy.uikivysignaler import UIkivySignaler
|
||||||
from bmconfigparser import BMConfigParser
|
from bmconfigparser import BMConfigParser
|
||||||
from functools import partial
|
from functools import partial
|
||||||
from helper_sql import sqlExecute, sqlQuery
|
from helper_sql import sqlExecute, sqlQuery
|
||||||
from kivy.app import App
|
from kivymd.app import MDApp
|
||||||
from kivy.clock import Clock
|
from kivy.clock import Clock
|
||||||
from kivy.core.clipboard import Clipboard
|
from kivy.core.clipboard import Clipboard
|
||||||
from kivy.core.window import Window
|
from kivy.core.window import Window
|
||||||
|
@ -48,11 +48,13 @@ from kivymd.uix.list import (
|
||||||
TwoLineAvatarIconListItem,
|
TwoLineAvatarIconListItem,
|
||||||
TwoLineListItem,
|
TwoLineListItem,
|
||||||
OneLineIconListItem,
|
OneLineIconListItem,
|
||||||
|
OneLineAvatarListItem,
|
||||||
|
IRightBody
|
||||||
)
|
)
|
||||||
from kivymd.uix.navigationdrawer import (
|
# from kivymd.uix.navigationdrawer import (
|
||||||
MDNavigationDrawer,
|
# MDNavigationDrawer,
|
||||||
NavigationDrawerHeaderBase
|
# NavigationDrawerHeaderBase
|
||||||
)
|
# )
|
||||||
from kivymd.uix.selectioncontrol import MDCheckbox
|
from kivymd.uix.selectioncontrol import MDCheckbox
|
||||||
from kivymd.theming import ThemeManager
|
from kivymd.theming import ThemeManager
|
||||||
|
|
||||||
|
@ -71,14 +73,6 @@ def toast(text):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
class Navigatorss(MDNavigationDrawer):
|
|
||||||
"""Navigators class contains image, title and logo"""
|
|
||||||
|
|
||||||
image_source = StringProperty('images/qidenticon_two.png')
|
|
||||||
title = StringProperty('Navigation')
|
|
||||||
drawer_logo = StringProperty()
|
|
||||||
|
|
||||||
|
|
||||||
class Inbox(Screen):
|
class Inbox(Screen):
|
||||||
"""Inbox Screen uses screen to show widgets of screens"""
|
"""Inbox Screen uses screen to show widgets of screens"""
|
||||||
|
|
||||||
|
@ -115,8 +109,8 @@ class Inbox(Screen):
|
||||||
self.inboxDataQuery(xAddress, where, what)
|
self.inboxDataQuery(xAddress, where, what)
|
||||||
if self.queryreturn:
|
if self.queryreturn:
|
||||||
state.kivyapp.get_inbox_count()
|
state.kivyapp.get_inbox_count()
|
||||||
src_mng_obj = state.kivyapp.root.children[2].children[0].ids
|
# src_mng_obj = state.kivyapp.root.children[2].children[0].ids
|
||||||
src_mng_obj.inbox_cnt.badge_text = state.inbox_count
|
# src_mng_obj.inbox_cnt.badge_text = state.inbox_count
|
||||||
for mail in self.queryreturn:
|
for mail in self.queryreturn:
|
||||||
# third_text = mail[3].replace('\n', ' ')
|
# third_text = mail[3].replace('\n', ' ')
|
||||||
data.append({
|
data.append({
|
||||||
|
@ -395,8 +389,9 @@ class MyAddress(Screen):
|
||||||
def refresh_callback(interval):
|
def refresh_callback(interval):
|
||||||
"""Method used for loading the myaddress screen data"""
|
"""Method used for loading the myaddress screen data"""
|
||||||
state.searcing_text = ''
|
state.searcing_text = ''
|
||||||
state.kivyapp.root.ids.sc10.children[2].active = False
|
#state.kivyapp.root.ids.sc10.children[2].active = False
|
||||||
self.children[2].children[2].ids.search_field.text = ''
|
# self.children[2].children[2].ids.search_field.text = ''
|
||||||
|
self.children[3].children[2].ids.search_field.text = ''
|
||||||
self.has_refreshed = True
|
self.has_refreshed = True
|
||||||
self.ids.ml.clear_widgets()
|
self.ids.ml.clear_widgets()
|
||||||
self.init_ui()
|
self.init_ui()
|
||||||
|
@ -417,10 +412,6 @@ class MyAddress(Screen):
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def set_root_layout(self):
|
|
||||||
"""Setting root layout"""
|
|
||||||
return self.manager.parent.parent
|
|
||||||
|
|
||||||
|
|
||||||
class AddressBook(Screen):
|
class AddressBook(Screen):
|
||||||
"""AddressBook Screen uses screen to show widgets of screens"""
|
"""AddressBook Screen uses screen to show widgets of screens"""
|
||||||
|
@ -653,20 +644,16 @@ class DropDownWidget(BoxLayout):
|
||||||
int(BMConfigParser().safeGet(
|
int(BMConfigParser().safeGet(
|
||||||
'bitmessagesettings', 'ttl')))
|
'bitmessagesettings', 'ttl')))
|
||||||
state.check_sent_acc = fromAddress
|
state.check_sent_acc = fromAddress
|
||||||
state.msg_counter_objs = self.parent.parent.parent.parent\
|
# state.msg_counter_objs = self.parent.parent.parent.parent\
|
||||||
.parent.parent.children[2].children[0].ids
|
# .parent.parent.children[2].children[0].ids
|
||||||
if state.detailPageType == 'draft' \
|
if state.detailPageType == 'draft' \
|
||||||
and state.send_draft_mail:
|
and state.send_draft_mail:
|
||||||
state.draft_count = str(int(state.draft_count) - 1)
|
state.draft_count = str(int(state.draft_count) - 1)
|
||||||
state.msg_counter_objs.draft_cnt.badge_text = (
|
# state.msg_counter_objs.draft_cnt.badge_text = (
|
||||||
state.draft_count)
|
# state.draft_count)
|
||||||
state.detailPageType = ''
|
state.detailPageType = ''
|
||||||
state.send_draft_mail = None
|
state.send_draft_mail = None
|
||||||
# self.parent.parent.screens[0].ids.ml.clear_widgets()
|
|
||||||
# self.parent.parent.screens[0].loadMessagelist(state.association)
|
|
||||||
self.parent.parent.screens[3].update_sent_messagelist()
|
self.parent.parent.screens[3].update_sent_messagelist()
|
||||||
# self.parent.parent.screens[16].clear_widgets()
|
|
||||||
# self.parent.parent.screens[16].add_widget(Allmails())
|
|
||||||
Clock.schedule_once(self.callback_for_msgsend, 3)
|
Clock.schedule_once(self.callback_for_msgsend, 3)
|
||||||
queues.workerQueue.put(('sendmessage', toAddress))
|
queues.workerQueue.put(('sendmessage', toAddress))
|
||||||
print("sqlExecute successfully #######################")
|
print("sqlExecute successfully #######################")
|
||||||
|
@ -824,7 +811,7 @@ class NetworkStat(Screen):
|
||||||
len(objectracker.missingObjects))
|
len(objectracker.missingObjects))
|
||||||
|
|
||||||
|
|
||||||
class ContentNavigationDrawer(Navigatorss):
|
class ContentNavigationDrawer(BoxLayout):
|
||||||
"""Navigate Content Drawer"""
|
"""Navigate Content Drawer"""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
@ -857,14 +844,14 @@ class Random(Screen):
|
||||||
self.ids.label.text = ''
|
self.ids.label.text = ''
|
||||||
self.parent.parent.children[1].opacity = 1
|
self.parent.parent.children[1].opacity = 1
|
||||||
self.parent.parent.children[1].disabled = False
|
self.parent.parent.children[1].disabled = False
|
||||||
state.kivyapp.root.ids.sc10.children[1].active = True
|
state.kivyapp.loadMyAddressScreen(True)
|
||||||
self.manager.current = 'myaddress'
|
self.manager.current = 'myaddress'
|
||||||
Clock.schedule_once(self.address_created_callback, 6)
|
Clock.schedule_once(self.address_created_callback, 6)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def address_created_callback(dt=0):
|
def address_created_callback(dt=0):
|
||||||
"""New address created"""
|
"""New address created"""
|
||||||
state.kivyapp.root.ids.sc10.children[1].active = False
|
state.kivyapp.loadMyAddressScreen(False)
|
||||||
state.kivyapp.root.ids.sc10.ids.ml.clear_widgets()
|
state.kivyapp.root.ids.sc10.ids.ml.clear_widgets()
|
||||||
state.kivyapp.root.ids.sc10.is_add_created = True
|
state.kivyapp.root.ids.sc10.is_add_created = True
|
||||||
state.kivyapp.root.ids.sc10.init_ui()
|
state.kivyapp.root.ids.sc10.init_ui()
|
||||||
|
@ -1050,8 +1037,8 @@ class Sent(Screen):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def set_sentCount(total_sent):
|
def set_sentCount(total_sent):
|
||||||
"""Set the total no. of sent message count"""
|
"""Set the total no. of sent message count"""
|
||||||
src_mng_obj = state.kivyapp.root.children[2].children[0].ids
|
# src_mng_obj = state.kivyapp.root.children[2].children[0].ids
|
||||||
src_mng_obj.send_cnt.badge_text = str(total_sent)
|
# src_mng_obj.send_cnt.badge_text = str(total_sent)
|
||||||
state.sent_count = str(total_sent)
|
state.sent_count = str(total_sent)
|
||||||
|
|
||||||
def sent_detail(self, ackdata, *args):
|
def sent_detail(self, ackdata, *args):
|
||||||
|
@ -1068,19 +1055,19 @@ class Sent(Screen):
|
||||||
|
|
||||||
def delete(self, data_index, instance, *args):
|
def delete(self, data_index, instance, *args):
|
||||||
"""Delete sent mail from sent mail listing"""
|
"""Delete sent mail from sent mail listing"""
|
||||||
try:
|
# try:
|
||||||
msg_count_objs = self.parent.parent.parent.parent.children[
|
# msg_count_objs = self.parent.parent.parent.parent.children[
|
||||||
2].children[0].ids
|
# 2].children[0].ids
|
||||||
except Exception:
|
# except Exception:
|
||||||
msg_count_objs = self.parent.parent.parent.parent.parent.children[
|
# msg_count_objs = self.parent.parent.parent.parent.parent.children[
|
||||||
2].children[0].ids
|
# 2].children[0].ids
|
||||||
if int(state.sent_count) > 0:
|
if int(state.sent_count) > 0:
|
||||||
msg_count_objs.send_cnt.badge_text = str(
|
# msg_count_objs.send_cnt.badge_text = str(
|
||||||
int(state.sent_count) - 1)
|
# int(state.sent_count) - 1)
|
||||||
msg_count_objs.trash_cnt.badge_text = str(
|
# msg_count_objs.trash_cnt.badge_text = str(
|
||||||
int(state.trash_count) + 1)
|
# int(state.trash_count) + 1)
|
||||||
msg_count_objs.allmail_cnt.badge_text = str(
|
# msg_count_objs.allmail_cnt.badge_text = str(
|
||||||
int(state.all_count) - 1)
|
# int(state.all_count) - 1)
|
||||||
state.sent_count = str(int(state.sent_count) - 1)
|
state.sent_count = str(int(state.sent_count) - 1)
|
||||||
state.trash_count = str(int(state.trash_count) + 1)
|
state.trash_count = str(int(state.trash_count) + 1)
|
||||||
state.all_count = str(int(state.all_count) - 1)
|
state.all_count = str(int(state.all_count) - 1)
|
||||||
|
@ -1137,8 +1124,8 @@ class Trash(Screen):
|
||||||
self.trashDataQuery(0, 20)
|
self.trashDataQuery(0, 20)
|
||||||
if self.trash_messages:
|
if self.trash_messages:
|
||||||
self.ids.identi_tag.children[0].text = 'Trash'
|
self.ids.identi_tag.children[0].text = 'Trash'
|
||||||
src_mng_obj = state.kivyapp.root.children[2].children[0].ids
|
# src_mng_obj = state.kivyapp.root.children[2].children[0].ids
|
||||||
src_mng_obj.trash_cnt.badge_text = state.trash_count
|
# src_mng_obj.trash_cnt.badge_text = state.trash_count
|
||||||
self.set_mdList()
|
self.set_mdList()
|
||||||
self.ids.scroll_y.bind(scroll_y=self.check_scroll_y)
|
self.ids.scroll_y.bind(scroll_y=self.check_scroll_y)
|
||||||
else:
|
else:
|
||||||
|
@ -1256,8 +1243,8 @@ class Trash(Screen):
|
||||||
"DELETE FROM sent WHERE ackdata = ?;", self.delete_index)
|
"DELETE FROM sent WHERE ackdata = ?;", self.delete_index)
|
||||||
msg_count_objs = state.kivyapp.root.children[2].children[0].ids
|
msg_count_objs = state.kivyapp.root.children[2].children[0].ids
|
||||||
if int(state.trash_count) > 0:
|
if int(state.trash_count) > 0:
|
||||||
msg_count_objs.trash_cnt.badge_text = str(
|
# msg_count_objs.trash_cnt.badge_text = str(
|
||||||
int(state.trash_count) - 1)
|
# int(state.trash_count) - 1)
|
||||||
state.trash_count = str(int(state.trash_count) - 1)
|
state.trash_count = str(int(state.trash_count) - 1)
|
||||||
Clock.schedule_once(self.callback_for_screen_load, 1)
|
Clock.schedule_once(self.callback_for_screen_load, 1)
|
||||||
|
|
||||||
|
@ -1288,11 +1275,11 @@ class Setting(Screen):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class NavigateApp(App):
|
class NavigateApp(MDApp):
|
||||||
"""Navigation Layout of class"""
|
"""Navigation Layout of class"""
|
||||||
# pylint: disable=too-many-public-methods
|
# pylint: disable=too-many-public-methods
|
||||||
|
|
||||||
theme_cls = ThemeManager()
|
# theme_cls = ThemeManager()
|
||||||
previous_date = ObjectProperty()
|
previous_date = ObjectProperty()
|
||||||
obj_1 = ObjectProperty()
|
obj_1 = ObjectProperty()
|
||||||
variable_1 = ListProperty(BMConfigParser().addresses())
|
variable_1 = ListProperty(BMConfigParser().addresses())
|
||||||
|
@ -1325,7 +1312,6 @@ class NavigateApp(App):
|
||||||
print(os.path.join(os.path.dirname(__file__), 'main.kv'))
|
print(os.path.join(os.path.dirname(__file__), 'main.kv'))
|
||||||
main_widget = Builder.load_file(
|
main_widget = Builder.load_file(
|
||||||
os.path.join(os.path.dirname(__file__), 'main.kv'))
|
os.path.join(os.path.dirname(__file__), 'main.kv'))
|
||||||
self.nav_drawer = Navigatorss()
|
|
||||||
self.obj_1 = AddressBook()
|
self.obj_1 = AddressBook()
|
||||||
kivysignalthread = UIkivySignaler()
|
kivysignalthread = UIkivySignaler()
|
||||||
kivysignalthread.daemon = True
|
kivysignalthread.daemon = True
|
||||||
|
@ -1473,7 +1459,7 @@ class NavigateApp(App):
|
||||||
self.root.ids.sc11.children[1].active = True
|
self.root.ids.sc11.children[1].active = True
|
||||||
Clock.schedule_once(self.search_callback, 0.5)
|
Clock.schedule_once(self.search_callback, 0.5)
|
||||||
elif state.search_screen == 'myaddress':
|
elif state.search_screen == 'myaddress':
|
||||||
self.root.ids.sc10.children[1].active = True
|
self.loadMyAddressScreen(True)
|
||||||
Clock.schedule_once(self.search_callback, 0.5)
|
Clock.schedule_once(self.search_callback, 0.5)
|
||||||
elif state.search_screen == 'sent':
|
elif state.search_screen == 'sent':
|
||||||
self.root.ids.sc4.children[1].active = True
|
self.root.ids.sc4.children[1].active = True
|
||||||
|
@ -1492,13 +1478,20 @@ class NavigateApp(App):
|
||||||
elif state.search_screen == 'myaddress':
|
elif state.search_screen == 'myaddress':
|
||||||
self.root.ids.sc10.ids.ml.clear_widgets()
|
self.root.ids.sc10.ids.ml.clear_widgets()
|
||||||
self.root.ids.sc10.init_ui()
|
self.root.ids.sc10.init_ui()
|
||||||
self.root.ids.sc10.children[1].active = False
|
self.loadMyAddressScreen(False)
|
||||||
else:
|
else:
|
||||||
self.root.ids.sc4.ids.ml.clear_widgets()
|
self.root.ids.sc4.ids.ml.clear_widgets()
|
||||||
self.root.ids.sc4.loadSent(state.association)
|
self.root.ids.sc4.loadSent(state.association)
|
||||||
self.root.ids.sc4.children[1].active = False
|
self.root.ids.sc4.children[1].active = False
|
||||||
self.root.ids.scr_mngr.current = state.search_screen
|
self.root.ids.scr_mngr.current = state.search_screen
|
||||||
|
|
||||||
|
def loadMyAddressScreen(self, action):
|
||||||
|
"""loadMyAddressScreen method spin the loader"""
|
||||||
|
if len(self.root.ids.sc10.children) <=3:
|
||||||
|
self.root.ids.sc10.children[1].active = action
|
||||||
|
else:
|
||||||
|
self.root.ids.sc10.children[2].active = action
|
||||||
|
|
||||||
def save_draft(self):
|
def save_draft(self):
|
||||||
"""Saving drafts messages"""
|
"""Saving drafts messages"""
|
||||||
composer_objs = self.root
|
composer_objs = self.root
|
||||||
|
@ -1547,8 +1540,10 @@ class NavigateApp(App):
|
||||||
"""Common header for all window"""
|
"""Common header for all window"""
|
||||||
self.root.ids.toolbar.right_action_items = [
|
self.root.ids.toolbar.right_action_items = [
|
||||||
['account-plus', lambda x: self.addingtoaddressbook()]]
|
['account-plus', lambda x: self.addingtoaddressbook()]]
|
||||||
|
# self.root.ids.toolbar.left_action_items = [
|
||||||
|
# ['menu', lambda x: self.root.toggle_nav_drawer()]]
|
||||||
self.root.ids.toolbar.left_action_items = [
|
self.root.ids.toolbar.left_action_items = [
|
||||||
['menu', lambda x: self.root.toggle_nav_drawer()]]
|
['menu', lambda x: self.root.ids.nav_drawer.toggle_nav_drawer()]]
|
||||||
return
|
return
|
||||||
|
|
||||||
def back_press(self):
|
def back_press(self):
|
||||||
|
@ -1694,7 +1689,7 @@ class NavigateApp(App):
|
||||||
except Exception:
|
except Exception:
|
||||||
self.root.ids.sc10.children[
|
self.root.ids.sc10.children[
|
||||||
2].children[2].ids.search_field.text = ''
|
2].children[2].ids.search_field.text = ''
|
||||||
self.root.ids.sc10.children[1].active = True
|
self.loadMyAddressScreen(True)
|
||||||
Clock.schedule_once(self.search_callback, 0.5)
|
Clock.schedule_once(self.search_callback, 0.5)
|
||||||
else:
|
else:
|
||||||
self.root.ids.sc4.children[
|
self.root.ids.sc4.children[
|
||||||
|
@ -1706,8 +1701,9 @@ class NavigateApp(App):
|
||||||
def set_identicon(self, text):
|
def set_identicon(self, text):
|
||||||
"""Show identicon in address spinner"""
|
"""Show identicon in address spinner"""
|
||||||
img = identiconGeneration.generate(text)
|
img = identiconGeneration.generate(text)
|
||||||
self.root.children[2].children[0].ids.btn.children[1].texture = (
|
# self.root.children[2].children[0].ids.btn.children[1].texture = (
|
||||||
img.texture)
|
# img.texture)
|
||||||
|
self.root.children[0].children[0].ids.btn.texture = (img.texture)
|
||||||
|
|
||||||
def set_mail_detail_header(self):
|
def set_mail_detail_header(self):
|
||||||
"""Setting the details of the page"""
|
"""Setting the details of the page"""
|
||||||
|
@ -1804,8 +1800,10 @@ class GrashofPopup(Popup):
|
||||||
|
|
||||||
def checkAddress_valid(self, instance):
|
def checkAddress_valid(self, instance):
|
||||||
"""Checking address is valid or not"""
|
"""Checking address is valid or not"""
|
||||||
|
# my_addresses = (
|
||||||
|
# self.parent.children[1].children[2].children[0].ids.btn.values)
|
||||||
my_addresses = (
|
my_addresses = (
|
||||||
self.parent.children[1].children[2].children[0].ids.btn.values)
|
self.parent.children[1].children[0].children[0].ids.btn.values)
|
||||||
add_book = [addr[1] for addr in kivy_helper_search.search_sql(
|
add_book = [addr[1] for addr in kivy_helper_search.search_sql(
|
||||||
folder="addressbook")]
|
folder="addressbook")]
|
||||||
entered_text = str(instance.text).strip()
|
entered_text = str(instance.text).strip()
|
||||||
|
@ -1892,31 +1890,6 @@ class IconRightSampleWidget(IRightBodyTouch, MDCheckbox):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class NavigationDrawerTwoLineListItem(
|
|
||||||
TwoLineListItem, NavigationDrawerHeaderBase):
|
|
||||||
"""Navigation Drawer in Listitems"""
|
|
||||||
|
|
||||||
address_property = StringProperty()
|
|
||||||
|
|
||||||
def __init__(self, **kwargs):
|
|
||||||
"""Method for Navigation Drawer"""
|
|
||||||
super(NavigationDrawerTwoLineListItem, self).__init__(**kwargs)
|
|
||||||
Clock.schedule_once(lambda dt: self.setup())
|
|
||||||
|
|
||||||
def setup(self):
|
|
||||||
"""Bind Controller.current_account property"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
def on_current_account(self, account):
|
|
||||||
"""Account detail"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
def _update_specific_text_color(self, instance, value):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def _set_active(self, active, list_):
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class MailDetail(Screen):
|
class MailDetail(Screen):
|
||||||
"""MailDetail Screen uses to show the detail of mails"""
|
"""MailDetail Screen uses to show the detail of mails"""
|
||||||
|
@ -1976,7 +1949,7 @@ class MailDetail(Screen):
|
||||||
sqlExecute(
|
sqlExecute(
|
||||||
"UPDATE sent SET folder = 'trash' WHERE"
|
"UPDATE sent SET folder = 'trash' WHERE"
|
||||||
" ackdata = ?;", state.mail_id)
|
" ackdata = ?;", state.mail_id)
|
||||||
msg_count_objs.send_cnt.badge_text = str(int(state.sent_count) - 1)
|
# msg_count_objs.send_cnt.badge_text = str(int(state.sent_count) - 1)
|
||||||
state.sent_count = str(int(state.sent_count) - 1)
|
state.sent_count = str(int(state.sent_count) - 1)
|
||||||
self.parent.screens[3].ids.ml.clear_widgets()
|
self.parent.screens[3].ids.ml.clear_widgets()
|
||||||
self.parent.screens[3].loadSent(state.association)
|
self.parent.screens[3].loadSent(state.association)
|
||||||
|
@ -1988,27 +1961,25 @@ class MailDetail(Screen):
|
||||||
sqlExecute(
|
sqlExecute(
|
||||||
"UPDATE inbox SET folder = 'trash' WHERE"
|
"UPDATE inbox SET folder = 'trash' WHERE"
|
||||||
" msgid = ?;", state.mail_id)
|
" msgid = ?;", state.mail_id)
|
||||||
msg_count_objs.inbox_cnt.badge_text = str(
|
# msg_count_objs.inbox_cnt.badge_text = str(
|
||||||
int(state.inbox_count) - 1)
|
# int(state.inbox_count) - 1)
|
||||||
state.inbox_count = str(int(state.inbox_count) - 1)
|
state.inbox_count = str(int(state.inbox_count) - 1)
|
||||||
self.parent.screens[0].ids.ml.clear_widgets()
|
self.parent.screens[0].ids.ml.clear_widgets()
|
||||||
self.parent.screens[0].loadMessagelist(state.association)
|
self.parent.screens[0].loadMessagelist(state.association)
|
||||||
|
|
||||||
elif state.detailPageType == 'draft':
|
elif state.detailPageType == 'draft':
|
||||||
sqlExecute("DELETE FROM sent WHERE ackdata = ?;", state.mail_id)
|
sqlExecute("DELETE FROM sent WHERE ackdata = ?;", state.mail_id)
|
||||||
msg_count_objs.draft_cnt.badge_text = str(
|
# msg_count_objs.draft_cnt.badge_text = str(
|
||||||
int(state.draft_count) - 1)
|
# int(state.draft_count) - 1)
|
||||||
state.draft_count = str(int(state.draft_count) - 1)
|
state.draft_count = str(int(state.draft_count) - 1)
|
||||||
self.parent.screens[15].clear_widgets()
|
self.parent.screens[15].clear_widgets()
|
||||||
self.parent.screens[15].add_widget(Draft())
|
self.parent.screens[15].add_widget(Draft())
|
||||||
|
|
||||||
# self.parent.current = 'allmails' \
|
|
||||||
# if state.is_allmail else state.detailPageType
|
|
||||||
if state.detailPageType != 'draft':
|
if state.detailPageType != 'draft':
|
||||||
msg_count_objs.trash_cnt.badge_text = str(
|
# msg_count_objs.trash_cnt.badge_text = str(
|
||||||
int(state.trash_count) + 1)
|
# int(state.trash_count) + 1)
|
||||||
msg_count_objs.allmail_cnt.badge_text = str(
|
# msg_count_objs.allmail_cnt.badge_text = str(
|
||||||
int(state.all_count) - 1)
|
# int(state.all_count) - 1)
|
||||||
state.trash_count = str(int(state.trash_count) + 1)
|
state.trash_count = str(int(state.trash_count) + 1)
|
||||||
state.all_count = str(int(state.all_count) - 1)
|
state.all_count = str(int(state.all_count) - 1)
|
||||||
self.parent.screens[4].clear_widgets()
|
self.parent.screens[4].clear_widgets()
|
||||||
|
@ -2044,8 +2015,10 @@ class MailDetail(Screen):
|
||||||
def write_msg(self, navApp):
|
def write_msg(self, navApp):
|
||||||
"""Write on draft mail"""
|
"""Write on draft mail"""
|
||||||
state.send_draft_mail = state.mail_id
|
state.send_draft_mail = state.mail_id
|
||||||
|
# composer_ids = (
|
||||||
|
# self.parent.parent.parent.parent.parent.ids.sc3.children[1].ids)
|
||||||
composer_ids = (
|
composer_ids = (
|
||||||
self.parent.parent.parent.parent.parent.ids.sc3.children[1].ids)
|
self.parent.parent.ids.sc3.children[1].ids)
|
||||||
composer_ids.ti.text = state.write_msg['from_addr']
|
composer_ids.ti.text = state.write_msg['from_addr']
|
||||||
composer_ids.btn.text = state.write_msg['from_addr']
|
composer_ids.btn.text = state.write_msg['from_addr']
|
||||||
composer_ids.txt_input.text = state.write_msg['to_addr']
|
composer_ids.txt_input.text = state.write_msg['to_addr']
|
||||||
|
@ -2215,8 +2188,8 @@ class Draft(Screen):
|
||||||
len(self.queryreturn))
|
len(self.queryreturn))
|
||||||
if self.queryreturn:
|
if self.queryreturn:
|
||||||
self.ids.identi_tag.children[0].text = 'Draft'
|
self.ids.identi_tag.children[0].text = 'Draft'
|
||||||
src_mng_obj = state.kivyapp.root.children[2].children[0].ids
|
# src_mng_obj = state.kivyapp.root.children[2].children[0].ids
|
||||||
src_mng_obj.draft_cnt.badge_text = state.draft_count
|
# src_mng_obj.draft_cnt.badge_text = state.draft_count
|
||||||
self.set_mdList()
|
self.set_mdList()
|
||||||
self.ids.scroll_y.bind(scroll_y=self.check_scroll_y)
|
self.ids.scroll_y.bind(scroll_y=self.check_scroll_y)
|
||||||
else:
|
else:
|
||||||
|
@ -2414,8 +2387,8 @@ class Allmails(Screen):
|
||||||
state.kivyapp.get_sent_count()
|
state.kivyapp.get_sent_count()
|
||||||
state.all_count = str(
|
state.all_count = str(
|
||||||
int(state.sent_count) + int(state.inbox_count))
|
int(state.sent_count) + int(state.inbox_count))
|
||||||
state.kivyapp.root.children[2].children[
|
# state.kivyapp.root.children[2].children[
|
||||||
0].ids.allmail_cnt.badge_text = state.all_count
|
# 0].ids.allmail_cnt.badge_text = state.all_count
|
||||||
self.set_mdlist()
|
self.set_mdlist()
|
||||||
# self.ids.refresh_layout.bind(scroll_y=self.check_scroll_y)
|
# self.ids.refresh_layout.bind(scroll_y=self.check_scroll_y)
|
||||||
self.ids.scroll_y.bind(scroll_y=self.check_scroll_y)
|
self.ids.scroll_y.bind(scroll_y=self.check_scroll_y)
|
||||||
|
@ -2516,30 +2489,30 @@ class Allmails(Screen):
|
||||||
unique_id)
|
unique_id)
|
||||||
self.ids.ml.remove_widget(instance.parent.parent)
|
self.ids.ml.remove_widget(instance.parent.parent)
|
||||||
try:
|
try:
|
||||||
msg_count_objs = self.parent.parent.parent.parent.parent.children[
|
# msg_count_objs = self.parent.parent.parent.parent.parent.children[
|
||||||
2].children[0].ids
|
# 2].children[0].ids
|
||||||
nav_lay_obj = self.parent.parent.parent.parent.parent.ids
|
nav_lay_obj = self.parent.parent.parent.ids
|
||||||
except Exception:
|
except Exception:
|
||||||
msg_count_objs = (
|
msg_count_objs = (
|
||||||
self.parent.parent.parent.parent.parent.parent.children[
|
self.parent.parent.parent.parent.parent.parent.children[
|
||||||
2].children[0].ids)
|
2].children[0].ids)
|
||||||
nav_lay_obj = self.parent.parent.parent.parent.parent.parent.ids
|
nav_lay_obj = self.parent.parent.parent.parent.parent.parent.ids
|
||||||
if folder == 'inbox':
|
if folder == 'inbox':
|
||||||
msg_count_objs.inbox_cnt.badge_text = str(
|
# msg_count_objs.inbox_cnt.badge_text = str(
|
||||||
int(state.inbox_count) - 1)
|
# int(state.inbox_count) - 1)
|
||||||
state.inbox_count = str(int(state.inbox_count) - 1)
|
state.inbox_count = str(int(state.inbox_count) - 1)
|
||||||
nav_lay_obj.sc1.ids.ml.clear_widgets()
|
nav_lay_obj.sc1.ids.ml.clear_widgets()
|
||||||
nav_lay_obj.sc1.loadMessagelist(state.association)
|
nav_lay_obj.sc1.loadMessagelist(state.association)
|
||||||
else:
|
else:
|
||||||
msg_count_objs.send_cnt.badge_text = str(
|
# msg_count_objs.send_cnt.badge_text = str(
|
||||||
int(state.sent_count) - 1)
|
# int(state.sent_count) - 1)
|
||||||
state.sent_count = str(int(state.sent_count) - 1)
|
state.sent_count = str(int(state.sent_count) - 1)
|
||||||
nav_lay_obj.sc4.ids.ml.clear_widgets()
|
nav_lay_obj.sc4.ids.ml.clear_widgets()
|
||||||
nav_lay_obj.sc4.loadSent(state.association)
|
nav_lay_obj.sc4.loadSent(state.association)
|
||||||
msg_count_objs.trash_cnt.badge_text = str(
|
# msg_count_objs.trash_cnt.badge_text = str(
|
||||||
int(state.trash_count) + 1)
|
# int(state.trash_count) + 1)
|
||||||
msg_count_objs.allmail_cnt.badge_text = str(
|
# msg_count_objs.allmail_cnt.badge_text = str(
|
||||||
int(state.all_count) - 1)
|
# int(state.all_count) - 1)
|
||||||
state.trash_count = str(int(state.trash_count) + 1)
|
state.trash_count = str(int(state.trash_count) + 1)
|
||||||
state.all_count = str(int(state.all_count) - 1)
|
state.all_count = str(int(state.all_count) - 1)
|
||||||
if int(state.all_count) <= 0:
|
if int(state.all_count) <= 0:
|
||||||
|
@ -2618,3 +2591,8 @@ class AddressDropdown(OneLineIconListItem):
|
||||||
"""AddressDropdown showns all the addresses"""
|
"""AddressDropdown showns all the addresses"""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class NavigationItem(OneLineAvatarListItem):
|
||||||
|
"""NavigationItem class is for button behaviour"""
|
||||||
|
icon = StringProperty()
|
Reference in New Issue
Block a user