Пример #1
0
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
Пример #2
0
    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 
Пример #3
0
    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()
Пример #4
0
    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()
Пример #5
0
    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()
Пример #6
0
    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)