Commit Graph

1158 Commits

Author SHA1 Message Date
Daniel Schadt
18da73227b Don't shadow built-in "dir" 2015-11-11 21:20:04 +01:00
Daniel Schadt
62b0c4d178 Merge branch 'download-page-tests' of https://github.com/The-Compiler/qutebrowser into download-page 2015-11-11 21:03:36 +01:00
Daniel Schadt
4e3cd8b9e8 Don't prompt if not storage->prompt-download-dir 2015-11-11 20:39:35 +01:00
Daniel Schadt
0f8ec73c55 mhtml: also check dir before starting the download
Otherwise the downloads will be useless anyway.
2015-11-11 20:05:42 +01:00
Daniel Schadt
43c3a38938 mhtml: Don't crash if output dir doesn't exist 2015-11-11 20:00:20 +01:00
Florian Bruhin
7cddd52b2d Merge branch 'download-page' of https://github.com/Kingdread/qutebrowser into Kingdread-download-page 2015-11-10 22:39:07 +01:00
Florian Bruhin
250f0e7410 Merge branch 'test-browser-cache-more' of https://github.com/lamarpavel/qutebrowser into lamarpavel-test-browser-cache-more 2015-11-10 18:57:28 +01:00
Daniel
a5ee39c35e Fix PEP 8 2015-11-10 09:45:01 +01:00
Daniel
c0535727ef Only download elements with rel={stylesheet,icon}
Websites may set the rel attribute to whatever they want, so we just
care about stylesheets and icons and not the other stuff like wss
links (looking at you, GitHub), RSS-feeds, ...
2015-11-09 22:57:31 +01:00
Florian Bruhin
2fc1612bd4 Fix removing of automatic downloads w/ -1 timeout.
With ui -> remove-finished-downloads set to -1, when a download was started
with auto_remove=True (like with :adblock-update), there was a QTimer set up
with timeout -1, which causes this instead of doing something sane:

