fixed app crashing issues
This commit is contained in:
parent
ebb350b81b
commit
6aee6f12d5
|
@ -17,9 +17,10 @@ from kivymd.uix.list import TwoLineAvatarIconListItem
|
|||
import state
|
||||
|
||||
from bitmessagekivy.baseclass.common import (
|
||||
showLimitedCnt, toast, initailize_detail_page, ThemeClsColor,
|
||||
showLimitedCnt, toast, ThemeClsColor,
|
||||
chipTag, avatarImageFirstLetter, AddTimeWidget, AvatarSampleWidget
|
||||
)
|
||||
from bitmessagekivy.baseclass.maildetail import MailDetail
|
||||
from bitmessagekivy.baseclass.trash import Trash
|
||||
|
||||
|
||||
|
@ -148,10 +149,9 @@ class Allmails(Screen):
|
|||
src_mng_obj = self.manager
|
||||
else:
|
||||
src_mng_obj = self.parent.parent
|
||||
# src_mng_obj.screens[13].clear_widgets()
|
||||
# src_mng_obj.screens[13].add_widget(MailDetail())
|
||||
# src_mng_obj.current = 'mailDetail'
|
||||
initailize_detail_page(src_mng_obj)
|
||||
src_mng_obj.screens[11].clear_widgets()
|
||||
src_mng_obj.screens[11].add_widget(MailDetail())
|
||||
src_mng_obj.current = 'mailDetail'
|
||||
|
||||
def swipe_delete(self, unique_id, folder, instance, *args):
|
||||
"""Delete inbox mail from all mail listing"""
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import time
|
||||
|
||||
from bitmessagekivy import kivy_helper_search
|
||||
from bmconfigparser import BMConfigParser
|
||||
from helper_sql import sqlExecute
|
||||
|
@ -18,9 +20,10 @@ from kivymd.uix.list import TwoLineAvatarIconListItem
|
|||
import state
|
||||
|
||||
from bitmessagekivy.baseclass.common import (
|
||||
showLimitedCnt, initailize_detail_page, toast, ThemeClsColor,
|
||||
showLimitedCnt, toast, ThemeClsColor,
|
||||
AddTimeWidget, AvatarSampleWidget
|
||||
)
|
||||
from bitmessagekivy.baseclass.maildetail import MailDetail
|
||||
|
||||
|
||||
class Draft(Screen):
|
||||
|
@ -46,11 +49,12 @@ class Draft(Screen):
|
|||
|
||||
def sentaccounts(self):
|
||||
"""Load draft accounts"""
|
||||
self.account = state.association
|
||||
# self.account = state.association
|
||||
self.loadDraft()
|
||||
|
||||
def loadDraft(self, where="", what=""):
|
||||
"""Load draft list for Draft messages"""
|
||||
self.account = state.association
|
||||
xAddress = 'fromaddress'
|
||||
self.ids.tag_label.text = ''
|
||||
self.draftDataQuery(xAddress, where, what)
|
||||
|
@ -144,10 +148,9 @@ class Draft(Screen):
|
|||
src_mng_obj = self.manager
|
||||
else:
|
||||
src_mng_obj = self.parent.parent
|
||||
# src_mng_obj.screens[13].clear_widgets()
|
||||
# src_mng_obj.screens[13].add_widget(MailDetail())
|
||||
# src_mng_obj.current = 'mailDetail'
|
||||
initailize_detail_page(src_mng_obj)
|
||||
src_mng_obj.screens[11].clear_widgets()
|
||||
src_mng_obj.screens[11].add_widget(MailDetail())
|
||||
src_mng_obj.current = 'mailDetail'
|
||||
|
||||
def delete_draft(self, data_index, instance, *args):
|
||||
"""Delete draft message permanently"""
|
||||
|
|
|
@ -19,9 +19,11 @@ from kivymd.uix.list import TwoLineAvatarIconListItem
|
|||
import state
|
||||
|
||||
from bitmessagekivy.baseclass.common import (
|
||||
showLimitedCnt, initailize_detail_page, avatarImageFirstLetter,
|
||||
showLimitedCnt, avatarImageFirstLetter,
|
||||
AddTimeWidget, ThemeClsColor, AvatarSampleWidget, toast
|
||||
)
|
||||
from bitmessagekivy.baseclass.maildetail import MailDetail
|
||||
from bitmessagekivy.baseclass.trash import Trash
|
||||
|
||||
|
||||
class Inbox(Screen):
|
||||
|
@ -195,10 +197,9 @@ class Inbox(Screen):
|
|||
src_mng_obj = self.manager
|
||||
else:
|
||||
src_mng_obj = self.parent.parent
|
||||
# src_mng_obj.screens[13].clear_widgets()
|
||||
# src_mng_obj.screens[13].add_widget(MailDetail())
|
||||
# src_mng_obj.current = "mailDetail"
|
||||
initailize_detail_page(src_mng_obj)
|
||||
src_mng_obj.screens[11].clear_widgets()
|
||||
src_mng_obj.screens[11].add_widget(MailDetail())
|
||||
src_mng_obj.current = "mailDetail"
|
||||
|
||||
def delete(self, data_index, instance, *args):
|
||||
"""Delete inbox mail from inbox listing"""
|
||||
|
@ -235,12 +236,14 @@ class Inbox(Screen):
|
|||
|
||||
def update_trash(self):
|
||||
"""Update trash screen mails which is deleted from inbox"""
|
||||
try:
|
||||
self.parent.screens[4].clear_widgets()
|
||||
self.parent.screens[4].add_widget(Trash())
|
||||
except Exception:
|
||||
self.parent.parent.screens[4].clear_widgets()
|
||||
self.parent.parent.screens[4].add_widget(Trash())
|
||||
self.manager.parent.ids.sc5.clear_widgets()
|
||||
self.manager.parent.ids.sc5.add_widget(Trash())
|
||||
# try:
|
||||
# self.parent.screens[4].clear_widgets()
|
||||
# self.parent.screens[4].add_widget(Trash())
|
||||
# except Exception:
|
||||
# self.parent.parent.screens[4].clear_widgets()
|
||||
# self.parent.parent.screens[4].add_widget(Trash())
|
||||
|
||||
def refresh_callback(self, *args):
|
||||
"""Method updates the state of application,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
from datetime import datetime
|
||||
|
||||
from bitmessagekivy.get_platform import platform
|
||||
from helper_sql import sqlExecute, sqlQuery
|
||||
|
||||
|
@ -7,6 +9,8 @@ from kivy.properties import (
|
|||
StringProperty,
|
||||
NumericProperty
|
||||
)
|
||||
from kivy.factory import Factory
|
||||
|
||||
from kivymd.uix.button import MDFlatButton, MDIconButton
|
||||
from kivymd.uix.dialog import MDDialog
|
||||
from kivymd.uix.list import (
|
||||
|
@ -22,7 +26,6 @@ from bitmessagekivy.baseclass.common import (
|
|||
toast, avatarImageFirstLetter, ShowTimeHistoy
|
||||
)
|
||||
from bitmessagekivy.baseclass.popup import SenderDetailPopup
|
||||
from bitmessagekivy.baseclass.trash import Trash
|
||||
|
||||
|
||||
class OneLineListTitle(OneLineListItem):
|
||||
|
@ -95,20 +98,23 @@ class MailDetail(Screen): # pylint: disable=too-many-instance-attributes
|
|||
def init_ui(self, dt=0):
|
||||
"""Clock Schdule for method MailDetail mails"""
|
||||
self.page_type = state.detailPageType if state.detailPageType else ''
|
||||
if state.detailPageType == 'sent' or state.detailPageType == 'draft':
|
||||
data = sqlQuery(
|
||||
"select toaddress, fromaddress, subject, message, status,"
|
||||
" ackdata, senttime from sent where ackdata = ?;", state.mail_id)
|
||||
state.status = self
|
||||
state.ackdata = data[0][5]
|
||||
self.assign_mail_details(data)
|
||||
state.kivyapp.set_mail_detail_header()
|
||||
elif state.detailPageType == 'inbox':
|
||||
data = sqlQuery(
|
||||
"select toaddress, fromaddress, subject, message, received from inbox"
|
||||
" where msgid = ?;", state.mail_id)
|
||||
self.assign_mail_details(data)
|
||||
state.kivyapp.set_mail_detail_header()
|
||||
try:
|
||||
if state.detailPageType == 'sent' or state.detailPageType == 'draft':
|
||||
data = sqlQuery(
|
||||
"select toaddress, fromaddress, subject, message, status,"
|
||||
" ackdata, senttime from sent where ackdata = ?;", state.mail_id)
|
||||
state.status = self
|
||||
state.ackdata = data[0][5]
|
||||
self.assign_mail_details(data)
|
||||
state.kivyapp.set_mail_detail_header()
|
||||
elif state.detailPageType == 'inbox':
|
||||
data = sqlQuery(
|
||||
"select toaddress, fromaddress, subject, message, received from inbox"
|
||||
" where msgid = ?;", state.mail_id)
|
||||
self.assign_mail_details(data)
|
||||
state.kivyapp.set_mail_detail_header()
|
||||
except Exception as e:
|
||||
print('Something wents wrong!!')
|
||||
|
||||
def assign_mail_details(self, data):
|
||||
"""Assigning mail details"""
|
||||
|
@ -139,8 +145,8 @@ class MailDetail(Screen): # pylint: disable=too-many-instance-attributes
|
|||
" ackdata = ?;", state.mail_id)
|
||||
msg_count_objs.send_cnt.ids.badge_txt.text = 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].loadSent(state.association)
|
||||
self.parent.screens[2].ids.ml.clear_widgets()
|
||||
self.parent.screens[2].loadSent(state.association)
|
||||
elif state.detailPageType == 'inbox':
|
||||
state.kivyapp.root.ids.sc1.ids.inbox_search.ids.search_field.text = ''
|
||||
sqlExecute(
|
||||
|
@ -157,8 +163,8 @@ class MailDetail(Screen): # pylint: disable=too-many-instance-attributes
|
|||
msg_count_objs.draft_cnt.ids.badge_txt.text = 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].add_widget(Draft())
|
||||
self.parent.screens[13].ids.ml.clear_widgets()
|
||||
self.parent.screens[13].loadDraft(state.association)
|
||||
|
||||
if state.detailPageType != 'draft':
|
||||
msg_count_objs.trash_cnt.ids.badge_txt.text = str(
|
||||
|
@ -167,10 +173,10 @@ class MailDetail(Screen): # pylint: disable=too-many-instance-attributes
|
|||
int(state.all_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) else '0'
|
||||
self.parent.screens[4].clear_widgets()
|
||||
self.parent.screens[4].add_widget(Trash())
|
||||
self.parent.screens[16].clear_widgets()
|
||||
self.parent.screens[16].add_widget(Allmails())
|
||||
self.parent.screens[3].clear_widgets()
|
||||
self.parent.screens[3].add_widget(Factory.Trash())
|
||||
self.parent.screens[14].clear_widgets()
|
||||
self.parent.screens[14].add_widget(Factory.Allmails())
|
||||
Clock.schedule_once(self.callback_for_delete, 4)
|
||||
|
||||
def callback_for_delete(self, dt=0):
|
||||
|
@ -189,7 +195,7 @@ class MailDetail(Screen): # pylint: disable=too-many-instance-attributes
|
|||
data = sqlQuery(
|
||||
"select toaddress, fromaddress, subject, message, received from inbox where"
|
||||
" msgid = ?;", state.mail_id)
|
||||
composer_obj = self.parent.screens[2].children[1].ids
|
||||
composer_obj = self.parent.screens[1].children[1].ids
|
||||
composer_obj.ti.text = data[0][0]
|
||||
composer_obj.btn.text = data[0][0]
|
||||
composer_obj.txt_input.text = data[0][1]
|
||||
|
|
|
@ -5,6 +5,7 @@ from bmconfigparser import BMConfigParser
|
|||
from helper_sql import sqlExecute, sqlQuery
|
||||
from kivy.clock import Clock
|
||||
from kivy.core.window import Window
|
||||
from kivy.factory import Factory
|
||||
from kivy.properties import (
|
||||
BooleanProperty,
|
||||
ListProperty,
|
||||
|
@ -107,8 +108,8 @@ class DropDownWidget(BoxLayout):
|
|||
int(time.time()),
|
||||
int(time.time()),
|
||||
state.send_draft_mail)
|
||||
self.parent.parent.screens[15].clear_widgets()
|
||||
self.parent.parent.screens[15].add_widget(Draft())
|
||||
self.parent.parent.screens[13].clear_widgets()
|
||||
self.parent.parent.screens[13].add_widget(Factory.Draft())
|
||||
# state.detailPageType = ''
|
||||
# state.send_draft_mail = None
|
||||
else:
|
||||
|
|
|
@ -7,6 +7,7 @@ from kivy.properties import (
|
|||
ListProperty,
|
||||
StringProperty
|
||||
)
|
||||
from kivymd.uix.button import MDFlatButton
|
||||
from kivymd.uix.dialog import MDDialog
|
||||
from kivymd.uix.label import MDLabel
|
||||
from kivymd.uix.list import (
|
||||
|
@ -19,7 +20,8 @@ from kivy.uix.screenmanager import Screen
|
|||
import state
|
||||
|
||||
from bitmessagekivy.baseclass.common import (
|
||||
avatarImageFirstLetter, AvatarSampleWidget,ThemeClsColor
|
||||
avatarImageFirstLetter, AvatarSampleWidget,ThemeClsColor,
|
||||
toast
|
||||
)
|
||||
from bitmessagekivy.baseclass.popup import MyaddDetailPopup
|
||||
|
||||
|
@ -100,12 +102,9 @@ class MyAddress(Screen):
|
|||
text_color=ThemeClsColor,)
|
||||
meny._txt_right_pad = dp(70)
|
||||
try:
|
||||
meny.canvas.children[6].rgba = [0, 0, 0, 0] if is_enable == 'true' else [0.5, 0.5, 0.5, 0.5]
|
||||
meny.canvas.children[3].rgba = [0, 0, 0, 0] if is_enable == 'true' else [0.5, 0.5, 0.5, 0.5]
|
||||
except Exception:
|
||||
try:
|
||||
meny.canvas.children[9].rgba = [0, 0, 0, 0] if is_enable == 'true' else [0.5, 0.5, 0.5, 0.5]
|
||||
except Exception as e:
|
||||
print('Exception: ', e)
|
||||
pass
|
||||
meny.add_widget(AvatarSampleWidget(
|
||||
source=state.imageDir + '/text_images/{}.png'.format(
|
||||
avatarImageFirstLetter(item['text'].strip()))))
|
||||
|
@ -125,6 +124,7 @@ class MyAddress(Screen):
|
|||
meny.add_widget(ToggleBtn(active=True if is_enable == 'true' else False))
|
||||
self.ids.ml.add_widget(meny)
|
||||
|
||||
|
||||
def check_scroll_y(self, instance, somethingelse):
|
||||
"""Load data on scroll down"""
|
||||
if self.ids.refresh_layout.scroll_y <= -0.0 and self.has_refreshed:
|
||||
|
@ -214,10 +214,11 @@ class MyAddress(Screen):
|
|||
BMConfigParser().set(str(address), 'enabled', 'false')
|
||||
BMConfigParser().save()
|
||||
instance.parent.parent.theme_text_color = 'Primary'
|
||||
try:
|
||||
instance.parent.parent.canvas.children[6].rgba = [0.5, 0.5, 0.5, 0.5]
|
||||
except Exception:
|
||||
instance.parent.parent.canvas.children[9].rgba = [0.5, 0.5, 0.5, 0.5]
|
||||
instance.parent.parent.canvas.children[3].rgba = [0.5, 0.5, 0.5, 0.5]
|
||||
# try:
|
||||
# instance.parent.parent.canvas.children[6].rgba = [0.5, 0.5, 0.5, 0.5]
|
||||
# except Exception:
|
||||
# instance.parent.parent.canvas.children[9].rgba = [0.5, 0.5, 0.5, 0.5]
|
||||
toast('Address disabled')
|
||||
Clock.schedule_once(self.address_permision_callback, 0)
|
||||
|
||||
|
@ -226,10 +227,11 @@ class MyAddress(Screen):
|
|||
BMConfigParser().set(address, 'enabled', 'true')
|
||||
BMConfigParser().save()
|
||||
instance.parent.parent.theme_text_color = 'Custom'
|
||||
try:
|
||||
instance.parent.parent.canvas.children[6].rgba = [0, 0, 0, 0]
|
||||
except Exception:
|
||||
instance.parent.parent.canvas.children[9].rgba = [0, 0, 0, 0]
|
||||
instance.parent.parent.canvas.children[3].rgba = [0, 0, 0, 0]
|
||||
# try:
|
||||
# instance.parent.parent.canvas.children[6].rgba = [0, 0, 0, 0]
|
||||
# except Exception:
|
||||
# instance.parent.parent.canvas.children[9].rgba = [0, 0, 0, 0]
|
||||
toast('Address Enabled')
|
||||
Clock.schedule_once(self.address_permision_callback, 0)
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ from bitmessagekivy.get_platform import platform
|
|||
from bitmessagekivy import kivy_helper_search
|
||||
|
||||
from kivy.clock import Clock
|
||||
from kivy.metrics import dp
|
||||
from kivy.properties import StringProperty
|
||||
|
||||
from kivy.uix.boxlayout import BoxLayout
|
||||
|
|
|
@ -5,8 +5,10 @@ from bmconfigparser import BMConfigParser
|
|||
from functools import partial
|
||||
from helper_sql import sqlExecute
|
||||
from kivy.clock import Clock
|
||||
from kivy.factory import Factory
|
||||
from kivy.metrics import dp
|
||||
from kivy.properties import StringProperty, ListProperty
|
||||
|
||||
from kivy.uix.button import Button
|
||||
from kivy.uix.carousel import Carousel
|
||||
from kivy.uix.screenmanager import Screen
|
||||
|
@ -16,10 +18,10 @@ from kivymd.uix.list import TwoLineAvatarIconListItem
|
|||
import state
|
||||
|
||||
from bitmessagekivy.baseclass.common import (
|
||||
showLimitedCnt, initailize_detail_page, ThemeClsColor,
|
||||
avatarImageFirstLetter, AddTimeWidget, AvatarSampleWidget,
|
||||
toast
|
||||
showLimitedCnt, ThemeClsColor, avatarImageFirstLetter,
|
||||
AddTimeWidget, AvatarSampleWidget, toast
|
||||
)
|
||||
from bitmessagekivy.baseclass.maildetail import MailDetail
|
||||
|
||||
|
||||
class Sent(Screen):
|
||||
|
@ -201,10 +203,9 @@ class Sent(Screen):
|
|||
src_mng_obj = self.manager
|
||||
else:
|
||||
src_mng_obj = self.parent.parent
|
||||
# src_mng_obj.screens[13].clear_widgets()
|
||||
# src_mng_obj.screens[13].add_widget(MailDetail())
|
||||
# src_mng_obj.current = 'mailDetail'
|
||||
initailize_detail_page(src_mng_obj)
|
||||
src_mng_obj.screens[11].clear_widgets()
|
||||
src_mng_obj.screens[11].add_widget(MailDetail())
|
||||
src_mng_obj.current = 'mailDetail'
|
||||
|
||||
def delete(self, data_index, instance, *args):
|
||||
"""Delete sent mail from sent mail listing"""
|
||||
|
@ -236,12 +237,12 @@ class Sent(Screen):
|
|||
def update_trash(self):
|
||||
"""Update trash screen mails which is deleted from inbox"""
|
||||
try:
|
||||
self.parent.screens[4].clear_widgets()
|
||||
self.parent.screens[4].add_widget(Trash())
|
||||
self.parent.screens[16].clear_widgets()
|
||||
self.parent.screens[16].add_widget(Allmails())
|
||||
self.parent.screens[3].clear_widgets()
|
||||
self.parent.screens[3].add_widget(Factory.Trash())
|
||||
self.parent.screens[14].clear_widgets()
|
||||
self.parent.screens[14].add_widget(Factory.Allmails())
|
||||
except Exception:
|
||||
self.parent.parent.screens[4].clear_widgets()
|
||||
self.parent.parent.screens[4].add_widget(Trash())
|
||||
self.parent.parent.screens[16].clear_widgets()
|
||||
self.parent.parent.screens[16].add_widget(Allmails())
|
||||
self.parent.parent.screens[3].clear_widgets()
|
||||
self.parent.parent.screens[3].add_widget(Factory.Trash())
|
||||
self.parent.parent.screens[14].clear_widgets()
|
||||
self.parent.parent.screens[14].add_widget(Factory.Allmails())
|
||||
|
|
|
@ -19,7 +19,7 @@ from kivy.uix.screenmanager import Screen
|
|||
import state
|
||||
|
||||
from bitmessagekivy.baseclass.common import (
|
||||
showLimitedCnt, initailize_detail_page, avatarImageFirstLetter,
|
||||
showLimitedCnt, avatarImageFirstLetter,
|
||||
AddTimeWidget, ThemeClsColor, AvatarSampleWidget
|
||||
)
|
||||
|
||||
|
|
|
@ -24,3 +24,10 @@
|
|||
MDList:
|
||||
id: ml
|
||||
Loader:
|
||||
|
||||
|
||||
<ToggleBtn>:
|
||||
size_hint: None, None
|
||||
size: dp(36), dp(48)
|
||||
pos_hint: {'center_x': .95, 'center_y': .4}
|
||||
on_active: app.root.ids.sc10.toggleAction(self)
|
|
@ -267,8 +267,8 @@ MDNavigationLayout:
|
|||
id:sc12
|
||||
NetworkStat:
|
||||
id:sc13
|
||||
# MailDetail:
|
||||
# id:sc14
|
||||
MailDetail:
|
||||
id:sc14
|
||||
ShowQRCode:
|
||||
id:sc15
|
||||
Draft:
|
||||
|
|
|
@ -564,7 +564,6 @@ class NavigateApp(MDApp):
|
|||
def clear_composer(self):
|
||||
"""If slow down, the new composer edit screen"""
|
||||
self.set_navbar_for_composer()
|
||||
# import pdb;pdb.set_trace()
|
||||
composer_obj = self.root.ids.sc3.children[1].ids
|
||||
composer_obj.ti.text = ''
|
||||
composer_obj.btn.text = 'Select'
|
||||
|
@ -811,7 +810,6 @@ class NavigateApp(MDApp):
|
|||
try:
|
||||
self.root.ids.sc17.children[1].active = True
|
||||
except Exception:
|
||||
# import pdb;pdb.set_trace()
|
||||
self.root.ids.sc17.children[0].children[1].active = True
|
||||
Clock.schedule_once(partial(self.load_screen_callback, instance), 1)
|
||||
|
||||
|
|
|
@ -50,7 +50,6 @@
|
|||
"Import": "from bitmessagekivy.baseclass.myaddress import MyAddress",
|
||||
},
|
||||
"MailDetail": {
|
||||
"_comment1": "this is my comment",
|
||||
"kv_string": "maildetail",
|
||||
"name_screen": "mailDetail",
|
||||
"Import": "from bitmessagekivy.baseclass.maildetail import MailDetail",
|
||||
|
|
Loading…
Reference in New Issue
Block a user