worked on language internationalization
This commit is contained in:
parent
bf1a57d9ca
commit
45cf918ae8
BIN
src/bitmessagekivy/data/locales/en/LC_MESSAGES/langapp.mo
Normal file
BIN
src/bitmessagekivy/data/locales/en/LC_MESSAGES/langapp.mo
Normal file
Binary file not shown.
BIN
src/bitmessagekivy/data/locales/fr/LC_MESSAGES/langapp.mo
Normal file
BIN
src/bitmessagekivy/data/locales/fr/LC_MESSAGES/langapp.mo
Normal file
Binary file not shown.
|
@ -11,7 +11,7 @@
|
||||||
tab_display_mode:'text'
|
tab_display_mode:'text'
|
||||||
|
|
||||||
Tab:
|
Tab:
|
||||||
text: "Chats"
|
text: app.tr._("Chats")
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
id: chat_box
|
id: chat_box
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Caption'
|
font_style: 'Caption'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: 'No Chat'
|
text: app.tr._('No Chat')
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
bold: True
|
bold: True
|
||||||
|
@ -47,7 +47,7 @@
|
||||||
# ImageLeftWidget:
|
# ImageLeftWidget:
|
||||||
# source: './images/text_images/A.png'
|
# source: './images/text_images/A.png'
|
||||||
Tab:
|
Tab:
|
||||||
text: "Contacts"
|
text: app.tr._("Contacts")
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
id: contact_box
|
id: contact_box
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
on_text_validate: root.send_msg()
|
on_text_validate: root.send_msg()
|
||||||
|
|
||||||
MDRaisedButton:
|
MDRaisedButton:
|
||||||
text: "Send"
|
text: app.tr._("Send")
|
||||||
elevation_normal: 2
|
elevation_normal: 2
|
||||||
opposite_colors: True
|
opposite_colors: True
|
||||||
size_hint: (0.3, 1)
|
size_hint: (0.3, 1)
|
||||||
|
|
|
@ -51,14 +51,17 @@
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
font_size: '15sp'
|
font_size: '15sp'
|
||||||
height: self.parent.height/2
|
height: self.parent.height/2
|
||||||
hint_text: 'type, select or scan QR code for recipients address'
|
hint_text: app.tr._('type, select or scan QR code for recipients address')
|
||||||
RV:
|
RV:
|
||||||
id: rv
|
id: rv
|
||||||
MDIconButton:
|
MDIconButton:
|
||||||
icon: 'qrcode-scan'
|
icon: 'qrcode-scan'
|
||||||
pos_hint: {'center_x': 0, 'center_y': .8}
|
pos_hint: {'center_x': 0, 'center_y': .8}
|
||||||
on_release:
|
on_release:
|
||||||
app.root.ids.scr_mngr.current = 'scanscreen'
|
if root.is_camara_attached(): app.root.ids.scr_mngr.current = 'scanscreen'
|
||||||
|
else: root.camera_alert()
|
||||||
|
on_press:
|
||||||
|
app.root.ids.sc23.get_screen('composer')
|
||||||
|
|
||||||
MyMDTextField:
|
MyMDTextField:
|
||||||
id: subject
|
id: subject
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
OneLineListTitle:
|
OneLineListTitle:
|
||||||
id: cred
|
id: cred
|
||||||
text: "Available Credits"
|
text: app.tr._("Available Credits")
|
||||||
divider: None
|
divider: None
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
_no_ripple_effect: True
|
_no_ripple_effect: True
|
||||||
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
OneLineListTitle:
|
OneLineListTitle:
|
||||||
id: cred
|
id: cred
|
||||||
text: root.available_credits
|
text: app.tr._(root.available_credits)
|
||||||
divider: None
|
divider: None
|
||||||
font_style: 'H5'
|
font_style: 'H5'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
|
@ -24,5 +24,5 @@
|
||||||
AnchorLayout:
|
AnchorLayout:
|
||||||
MDRaisedButton:
|
MDRaisedButton:
|
||||||
height: dp(38)
|
height: dp(38)
|
||||||
text: "+Add more credits"
|
text: app.tr._("+Add more credits")
|
||||||
on_press: app.root.ids.scr_mngr.current = 'payment'
|
on_press: app.root.ids.scr_mngr.current = 'payment'
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
height: dp(50)
|
height: dp(50)
|
||||||
MDLabel:
|
MDLabel:
|
||||||
text: "Select method to make an address:"
|
text: app.tr._("Select method to make an address:")
|
||||||
bold: True
|
bold: True
|
||||||
halign: "center"
|
halign: "center"
|
||||||
theme_text_color: "Custom"
|
theme_text_color: "Custom"
|
||||||
|
@ -54,7 +54,7 @@
|
||||||
size_hint_x: None
|
size_hint_x: None
|
||||||
width: dp(200)
|
width: dp(200)
|
||||||
MDLabel:
|
MDLabel:
|
||||||
text: "Random Number Generator"
|
text: app.tr._("Random Number Generator")
|
||||||
|
|
||||||
AnchorLayout:
|
AnchorLayout:
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
|
@ -74,11 +74,11 @@
|
||||||
size_hint_x: None
|
size_hint_x: None
|
||||||
width: dp(200)
|
width: dp(200)
|
||||||
MDLabel:
|
MDLabel:
|
||||||
text: "Pseudo Number Generator"
|
text: app.tr._("Pseudo Number Generator")
|
||||||
AnchorLayout:
|
AnchorLayout:
|
||||||
MDFillRoundFlatIconButton:
|
MDFillRoundFlatIconButton:
|
||||||
icon: "chevron-double-right"
|
icon: "chevron-double-right"
|
||||||
text: "Proceed Next"
|
text: app.tr._("Proceed Next")
|
||||||
on_release:
|
on_release:
|
||||||
app.root.ids.scr_mngr.current = 'random'
|
app.root.ids.scr_mngr.current = 'random'
|
||||||
on_press:
|
on_press:
|
||||||
|
@ -160,7 +160,7 @@
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
height: dp(50)
|
height: dp(50)
|
||||||
MDLabel:
|
MDLabel:
|
||||||
text: "Enter a label to generate address for:"
|
text: app.tr._("Enter a label to generate address for:")
|
||||||
bold: True
|
bold: True
|
||||||
halign: "center"
|
halign: "center"
|
||||||
theme_text_color: "Custom"
|
theme_text_color: "Custom"
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
AnchorLayout:
|
AnchorLayout:
|
||||||
MDFillRoundFlatIconButton:
|
MDFillRoundFlatIconButton:
|
||||||
icon: "chevron-double-right"
|
icon: "chevron-double-right"
|
||||||
text: "Proceed Next"
|
text: app.tr._("Proceed Next")
|
||||||
on_release: app.root.ids.sc7.generateaddress(app)
|
on_release: app.root.ids.sc7.generateaddress(app)
|
||||||
|
|
||||||
Widget:
|
Widget:
|
||||||
|
@ -245,7 +245,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
theme_text_color: "Custom"
|
theme_text_color: "Custom"
|
||||||
text_color: .1,.1,.1,.9
|
text_color: .1,.1,.1,.9
|
||||||
text: root.section_name
|
text: app.tr._(root.section_name)
|
||||||
bold: True
|
bold: True
|
||||||
font_style: "Button"
|
font_style: "Button"
|
||||||
|
|
||||||
|
@ -261,4 +261,4 @@
|
||||||
theme_text_color: "Custom"
|
theme_text_color: "Custom"
|
||||||
text_color: 0.3,0.3,0.3,1
|
text_color: 0.3,0.3,0.3,1
|
||||||
font_style: "Body1"
|
font_style: "Body1"
|
||||||
text: root.section_text
|
text: app.tr._(root.section_text)
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
# on_touch_down: root.allclick(self)
|
# on_touch_down: root.allclick(self)
|
||||||
OneLineListTitle:
|
OneLineListTitle:
|
||||||
id: subj
|
id: subj
|
||||||
text: root.subject
|
text: app.tr._(root.subject)
|
||||||
divider: None
|
divider: None
|
||||||
font_style: 'H5'
|
font_style: 'H5'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
|
@ -27,14 +27,14 @@
|
||||||
long_press_time: 1
|
long_press_time: 1
|
||||||
TwoLineAvatarIconListItem:
|
TwoLineAvatarIconListItem:
|
||||||
id: subaft
|
id: subaft
|
||||||
text: root.from_addr
|
text: app.tr._(root.from_addr)
|
||||||
secondary_text: 'to ' + root.to_addr
|
secondary_text: app.tr._('to ' + root.to_addr)
|
||||||
divider: None
|
divider: None
|
||||||
on_press: root.detailedPopup()
|
on_press: root.detailedPopup()
|
||||||
BadgeText:
|
BadgeText:
|
||||||
size_hint:(None, None)
|
size_hint:(None, None)
|
||||||
size:[120, 140] if app.app_platform == 'android' else [64, 80]
|
size:[120, 140] if app.app_platform == 'android' else [64, 80]
|
||||||
text: root.time_tag
|
text: app.tr._(root.time_tag)
|
||||||
halign:'center'
|
halign:'center'
|
||||||
font_style:'Caption'
|
font_style:'Caption'
|
||||||
pos_hint: {'center_y': .8}
|
pos_hint: {'center_y': .8}
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
font_size: '11sp'
|
font_size: '11sp'
|
||||||
MDChip:
|
MDChip:
|
||||||
size_hint: (.16 if app.app_platform == 'android' else .07 , None)
|
size_hint: (.16 if app.app_platform == 'android' else .07 , None)
|
||||||
label: root.page_type
|
label: app.tr._(root.page_type)
|
||||||
icon: ''
|
icon: ''
|
||||||
pos_hint: {'center_x': .91 if app.app_platform == 'android' else .95, 'center_y': .3}
|
pos_hint: {'center_x': .91 if app.app_platform == 'android' else .95, 'center_y': .3}
|
||||||
radius: 8
|
radius: 8
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
height: self.minimum_height
|
height: self.minimum_height
|
||||||
MDLabel:
|
MDLabel:
|
||||||
id: tag_label
|
id: tag_label
|
||||||
text: 'My Addresses'
|
text: app.tr._('My Addresses')
|
||||||
font_style: 'Subtitle2'
|
font_style: 'Subtitle2'
|
||||||
FloatLayout:
|
FloatLayout:
|
||||||
MDScrollViewRefreshLayout:
|
MDScrollViewRefreshLayout:
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
tab_display_mode:'text'
|
tab_display_mode:'text'
|
||||||
|
|
||||||
Tab:
|
Tab:
|
||||||
text: "Total connections"
|
text: app.tr._("Total connections")
|
||||||
ScrollView:
|
ScrollView:
|
||||||
do_scroll_x: False
|
do_scroll_x: False
|
||||||
MDList:
|
MDList:
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
height: dp(200)
|
height: dp(200)
|
||||||
OneLineListItem:
|
OneLineListItem:
|
||||||
text: "Total Connections"
|
text: app.tr._("Total Connections")
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
|
@ -27,12 +27,12 @@
|
||||||
pos_hint: {'center_x': .5}
|
pos_hint: {'center_x': .5}
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'H6'
|
font_style: 'H6'
|
||||||
text: root.text_variable_1
|
text: app.tr._(root.text_variable_1)
|
||||||
font_size: '13sp'
|
font_size: '13sp'
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
Tab:
|
Tab:
|
||||||
text: 'Processes'
|
text: app.tr._('Processes')
|
||||||
ScrollView:
|
ScrollView:
|
||||||
do_scroll_x: False
|
do_scroll_x: False
|
||||||
MDList:
|
MDList:
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
height: dp(500)
|
height: dp(500)
|
||||||
OneLineListItem:
|
OneLineListItem:
|
||||||
text: "person-to-person"
|
text: app.tr._("person-to-person")
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
|
@ -54,12 +54,12 @@
|
||||||
pos_hint: {'center_x': .5}
|
pos_hint: {'center_x': .5}
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'H6'
|
font_style: 'H6'
|
||||||
text: root.text_variable_2
|
text: app.tr._(root.text_variable_2)
|
||||||
font_size: '13sp'
|
font_size: '13sp'
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
OneLineListItem:
|
OneLineListItem:
|
||||||
text: "Brodcast"
|
text: app.tr._("Brodcast")
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
|
@ -73,12 +73,12 @@
|
||||||
pos_hint: {'center_x': .5}
|
pos_hint: {'center_x': .5}
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'H6'
|
font_style: 'H6'
|
||||||
text: root.text_variable_3
|
text: app.tr._(root.text_variable_3)
|
||||||
font_size: '13sp'
|
font_size: '13sp'
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
OneLineListItem:
|
OneLineListItem:
|
||||||
text: "publickeys"
|
text: app.tr._("publickeys")
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
|
@ -92,12 +92,12 @@
|
||||||
pos_hint: {'center_x': .5}
|
pos_hint: {'center_x': .5}
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'H6'
|
font_style: 'H6'
|
||||||
text: root.text_variable_4
|
text: app.tr._(root.text_variable_4)
|
||||||
font_size: '13sp'
|
font_size: '13sp'
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
OneLineListItem:
|
OneLineListItem:
|
||||||
text: "objects"
|
text: app.tr._("objects")
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
|
@ -111,7 +111,7 @@
|
||||||
pos_hint: {'center_x': .5}
|
pos_hint: {'center_x': .5}
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'H6'
|
font_style: 'H6'
|
||||||
text: root.text_variable_5
|
text: app.tr._(root.text_variable_5)
|
||||||
font_size: '13sp'
|
font_size: '13sp'
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
MDTextField:
|
MDTextField:
|
||||||
id: label
|
id: label
|
||||||
multiline: False
|
multiline: False
|
||||||
hint_text: "Label"
|
hint_text: app.tr._("Label")
|
||||||
required: True
|
required: True
|
||||||
helper_text_mode: "on_error"
|
helper_text_mode: "on_error"
|
||||||
on_text: root.checkLabel_valid(self)
|
on_text: root.checkLabel_valid(self)
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
rgba: (0,0,0,1)
|
rgba: (0,0,0,1)
|
||||||
MDTextField:
|
MDTextField:
|
||||||
id: address
|
id: address
|
||||||
hint_text: "Address"
|
hint_text: app.tr._("Address")
|
||||||
required: True
|
required: True
|
||||||
helper_text_mode: "on_error"
|
helper_text_mode: "on_error"
|
||||||
multiline: False
|
multiline: False
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
MDLabel
|
MDLabel
|
||||||
font_style: 'Subtitle2'
|
font_style: 'Subtitle2'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Label"
|
text: app.tr._("Label")
|
||||||
font_size: '17sp'
|
font_size: '17sp'
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
MDTextField:
|
MDTextField:
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
font_size: '15sp'
|
font_size: '15sp'
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
text: root.address_label
|
text: app.tr._(root.address_label)
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
required: True
|
required: True
|
||||||
helper_text_mode: "on_error"
|
helper_text_mode: "on_error"
|
||||||
|
@ -71,7 +71,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Subtitle2'
|
font_style: 'Subtitle2'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Address"
|
text: app.tr._("Address")
|
||||||
font_size: '17sp'
|
font_size: '17sp'
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
Widget:
|
Widget:
|
||||||
|
@ -83,7 +83,7 @@
|
||||||
id: address
|
id: address
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: root.address
|
text: app.tr._(root.address)
|
||||||
font_size: '15sp'
|
font_size: '15sp'
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
IconRightSampleWidget:
|
IconRightSampleWidget:
|
||||||
|
@ -102,7 +102,7 @@
|
||||||
id: myaddr_label
|
id: myaddr_label
|
||||||
font_style: 'Subtitle2'
|
font_style: 'Subtitle2'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Label"
|
text: app.tr._("Label")
|
||||||
font_size: '17sp'
|
font_size: '17sp'
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
MDLabel:
|
MDLabel:
|
||||||
|
@ -114,7 +114,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Subtitle2'
|
font_style: 'Subtitle2'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Address"
|
text: app.tr._("Address")
|
||||||
font_size: '17sp'
|
font_size: '17sp'
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -123,7 +123,7 @@
|
||||||
id: label_address
|
id: label_address
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: root.address
|
text: app.tr._(root.address)
|
||||||
font_size: '15sp'
|
font_size: '15sp'
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
IconRightSampleWidget:
|
IconRightSampleWidget:
|
||||||
|
@ -142,7 +142,7 @@
|
||||||
on_press: root.send_message_from()
|
on_press: root.send_message_from()
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'H6'
|
font_style: 'H6'
|
||||||
text: 'Send message from'
|
text: app.tr._('Send message from')
|
||||||
font_size: '13sp'
|
font_size: '13sp'
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
|
@ -153,7 +153,7 @@
|
||||||
on_press: app.root.ids.sc15.qrdisplay(root, root.address)
|
on_press: app.root.ids.sc15.qrdisplay(root, root.address)
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'H6'
|
font_style: 'H6'
|
||||||
text: 'Show QR code'
|
text: app.tr._('Show QR code')
|
||||||
font_size: '13sp'
|
font_size: '13sp'
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
|
@ -163,7 +163,7 @@
|
||||||
on_press: root.close_pop()
|
on_press: root.close_pop()
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'H6'
|
font_style: 'H6'
|
||||||
text: 'Cancel'
|
text: app.tr._('Cancel')
|
||||||
font_size: '13sp'
|
font_size: '13sp'
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
|
@ -189,7 +189,7 @@
|
||||||
id: popup_label
|
id: popup_label
|
||||||
font_style: 'Subtitle2'
|
font_style: 'Subtitle2'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Bitmessage isn't connected to the network.\n If you quit now, it may cause delivery delays.\n Wait until connected and the synchronisation finishes?"
|
text: app.tr._("Bitmessage isn't connected to the network.\n If you quit now, it may cause delivery delays.\n Wait until connected and the synchronisation finishes?")
|
||||||
font_size: '17sp'
|
font_size: '17sp'
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -203,7 +203,7 @@
|
||||||
on_press: app.stop()
|
on_press: app.stop()
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'H6'
|
font_style: 'H6'
|
||||||
text: 'Yes'
|
text: app.tr._('Yes')
|
||||||
font_size: '13sp'
|
font_size: '13sp'
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
|
@ -213,7 +213,7 @@
|
||||||
on_press: root.closingAction(self.children[0].text)
|
on_press: root.closingAction(self.children[0].text)
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'H6'
|
font_style: 'H6'
|
||||||
text: 'No'
|
text: app.tr._('No')
|
||||||
font_size: '13sp'
|
font_size: '13sp'
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
|
@ -224,7 +224,7 @@
|
||||||
on_press: root.closingAction(self.children[0].text)
|
on_press: root.closingAction(self.children[0].text)
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'H6'
|
font_style: 'H6'
|
||||||
text: 'Cancel'
|
text: app.tr._('Cancel')
|
||||||
font_size: '13sp'
|
font_size: '13sp'
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
|
@ -248,7 +248,7 @@
|
||||||
id: from_add_label
|
id: from_add_label
|
||||||
font_style: 'Subtitle2'
|
font_style: 'Subtitle2'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "From :"
|
text: app.tr._("From :")
|
||||||
font_size: '15sp'
|
font_size: '15sp'
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
Widget:
|
Widget:
|
||||||
|
@ -262,7 +262,7 @@
|
||||||
id: sd_label
|
id: sd_label
|
||||||
font_style: 'Body2'
|
font_style: 'Body2'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "[b]" + root.from_addr + "[/b]"
|
text: app.tr._("[b]" + root.from_addr + "[/b]")
|
||||||
font_size: '15sp'
|
font_size: '15sp'
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
markup: True
|
markup: True
|
||||||
|
@ -288,7 +288,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body2'
|
font_style: 'Body2'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Date : " + root.time_tag
|
text: app.tr._("Date : " + root.time_tag)
|
||||||
font_size: '15sp'
|
font_size: '15sp'
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -301,7 +301,7 @@
|
||||||
pos_hint: {'x': 0.8, 'y': 0}
|
pos_hint: {'x': 0.8, 'y': 0}
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'H6'
|
font_style: 'H6'
|
||||||
text: 'Cancel'
|
text: app.tr._('Cancel')
|
||||||
font_size: '13sp'
|
font_size: '13sp'
|
||||||
color: (1,1,1,1)
|
color: (1,1,1,1)
|
||||||
halign: 'center'
|
halign: 'center'
|
||||||
|
@ -311,7 +311,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body2'
|
font_style: 'Body2'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: root.to_addr
|
text: app.tr._(root.to_addr)
|
||||||
font_size: '15sp'
|
font_size: '15sp'
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
IconRightSampleWidget:
|
IconRightSampleWidget:
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
tab_display_mode:'text'
|
tab_display_mode:'text'
|
||||||
|
|
||||||
Tab:
|
Tab:
|
||||||
text: "User Interface"
|
text: app.tr._("User Interface")
|
||||||
ScrollView:
|
ScrollView:
|
||||||
do_scroll_x: False
|
do_scroll_x: False
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Start-on-login not yet supported on your OS"
|
text: app.tr._("Start-on-login not yet supported on your OS")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
pos_hint: {'center_x': 0, 'center_y': 0.6}
|
pos_hint: {'center_x': 0, 'center_y': 0.6}
|
||||||
disabled: True
|
disabled: True
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Tray"
|
text: app.tr._("Tray")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
bold: True
|
bold: True
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -58,7 +58,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Start Bitmessage in the tray(don't show main window)"
|
text: app.tr._("Start Bitmessage in the tray(don't show main window)")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
pos_hint: {'x': 0, 'y': .5}
|
pos_hint: {'x': 0, 'y': .5}
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -72,7 +72,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Minimize to tray"
|
text: app.tr._("Minimize to tray")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
pos_hint: {'x': 0, 'y': .5}
|
pos_hint: {'x': 0, 'y': .5}
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Close to tray"
|
text: app.tr._("Close to tray")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
pos_hint: {'x': 0, 'y': .5}
|
pos_hint: {'x': 0, 'y': .5}
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -104,7 +104,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Hide connection notifications"
|
text: app.tr._("Hide connection notifications")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
pos_hint: {'x': 0, 'y': 0.2}
|
pos_hint: {'x': 0, 'y': 0.2}
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -118,7 +118,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Show notification when message received"
|
text: app.tr._("Show notification when message received")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
pos_hint: {'x': 0, 'y': 0.2}
|
pos_hint: {'x': 0, 'y': 0.2}
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -132,7 +132,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Run in Portable Mode"
|
text: app.tr._("Run in Portable Mode")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
pos_hint: {'x': 0, 'y': 0.2}
|
pos_hint: {'x': 0, 'y': 0.2}
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -140,7 +140,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: 'In portable Mode, messages and config files are stored in the same directory as the program rather then the normal application-data folder. This makes it convenient to run Bitmessage from a USB thumb drive.'
|
text: app.tr._('In portable Mode, messages and config files are stored in the same directory as the program rather then the normal application-data folder. This makes it convenient to run Bitmessage from a USB thumb drive.')
|
||||||
# text: 'huiiiii'
|
# text: 'huiiiii'
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -157,7 +157,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Willingly include unencrypted destination address when sending to a mobile device"
|
text: app.tr._("Willingly include unencrypted destination address when sending to a mobile device")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
pos_hint: {'x': 0, 'y': 0.2}
|
pos_hint: {'x': 0, 'y': 0.2}
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -171,7 +171,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Use identicons"
|
text: app.tr._("Use identicons")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
pos_hint: {'x': 0, 'y': 0.2}
|
pos_hint: {'x': 0, 'y': 0.2}
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -184,7 +184,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Reply below Quote"
|
text: app.tr._("Reply below Quote")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
pos_hint: {'x': 0, 'y': 0.2}
|
pos_hint: {'x': 0, 'y': 0.2}
|
||||||
Widget:
|
Widget:
|
||||||
|
@ -200,7 +200,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Interface Language"
|
text: app.tr._("Interface Language")
|
||||||
# halign: 'right'
|
# halign: 'right'
|
||||||
bold: True
|
bold: True
|
||||||
MDDropDownItem:
|
MDDropDownItem:
|
||||||
|
@ -225,9 +225,9 @@
|
||||||
# padding: [0, 10, 0, 0]
|
# padding: [0, 10, 0, 0]
|
||||||
spacing: 10
|
spacing: 10
|
||||||
MDRaisedButton:
|
MDRaisedButton:
|
||||||
text: 'Reset'
|
text: app.tr._('Reset')
|
||||||
MDRaisedButton:
|
MDRaisedButton:
|
||||||
text: 'Ok'
|
text: app.tr._('Ok')
|
||||||
Tab:
|
Tab:
|
||||||
text: 'Network Settings'
|
text: 'Network Settings'
|
||||||
ScrollView:
|
ScrollView:
|
||||||
|
@ -243,7 +243,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Listening port"
|
text: app.tr._("Listening port")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
bold: True
|
bold: True
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -254,14 +254,14 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Listen for connections on port:"
|
text: app.tr._("Listen for connections on port:")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
orientation: 'horizontal'
|
orientation: 'horizontal'
|
||||||
MDTextFieldRect:
|
MDTextFieldRect:
|
||||||
size_hint: None, None
|
size_hint: None, None
|
||||||
size: dp(100), dp(30)
|
size: dp(100), dp(30)
|
||||||
text: '8444'
|
text: app.tr._('8444')
|
||||||
pos_hint: {'center_y': .5, 'center_x': .5}
|
pos_hint: {'center_y': .5, 'center_x': .5}
|
||||||
input_filter: "int"
|
input_filter: "int"
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -276,7 +276,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "UPnP"
|
text: app.tr._("UPnP")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
pos_hint: {'x': 0, 'y': 0}
|
pos_hint: {'x': 0, 'y': 0}
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -284,7 +284,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Proxy server / Tor"
|
text: app.tr._("Proxy server / Tor")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
bold: True
|
bold: True
|
||||||
|
|
||||||
|
@ -295,7 +295,7 @@
|
||||||
size_hint_x: None
|
size_hint_x: None
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Type:"
|
text: app.tr._("Type:")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
MDDropDownItem:
|
MDDropDownItem:
|
||||||
id: dropdown_item2
|
id: dropdown_item2
|
||||||
|
@ -314,19 +314,19 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Server hostname:"
|
text: app.tr._("Server hostname:")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
MDTextFieldRect:
|
MDTextFieldRect:
|
||||||
size_hint: None, None
|
size_hint: None, None
|
||||||
size: dp(app.window_size[0]/4), dp(30)
|
size: dp(app.window_size[0]/4), dp(30)
|
||||||
hint_text: 'localhost'
|
hint_text: app.tr._('localhost')
|
||||||
pos_hint: {'center_y': .5, 'center_x': .5}
|
pos_hint: {'center_y': .5, 'center_x': .5}
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
orientation: 'horizontal'
|
orientation: 'horizontal'
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Port:"
|
text: app.tr._("Port:")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
# TextInput:
|
# TextInput:
|
||||||
# size_hint: None, None
|
# size_hint: None, None
|
||||||
|
@ -339,7 +339,7 @@
|
||||||
MDTextFieldRect:
|
MDTextFieldRect:
|
||||||
size_hint: None, None
|
size_hint: None, None
|
||||||
size: dp(app.window_size[0]/4), dp(30)
|
size: dp(app.window_size[0]/4), dp(30)
|
||||||
hint_text: '9050'
|
hint_text: app.tr._('9050')
|
||||||
pos_hint: {'center_y': .5, 'center_x': .5}
|
pos_hint: {'center_y': .5, 'center_x': .5}
|
||||||
input_filter: "int"
|
input_filter: "int"
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -347,7 +347,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Username:"
|
text: app.tr._("Username:")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
MDTextFieldRect:
|
MDTextFieldRect:
|
||||||
size_hint: None, None
|
size_hint: None, None
|
||||||
|
@ -358,7 +358,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Pass:"
|
text: app.tr._("Pass:")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
MDTextFieldRect:
|
MDTextFieldRect:
|
||||||
size_hint: None, None
|
size_hint: None, None
|
||||||
|
@ -376,7 +376,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Authentication"
|
text: app.tr._("Authentication")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
pos_hint: {'x': 0, 'y': 0}
|
pos_hint: {'x': 0, 'y': 0}
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -391,7 +391,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Listen for incoming connections when using proxy"
|
text: app.tr._("Listen for incoming connections when using proxy")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
pos_hint: {'x': 0, 'y': 0}
|
pos_hint: {'x': 0, 'y': 0}
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -406,7 +406,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Only connect to onion services(*.onion)"
|
text: app.tr._("Only connect to onion services(*.onion)")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
pos_hint: {'x': 0, 'y': 0}
|
pos_hint: {'x': 0, 'y': 0}
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -414,7 +414,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Bandwidth limit"
|
text: app.tr._("Bandwidth limit")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
bold: True
|
bold: True
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -425,7 +425,23 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Maximum download rate (kB/s):[0:unlimited]"
|
text: app.tr._("Maximum download rate (kB/s):[0:unlimited]")
|
||||||
|
halign: 'left'
|
||||||
|
MDTextFieldRect:
|
||||||
|
size_hint: None, None
|
||||||
|
size: app.window_size[0]/2, dp(30)
|
||||||
|
hint_text: app.tr._('0')
|
||||||
|
pos_hint: {'center_y': .5, 'center_x': .5}
|
||||||
|
input_filter: "int"
|
||||||
|
BoxLayout:
|
||||||
|
size_hint_y: None
|
||||||
|
orientation: 'horizontal'
|
||||||
|
padding: [30, 0, 0, 0]
|
||||||
|
height: dp(30) + self.minimum_height
|
||||||
|
MDLabel:
|
||||||
|
font_style: 'Body1'
|
||||||
|
theme_text_color: 'Primary'
|
||||||
|
text: app.tr._("Maximum upload rate (kB/s):[0:unlimited]")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
MDTextFieldRect:
|
MDTextFieldRect:
|
||||||
size_hint: None, None
|
size_hint: None, None
|
||||||
|
@ -441,23 +457,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Maximum upload rate (kB/s):[0:unlimited]"
|
text: app.tr._("Maximum outbound connections:[0:none]")
|
||||||
halign: 'left'
|
|
||||||
MDTextFieldRect:
|
|
||||||
size_hint: None, None
|
|
||||||
size: app.window_size[0]/2, dp(30)
|
|
||||||
hint_text: '0'
|
|
||||||
pos_hint: {'center_y': .5, 'center_x': .5}
|
|
||||||
input_filter: "int"
|
|
||||||
BoxLayout:
|
|
||||||
size_hint_y: None
|
|
||||||
orientation: 'horizontal'
|
|
||||||
padding: [30, 0, 0, 0]
|
|
||||||
height: dp(30) + self.minimum_height
|
|
||||||
MDLabel:
|
|
||||||
font_style: 'Body1'
|
|
||||||
theme_text_color: 'Primary'
|
|
||||||
text: "Maximum outbound connections:[0:none]"
|
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
MDTextFieldRect:
|
MDTextFieldRect:
|
||||||
size_hint: None, None
|
size_hint: None, None
|
||||||
|
@ -470,9 +470,9 @@
|
||||||
orientation: 'horizontal'
|
orientation: 'horizontal'
|
||||||
# pos_hint: {'x':.76}
|
# pos_hint: {'x':.76}
|
||||||
MDRaisedButton:
|
MDRaisedButton:
|
||||||
text: 'Reset'
|
text: app.tr._('Reset')
|
||||||
MDRaisedButton:
|
MDRaisedButton:
|
||||||
text: 'Ok'
|
text: app.tr._('Ok')
|
||||||
Tab:
|
Tab:
|
||||||
text: 'Resends Expire'
|
text: 'Resends Expire'
|
||||||
ScrollView:
|
ScrollView:
|
||||||
|
@ -491,7 +491,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: root.exp_text
|
text: app.tr._(root.exp_text)
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
id: box2_height
|
id: box2_height
|
||||||
|
@ -501,7 +501,7 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Leave these input fields blank for the default behavior."
|
text: app.tr._("Leave these input fields blank for the default behavior.")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
|
@ -513,18 +513,18 @@
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "Give up after"
|
text: app.tr._("Give up after")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
MDTextFieldRect:
|
MDTextFieldRect:
|
||||||
size_hint: None, None
|
size_hint: None, None
|
||||||
size: dp(70), dp(30)
|
size: dp(70), dp(30)
|
||||||
text: '0'
|
text: app.tr._('0')
|
||||||
pos_hint: {'center_y': .5, 'center_x': .5}
|
pos_hint: {'center_y': .5, 'center_x': .5}
|
||||||
input_filter: "int"
|
input_filter: "int"
|
||||||
MDLabel:
|
MDLabel:
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: "days and"
|
text: app.tr._("days and")
|
||||||
halign: 'left'
|
halign: 'left'
|
||||||
MDTextFieldRect:
|
MDTextFieldRect:
|
||||||
size_hint: None, None
|
size_hint: None, None
|
||||||
|
@ -545,6 +545,6 @@
|
||||||
# pos_hint: {'x':.75}
|
# pos_hint: {'x':.75}
|
||||||
height: dp(50) + self.minimum_height
|
height: dp(50) + self.minimum_height
|
||||||
MDRaisedButton:
|
MDRaisedButton:
|
||||||
text: 'Reset'
|
text: app.tr._('Reset')
|
||||||
MDRaisedButton:
|
MDRaisedButton:
|
||||||
text: 'Ok'
|
text: app.tr._('Ok')
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
#: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 MDTabsBase kivymd.uix.tab.MDTabsBase
|
#:import MDTabsBase kivymd.uix.tab.MDTabsBase
|
||||||
#:import ZBarSymbol pyzbar.pyzbar.ZBarSymbol
|
##:import ZBarSymbol pyzbar.pyzbar.ZBarSymbol
|
||||||
<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
|
||||||
|
@ -100,7 +100,8 @@
|
||||||
height: self.minimum_height
|
height: self.minimum_height
|
||||||
NavigationDrawerDivider:
|
NavigationDrawerDivider:
|
||||||
NavigationDrawerSubheader:
|
NavigationDrawerSubheader:
|
||||||
text: "Accounts"
|
text: app.tr._('Accounts')
|
||||||
|
#text: app.tr._('Hello World')
|
||||||
height:"35dp"
|
height:"35dp"
|
||||||
NavigationItem:
|
NavigationItem:
|
||||||
# size: 50,50
|
# size: 50,50
|
||||||
|
@ -127,7 +128,8 @@
|
||||||
ArrowImg:
|
ArrowImg:
|
||||||
NavigationItem:
|
NavigationItem:
|
||||||
id: inbox_cnt
|
id: inbox_cnt
|
||||||
text: 'Inbox'
|
text: app.tr._('Inbox')
|
||||||
|
#text: app.tr._('Hello World')
|
||||||
icon: 'email-open'
|
icon: 'email-open'
|
||||||
divider: None
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'inbox'
|
on_release: app.root.ids.scr_mngr.current = 'inbox'
|
||||||
|
@ -135,28 +137,28 @@
|
||||||
on_press: app.load_screen(self)
|
on_press: app.load_screen(self)
|
||||||
NavigationItem:
|
NavigationItem:
|
||||||
id: send_cnt
|
id: send_cnt
|
||||||
text: 'Sent'
|
text: app.tr._('Sent')
|
||||||
icon: 'send'
|
icon: 'send'
|
||||||
divider: None
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'sent'
|
on_release: app.root.ids.scr_mngr.current = 'sent'
|
||||||
on_release: root.parent.set_state()
|
on_release: root.parent.set_state()
|
||||||
NavigationItem:
|
NavigationItem:
|
||||||
id: draft_cnt
|
id: draft_cnt
|
||||||
text: 'Draft'
|
text: app.tr._('Draft')
|
||||||
icon: 'message-draw'
|
icon: 'message-draw'
|
||||||
divider: None
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'draft'
|
on_release: app.root.ids.scr_mngr.current = 'draft'
|
||||||
on_release: root.parent.set_state()
|
on_release: root.parent.set_state()
|
||||||
NavigationItem:
|
NavigationItem:
|
||||||
id: trash_cnt
|
id: trash_cnt
|
||||||
text: 'Trash'
|
text: app.tr._('Trash')
|
||||||
icon: 'delete'
|
icon: 'delete'
|
||||||
divider: None
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'trash'
|
on_release: app.root.ids.scr_mngr.current = 'trash'
|
||||||
on_release: root.parent.set_state()
|
on_release: root.parent.set_state()
|
||||||
NavigationItem:
|
NavigationItem:
|
||||||
id: allmail_cnt
|
id: allmail_cnt
|
||||||
text: 'All Mails'
|
text: app.tr._('All Mails')
|
||||||
icon: 'contact-mail'
|
icon: 'contact-mail'
|
||||||
divider: None
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'allmails'
|
on_release: app.root.ids.scr_mngr.current = 'allmails'
|
||||||
|
@ -164,53 +166,53 @@
|
||||||
on_press: app.load_screen(self)
|
on_press: app.load_screen(self)
|
||||||
NavigationItem:
|
NavigationItem:
|
||||||
id: chat_rm
|
id: chat_rm
|
||||||
text: 'Chat Room'
|
text: app.tr._('Chat Room')
|
||||||
icon: 'wechat'
|
icon: 'wechat'
|
||||||
divider: None
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'chlist'
|
on_release: app.root.ids.scr_mngr.current = 'chlist'
|
||||||
on_release: root.parent.set_state()
|
on_release: root.parent.set_state()
|
||||||
NavigationDrawerDivider:
|
NavigationDrawerDivider:
|
||||||
NavigationDrawerSubheader:
|
NavigationDrawerSubheader:
|
||||||
text: "All labels"
|
text: app.tr._("All labels")
|
||||||
NavigationItem:
|
NavigationItem:
|
||||||
text: 'Address Book'
|
text: app.tr._('Address Book')
|
||||||
icon: 'book-multiple'
|
icon: 'book-multiple'
|
||||||
divider: None
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'addressbook'
|
on_release: app.root.ids.scr_mngr.current = 'addressbook'
|
||||||
on_release: root.parent.set_state()
|
on_release: root.parent.set_state()
|
||||||
NavigationItem:
|
NavigationItem:
|
||||||
text: 'Settings'
|
text: app.tr._('Settings')
|
||||||
icon: 'settings'
|
icon: 'settings'
|
||||||
divider: None
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'set'
|
on_release: app.root.ids.scr_mngr.current = 'set'
|
||||||
on_release: root.parent.set_state()
|
on_release: root.parent.set_state()
|
||||||
NavigationItem:
|
NavigationItem:
|
||||||
text: 'Purchase'
|
text: app.tr._('Purchase')
|
||||||
icon: 'shopping'
|
icon: 'shopping'
|
||||||
divider: None
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'payment'
|
on_release: app.root.ids.scr_mngr.current = 'payment'
|
||||||
on_release: root.parent.set_state()
|
on_release: root.parent.set_state()
|
||||||
NavigationItem:
|
NavigationItem:
|
||||||
text: 'Credits'
|
text: app.tr._('Credits')
|
||||||
icon: 'wallet'
|
icon: 'wallet'
|
||||||
divider: None
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'credits'
|
on_release: app.root.ids.scr_mngr.current = 'credits'
|
||||||
on_release: root.parent.set_state()
|
on_release: root.parent.set_state()
|
||||||
NavigationItem:
|
NavigationItem:
|
||||||
text: 'New address'
|
text: app.tr._('New address')
|
||||||
icon: 'account-plus'
|
icon: 'account-plus'
|
||||||
divider: None
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'login'
|
on_release: app.root.ids.scr_mngr.current = 'login'
|
||||||
on_release: root.parent.set_state()
|
on_release: root.parent.set_state()
|
||||||
on_press: app.reset_login_screen()
|
on_press: app.reset_login_screen()
|
||||||
NavigationItem:
|
NavigationItem:
|
||||||
text: 'Network status'
|
text: app.tr._('Network status')
|
||||||
icon: 'server-network'
|
icon: 'server-network'
|
||||||
divider: None
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'networkstat'
|
on_release: app.root.ids.scr_mngr.current = 'networkstat'
|
||||||
on_release: root.parent.set_state()
|
on_release: root.parent.set_state()
|
||||||
NavigationItem:
|
NavigationItem:
|
||||||
text: 'My addresses'
|
text: app.tr._('My addresses')
|
||||||
icon: 'account-multiple'
|
icon: 'account-multiple'
|
||||||
divider: None
|
divider: None
|
||||||
on_release: app.root.ids.scr_mngr.current = 'myaddress'
|
on_release: app.root.ids.scr_mngr.current = 'myaddress'
|
||||||
|
@ -317,7 +319,7 @@ NavigationLayout:
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
font_style: 'Body1'
|
font_style: 'Body1'
|
||||||
theme_text_color: 'Primary'
|
theme_text_color: 'Primary'
|
||||||
text: root.address
|
text: app.tr._(root.address)
|
||||||
multiline: True
|
multiline: True
|
||||||
readonly: True
|
readonly: True
|
||||||
line_color_normal: [0,0,0,0]
|
line_color_normal: [0,0,0,0]
|
||||||
|
|
|
@ -79,11 +79,13 @@ from kivymd.uix.bottomsheet import MDCustomBottomSheet
|
||||||
from kivy.effects.dampedscroll import DampedScrollEffect
|
from kivy.effects.dampedscroll import DampedScrollEffect
|
||||||
from kivymd.uix.menu import MDDropdownMenu
|
from kivymd.uix.menu import MDDropdownMenu
|
||||||
|
|
||||||
from kivy_garden.zbarcam import ZBarCam
|
from kivy.lang import Observable
|
||||||
from pyzbar.pyzbar import ZBarSymbol
|
import gettext
|
||||||
|
|
||||||
if platform != "android":
|
if platform != "android":
|
||||||
from kivy.config import Config
|
from kivy.config import Config
|
||||||
|
from kivy_garden.zbarcam import ZBarCam
|
||||||
|
from pyzbar.pyzbar import ZBarSymbol
|
||||||
|
|
||||||
Config.set("input", "mouse", "mouse, multitouch_on_demand")
|
Config.set("input", "mouse", "mouse, multitouch_on_demand")
|
||||||
elif platform == "android":
|
elif platform == "android":
|
||||||
|
@ -183,6 +185,44 @@ def chipTag(text):
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
|
|
||||||
|
class Lang(Observable):
|
||||||
|
observers = []
|
||||||
|
lang = None
|
||||||
|
|
||||||
|
def __init__(self, defaultlang):
|
||||||
|
super(Lang, self).__init__()
|
||||||
|
self.ugettext = None
|
||||||
|
self.lang = defaultlang
|
||||||
|
self.switch_lang(self.lang)
|
||||||
|
|
||||||
|
def _(self, text):
|
||||||
|
return self.ugettext(text)
|
||||||
|
|
||||||
|
def fbind(self, name, func, args, **kwargs):
|
||||||
|
if name == "_":
|
||||||
|
self.observers.append((func, args, kwargs))
|
||||||
|
else:
|
||||||
|
return super(Lang, self).fbind(name, func, *largs, **kwargs)
|
||||||
|
|
||||||
|
def funbind(self, name, func, args, **kwargs):
|
||||||
|
if name == "_":
|
||||||
|
key = (func, args, kwargs)
|
||||||
|
if key in self.observers:
|
||||||
|
self.observers.remove(key)
|
||||||
|
else:
|
||||||
|
return super(Lang, self).funbind(name, func, *args, **kwargs)
|
||||||
|
|
||||||
|
def switch_lang(self, lang):
|
||||||
|
# get the right locales directory, and instanciate a gettext
|
||||||
|
locale_dir = os.path.join(os.path.dirname(__file__), 'data', 'locales')
|
||||||
|
locales = gettext.translation('langapp', locale_dir, languages=[lang])
|
||||||
|
self.ugettext = locales.gettext
|
||||||
|
|
||||||
|
# update all the kv rules attached to this text
|
||||||
|
for func, largs, kwargs in self.observers:
|
||||||
|
func(largs, None, None)
|
||||||
|
|
||||||
|
|
||||||
class Inbox(Screen):
|
class Inbox(Screen):
|
||||||
"""Inbox Screen uses screen to show widgets of screens"""
|
"""Inbox Screen uses screen to show widgets of screens"""
|
||||||
|
|
||||||
|
@ -262,8 +302,13 @@ class Inbox(Screen):
|
||||||
|
|
||||||
def set_inboxCount(self, msgCnt): # pylint: disable=no-self-use
|
def set_inboxCount(self, msgCnt): # pylint: disable=no-self-use
|
||||||
"""This method is used to sent inbox message count"""
|
"""This method is used to sent inbox message count"""
|
||||||
src_mng_obj = state.kivyapp.root.ids.content_drawer.ids.inbox_cnt
|
src_mng_obj = state.kivyapp.root.ids.content_drawer.ids
|
||||||
src_mng_obj.ids.badge_txt.text = showLimitedCnt(int(msgCnt))
|
src_mng_obj.inbox_cnt.ids.badge_txt.text = showLimitedCnt(int(msgCnt))
|
||||||
|
state.kivyapp.get_sent_count()
|
||||||
|
state.all_count = str(
|
||||||
|
int(state.sent_count) + int(state.inbox_count))
|
||||||
|
src_mng_obj.allmail_cnt.ids.badge_txt.text = showLimitedCnt(int(state.all_count))
|
||||||
|
|
||||||
|
|
||||||
def inboxDataQuery(self, xAddress, where, what, start_indx=0, end_indx=20):
|
def inboxDataQuery(self, xAddress, where, what, start_indx=0, end_indx=20):
|
||||||
"""This method is used for retrieving inbox data"""
|
"""This method is used for retrieving inbox data"""
|
||||||
|
@ -367,12 +412,14 @@ class Inbox(Screen):
|
||||||
msg_count_objs.trash_cnt.ids.badge_txt.text = showLimitedCnt(
|
msg_count_objs.trash_cnt.ids.badge_txt.text = showLimitedCnt(
|
||||||
int(state.trash_count) + 1
|
int(state.trash_count) + 1
|
||||||
)
|
)
|
||||||
msg_count_objs.allmail_cnt.ids.badge_txt.text = showLimitedCnt(
|
|
||||||
int(state.all_count) - 1
|
|
||||||
)
|
|
||||||
state.inbox_count = str(int(state.inbox_count) - 1)
|
state.inbox_count = str(int(state.inbox_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)
|
if int(state.all_count) > 0:
|
||||||
|
msg_count_objs.allmail_cnt.ids.badge_txt.text = showLimitedCnt(
|
||||||
|
int(state.all_count) - 1
|
||||||
|
)
|
||||||
|
state.all_count = str(int(state.all_count) - 1)
|
||||||
|
|
||||||
if int(state.inbox_count) <= 0:
|
if int(state.inbox_count) <= 0:
|
||||||
# self.ids.identi_tag.children[0].text = ''
|
# self.ids.identi_tag.children[0].text = ''
|
||||||
self.ids.tag_label.text = ''
|
self.ids.tag_label.text = ''
|
||||||
|
@ -937,6 +984,9 @@ class DropDownWidget(BoxLayout):
|
||||||
state.detailPageType = ''
|
state.detailPageType = ''
|
||||||
state.send_draft_mail = None
|
state.send_draft_mail = None
|
||||||
self.parent.parent.parent.ids.sc4.update_sent_messagelist()
|
self.parent.parent.parent.ids.sc4.update_sent_messagelist()
|
||||||
|
allmailCnt_obj = state.kivyapp.root.ids.content_drawer.ids.allmail_cnt
|
||||||
|
allmailCnt_obj.ids.badge_txt.text = showLimitedCnt(int(state.all_count) + 1)
|
||||||
|
state.all_count = str(int(state.all_count) + 1)
|
||||||
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 #######################")
|
||||||
|
@ -1000,8 +1050,59 @@ class DropDownWidget(BoxLayout):
|
||||||
"""This method is used for scanning Qr code"""
|
"""This method is used for scanning Qr code"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def is_camara_attached(self):
|
||||||
|
self.parent.parent.parent.ids.sc23.check_camera()
|
||||||
|
is_available = self.parent.parent.parent.ids.sc23.camera_avaialbe
|
||||||
|
return is_available
|
||||||
|
|
||||||
|
def camera_alert(self):
|
||||||
|
width = .8 if platform == 'android' else .55
|
||||||
|
altet_txt = 'Currently this feature is not avaialbe!'if platform == 'android' else 'Camera is not available!'
|
||||||
|
dialog_box=MDDialog(
|
||||||
|
text=altet_txt,
|
||||||
|
size_hint=(width, .25),
|
||||||
|
buttons=[
|
||||||
|
MDFlatButton(
|
||||||
|
text="Ok", on_release=lambda x: callback_for_menu_items("Ok")
|
||||||
|
),
|
||||||
|
],)
|
||||||
|
dialog_box.open()
|
||||||
|
|
||||||
|
def callback_for_menu_items(text_item, *arg):
|
||||||
|
"""Callback of alert box"""
|
||||||
|
dialog_box.dismiss()
|
||||||
|
toast(text_item)
|
||||||
|
|
||||||
|
|
||||||
class ScanScreen(Screen):
|
class ScanScreen(Screen):
|
||||||
|
camera_avaialbe = BooleanProperty(False)
|
||||||
|
previous_open_screen = StringProperty()
|
||||||
|
pop_up_instance = ObjectProperty()
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
"""Getting AddressBook Details"""
|
||||||
|
super(ScanScreen, self).__init__(*args, **kwargs)
|
||||||
|
self.check_camera()
|
||||||
|
|
||||||
|
def check_camera(self):
|
||||||
|
"""This method is used for checking camera avaibility"""
|
||||||
|
if platform != "android":
|
||||||
|
import cv2
|
||||||
|
cap = cv2.VideoCapture(0)
|
||||||
|
while(cap.isOpened()):
|
||||||
|
print('Camera is available!')
|
||||||
|
self.camera_avaialbe = True
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
print("Camera is not available!")
|
||||||
|
self.camera_avaialbe = False
|
||||||
|
|
||||||
|
def get_screen(self, screen_name, instance=None):
|
||||||
|
"""This method is used for getting previous screen name"""
|
||||||
|
self.previous_open_screen = screen_name
|
||||||
|
if screen_name != 'composer':
|
||||||
|
self.pop_up_instance = instance
|
||||||
|
|
||||||
def on_pre_enter(self):
|
def on_pre_enter(self):
|
||||||
"""
|
"""
|
||||||
on_pre_enter works little better on android
|
on_pre_enter works little better on android
|
||||||
|
@ -1027,7 +1128,6 @@ class ScanScreen(Screen):
|
||||||
|
|
||||||
def on_leave(self):
|
def on_leave(self):
|
||||||
# pass
|
# pass
|
||||||
|
|
||||||
Clock.schedule_once(self.stop_camera, 0)
|
Clock.schedule_once(self.stop_camera, 0)
|
||||||
|
|
||||||
def start_camera(self, *args):
|
def start_camera(self, *args):
|
||||||
|
@ -1748,7 +1848,7 @@ class Setting(Screen):
|
||||||
def set_caller(self):
|
def set_caller(self):
|
||||||
self.menu.caller= self.ids.drop_item
|
self.menu.caller= self.ids.drop_item
|
||||||
# self.menu.use_icon_item = False
|
# self.menu.use_icon_item = False
|
||||||
self.menu.target_height = 150
|
self.menu.target_height = 250
|
||||||
|
|
||||||
def set_item(self, instance):
|
def set_item(self, instance):
|
||||||
self.ids.drop_item.set_item(instance.text)
|
self.ids.drop_item.set_item(instance.text)
|
||||||
|
@ -1776,6 +1876,7 @@ class NavigateApp(MDApp):
|
||||||
#state.imageDir = os.path.join(os.path.abspath(os.path.join(__file__ ,"../../..")),'images', 'kivy')
|
#state.imageDir = os.path.join(os.path.abspath(os.path.join(__file__ ,"../../..")),'images', 'kivy')
|
||||||
state.imageDir = os.path.join('./images', 'kivy')
|
state.imageDir = os.path.join('./images', 'kivy')
|
||||||
image_path = state.imageDir
|
image_path = state.imageDir
|
||||||
|
tr = Lang("en") # for changing in franch replace en with fr
|
||||||
|
|
||||||
def build(self):
|
def build(self):
|
||||||
"""Method builds the widget"""
|
"""Method builds the widget"""
|
||||||
|
@ -1883,7 +1984,8 @@ class NavigateApp(MDApp):
|
||||||
on_release=self.close_pop,
|
on_release=self.close_pop,
|
||||||
),
|
),
|
||||||
MDRaisedButton(
|
MDRaisedButton(
|
||||||
text="Scan QR code", text_color=self.theme_cls.primary_color
|
text="Scan QR code", text_color=self.theme_cls.primary_color,
|
||||||
|
on_release=self.scan_qr_code,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -1893,6 +1995,23 @@ class NavigateApp(MDApp):
|
||||||
# p = GrashofPopup()
|
# p = GrashofPopup()
|
||||||
# p.open()
|
# p.open()
|
||||||
|
|
||||||
|
def scan_qr_code(self, instance):
|
||||||
|
"""this method is used for showing QR code scanner"""
|
||||||
|
if self.is_camara_attached():
|
||||||
|
self.add_popup.dismiss()
|
||||||
|
self.root.ids.sc23.get_screen(self.root.ids.scr_mngr.current, self.add_popup)
|
||||||
|
self.root.ids.scr_mngr.current = 'scanscreen'
|
||||||
|
else:
|
||||||
|
altet_txt = 'Currently this feature is not avaialbe!' if platform == 'android' else 'Camera is not available!'
|
||||||
|
self.add_popup.dismiss()
|
||||||
|
toast(altet_txt)
|
||||||
|
|
||||||
|
def is_camara_attached(self):
|
||||||
|
"""This method is for checking is camera available or not"""
|
||||||
|
self.root.ids.sc23.check_camera()
|
||||||
|
is_available = self.root.ids.sc23.camera_avaialbe
|
||||||
|
return is_available
|
||||||
|
|
||||||
def savecontact(self, instance):
|
def savecontact(self, instance):
|
||||||
"""Method is used for saving contacts"""
|
"""Method is used for saving contacts"""
|
||||||
pupup_obj = self.add_popup.content_cls
|
pupup_obj = self.add_popup.content_cls
|
||||||
|
@ -1905,6 +2024,9 @@ class NavigateApp(MDApp):
|
||||||
pupup_obj.ids.address.focus = True
|
pupup_obj.ids.address.focus = True
|
||||||
elif label == '':
|
elif label == '':
|
||||||
pupup_obj.ids.label.focus = True
|
pupup_obj.ids.label.focus = True
|
||||||
|
else:
|
||||||
|
pupup_obj.ids.address.focus = True
|
||||||
|
# pupup_obj.ids.label.focus = True
|
||||||
|
|
||||||
stored_address = [addr[1] for addr in kivy_helper_search.search_sql(
|
stored_address = [addr[1] for addr in kivy_helper_search.search_sql(
|
||||||
folder="addressbook")]
|
folder="addressbook")]
|
||||||
|
@ -2446,10 +2568,19 @@ class NavigateApp(MDApp):
|
||||||
if platform == 'android':
|
if platform == 'android':
|
||||||
text = cast(CharSequence, String(text))
|
text = cast(CharSequence, String(text))
|
||||||
show_toast(text, Toast.LENGTH_SHORT)
|
show_toast(text, Toast.LENGTH_SHORT)
|
||||||
else:
|
elif self.root.ids.sc23.previous_open_screen == 'composer':
|
||||||
self.root.ids.sc3.children[1].ids.txt_input.text = text
|
self.root.ids.sc3.children[1].ids.txt_input.text = text
|
||||||
self.root.ids.scr_mngr.current = 'create'
|
self.root.ids.scr_mngr.current = 'create'
|
||||||
|
elif self.root.ids.sc23.previous_open_screen:
|
||||||
|
back_screen = self.root.ids.sc23.previous_open_screen
|
||||||
|
self.root.ids.scr_mngr.current = 'inbox' if back_screen == 'scanscreen' else back_screen
|
||||||
|
add_obj = self.root.ids.sc23.pop_up_instance
|
||||||
|
add_obj.content_cls.ids.address.text = text
|
||||||
|
Clock.schedule_once(partial(self.open_popup, add_obj), .5)
|
||||||
|
|
||||||
|
def open_popup(self, instance, dt):
|
||||||
|
"""This method is used for opening popup"""
|
||||||
|
instance.open()
|
||||||
|
|
||||||
class GrashofPopup(BoxLayout):
|
class GrashofPopup(BoxLayout):
|
||||||
"""Moule for save contacts and error messages"""
|
"""Moule for save contacts and error messages"""
|
||||||
|
@ -3159,10 +3290,11 @@ class Allmails(Screen):
|
||||||
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)
|
||||||
|
if folder != 'inbox':
|
||||||
|
msg_count_objs.allmail_cnt.ids.badge_txt.text = showLimitedCnt(int(state.all_count) - 1)
|
||||||
|
state.all_count = str(int(state.all_count) - 1)
|
||||||
msg_count_objs.trash_cnt.ids.badge_txt.text = showLimitedCnt(int(state.trash_count) + 1)
|
msg_count_objs.trash_cnt.ids.badge_txt.text = showLimitedCnt(int(state.trash_count) + 1)
|
||||||
msg_count_objs.allmail_cnt.ids.badge_txt.text = showLimitedCnt(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)
|
|
||||||
if int(state.all_count) <= 0:
|
if int(state.all_count) <= 0:
|
||||||
self.ids.tag_label.text = ''
|
self.ids.tag_label.text = ''
|
||||||
nav_lay_obj.sc5.clear_widgets()
|
nav_lay_obj.sc5.clear_widgets()
|
||||||
|
|
29
src/bitmessagekivy/po/en.po
Normal file
29
src/bitmessagekivy/po/en.po
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
# Example for an internationalized Kivy app
|
||||||
|
# Copyright (C) 2013 Mathieu Virbel
|
||||||
|
# This file is distributed under the same license as the Kivy package.
|
||||||
|
# Mathieu Virbel <mat@kivy.org>, 2013
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: 1.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2013-08-01 15:36+0200\n"
|
||||||
|
"PO-Revision-Date: 2013-08-01 15:36+0200\n"
|
||||||
|
"Last-Translator: Mathieu Virbel <mat@kivy.org>\n"
|
||||||
|
"Language-Team: Mathieu Virbel <mat@kivy.org>\n"
|
||||||
|
"Language: English\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: lang.kv:8
|
||||||
|
msgid "Hello World"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lang.kv:17
|
||||||
|
msgid "French"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lang.kv:21
|
||||||
|
msgid "English"
|
||||||
|
msgstr ""
|
29
src/bitmessagekivy/po/fr.po
Normal file
29
src/bitmessagekivy/po/fr.po
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
# Example for an internationalized Kivy app
|
||||||
|
# Copyright (C) 2013 Mathieu Virbel
|
||||||
|
# This file is distributed under the same license as the Kivy package.
|
||||||
|
# Mathieu Virbel <mat@kivy.org>, 2013
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: 1.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2013-08-01 15:36+0200\n"
|
||||||
|
"PO-Revision-Date: 2013-08-01 15:36+0200\n"
|
||||||
|
"Last-Translator: Mathieu Virbel <mat@kivy.org>\n"
|
||||||
|
"Language-Team: Mathieu Virbel <mat@kivy.org>\n"
|
||||||
|
"Language: Francais\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: lang.kv:8
|
||||||
|
msgid "Hello World"
|
||||||
|
msgstr "Bonjour tout le monde"
|
||||||
|
|
||||||
|
#: lang.kv:17
|
||||||
|
msgid "French"
|
||||||
|
msgstr "Francais"
|
||||||
|
|
||||||
|
#: lang.kv:21
|
||||||
|
msgid "English"
|
||||||
|
msgstr "Anglais"
|
|
@ -13,7 +13,7 @@ package.domain = org.test
|
||||||
source.dir = .
|
source.dir = .
|
||||||
|
|
||||||
# (list) Source files to include (let empty to include all the files)
|
# (list) Source files to include (let empty to include all the files)
|
||||||
source.include_exts = py,png,jpg,kv,atlas,gif,zip, json, css, ttf,java
|
source.include_exts = py,png,jpg,kv,atlas,gif,zip, json, css, ttf,java, po, mo
|
||||||
|
|
||||||
# (list) List of inclusions using pattern matching
|
# (list) List of inclusions using pattern matching
|
||||||
#source.include_patterns = assets/*,images/*.png, ../images1/*/*.png
|
#source.include_patterns = assets/*,images/*.png, ../images1/*/*.png
|
||||||
|
|
Reference in New Issue
Block a user