WARNING: QTimer::singleShot: Timers cannot have negative timeouts
2015-11-09 22:45:51 +01:00
Florian Bruhin
566f94111c Don't warn if element vanished on mouse release.
This happens somewhat reliably on Ubuntu Trusty with the hint test, and more
reliably on Travis.
2015-11-09 22:12:24 +01:00
Florian Bruhin
65648da1ad Fix #889 during a webpage shutdown.
If we're in the middle of closing a WebPage, the webview will still be
registered, but already deleted by Qt - so we get a RuntimeError/TypeError
there.
2015-11-09 18:22:35 +01:00
Florian Bruhin
f3d76b5af6 Fix :follow-hint with an invalid keystring. 2015-11-09 18:20:23 +01:00
Florian Bruhin
35c36725f2 Disallow :follow-hint outside of hint mode.
Fixes #1105.
2015-11-09 18:20:23 +01:00
Daniel
f79722975f Fix _download_dir reference 2015-11-09 17:14:04 +01:00
Daniel
a1bc020fec mhtml: Sanitize default filename suggestion 2015-11-09 17:01:08 +01:00
Daniel
4f01382c64 mhtml: Ignore non-http(s) assets 2015-11-09 17:01:08 +01:00
Daniel
71533b3456 mhtml: Add comments describing the hostblock check 2015-11-09 17:01:08 +01:00
Daniel
9694b3b548 downloads: Remove safety check in on_reply_error
Probably not needed after the last commit.
2015-11-09 17:01:08 +01:00
Daniel
252dc9a8bd mhtml: Don't attempt to download hostblocked urls 2015-11-09 17:01:08 +01:00
Daniel
f34161423c Fix "line too long" 2015-11-09 17:01:08 +01:00
Daniel
a780325a3a Allow directories to be entered as destination
The filename will then default to 'page title.mht'
2015-11-09 17:01:08 +01:00
Daniel
ae8a9b8798 Handle non-ASCII in headers/url better 2015-11-09 17:01:08 +01:00
Daniel
8bb887ddab Specify window and tab instead of 'current' 2015-11-09 17:01:08 +01:00
Daniel
a1e0ccb787 Fix spelling/style. 2015-11-09 17:01:08 +01:00
Daniel
12a9deb9bc Fix lints 2015-11-09 17:01:08 +01:00
Daniel
d1f8d29c20 Add --mhtml flag to :download
And remove :download-whole command.
2015-11-09 17:01:08 +01:00
Daniel
8cf0af004f Deprecate :download [url] [dest], add --dest param
:download --dest [dest] [url] is the new syntax.
2015-11-09 17:00:46 +01:00
Daniel
b17d74452f Expand $HOME before checking if file exists
Otherwise we might accidentally overwrite a file.
2015-11-09 16:59:16 +01:00
Daniel
919365dfa1 Remove dead code mhtml.py:MHTMLWriter:remove_file 2015-11-09 16:59:16 +01:00
Daniel
1902e4858f Also catch re.error on cssutils import
cssutils 1.0 and earlier are broken on Python 3.5 due to a bad regex
escape.
2015-11-09 16:59:16 +01:00
Daniel
957d68c477 Revert "Remove cssutils from mhtml.py"
This reverts commit 22a0f0952704d284846ab2572790d99a85515c57.
2015-11-09 16:59:16 +01:00
Daniel
ce1a99cc7c Remove cssutils from mhtml.py 2015-11-09 16:59:16 +01:00
Daniel
706b8c6600 Shorten line 2015-11-09 16:59:16 +01:00
Daniel
6601df14a3 mhtml: ask before overwriting dest 2015-11-09 16:59:16 +01:00
Daniel
420c087373 use cssutils 2015-11-09 16:59:16 +01:00
Daniel
749b1c02cc Style changes for mhtml and test_mhtml 2015-11-09 16:59:16 +01:00
Daniel
b05a0d191d Fix module path in test_mhtml
Also fix docstring for _get_css_imports
2015-11-09 16:59:16 +01:00
Daniel
2eeace1c2c Move misc.mhtml to browser.mhtml 2015-11-09 16:59:16 +01:00
Daniel
83aee4fad5 Rename on_meta_data_change to on_meta_data_changed 2015-11-09 16:59:16 +01:00
Daniel
8593144fa7 Make _path_suggestion public 2015-11-09 16:59:16 +01:00
Daniel
6b086d159d Ask for filename when none is given 2015-11-09 16:59:16 +01:00
Daniel
49a32f0041 First round of lint fixes 2015-11-09 16:59:16 +01:00
Daniel
fbe5386e56 Initial version of website downloader
Saving websites as MHTML via :download-whole

Still needs some cleanup and a "ask for save path".
2015-11-09 16:59:16 +01:00
Florian Bruhin
b59a56921e Fix crashes with downloads in a closed tab.
When a download was redirected or failed after a tab was closed, there was a
KeyError in the object registry.

