support multiple filters
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
@@ -46,7 +47,7 @@ class FilesBrowserWidget(Tab):
|
||||
self._model = QFileSystemModel()
|
||||
self._model.setRootPath(self._base_dir.text())
|
||||
self._model.setFilter(QDir.AllDirs | QDir.NoDotAndDotDot | QDir.AllEntries)
|
||||
self._model.setNameFilters([self._filter.text()])
|
||||
self._model.setNameFilters(self._get_filters())
|
||||
self._model.setNameFilterDisables(False)
|
||||
self._view = QTreeView()
|
||||
self._view.setModel(self._model)
|
||||
@@ -81,7 +82,7 @@ class FilesBrowserWidget(Tab):
|
||||
|
||||
def _filter_changed(self, filter):
|
||||
self._settings.set_session("filesBrowser", "filter", filter)
|
||||
self._model.setNameFilters([filter])
|
||||
self._model.setNameFilters(self._get_filters())
|
||||
|
||||
def _base_dir_changed(self, base_dir):
|
||||
if os.path.isdir(base_dir):
|
||||
@@ -107,3 +108,6 @@ class FilesBrowserWidget(Tab):
|
||||
folder = os.path.join(Path.home())
|
||||
|
||||
return folder
|
||||
|
||||
def _get_filters(self):
|
||||
return re.split(r"[,;\s]+", self._filter.text())
|
||||
|
||||
Reference in New Issue
Block a user