Implement Ui for adding New Identity feature with navigation Enhancement
This commit is contained in:
parent
1adcf7f3f4
commit
178194dd4c
|
@ -51,8 +51,10 @@
|
||||||
icon: 'email'
|
icon: 'email'
|
||||||
text: "test"
|
text: "test"
|
||||||
on_release: app.root.ids.scr_mngr.current = 'test'
|
on_release: app.root.ids.scr_mngr.current = 'test'
|
||||||
|
NavigationDrawerIconButton:
|
||||||
|
text: "new identity"
|
||||||
|
icon:'notifications-add'
|
||||||
|
on_release: app.root.ids.scr_mngr.current = 'newidentity'
|
||||||
|
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
|
@ -85,6 +87,8 @@ BoxLayout:
|
||||||
id:sc5
|
id:sc5
|
||||||
Create:
|
Create:
|
||||||
id:sc6
|
id:sc6
|
||||||
|
NewIdentity:
|
||||||
|
id:sc7
|
||||||
|
|
||||||
Button:
|
Button:
|
||||||
height:100
|
height:100
|
||||||
|
@ -123,7 +127,7 @@ BoxLayout:
|
||||||
GridLayout:
|
GridLayout:
|
||||||
rows: 5
|
rows: 5
|
||||||
cols: 1
|
cols: 1
|
||||||
padding: 100,100,100,100
|
padding: 60,60,60,60
|
||||||
spacing: 50
|
spacing: 50
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
|
@ -131,8 +135,13 @@ BoxLayout:
|
||||||
Label:
|
Label:
|
||||||
text: 'FROM'
|
text: 'FROM'
|
||||||
color: 0,0,0,1
|
color: 0,0,0,1
|
||||||
TextInput:
|
Spinner:
|
||||||
hint_text: 'email'
|
size_hint: 1,1
|
||||||
|
pos_hint: {"x":0,"top":1.}
|
||||||
|
pos: 10,10
|
||||||
|
id: spinner_id
|
||||||
|
text: '<select>'
|
||||||
|
values: root.showmeaddresses()
|
||||||
|
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
|
@ -141,7 +150,8 @@ BoxLayout:
|
||||||
text: 'TO'
|
text: 'TO'
|
||||||
color: 0,0,0,1
|
color: 0,0,0,1
|
||||||
TextInput:
|
TextInput:
|
||||||
hint_text: 'email'
|
id: recipent
|
||||||
|
hint_text: 'To'
|
||||||
|
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
|
@ -150,7 +160,8 @@ BoxLayout:
|
||||||
text: 'SUBJECT'
|
text: 'SUBJECT'
|
||||||
color: 0,0,0,1
|
color: 0,0,0,1
|
||||||
TextInput:
|
TextInput:
|
||||||
hint_text: 'subject'
|
id: subject
|
||||||
|
hint_text: 'SUBJECT'
|
||||||
|
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
|
@ -159,7 +170,7 @@ BoxLayout:
|
||||||
text: 'BODY'
|
text: 'BODY'
|
||||||
color: 0,0,0,1
|
color: 0,0,0,1
|
||||||
TextInput:
|
TextInput:
|
||||||
id: msg
|
id: message
|
||||||
multiline:True
|
multiline:True
|
||||||
size_hint: 1,2
|
size_hint: 1,2
|
||||||
|
|
||||||
|
@ -168,4 +179,71 @@ BoxLayout:
|
||||||
size_hint_y: 0.1
|
size_hint_y: 0.1
|
||||||
size_hint_x: 0.3
|
size_hint_x: 0.3
|
||||||
height: '32dp'
|
height: '32dp'
|
||||||
|
pos_hint: {'x': .5, 'y': 0.1}
|
||||||
|
on_press: root.send()
|
||||||
|
|
||||||
|
<NewIdentity>:
|
||||||
|
name: 'newidentity'
|
||||||
|
GridLayout:
|
||||||
|
padding: '120dp'
|
||||||
|
cols: 1
|
||||||
|
Label:
|
||||||
|
text:"""Here you may generate as many addresses as you like. Indeed, creating and abandoning addresses is encouraged."""
|
||||||
|
line_height:1.5
|
||||||
|
text_size:(700,None)
|
||||||
|
color: 0,0,0,1
|
||||||
|
BoxLayout:
|
||||||
|
CheckBox:
|
||||||
|
canvas.before:
|
||||||
|
Color:
|
||||||
|
rgb: 1,0,0
|
||||||
|
Ellipse:
|
||||||
|
pos:self.center_x-8, self.center_y-8
|
||||||
|
size:[16,16]
|
||||||
|
group: "money"
|
||||||
|
active: root.is_active
|
||||||
|
Label:
|
||||||
|
text: "use a random number generator to make an address"
|
||||||
|
color: 0,0,0,1
|
||||||
|
BoxLayout:
|
||||||
|
CheckBox:
|
||||||
|
canvas.before:
|
||||||
|
Color:
|
||||||
|
rgb: 1,0,0
|
||||||
|
Ellipse:
|
||||||
|
pos:self.center_x-8, self.center_y-8
|
||||||
|
size:[16,16]
|
||||||
|
group: "money"
|
||||||
|
active: not root.is_active
|
||||||
|
Label:
|
||||||
|
text: "use a random number generator to make an address"
|
||||||
|
color: 0,0,0,1
|
||||||
|
Label:
|
||||||
|
color: 0,0,0,1
|
||||||
|
size_hint_x: .35
|
||||||
|
markup: True
|
||||||
|
text: "[b]{}[/b]".format("Randomly generated addresses")
|
||||||
|
BoxLayout:
|
||||||
|
size_hint_y: None
|
||||||
|
height: '32dp'
|
||||||
|
Label:
|
||||||
|
text: "Label (not shown to anyone except you)"
|
||||||
|
color: 0,0,0,1
|
||||||
|
BoxLayout:
|
||||||
|
size_hint_y: None
|
||||||
|
height: '32dp'
|
||||||
|
TextInput:
|
||||||
|
id: label
|
||||||
|
|
||||||
|
Button:
|
||||||
|
text: 'Cancel'
|
||||||
|
size_hint_y: 0.1
|
||||||
|
size_hint_x: 0.3
|
||||||
|
height: '32dp'
|
||||||
|
pos_hint: {'x': .1, 'y': 0.1}
|
||||||
|
Button:
|
||||||
|
text: 'Ok'
|
||||||
|
size_hint_y: 0.1
|
||||||
|
size_hint_x: 0.3
|
||||||
|
height: '32dp'
|
||||||
pos_hint: {'x': .5, 'y': 0.1}
|
pos_hint: {'x': .5, 'y': 0.1}
|
|
@ -1,23 +1,23 @@
|
||||||
import os
|
import os
|
||||||
|
import shutdown
|
||||||
from kivy.app import App
|
from kivy.app import App
|
||||||
from kivy.lang import Builder
|
from kivy.lang import Builder
|
||||||
from kivy.uix.screenmanager import Screen
|
from kivy.uix.screenmanager import Screen
|
||||||
from kivy.properties import ObjectProperty, StringProperty
|
from kivy.properties import ObjectProperty, StringProperty
|
||||||
from kivymd.theming import ThemeManager
|
from kivymd.theming import ThemeManager
|
||||||
from kivy.uix.widget import Widget
|
from kivy.uix.widget import Widget
|
||||||
from navigationdrawer import NavigationDrawer
|
from kivy.uix.boxlayout import BoxLayout
|
||||||
from kivymd.toolbar import Toolbar
|
from kivymd.toolbar import Toolbar
|
||||||
from kivy.uix.dropdown import DropDown
|
from navigationdrawer import NavigationDrawer
|
||||||
from kivy.uix.button import Button
|
|
||||||
from kivy.uix.gridlayout import GridLayout
|
|
||||||
from kivy.uix.label import Label
|
from kivy.uix.label import Label
|
||||||
from kivy.uix.textinput import TextInput
|
from kivy.uix.textinput import TextInput
|
||||||
from kivy.clock import Clock
|
from kivy.clock import Clock
|
||||||
from kivy.uix.boxlayout import BoxLayout
|
from bmconfigparser import BMConfigParser
|
||||||
from os import environ
|
from kivy.properties import BooleanProperty
|
||||||
import shutdown
|
statusIconColor = 'red'
|
||||||
|
|
||||||
class NavigateApp(App):
|
|
||||||
|
class NavigateApp(App, TextInput):
|
||||||
theme_cls = ThemeManager()
|
theme_cls = ThemeManager()
|
||||||
nav_drawer = ObjectProperty()
|
nav_drawer = ObjectProperty()
|
||||||
|
|
||||||
|
@ -31,42 +31,45 @@ class NavigateApp(App):
|
||||||
App.get_running_app().stop()
|
App.get_running_app().stop()
|
||||||
shutdown.doCleanShutdown()
|
shutdown.doCleanShutdown()
|
||||||
|
|
||||||
|
|
||||||
class Navigator(NavigationDrawer):
|
class Navigator(NavigationDrawer):
|
||||||
image_source = StringProperty('images/me.jpg')
|
image_source = StringProperty('images/me.jpg')
|
||||||
title = StringProperty('Navigation')
|
title = StringProperty('Navigation')
|
||||||
|
|
||||||
|
|
||||||
class Inbox(Screen):
|
class Inbox(Screen):
|
||||||
def __init__ (self,**kwargs):
|
def __init__(self, **kwargs):
|
||||||
super (Inbox, self).__init__(**kwargs)
|
super(Inbox, self).__init__(**kwargs)
|
||||||
val_y = .1
|
val_y = .1
|
||||||
val_z = 0
|
val_z = 0
|
||||||
my_box1 = BoxLayout(orientation='vertical')
|
my_box1 = BoxLayout(orientation='vertical')
|
||||||
for i in range(1, 5):
|
for i in range(1, 5):
|
||||||
my_box1.add_widget(Label(text="I am in inbox", size_hint = (.3,.1), pos_hint = {'x': val_z,'top': val_y},color = (0,0,0,1), background_color = (0,0,0,0)))
|
my_box1.add_widget(Label(text="I am in inbox", size_hint = (.3,.1), pos_hint = {'x': val_z,'top': val_y},color = (0,0,0,1), background_color = (0,0,0,0)))
|
||||||
val_y+=.1
|
val_y += .1
|
||||||
self.add_widget(my_box1)
|
self.add_widget(my_box1)
|
||||||
|
|
||||||
|
|
||||||
class Sent(Screen):
|
class Sent(Screen):
|
||||||
def __init__ (self,**kwargs):
|
def __init__(self, **kwargs):
|
||||||
super (Sent, self).__init__(**kwargs)
|
super(Sent, self).__init__(**kwargs)
|
||||||
val_y = .1
|
val_y = .1
|
||||||
val_z = 0
|
val_z = 0
|
||||||
my_box1 = BoxLayout(orientation='vertical')
|
my_box1 = BoxLayout(orientation='vertical')
|
||||||
for i in range(1, 5):
|
for i in range(1, 5):
|
||||||
my_box1.add_widget(Label(text="I am in sent", size_hint = (.3,.1), pos_hint = {'x': val_z,'top': val_y},color = (0,0,0,1), background_color = (0,0,0,0)))
|
my_box1.add_widget(Label(text="I am in sent", size_hint = (.3,.1), pos_hint = {'x': val_z,'top': val_y},color = (0,0,0,1), background_color = (0,0,0,0)))
|
||||||
val_y+=.1
|
val_y += .1
|
||||||
self.add_widget(my_box1)
|
self.add_widget(my_box1)
|
||||||
|
|
||||||
|
|
||||||
class Trash(Screen):
|
class Trash(Screen):
|
||||||
def __init__ (self,**kwargs):
|
def __init__(self, **kwargs):
|
||||||
super (Trash, self).__init__(**kwargs)
|
super(Trash, self).__init__(**kwargs)
|
||||||
val_y = .1
|
val_y = .1
|
||||||
val_z = 0
|
val_z = 0
|
||||||
my_box1 = BoxLayout(orientation='vertical')
|
my_box1 = BoxLayout(orientation='vertical')
|
||||||
for i in range(1, 5):
|
for i in range(1, 5):
|
||||||
my_box1.add_widget(Label(text="I am in trash", size_hint = (.3,.1), pos_hint = {'x': val_z,'top': val_y},color = (0,0,0,1), background_color = (0,0,0,0)))
|
my_box1.add_widget(Label(text="I am in trash", size_hint = (.3,.1), pos_hint = {'x': val_z,'top': val_y},color = (0,0,0,1), background_color = (0,0,0,0)))
|
||||||
val_y+=.1
|
val_y += .1
|
||||||
self.add_widget(my_box1)
|
self.add_widget(my_box1)
|
||||||
|
|
||||||
|
|
||||||
|
@ -78,8 +81,25 @@ class Test(Screen):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class Create(Screen):
|
class Create(Screen, Widget):
|
||||||
pass
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(Create, self).__init__(*args, **kwargs)
|
||||||
|
Clock.schedule_once(self.init_ui, 0)
|
||||||
|
|
||||||
|
def init_ui(self, dt=0):
|
||||||
|
# self.ids['recipent'].bind(text=self.on_text)
|
||||||
|
pass
|
||||||
|
|
||||||
|
def showmeaddresses(self):
|
||||||
|
return BMConfigParser().addresses()
|
||||||
|
|
||||||
|
def send(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class NewIdentity(Screen):
|
||||||
|
is_active = BooleanProperty(False)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
NavigateApp().run()
|
NavigateApp().run()
|
Reference in New Issue
Block a user