Fixes #889. This is a regression introduced in
976f758da1 / #731.
2015-11-09 07:46:22 +01:00
Florian Bruhin
9dfe84c197 Accept longer URL in WebView repr before eliding.
This broke bdd tests because … was inserted in the log.
2015-11-09 07:36:10 +01:00
Florian Bruhin
9cfd96fcef Make :follow-hint take a keystring. 2015-11-09 07:35:56 +01:00
Florian Bruhin
c1c5b0f2b4 Fix prompt for download directory when turned off. 2015-11-09 07:35:03 +01:00
Florian Bruhin
95483f73d8 Add some assertions to DownloadItem.retry. 2015-11-09 07:34:49 +01:00
Florian Bruhin
612174ada0 Add a :download-retry command.
Closes #1097.
2015-11-09 07:17:54 +01:00
Florian Bruhin
da88908815 Fix deprecation warning when clearing downloads. 2015-11-06 07:02:17 +01:00
Florian Bruhin
939e95b344 Add missing decorator for qute:version. 2015-11-04 17:45:12 +01:00
Florian Bruhin
3525659b90 Fix pep8 issues. 2015-11-04 17:41:33 +01:00
Florian Bruhin
4e8cf70c10 Merge branch 'master' of https://github.com/NoctuaNivalis/qutebrowser into NoctuaNivalis-master 2015-11-04 17:19:00 +01:00
Felix Van der Jeugt
8354894838 rename the add_handler function everywhere 2015-11-04 09:49:46 +01:00
Florian Bruhin
6c20190473 Merge branch 'master' of https://github.com/forkbong/qutebrowser into forkbong-master 2015-11-04 07:12:32 +01:00
Panagiotis Ktistakis
782f09488a Deprecate :download-remove --all.
:download-clear should be used instead.
2015-11-04 01:06:39 +02:00
Felix Van der Jeugt
896ac0a7e9 fix the comments on style/typos 2015-11-03 23:15:07 +01:00
Felix Van der Jeugt
84c498b638 use global variable in place of class variable 2015-11-03 23:12:38 +01:00
Felix Van der Jeugt
0233423d9a using a class method is cleaner 2015-11-03 22:54:59 +01:00
Felix Van der Jeugt
a923572341 replace global constant with class variable and decorators 2015-11-03 22:54:59 +01:00
Florian Bruhin
85608a8b8d Make :scroll error message deterministic. 2015-11-03 22:36:08 +01:00
Panagiotis Ktistakis
7dadd97f01 Implement :download-clear command.
Fixes #1013.
2015-11-03 20:27:02 +02:00
Florian Bruhin
0fb2778e4b Merge branch 'master' of https://github.com/skinnay/qutebrowser into skinnay-master 2015-11-02 17:55:40 +01:00
Lamar Pavel
baa3bd18a0 Fix indentation 2015-11-01 20:12:57 +01:00
Lamar Pavel
37d37148b7 Add pragma comment 2015-11-01 19:49:20 +01:00
Florian Bruhin
468b2c4ade Merge branch 'test-browser-cache' of https://github.com/lamarpavel/qutebrowser into lamarpavel-test-browser-cache 2015-10-30 18:54:24 +01:00
skinnay
6125e51de3 removed whitespace 2015-10-29 14:54:54 -04:00
skinnay
5a34fdfd0c Changed the functionality of "remove-finished-downloads" setting.
Instead of being a boolean value indicating whether or not to instantly remove
downloads when they finish, it's now an integer value representing the
number of milliseconds to wait before removing downloads when they
finish. The default value, -1, means that the downloads will not be
removed when they finished. This is the same behavior as the previous
default value of false.
2015-10-29 13:44:28 -04:00
Florian Bruhin
381d857f2c Revert "Add workarounds for issues with pylint tip."
This reverts commit 1d2683993e.
This causes a bad-option-value issue with the current pylint.
2015-10-26 22:05:21 +01:00
Florian Bruhin
1d2683993e Add workarounds for issues with pylint tip. 2015-10-26 21:20:11 +01:00
Jean-Christophe Petkovich
589e8e9d05 Flexible Link Hint Filtering
I think it makes more sense to filter for any text within a link rather
than just the text at the beginning. I've been playing around with this
a little and I like it a lot better.

When using numbers as link hints, It would be awesome if the link hint
strings themselves could also be updated based on how many links are
left, but I'm still figuring out how to do this.

