Merge pull request #6 from cis-navjot-g/newwork

search bar Ui Changes
This commit is contained in:
cis-navjot-g 2019-08-06 16:15:49 +05:30 committed by GitHub
commit 9db8635e76
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 53 additions and 28 deletions

View File

@ -207,7 +207,6 @@ NavigationLayout:
pos_hint: {'x': .1, 'y': 0.3} pos_hint: {'x': .1, 'y': 0.3}
color: 0,0,0,1 color: 0,0,0,1
background_color: (0,0,0,0) background_color: (0,0,0,0)
on_press:app.searchQuery(self, search_input.text)
Image: Image:
source: './images/search_mail.png' source: './images/search_mail.png'
center_x: self.parent.center_x center_x: self.parent.center_x
@ -226,6 +225,18 @@ NavigationLayout:
center_x: self.parent.center_x center_x: self.parent.center_x
center_y: self.parent.center_y center_y: self.parent.center_y
size: 55, 55 size: 55, 55
BoxLayout:
id: search_bar
size_hint_y: None
height: self.minimum_height
MDIconButton:
icon: 'magnify'
MDTextField:
id: search_field
hint_text: 'Search icon'
on_text: app.searchQuery(self)
ScreenManager: ScreenManager:
id: scr_mngr id: scr_mngr
Inbox: Inbox:

View File

@ -45,6 +45,7 @@ from functools import partial
from kivy.uix.carousel import Carousel from kivy.uix.carousel import Carousel
from kivy.utils import platform from kivy.utils import platform
from kivy.uix.spinner import Spinner from kivy.uix.spinner import Spinner
from kivymd.textfields import MDTextField
class Navigatorss(MDNavigationDrawer): class Navigatorss(MDNavigationDrawer):
@ -1085,29 +1086,40 @@ class NavigateApp(App):
return f_name[0][:14] + '...' if len(f_name[0]) > 15 else f_name[0] return f_name[0][:14] + '...' if len(f_name[0]) > 15 else f_name[0]
return '' return ''
def searchQuery(self, instance, text): def searchQuery(self, instance):
"""Method used for showing searched mails.""" '''This method is used for showing searched mails'''
if self.root.ids.search_input.opacity == 0: state.search_screen = self.root.ids.scr_mngr.current
self.root.ids.search_input.opacity = 1 state.searcing_text = str(instance.text).strip()
self.root.ids.search_input.size_hint = 4, None if state.search_screen == 'inbox':
self.root.ids.search_input.disabled = False self.root.ids.sc1.clear_widgets()
self.root.ids.search_input.focus = True self.root.ids.sc1.add_widget(Inbox())
self.root.ids.toolbar.left_action_items = [] else:
self.root.ids.toolbar.title = '' self.root.ids.sc4.clear_widgets()
self.root.ids.myButton.opacity = 0 self.root.ids.sc4.add_widget(Sent())
self.root.ids.myButton.disabled = True self.root.ids.scr_mngr.current = state.search_screen
self.root.ids.reset_navbar.opacity = 1 # if self.root.ids.search_input.opacity == 0:
self.root.ids.reset_navbar.disabled = False # self.root.ids.search_input.opacity = 1
elif str(text): # self.root.ids.search_input.size_hint = 4,None
state.search_screen = self.root.ids.scr_mngr.current # # self.root.ids.serch_btn.opacity = 0
state.searcing_text = str(text).strip() # # self.root.ids.serch_btn.disabled = True
if state.search_screen == 'inbox': # self.root.ids.search_input.disabled = False
self.root.ids.sc1.clear_widgets() # self.root.ids.search_input.focus = True
self.root.ids.sc1.add_widget(Inbox()) # self.root.ids.toolbar.left_action_items = []
else: # self.root.ids.toolbar.title = ''
self.root.ids.sc4.clear_widgets() # self.root.ids.myButton.opacity = 0
self.root.ids.sc4.add_widget(Sent()) # self.root.ids.myButton.disabled = True
self.root.ids.scr_mngr.current = state.search_screen # self.root.ids.reset_navbar.opacity = 1
# self.root.ids.reset_navbar.disabled = False
# elif str(text):
# state.search_screen = self.root.ids.scr_mngr.current
# state.searcing_text = str(text).strip()
# if state.search_screen == 'inbox':
# self.root.ids.sc1.clear_widgets()
# self.root.ids.sc1.add_widget(Inbox())
# else:
# self.root.ids.sc4.clear_widgets()
# self.root.ids.sc4.add_widget(Sent())
# self.root.ids.scr_mngr.current = state.search_screen
def reset_navdrawer(self, instance): def reset_navdrawer(self, instance):
"""Method used for reseting navigation drawer.""" """Method used for reseting navigation drawer."""
@ -1133,6 +1145,9 @@ class NavigateApp(App):
def check_search_screen(self, instance): def check_search_screen(self, instance):
"""Method shows search button on inbox and sent screen only.""" """Method shows search button on inbox and sent screen only."""
if instance.text == 'Inbox' or instance.text == 'Sent': if instance.text == 'Inbox' or instance.text == 'Sent':
if not self.root.ids.search_bar.children:
self.root.ids.search_bar.add_widget(MDIconButton(icon = 'magnify'))
# self.root.ids.search_bar.add_widget(MDTextField(id='search_field', hint_text='Search icon', on_text=app.searchQuery(self)))
self.root.ids.serch_btn.opacity = 1 self.root.ids.serch_btn.opacity = 1
self.root.ids.serch_btn.disabled = False self.root.ids.serch_btn.disabled = False
state.searcing_text = '' state.searcing_text = ''
@ -1141,6 +1156,7 @@ class NavigateApp(App):
self.root.ids.sc1.add_widget(Inbox()) self.root.ids.sc1.add_widget(Inbox())
self.root.ids.sc4.add_widget(Sent()) self.root.ids.sc4.add_widget(Sent())
else: else:
self.root.ids.search_bar.clear_widgets()
self.root.ids.serch_btn.opacity = 0 self.root.ids.serch_btn.opacity = 0
self.root.ids.serch_btn.disabled = True self.root.ids.serch_btn.disabled = True
return return
@ -1415,10 +1431,8 @@ class ShowQRCode(Screen):
def qrdisplay(self): def qrdisplay(self):
"""Method used for showing QR Code.""" """Method used for showing QR Code."""
self.ids.qr.clear_widgets() self.ids.qr.clear_widgets()
if platform == 'android': from kivy.garden.qrcode import QRCodeWidget
from kivy.garden.qrcode import QRCodeWidget self.ids.qr.add_widget(QRCodeWidget(data=self.manager.get_parent_window().children[0].address))
self.ids.qr.add_widget(QRCodeWidget(
data=self.manager.get_parent_window().children[0].address))
class Draft(Screen): class Draft(Screen):