Merge branch 'skinnay-master'
This commit is contained in:
commit
144acc9f91
@ -59,6 +59,9 @@ Changed
|
||||
- New design for error pages
|
||||
- Link filtering for hints now checks if the text is contained anywhere in
|
||||
the link, and matches case-insensitively.
|
||||
- The `ui -> remove-finished-downloads` option got changed to an integer and
|
||||
now takes a time (in milliseconds) to keep the download around after it's
|
||||
finished. When set to `-1`, downloads are never removed.
|
||||
|
||||
Fixed
|
||||
~~~~~
|
||||
|
@ -155,6 +155,7 @@ Contributors, sorted by the number of commits in descending order:
|
||||
* Peter Vilim
|
||||
* Jonas Schürmann
|
||||
* Jimmy
|
||||
* skinnay
|
||||
* Zach-Button
|
||||
* rikn00
|
||||
* Patric Schmitz
|
||||
|
@ -42,7 +42,7 @@
|
||||
|<<ui-user-stylesheet,user-stylesheet>>|User stylesheet to use (absolute filename, filename relative to the config directory or CSS string). Will expand environment variables.
|
||||
|<<ui-css-media-type,css-media-type>>|Set the CSS media type.
|
||||
|<<ui-smooth-scrolling,smooth-scrolling>>|Whether to enable smooth scrolling for webpages.
|
||||
|<<ui-remove-finished-downloads,remove-finished-downloads>>|Whether to remove finished downloads automatically.
|
||||
|<<ui-remove-finished-downloads,remove-finished-downloads>>|Number of milliseconds to wait before removing finished downloads. Will not be removed if value is -1.
|
||||
|<<ui-hide-statusbar,hide-statusbar>>|Whether to hide the statusbar unless a message is shown.
|
||||
|<<ui-statusbar-padding,statusbar-padding>>|Padding for statusbar (top, bottom, left, right).
|
||||
|<<ui-window-title-format,window-title-format>>|The format to use for the window title. The following placeholders are defined:
|
||||
@ -593,14 +593,9 @@ Default: +pass:[false]+
|
||||
|
||||
[[ui-remove-finished-downloads]]
|
||||
=== remove-finished-downloads
|
||||
Whether to remove finished downloads automatically.
|
||||
Number of milliseconds to wait before removing finished downloads. Will not be removed if value is -1.
|
||||
|
||||
Valid values:
|
||||
|
||||
* +true+
|
||||
* +false+
|
||||
|
||||
Default: +pass:[false]+
|
||||
Default: +pass:[-1]+
|
||||
|
||||
[[ui-hide-statusbar]]
|
||||
=== hide-statusbar
|
||||
|
@ -771,7 +771,7 @@ class DownloadManager(QAbstractListModel):
|
||||
fileobj: The file object to write the answer to.
|
||||
filename: A path to write the data to.
|
||||
auto_remove: Whether to remove the download even if
|
||||
ui -> remove-finished-downloads is set to false.
|
||||
ui -> remove-finished-downloads is set to -1.
|
||||
|
||||
Return:
|
||||
The created DownloadItem.
|
||||
@ -790,9 +790,10 @@ class DownloadManager(QAbstractListModel):
|
||||
download = DownloadItem(reply, self._win_id, self)
|
||||
download.cancelled.connect(
|
||||
functools.partial(self.remove_item, download))
|
||||
if config.get('ui', 'remove-finished-downloads') or auto_remove:
|
||||
delay = config.get('ui', 'remove-finished-downloads')
|
||||
if delay > -1 or auto_remove:
|
||||
download.finished.connect(
|
||||
functools.partial(self.remove_item, download))
|
||||
functools.partial(self.remove_item_delayed, download, delay))
|
||||
download.data_changed.connect(
|
||||
functools.partial(self.on_data_changed, download))
|
||||
download.error.connect(self.on_error)
|
||||
@ -1011,6 +1012,10 @@ class DownloadManager(QAbstractListModel):
|
||||
if not self.downloads:
|
||||
self._update_timer.stop()
|
||||
|
||||
def remove_item_delayed(self, download, delay):
|
||||
"""Remove a given download after a short delay."""
|
||||
QTimer.singleShot(delay, functools.partial(self.remove_item, download))
|
||||
|
||||
def remove_items(self, downloads):
|
||||
"""Remove an iterable of downloads."""
|
||||
# On the first pass, we only generate the indices so we get the
|
||||
|
@ -255,21 +255,20 @@ def init(parent=None):
|
||||
_init_misc()
|
||||
|
||||
|
||||
def _get_value_transformer(old, new):
|
||||
def _get_value_transformer(mapping):
|
||||
"""Get a function which transforms a value for CHANGED_OPTIONS.
|
||||
|
||||
Args:
|
||||
old: The old value - if the supplied value doesn't match this, it's
|
||||
returned untransformed.
|
||||
new: The new value.
|
||||
mapping: A dictionary mapping old values to new values. Value is not
|
||||
transformed if the supplied value doesn't match the old value.
|
||||
|
||||
Return:
|
||||
A function which takes a value and transforms it.
|
||||
"""
|
||||
def transformer(val):
|
||||
if val == old:
|
||||
return new
|
||||
else:
|
||||
try:
|
||||
return mapping[val]
|
||||
except KeyError:
|
||||
return val
|
||||
return transformer
|
||||
|
||||
@ -352,9 +351,11 @@ class ConfigManager(QObject):
|
||||
]
|
||||
CHANGED_OPTIONS = {
|
||||
('content', 'cookies-accept'):
|
||||
_get_value_transformer('default', 'no-3rdparty'),
|
||||
_get_value_transformer({'default': 'no-3rdparty'}),
|
||||
('tabs', 'position'): _transform_position,
|
||||
('ui', 'downloads-position'): _transform_position,
|
||||
('ui', 'remove-finished-downloads'):
|
||||
_get_value_transformer({'false': '-1', 'true': '1000'})
|
||||
}
|
||||
|
||||
changed = pyqtSignal(str, str)
|
||||
|
@ -291,8 +291,9 @@ def data(readonly=False):
|
||||
"Whether to enable smooth scrolling for webpages."),
|
||||
|
||||
('remove-finished-downloads',
|
||||
SettingValue(typ.Bool(), 'false'),
|
||||
"Whether to remove finished downloads automatically."),
|
||||
SettingValue(typ.Int(minval=-1), '-1'),
|
||||
"Number of milliseconds to wait before removing finished "
|
||||
"downloads. Will not be removed if value is -1."),
|
||||
|
||||
('hide-statusbar',
|
||||
SettingValue(typ.Bool(), 'false'),
|
||||
|
Loading…
Reference in New Issue
Block a user