What do you think?
2015-10-25 21:17:48 -04:00
Lamar Pavel
da800e3fa7 Don't setMaximumCacheSize if there is no cache 2015-10-21 22:31:46 +02:00
Florian Bruhin
4dd3483aca Remove unused import. 2015-10-20 22:49:00 +02:00
Florian Bruhin
764914a8b2 Clean up cache.DiskCache. 2015-10-20 22:40:43 +02:00
Florian Bruhin
82dfec6a18 Merge branch 'templatemagic' of https://github.com/neeasade/qutebrowser into neeasade-templatemagic 2015-10-18 18:20:41 +02:00
Florian Bruhin
c8346a11fc Merge branch 'jinja' of https://github.com/meles5/qutebrowser into meles5-jinja 2015-10-17 19:04:36 +02:00
meles5
ff4c002096 A few changes 2015-10-17 17:33:05 +02:00
Nathan Isom
6391da4f6f Forgot font changes. 2015-10-16 12:02:57 -05:00
Nathan Isom
2a11adc8ac initial replace pass. 2015-10-16 10:52:02 -05:00
Florian Bruhin
91ce3ed672 Merge branch 'url-color' of https://github.com/neeasade/qutebrowser into neeasade-url-color 2015-10-15 18:32:47 +02:00
Nathan Isom
4876bdf7ce style. 2015-10-14 13:34:41 -05:00
Nathan Isom
e78b00cce2 Fix configdata.py typos, use scheme from url. 2015-10-14 13:22:28 -05:00
Nathan Isom
d7d4c232d0 Initial shot at issue #691 2015-10-14 13:10:24 -05:00
Florian Bruhin
4f2dbb3a72 Don't show icons when cloning tabs if turned off.
Fixes #1007.
2015-10-10 12:48:45 +02:00
Florian Bruhin
749d7bfc3c Add backticks to docs. 2015-10-08 10:47:36 +02:00
Peter Michely
bfccb91e42 Changed code and docs according to comments 2015-10-08 10:13:47 +02:00
Florian Bruhin
b6f3b1951e Remove more dead code. 2015-10-04 22:21:49 +02:00
Florian Bruhin
005753e83e Remove some dead code.
See #973.
2015-10-04 20:43:29 +02:00
Florian Bruhin
7ff881c3e3 Merge branch 'incdec-setting' of https://github.com/Kingdread/qutebrowser into Kingdread-incdec-setting 2015-10-04 17:04:40 +02:00
Florian Bruhin
d229e90724 Fix some splelling mistakes. 2015-10-04 15:41:42 +02:00
Daniel
4881d81444 Add new configtype: FlagList
This class contains validation code shared by ConfirmQuit and
URLSegmentList, that is it checks for duplicate values and compares
each value to valid_values.
2015-10-01 00:40:21 +02:00
Daniel
1bdb012b2c Add a config option for navigate_incdec
Also known as Ctrl-A/Ctrl-X. You can now specify which parts of the URL
should be searched for numbers.

The setting is general->url-incdec-segments and it's a set with valid
values of 'host', 'path', 'query' and 'anchor'.
2015-09-30 19:18:00 +02:00
Florian Bruhin
11961db72c Add maxlen argument to ErrorNetworkReply.readData.
This was missing before, causing a (hidden) exception with Python < 3.5, and
this with 3.5:

    TypeError: readData() takes 1 positional argument but 2 were given

    During handling of the above exception, another exception occurred:

    SystemError: PyEval_EvalFrameEx returned a result with an error set

Fixes #969.
2015-09-29 08:41:20 +02:00
meles5
8bcc0e4b92 filescheme.py & dirbrowser.html updated 2015-09-25 14:49:03 +02:00
Florian Bruhin
841e8fbbd1 Save search parameters in tabbed_browser. 2015-09-18 07:01:51 +02:00
Florian Bruhin
f62bf099a0 Also re-highlight text when restarting search. 2015-09-18 06:58:05 +02:00
Florian Bruhin
72cddb290b Cleanups 2015-09-18 06:55:17 +02:00
Martin Tournoij
a80c61e78a Use a single search term per-window
Previously, every tab had its own search term. This sets single search term per
window. using `/hello`, `gt`, and `n` will search for `hello` in the 2nd tab.

