diff options
author | Andrew MacFie <amacfie@sent.com> | 2021-01-19 11:51:17 -0500 |
---|---|---|
committer | Andrew MacFie <amacfie@sent.com> | 2021-01-19 11:51:17 -0500 |
commit | dd80110dd4f856e9db1bc5d683117eebdf7f5a04 (patch) | |
tree | 203547010068914ca576f40f509b2cd264f5eafd /qutebrowser/completion | |
parent | 8c9d9c74c8ed097c1a06fb0ab889330f11577cd7 (diff) | |
download | qutebrowser-dd80110dd4f856e9db1bc5d683117eebdf7f5a04.tar.gz qutebrowser-dd80110dd4f856e9db1bc5d683117eebdf7f5a04.zip |
Fix some stuff
Diffstat (limited to 'qutebrowser/completion')
-rw-r--r-- | qutebrowser/completion/models/filepathcategory.py | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/qutebrowser/completion/models/filepathcategory.py b/qutebrowser/completion/models/filepathcategory.py index fb71cf6c3..98fc81a35 100644 --- a/qutebrowser/completion/models/filepathcategory.py +++ b/qutebrowser/completion/models/filepathcategory.py @@ -19,10 +19,9 @@ import glob import os -from typing import Any -import urllib.parse +from typing import List -from PyQt5.QtCore import QAbstractListModel, QModelIndex +from PyQt5.QtCore import QAbstractListModel, QModelIndex, QObject, QUrl class FilePathCategory(QAbstractListModel): @@ -30,7 +29,7 @@ class FilePathCategory(QAbstractListModel): def __init__(self, name: str, parent: QObject = None) -> None: super().__init__(parent) - self._paths: list = [] + self._paths: List[str] = [] self.name = name self.columns_to_filter = [0] @@ -42,11 +41,11 @@ class FilePathCategory(QAbstractListModel): """ if not val: self._paths = [os.path.expanduser('~')] - elif len(val) >= 1 and val[0] in ['~', '/']: - glob_str = os.path.expanduser(glob.escape(val)) + '*' - self._paths = sorted(glob.glob(glob_str)) elif val.startswith('file:///'): - glob_str = os.path.expanduser(urllib.parse.unquote(val[7:])) + '*' + glob_str = QUrl(val).path() + '*' + self._paths = sorted(glob.glob(glob_str)) + elif os.path.isabs(os.path.expanduser(val)): + glob_str = glob.escape(os.path.expanduser(val)) + '*' self._paths = sorted(glob.glob(glob_str)) else: self._paths = [] @@ -58,6 +57,9 @@ class FilePathCategory(QAbstractListModel): else: return '' - def rowCount(self, *_args: Any) -> int: + def rowCount(self, parent: QModelIndex=QModelIndex()) -> int: """Implement abstract method in QAbstractListModel.""" - return len(self._paths) + if parent.isValid(): + return 0 + else: + return len(self._paths) |