def show_confirm_dialog(self, title, msg, on_confirm, on_cancel=None, cancel_btn_text='Cancel', confirm_btn_text='Confirm', on_open=None): confirm_popup = None def dismiss_confirm_dialog(): if confirm_popup and hasattr(confirm_popup, 'dismiss'): confirm_popup.dismiss() def on_confirm_wrapper(): dismiss_confirm_dialog() on_confirm() def on_cancel_wrapper(): dismiss_confirm_dialog() if callable(on_cancel): on_cancel() content = ConfirmDialog(confirm_callback=on_confirm_wrapper, cancel_callback=on_cancel_wrapper, cancel_btn_text=cancel_btn_text, confirm_btn_text=confirm_btn_text) content.message_label.text = msg confirm_popup = Popup( title=title, content=content, auto_dismiss=False, size_hint=(0.9, None), height=200) if on_open: confirm_popup.on_open = on_open confirm_popup.open() return confirm_popup
def show_loading_dialog(self, on_open=None): content = LoadingDialog() loading_popup = Popup( title='', auto_dismiss=False, content=content, size_hint=(0.9, None), height=200) if on_open: loading_popup.on_open = on_open loading_popup.open() return loading_popup
def show_loading_dialog(self, on_open=None): content = LoadingDialog() loading_popup = Popup(title='', auto_dismiss=False, content=content, size_hint=(0.9, None), height=200) if on_open: loading_popup.on_open = on_open loading_popup.open() return loading_popup
def show_info_dialog(self, title, msg, on_open=None): info_popup = None def dismiss_info_dialog(): if info_popup and hasattr(info_popup, 'dismiss'): info_popup.dismiss() content = InfoDialog(close=dismiss_info_dialog) content.message_label.text = msg info_popup = Popup( title=title, content=content, auto_dismiss=False, size_hint=(0.9, None), height=200) if on_open: info_popup.on_open = on_open info_popup.open() return info_popup
def show_info_dialog(self, title, msg, on_open=None, on_close=None): info_popup = None def dismiss_info_dialog(): if info_popup and hasattr(info_popup, 'dismiss'): info_popup.dismiss() if callable(on_close): on_close() content = InfoDialog(close=dismiss_info_dialog) content.message_label.text = msg info_popup = Popup(title=title, content=content, auto_dismiss=False, size_hint=(0.9, None), height=200) if callable(on_open): info_popup.on_open = on_open info_popup.open() return info_popup
def show_dir_chooser_dialog(self, on_selection, path=None, on_open=None): dir_chooser_popup = None def dismiss_dir_chooser_dialog(): if dir_chooser_popup and hasattr(dir_chooser_popup, 'dismiss'): dir_chooser_popup.dismiss() def on_selection_wrapper(path, selection, new_dir_name): dir_path = path if new_dir_name: dir_path = os.path.join(path, new_dir_name) try: os.mkdir(dir_path) except OSError as e: if e.errno == 17: # File exists msg = 'Directory "%s" already exists' % new_dir_name else: msg = 'Invalid filename' self.show_info_dialog('Error', msg) return elif selection: if selection[0].startswith( '..'): # disallow selection of the parent directory return else: dir_path = selection[0] dismiss_dir_chooser_dialog() on_selection(dir_path) content = DirChooserDialog(select=on_selection_wrapper, cancel=dismiss_dir_chooser_dialog) file_chooser = content.file_chooser file_chooser.path = path or self._get_last_dir() file_chooser.bind(path=lambda instance, path: self._set_last_dir(path)) dir_chooser_popup = Popup(title="Choose directory", content=content, size_hint=(0.9, 0.9)) if on_open: dir_chooser_popup.on_open = on_open dir_chooser_popup.open() return dir_chooser_popup
def show_dir_chooser_dialog(self, on_selection, path=None, on_open=None): dir_chooser_popup = None def dismiss_dir_chooser_dialog(): if dir_chooser_popup and hasattr(dir_chooser_popup, 'dismiss'): dir_chooser_popup.dismiss() def on_selection_wrapper(path, selection, new_dir_name): dir_path = path if new_dir_name: dir_path = os.path.join(path, new_dir_name) try: os.mkdir(dir_path) except OSError as e: if e.errno == 17: # File exists msg = 'Directory "%s" already exists' % new_dir_name else: msg = 'Invalid filename' self.show_info_dialog('Error', msg) return elif selection: if selection[0].startswith('..'): # disallow selection of the parent directory return else: dir_path = selection[0] dismiss_dir_chooser_dialog() on_selection(dir_path) content = DirChooserDialog( select=on_selection_wrapper, cancel=dismiss_dir_chooser_dialog) file_chooser = content.file_chooser file_chooser.path = path or self._get_last_dir() file_chooser.bind(path=lambda instance, path: self._set_last_dir(path)) dir_chooser_popup = Popup( title="Choose directory", content=content, size_hint=(0.9, 0.9)) if on_open: dir_chooser_popup.on_open = on_open dir_chooser_popup.open() return dir_chooser_popup
def show_confirm_dialog(self, title, msg, on_confirm, on_cancel=None, cancel_btn_text='Cancel', confirm_btn_text='Confirm', on_open=None): confirm_popup = None def dismiss_confirm_dialog(): if confirm_popup and hasattr(confirm_popup, 'dismiss'): confirm_popup.dismiss() def on_confirm_wrapper(): dismiss_confirm_dialog() on_confirm() def on_cancel_wrapper(): dismiss_confirm_dialog() if callable(on_cancel): on_cancel() content = ConfirmDialog(confirm_callback=on_confirm_wrapper, cancel_callback=on_cancel_wrapper, cancel_btn_text=cancel_btn_text, confirm_btn_text=confirm_btn_text) content.message_label.text = msg confirm_popup = Popup(title=title, content=content, auto_dismiss=False, size_hint=(0.9, None), height=200) if on_open: confirm_popup.on_open = on_open confirm_popup.open() return confirm_popup