This fixes issue #940
2015-09-18 02:18:54 +02:00
Florian Bruhin
ee2b9adce4 Move checking if an URL is blocked to adblock.py. 2015-09-17 06:46:27 +02:00
Florian Bruhin
a589ddab4a Merge branch 'whitelist-hosts' of https://github.com/Kingdread/qutebrowser into Kingdread-whitelist-hosts 2015-09-17 06:37:44 +02:00
Florian Bruhin
d5baed5e83 Merge branch 'cookies_tests' of https://github.com/acogneau/qutebrowser into acogneau-cookies_tests 2015-09-16 22:58:28 +02:00
Florian Bruhin
7eca4acb6a Ignore first QWheelEvent for webview.
Hopefully fixes #395.
2015-09-16 20:07:18 +02:00
Daniel
dd679c6c14 Fix is_whitelisted_domain docstring 2015-09-16 17:16:35 +02:00
Daniel
fc806525a2 Move whitelist host code to networkmanager
This means no :adblock-update after modifying the whitelist.
2015-09-16 17:10:03 +02:00
Daniel
523e071a97 Stylistic changes to is_whitelisted_domain 2015-09-16 17:04:19 +02:00
Daniel
ccdb59cce1 Add adblock host whitelisting
The config option "content host-blocking-whitelist" may contain comma
separated domains that are exempt from host blocking.

The listed domains may contain the wildcards "*" and "?" to match many
and one character, respectively.

