def file_dialog(title=None, path='.', filter='files', events_callback=None, size=None): def is_dir(directory, filename): return os.path.isdir(os.path.join(directory, filename)) def is_file(directory, filename): return os.path.isfile(os.path.join(directory, filename)) if not size: size = (.7, .5) file_manager = FileChooserListView(path=path, filters=['\ *.png']) if isinstance(events_callback, types.FunctionType) or \ isinstance(events_callback, types.MethodType): file_manager.ids.layout.ids.button_ok.bind( on_release=lambda x: events_callback(file_manager.path)) file_manager.bind(selection=lambda *x: events_callback(x[1:][0][0])) if filter == 'folders': file_manager.filters = [is_dir] elif filter == 'files': file_manager.filters = [is_file] dialog = card(file_manager, title, size=size) return dialog, file_manager
def create_open_file_dialog(self): chooser = BoxLayout() container = BoxLayout(orientation='vertical') def open_file(path, filename): try: filepath = os.path.join(path, filename[0]) self.__open_filename = filepath self.open_file_dialog_to_report_selector() except IndexError: self.error_message("Please pick an appendix (.csv) file") filechooser = FileChooserListView() filechooser.path = os.path.expanduser("~") filechooser.bind(on_selection=lambda x: filechooser.selection) filechooser.filters = ["*.csv"] open_btn = Button(text='open', size_hint=(.2,.1), pos_hint={'center_x': 0.5, 'center_y': 0.5}) open_btn.bind(on_release=lambda x: open_file(filechooser.path, filechooser.selection)) container.add_widget(filechooser) container.add_widget(open_btn) chooser.add_widget(container) file_chooser = Popup(title='Open file', content=chooser, size_hint=(.9, .7 ), pos_hint={'center_x': 0.5, 'center_y': 0.5}) return file_chooser
def __init__(self, **kvargs): super(FDialog, self).__init__(**kvargs) box = BoxLayout(orientation='vertical', spacing=10) fdialog = FileChooserListView(path=self.path) fdialog.bind(selection=self.events_callback) box.add_widget(fdialog) if self.filter == 'folder': box.add_widget(SettingSpacer()) box.add_widget( Button(text=self.text_button_ok, size_hint=(1, .1), background_normal=self.background_image_buttons[0], background_down=self.background_image_shadows[0], on_press=self.events_callback) ) fdialog.filters = [self.is_dir] elif self.filter == 'files': fdialog.filters = [self.is_file] self.content = box self.open()
def __init__(self, **kvargs): super(FDialog, self).__init__(**kvargs) box = BoxLayout(orientation='vertical', spacing=10) fdialog = FileChooserListView(path=self.path) fdialog.bind(selection=self.events_callback) box.add_widget(fdialog) if self.filter == 'folder': box.add_widget(SettingSpacer()) box.add_widget( Button(text=self.text_button_ok, size_hint=(1, .1), background_normal=self.background_image_buttons[0], background_down=self.background_image_shadows[0], on_press=self.events_callback)) fdialog.filters = [self.is_dir] elif self.filter == 'files': fdialog.filters = [self.is_file] self.content = box self.open()
def __init__(self, **kvargs): super(FileChooser, self).__init__(**kvargs) box = BoxLayout(orientation="vertical", spacing=10) filechooser = FileChooserListView() filechooser.bind(selection=self.select_callback) box.add_widget(filechooser) if self.filter == "folder": box.add_widget(SettingSpacer()) box.add_widget(Button(text=self.text_button_select, size_hint=(1, .1), on_press=self.select_callback)) filechooser.filters = [self.is_dir] elif self.filter == "files": filechooser.filters = [self.is_file] self.body = Popup(title=self.title, content=box, size_hint=self.size, auto_dismiss=self.auto_dismiss, background=self.background_image) self.body.bind(on_dismiss=self.dismiss_callback) self.body.open()
def __init__(self, **kwargs): super(mygrid, self).__init__(**kwargs) self.cols = 2 #-----FileChooser on the right side right = FileChooserListView() right.rootpath = "/home/stevenbaur/Musik" right.filters = ['*.wav', '*.mp3'] #-----Test-Arrea on the left side left = Button() left.text = "test" left.bind(on_release=partial(self.load_from_filechooser, right)) self.add_widget(left) self.add_widget(right)