You need to run :adblock-update after modifying the list.
2015-09-16 16:31:17 +02:00
Alexander Cogneau
d36c701b07 Fixed comments 2015-09-04 11:44:59 +02:00
Alexander Cogneau
96e3a0b1f1 first cookie tests 2015-09-03 17:24:01 +02:00
Florian Bruhin
79c1867e6c Don't save cookies when starting in private mode.
Whoops... :(

Fixes #903.
2015-08-30 23:17:48 +02:00
Florian Bruhin
4891fe9457 Always expand ~ when starting scripts. 2015-08-27 20:30:41 +02:00
Florian Bruhin
6d8854bc07 Simplify usage of tabhistory.TabHistoryItem. 2015-08-23 18:16:19 +02:00
Florian Bruhin
d3d999e041 Show a confirmation when adding bookmarks. 2015-08-18 19:03:46 +02:00
Florian Bruhin
7ce78bb560 networkreply: Add is{Running,Finished} methods. 2015-08-17 07:15:55 +02:00
Florian Bruhin
d94c1736db Use a proper file:// URL for dirbrowser icons. 2015-08-16 19:04:54 +02:00
Florian Bruhin
97a9255400 Don't import function in filescheme. 2015-08-16 18:52:54 +02:00
Florian Bruhin
fb1cffd158 Merge branch 'feature/directory-browser' of git://github.com/antoyo/qutebrowser into dirbrowser 2015-08-16 18:27:05 +02:00
Antoni Boucher
149ca68853 Renamed setReferer to set_referer. 2015-08-14 08:24:13 -04:00
Florian Bruhin
11502b7942 signalfilter: Remove annoying type check. 2015-08-14 06:43:23 +02:00
Antoni Boucher
abeb7e3390 Fixed issues. 2015-08-13 19:54:23 -04:00
Antoni Boucher
814841200a Fixes issues. 2015-08-12 17:24:01 -04:00
Antoni Boucher
77190554cc Merge branch 'master' into feature/directory-browser 2015-08-12 16:57:45 -04:00
Florian Bruhin
44f8cf4b1a Move :tab-focus documentation. 2015-08-11 22:01:18 +02:00
Thorsten Wißmann
da6d12a657 Make tab-focus (bound to gt) behave as in VIM
If no count or index is given, tab-focus switches to the next tab (using
tab-next internally). So the keychain gt behaves as gt in vim:

  - gt focuses the next tab
  - 1gt focuses the first tab
  - <n>gt (e.g. 5gt) focuses the n'th (e.g. fith) tab
2015-08-11 10:50:27 +02:00
Florian Bruhin
c8679d6544 100% coverage for browser.webelem. 2015-08-10 19:37:16 +02:00
Florian Bruhin
aed915b1ec Handle invalid URLs when checking for same domain.
The old code only checked whether current_url is invalid, but the request URL
can be invalid as well, e.g. on http://www.playstation.com/

/cc @Carpetsmoker
2015-08-09 18:52:11 +02:00
Florian Bruhin
fe3eb30892 Reorganize exceptions in urlutils.
- Instead of ValueError, a new InvalidUrlError is raised with invalid URLs.
- FuzzyUrlError got removed as it's basically the same as InvalidUrlError.
2015-08-09 18:48:32 +02:00
Antoni Boucher
052d18147e Added permission check. 2015-08-09 11:29:18 -04:00
Antoni Boucher
0896d7a8b3 Fixed file scheme handler. 2015-08-08 19:45:00 -04:00
Antoni Boucher
14ae308279 Added a file:// scheme. 2015-08-08 15:16:48 -04:00
Antoni Boucher
7e20d77bdf Switch to SVG file and tango theme. 2015-08-08 14:43:55 -04:00
Antoni Boucher
2969599390 Use toLocalFile function instead of slicing. 2015-08-08 14:13:09 -04:00
Antoni Boucher
e6521b047d Added get_file_list function and tests. 2015-08-08 14:10:27 -04:00
Antoni Boucher
b8809f879d Added resource_filename function and tests. 2015-08-08 13:47:47 -04:00
Antoni Boucher
ec5049f801 Renamed url to urlstring. 2015-08-08 13:32:04 -04:00
Antoni Boucher
2be0743378 Added images. 2015-08-07 23:28:24 -04:00
Antoni Boucher
fedf9d9c72 Replaced tuple by dict. 2015-08-07 22:45:54 -04:00
Antoni Boucher
4c1ed35390 Removed .. when in root folder. 2015-08-07 22:45:42 -04:00
Antoni Boucher
c8d3fc57c2 First version of directory browser. 2015-08-07 21:57:19 -04:00
Daniel
c4c3a83ac0 rename url_incdec_number to incdec_number 2015-08-08 00:57:16 +02:00
Daniel
276b163e0d Move logic from _navigate_incdec to urlutils
Also add unittests for url_incdec_number
2015-08-07 18:48:07 +02:00
Daniel
0f3aa0bd8c Ctrl-A only increments number in path segment
This prevents a host like "myfoo42.bar" changing to "myfoo43.bar" when
pressing Ctrl-A. It further prevents increasing the port number, e.g.
going from "foo.bar:8080" to "foo.bar:8081".
2015-08-07 17:21:18 +02:00
Florian Bruhin
9c6782be1d downloads: Fix size calculation with unknown size.
Fixes #854.
2015-08-06 21:00:36 +02:00
Florian Bruhin
36adaf0cf3 Simplify argument handling for DownloadManager. 2015-08-06 20:41:57 +02:00
Florian Bruhin
5fca27ad02 Fix :adblock-update. 2015-08-06 20:38:51 +02:00
Florian Bruhin
46f3be2df7 Add rapid hinting for downloads. 2015-08-06 19:09:21 +02:00
Florian Bruhin
a34fa93f62 Wrap long lines. 2015-08-06 18:50:32 +02:00
Alexander Cogneau
8ffe73cc5f Change 'prompt-download-location' setting to 'prompt-download-directory' 2015-08-06 16:44:58 +02:00
Alexander Cogneau
9a85b66452 Merge remote-tracking branch 'upstream/master' 2015-08-06 16:40:48 +02:00
Alexander Cogneau
e43a1e6444 Added config option for prompting the user for a download location. 2015-08-04 16:30:55 +02:00