Commit Graph

1390 Commits

Author SHA1 Message Date
Florian Bruhin
27b31b7ded Avoid DownloadView being focused when pressing tab
The previous fix didn't work in situations where the web view was
actually focused, but had no focused element (like about:blank).

The new fix always works, and even is a lot simpler!

Fixes #504.
2016-03-31 19:45:36 +02:00
Florian Bruhin
123fd18af5 Fix crash when removing download in closed window
When a download is finished with `removed-finished-download` set to a
delay, it's removed via a singleshot QTimer.

However, when the window was closed in the meantime, the slot still was
executed by Qt, even though the DownloadManager was already deleted.

Fixes #1242
2016-03-31 19:09:43 +02:00
Kevin Velghe
f4f98c54fa Keep pylint happy 2016-03-31 11:25:35 +02:00
Kevin Velghe
e90ad3d9c0 Complete coverage for webelem 2016-03-31 10:25:44 +02:00
Jimmy
1c10a1aecf Adds new buffer command with completion.
`buffer` takes either a tab index or a string and focuses the specified
tab. The index can be of the form [0-9]+ which will switch to the
relevant tab in the current window or [0-9]+/[0-9]+ (that is
win_id/index) which will focus the specified window before switching
tabs. If a string is passed the list of open tabs across all windows is
sorted based on title and url (just like in the completion widget) and
the top result is selected.
2016-03-31 14:00:36 +13:00
Kevin Velghe
0fe0f84546 Fix loop and support area tag
It appears the output of qtwebkit has a cycle, so we end in an endless
loop. This limits the loop to 5 steps.
2016-03-31 00:58:19 +02:00
Kevin Velghe
a242ba28d9 Support multiple levels when checking link target 2016-03-30 23:44:05 +02:00
Kevin Velghe
571d6519e9 Handle frames 2016-03-30 19:08:10 +02:00
Kevin Velghe
201739a7e6 Add current hint target 2016-03-30 16:27:34 +02:00
Florian Bruhin
6c7e2492e9 Merge branch 'dirbrowser-issue-1334' of https://github.com/Kingdread/qutebrowser into Kingdread-dirbrowser-issue-1334 2016-03-29 22:38:04 +02:00
Florian Bruhin
86ab33c558 Pass HTTPClient to PastebinClient as argument 2016-03-29 19:21:15 +02:00
Florian Bruhin
32c9f2ac94 Fix starting with -c "" 2016-03-29 07:43:11 +02:00
Florian Bruhin
3eb782b204 pylint: Remove now useless no-member suppression
This is now useless since introducing the jinja.render wrapper.
2016-03-29 07:06:32 +02:00
Florian Bruhin
2aaf22df76 Also read blocked hosts from ~/.config 2016-03-29 06:59:23 +02:00
Daniel Schadt
5e73a2ea37 dirbrowser: move parent dir logic to own function 2016-03-28 23:10:20 +02:00
Daniel Schadt
7fe4c7e06d fix lint 2016-03-28 23:10:20 +02:00
Daniel Schadt
375e60627a dirbrowser: ditch .lstrip, add file_url function 2016-03-28 23:10:20 +02:00
Daniel Schadt
a77e085952 dirbrowser: fix navigation on windows
Issue #1334

The problem was that there were too few slashes. On Linux, absolute
paths start with /, so

    file:// + /home

gives file:///home, which is a valid path. On windows however, absolute
paths start with a drive letter, so

    file:// + C:/Users

gives file://C:/Users, which is parsed as "host C, path Users", which is
why it could be written as file://c/Users (strip out the empty "port"),
giving us an invalid path.

The solution is to add the third slash in the template, and strip the
redundant slash on unix systems.

Additionally, this fixes a bug where navigating from '/home/' to the
parent directory would give '/home' instead of '/'
2016-03-28 23:08:54 +02:00
Kevin Velghe
76935291c0 Open links in current tab
Fix for #676

It removes the target of the link, as to prevent the website to overrule
the user. I guess the following things should be done:
 - add setting to enable/disable this behaviour
 - and/or add "hint all current"

Only the first one would be easiest. The second one requires us to keep track
of the original target. I should open a pull request for discussion.
2016-03-28 13:29:44 +02:00
Florian Bruhin
4cd49d42cc Fix pdfjs error page after jinja.render changes 2016-03-27 12:53:53 +02:00
Florian Bruhin
86b12a302e Add a jinja.render helper
This simplifies some code and will make #1362 possible.
2016-03-25 14:29:30 +01:00
Florian Bruhin
f2f0f429fb Update docs 2016-03-25 11:10:38 +01:00
Florian Bruhin
99fadacda6 Merge branch 'multi_url_heuristic' of https://github.com/hcraT/qutebrowser into hcraT-multi_url_heuristic 2016-03-17 21:28:40 +01:00
Florian Bruhin
60c293846f Un-deprecate :download-remove --all 2016-03-14 19:11:41 +01:00
Florian Bruhin
35731feeb5 Fix docs for :download-* commands 2016-03-14 19:05:36 +01:00
Florian Bruhin
25ee48d28b Add an --all flag to :download-cancel 2016-03-14 19:05:15 +01:00
Florian Bruhin
18b6d7ea50 Merge branch 'xdg-download-dir-fix' of https://github.com/Kingdread/qutebrowser into Kingdread-xdg-download-dir-fix 2016-03-08 07:13:03 +01:00
Tarcisio Fedrizzi
8f593d948c Fixing flake8 error 2016-02-28 23:56:23 +01:00
Tarcisio Fedrizzi
25bc2dc1db Changes formatters to print multiline text on one line 2016-02-28 23:45:02 +01:00
Tarcisio Fedrizzi
0ab44c4f4a Reformats code as requested 2016-02-28 23:41:20 +01:00
Tarcisio Fedrizzi
702b235981 Fixes formatting to make pylint happy. 2016-02-27 11:54:23 +01:00
Tarcisio Fedrizzi
006d8760c4 Adds path checking to the multiline url heuristic 2016-02-27 11:54:23 +01:00
Tarcisio Fedrizzi
4aa7649c0a Implemented heurisitc on multiline paste 2016-02-27 11:54:23 +01:00
Florian Bruhin
c156f53eba Merge branch 'data-link-fix' of https://github.com/Kingdread/qutebrowser into Kingdread-data-link-fix 2016-02-27 03:01:19 +01:00
Jakub Klinkovský
b1207650b0 hints: translate client rectangles into parent frames 2016-02-24 22:56:06 +01:00
Jakub Klinkovský
d630f966e7 hints: ignore too small rectangles returned by getClientRects()
Apparently we can have a '1px x 1px' rectangle at some zoom levels
and '0px x 0px' at others. We can't reliably click these, so let's
ignore them.
2016-02-23 20:23:11 +01:00
Jakub Klinkovský
58d2d92d67 Merge remote-tracking branch 'upstream/master' into hints_clicking
* upstream/master: (22 commits)
  Regenerate authors.
  Only run geolocation tests on CI
  Switch to flake8-docstrings with pydocstyle
  Fix lint
  Move pylint plugins to an installed package.
  Include pytest-xvfb properly in frozen tests
  tests: Handle trailing / in wait_for_load_finished.
  Fix lint.
  tox: Upgrade hypothesis to 3.0.2.
  tests: Add first end-to-end test for hints.
  hints: Log the used hint chars
  bdd: use quteproc.wait_for_load_finished.
  Remove xvfbwrapper from freeze_tests.py.
  Regenerate authors.
  Combine launch/crash time into one section.
  Split long lines.
  Switch to pytest-xvfb. Fixes #1309.
  no ellipsis is inserted in big windows
  Regenerate authors.
  fixes #1308
  ...
2016-02-23 17:40:02 +01:00
Daniel Schadt
20daf1f86e fix lint 2016-02-23 14:33:10 +01:00
Daniel Schadt
e5dc10a29e downloads: handle relative XDG_DOWNLOAD_DIR
Issues #1269, #866

qutebrowser would crash when XDG_DOWNLOAD_DIR was set to some
non-absolute value (which should not happen, but it can) and
"storage -> download-dir" was empty, since when the user didn't give an
absolute filename, even the joined path of download_dir() (i.e.
XDG_DOWNLOAD_DIR in this case) and the filename was not absolute either.

Since the path was not absolute, create_full_filename returned None,
which meant that os.path.basename(self._filename) raised an exception.

Now we display an error message and fall back to $HOME.
2016-02-22 23:43:09 +01:00
Jakub Klinkovský
1cff16b3b4 hints: fix bug in the correction of coordinates based on zoom level 2016-02-19 21:15:56 +01:00
Florian Bruhin
9b1db7ec0b hints: Log the used hint chars
Useful for debugging and for end2end tests.
2016-02-18 20:46:15 +01:00
Daniel Schadt
007425cf16 downloads: fix filename for data: links
Issue #1214

Now uses a sensible filename for data: links instead of the whole base64
content. For PDF.js, it even uses the correct pdf filename.

TODO: Produces "QPainter:🔚 Painter ended with 2 saved states" while
running the tests here (Arch Linux):
CPython: 3.5.1
Qt: 5.5.1, runtime: 5.5.1
PyQt: 5.5.1
2016-02-18 16:17:35 +01:00
Jakub Klinkovský
9799c30c2b hints: add precision tests for different zoom levels 2016-02-15 23:31:49 +01:00
Jakub Klinkovský
dd594b0eca hints: split getClientRects() into separate method
this will be useful for positioning the hint label
2016-02-15 23:28:52 +01:00
Jakub Klinkovský
a546933516 hints: use getClientRects() JS method to get the correct click position 2016-02-15 18:17:53 +01:00
Daniel Schadt
ec4ba31b52 pdfjs: fix misplaced comma 2016-02-08 06:12:24 +01:00
Daniel Schadt
9676eab592 qutescheme: call base __init__ in QuteSchemeError 2016-02-05 15:18:27 +01:00
Daniel Schadt
59c782f383 qutescheme: handle pdfjs failures more gracefully
Now the browser does not crash anymore if an invalid pdfjs resource is
requested, instead it will reply with a 404 error.
2016-02-05 01:43:56 +01:00
Daniel Schadt
804b4750ab pdfjs: use list of tuples instead of dictionary
Even though the dict seemed to be fine, this gives us a predictable
replacement order and helps with debugging in the future.
2016-02-04 21:18:15 +01:00
Daniel Schadt
da4f69cf72 pdfjs: throw PDFJSNotFound from None
Otherwise the stacktrace might be confusing since it will show the
FileNotFoundException as the causing error, which is not true (it just
happens to be the last checked place).

The .path attribute was added so that we still have the requested path
in the error log.

See #1280.
2016-02-04 21:11:20 +01:00
Florian Bruhin
79f83a033d Add a fake clipboard for tests
There are a lot of problems and flakiness with using a real clipboard.

Instead we now have a :debug-set-fake-clipboard command to set a text, and use
logging when getting the contents.

Fixes #1285.
2016-02-03 20:27:11 +01:00
Florian Bruhin
7fe818f9c8 Revert "Delay :yank notification until message was yanked."
This reverts commit b79049261e.
2016-02-03 19:19:13 +01:00
Florian Bruhin
65a4c71488 Merge branch 'master' of https://github.com/NoctuaNivalis/qutebrowser into NoctuaNivalis-master 2016-02-02 18:58:16 +01:00
Florian Bruhin
14042403f6 Fix pasting of empty URLs. 2016-02-02 06:37:49 +01:00
Daniel Schadt
449a54c7d0 pdfjs: add file path to version information
Shows "bundled" if the bundled version is used.
2016-02-01 17:28:18 +01:00
Daniel Schadt
6342febb44 pdfjs: Update documentation
The-Compiler made an AUR package for pdfjs so we should mention it in
the SYSTEM_PDFJS_PATHS, even though it uses the same path as the Debian
package.
2016-02-01 16:43:20 +01:00
Florian Bruhin
44625b254c Merge branch 'shift_ins' of https://github.com/lahwaacz/qutebrowser into lahwaacz-shift_ins 2016-01-31 19:46:41 +01:00
Jakub Klinkovský
cc8e7007b4 Fixed docstring formatting error 2016-01-30 14:13:41 +01:00
Jakub Klinkovský
db6a0d53ca Addressed code-quality remarks 2016-01-27 10:04:24 +01:00
Florian Bruhin
85adf7593d Fix crash when downloading URL without path infos.
Fixes #1243.
2016-01-26 22:39:10 +01:00
Florian Bruhin
ea1627c1e6 Cancel permission prompt when tab is closed.
Fixes #1250.
2016-01-26 19:47:31 +01:00
Tomasz Kramkowski
399aaa2b70 history: Add clear() method and history-clear command
WebHistory now has a clear() method which is also a command
(history-clear) which clears the qutebrowser history using the new
lineparser clear() method and emits a cleared signal.

The completion model urlmodel connects to the WebHistory.cleared signal
and clears its history category completion list.

I am adding this as a temporary fix before #58 or #1051 get implemented.
2016-01-23 22:36:24 +00:00
Florian Bruhin
7fa0dc68bf flake8: Add flake8-pep3101 plugin.
Checks for old string formatting.
https://pypi.python.org/pypi/flake8-pep3101/
2016-01-22 19:40:10 +01:00
Jakub Klinkovský
35e16a8e6e paste-primary: fix undo/redo not working
It seems that unlike Gecko, WebKit does not support undo/redo operations
when the textarea's `value` attribute is changed directly. Fortunately
there is a WebKit-specific workaround using textInput event.

References:
* http://stackoverflow.com/a/7554295
* http://help.dottoro.com/ljuecqgv.php
2016-01-22 18:18:17 +01:00
Florian Bruhin
58fb2826ee flake8: Add flake8-putty plugin.
Apply a bit of putty to flake8.
https://pypi.python.org/pypi/flake8-putty/
2016-01-22 17:33:58 +01:00
Florian Bruhin
fccde768ed flake8: Add pep8-naming plugin.
Check PEP-8 naming conventions, plugin for flake8
https://pypi.python.org/pypi/pep8-naming/
2016-01-22 17:33:58 +01:00
Jakub Klinkovský
4d7e39470e Added paste-primary command
The Shift+Ins key should arguably insert primary selection, not the
clipboard selection as every Qt program does. This commit makes it
possible via the hidden paste-primary command (enabled by default).

Unfortunately QtWebKit does not provide any straightforward way to
insert text at cursor position into editable fields, so we work around
this by executing a JavaScript snippet - inspired by this SO answer:
http://stackoverflow.com/a/11077016
2016-01-21 22:30:43 +01:00
Felix Van der Jeugt
6d33e7843e should use the same keyword in config and code
hey this config check on startup is actually useful
2016-01-19 11:44:28 +01:00
Felix Van der Jeugt
7ad871fab1 Merge remote-tracking branch 'source/master' 2016-01-18 21:45:47 +01:00
Felix Van der Jeugt
cbb6e73b1f cleaner condition, less force 2016-01-17 21:06:36 +01:00
Felix Van der Jeugt
beba5a3d6c limit smart hint length 2016-01-17 20:44:14 +01:00
Florian Bruhin
f1c31233c8 Merge branch 'master' of https://github.com/Evidlo/qutebrowser into Evidlo-master 2016-01-15 07:42:47 +01:00
Florian Bruhin
9d520b7312 Avoid trying to load .netrc if $HOME isn't set.
This logged an error on Windows:

ERROR    misc       networkmanager:on_authentication_required:269 Unable to read the netrc file
Traceback (most recent call last):
  File "c:\python34\Lib\netrc.py", line 27, in __init__
    file = os.path.join(os.environ['HOME'], ".netrc")
  File "C:\Users\florian\buildbot\slave\win8\build\.tox\py34\lib\os.py", line 633, in __getitem__
    raise KeyError(key) from None
KeyError: 'HOME'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\florian\buildbot\slave\win8\build\qutebrowser\browser\network\networkmanager.py", line 262, in on_authentication_required
    net = netrc.netrc()
  File "c:\python34\Lib\netrc.py", line 29, in __init__
    raise OSError("Could not find .netrc: $HOME is not set")

Since this case is pretty common, we don't want to log it - and checking the
variable beforehand is easier than parsing the exception message.

This should fix the failing tests on Windows.
2016-01-15 06:57:43 +01:00
evan
982ac5150d issue 1213: Display yanked link in statusbar
copied string format from `yank()` in `commands.py`
2016-01-14 19:17:12 -05:00
Florian Bruhin
0203bb3ed5 Add a :debug-clear-ssl-errors command. 2016-01-13 21:05:48 +01:00
Florian Bruhin
f61b9fd42c Update docs. 2016-01-13 18:20:44 +01:00
Florian Bruhin
6c916d166d Merge branch 'master' of https://github.com/hcraT/qutebrowser into hcraT-master 2016-01-13 18:12:37 +01:00
Florian Bruhin
6b7f9fad9e Fix ssl-strict = ask.
This was introduced in b13f2aa6f0.
2016-01-13 15:54:25 +01:00
Florian Bruhin
b13f2aa6f0 Also deduplicate SSL errors with ssl-strict false.
Otherwise, on OS X we got the same SSL error logged twice as on_ssl_errors is
called twice. This means the tests only marked one as expected, and it failed
because of the other one.
2016-01-13 07:52:12 +01:00
Florian Bruhin
00f5b3cf74 Log debug information on SSL errors. 2016-01-13 07:52:12 +01:00
Tarcisio Fedrizzi
4bbc1e2d8a Changes line as suggested in review 2016-01-12 09:58:08 +01:00
Tarcisio Fedrizzi
1b31a3fee4 Allows to paste multiple URLs
- The paste command will now open one tab/window per url if multiple
  URLs (separated by newline) are present in the clipboard
- Adds the tests for the new multitab functionality
- Changes test/integration/conftest.py to be able to insert newlines in
  the clipboard for the test
2016-01-09 11:32:12 +01:00
Florian Bruhin
3f15186a64 Add some coverage pragmas for caret workarounds. 2016-01-06 17:52:44 +01:00
Felix Van der Jeugt
362db3d986 fix remarks 2016-01-05 22:45:52 +01:00
Felix Van der Jeugt
8873aba09f rename strng to more sensible names 2016-01-05 21:44:29 +01:00
Felix Van der Jeugt
e28c1bf9b8 allow config files to be optional 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
32de5b76a9 urgh be awake 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
12cc96a94b fix most of the-compiler's remarks 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
b89e0f8803 refactor all the things 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
9f81a9c3c6 lines also hey, a useful suggestion 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
cb8b16ecc5 yes, this looks less complex 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
aa9e58b520 take this, pep8 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
fc06283d91 fix more pep8/pylint complaints 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
d0979b9fac fix pep8 and pylint errors
Though I quite disagree on some remarks, as usual.
2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
4814abe286 refactor tag extraction and fix string shadowing 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
38803375f5 add dictionary config value and fix wrong variable 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
351420310d fix some of the style warnings and errors 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
766a94a539 fixed when new hints are prefixes of existing
good thing I used this some days before any merging
2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
1dfcf99d22 more extensive smart hinting 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
2f9051c6e1 shorten unique word hints 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
50b7f260c7 use link text as hints 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
86828930a2 use object state in stead of class state to store hint words 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
aaad8588b6 include dictionary parsing in first hinting
I though this would be to slow, but it's actually OK
2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
3be81ba62a word hints should be generated on first call 2016-01-05 20:43:29 +01:00
Felix Van der Jeugt
49e6b656f6 add word hints 2016-01-05 20:43:29 +01:00
Florian Bruhin
a97ba9aa09 Merge branch 'pdfjs' of https://github.com/Kingdread/qutebrowser into Kingdread-pdfjs 2016-01-05 07:21:26 +01:00
Florian Bruhin
a5f2ac5f03 Adjust copyright years. 2016-01-04 07:12:39 +01:00
Daniel Schadt
6d02ef68ec Add BDD tests for pdfjs integration 2015-12-20 20:00:56 +01:00
Daniel Schadt
4fdf318fda pdfjs: Use "info" verbosity for pdf.js logging 2015-12-20 19:24:41 +01:00
Daniel Schadt
1279e418ee pdfjs: Replace inline-removal with own function
Easier to unit-test and easier to understand for other programmers.
2015-12-20 19:24:41 +01:00
Daniel Schadt
c0b3160676 qutescheme: guess mimetype instead of 'text/html'
Since we're now using qute:// to serve files other than html
(see: pdfjs), it's a good idea to change the mimetype accordingly. This
also prevents warnings in the console, as QWebKit will complain e.g.
when stylesheets are served with 'text/html'.
2015-12-20 19:24:41 +01:00
Daniel Schadt
cab1d3c666 fully encode URL before passing it to pdfjs 2015-12-20 19:24:41 +01:00
Daniel Schadt
2f34bdf9b9 Add link to pylint bug 2015-12-20 19:24:41 +01:00
Daniel Schadt
8e4ca1fc23 pdfjs: use PDFView.open instead of PDFView.load
Now we get a nice loading bar at the top of the page.
2015-12-20 19:24:41 +01:00
Daniel Schadt
d7d577b1fa Fix pep8/pylint 2015-12-20 19:24:41 +01:00
Daniel Schadt
1c13a3cd68 pdfjs: search in ~/.local/share/qutebrowser 2015-12-20 19:24:41 +01:00
Daniel Schadt
623b6fba7e pdfjs: open system file in binary read 2015-12-20 19:24:41 +01:00
Daniel Schadt
b243acf172 Add a nice error page when pdfjs is not found 2015-12-20 19:24:41 +01:00
Daniel Schadt
9eb72bf08a pdfjs: use system-wide installation if available 2015-12-20 19:24:41 +01:00
Daniel Schadt
ef85d1af4c Move pdfjs and use original files
* No modified pdfjs installation needed
-> Groundwork for using a system-wide installation

* Script update_3rdparty.py to download and upack the latest pdfjs
  release
2015-12-20 19:24:41 +01:00
Daniel Schadt
60b9d7e6c3 Fix lints 2015-12-20 19:24:41 +01:00
Daniel Schadt
0811418746 pdfjs: don't embed data in html
We don't need more than one copy of the pdf.
2015-12-20 19:24:41 +01:00
Daniel Schadt
e6548dd9e7 reorder pdfjs generation code 2015-12-20 19:24:41 +01:00
Daniel Schadt
3dfaab6194 pdfjs: actually wait until the file is loaded
Otherwise we get incomplete replies and thus no pdf to view.
2015-12-20 19:24:41 +01:00
Daniel Schadt
8b141037ef Add setting value to enable/disable pdf.js 2015-12-20 19:24:41 +01:00
Daniel Schadt
fcfc09f541 Revoke "LocalContentCanAccess*Urls"
Since we embed the content of the PDF directly, we no longer need the
permissions for pdf.js.
2015-12-20 19:24:41 +01:00
Daniel Schadt
ea4d9e884e pdfjs: Remove debug output file 2015-12-20 19:24:41 +01:00
Daniel Schadt
5e0090d5b8 pdfjs: Use abosolute URLs
That allows us to use the "original" page URL when displaying with
pdf.js, which means yanking the URL etc works as intended.
2015-12-20 19:24:41 +01:00
Daniel Schadt
0ee13392e1 Basic pdfjs support
Working, but not very well.

Todo:
- remove pdf_file.html debug file
- set URL correctly
2015-12-20 19:24:41 +01:00
Florian Bruhin
fcf94fd527 Remove various deprecated commands/arguments. 2015-12-20 18:38:29 +01:00
Daniel Schadt
5acc982b44 Clean up mhtml doc and use email.message.Message
MIMEMultipart is not needed for the attachements, a simple Message is
enough.

Also fix the README markup and the _start_download docstring.
2015-12-03 22:51:46 +01:00
Florian Bruhin
d418f7f9fa Merge branch 'caret_mode_windows_osx' of https://github.com/artur-shaik/qutebrowser into artur-shaik-caret_mode_windows_osx 2015-12-02 06:22:27 +01:00
Florian Bruhin
eeadeb400c Style fix. 2015-12-02 06:20:41 +01:00
Panagiotis Ktistakis
de3460da3e Wrap tabs on :tab-move +/- if tabs->wrap is true. 2015-12-02 03:17:54 +02:00
Florian Bruhin
eff0e4c7cc pylint: Enable useless-suppression globally.
We deactivate it locally where needed, i.e. where we are sure it's some
platform-specific thing.
2015-12-01 23:01:09 +01:00
Florian Bruhin
150a83d8f4 pylint: Remove unneeded supressions. 2015-12-01 22:03:58 +01:00
Florian Bruhin
31265b80b6 pylint: Add WORKAROUND to some comments. 2015-12-01 21:56:38 +01:00
Artur Shaik
c9d47ae92a More win32 workarounds 2015-12-01 16:53:07 +06:00
Artur Shaik
25545617a0 Try workaround for win32 platform. 2015-12-01 16:19:13 +06:00
Artur Shaik
3a5ce22eac Remove unnecessary actions in block jumps. 2015-12-01 13:17:28 +06:00
Florian Bruhin
8be04e4f6c pylint: Disable non-callable in SslError.
This wasn't hashable (and thus __hash__ wasn't callable) with Qt < 5.4.
2015-12-01 07:50:08 +01:00
Artur Shaik
d00f999dcf move_to_end_of_prev_block without unnecessary command. 2015-11-30 22:27:24 +06:00
Patric Schmitz
98a454a428 log-javascript-console -> [none, debug, info] 2015-11-29 18:37:11 +01:00
Florian Bruhin
736fd7d45e Use os.path.join for bookmarks/urls path.
This should fix the tests on Windows which failed because they matched against
a message containing \.
2015-11-29 00:59:18 +01:00
Florian Bruhin
b79049261e Delay :yank notification until message was yanked.
This should make yankpaste tests more reliable.
2015-11-27 18:32:17 +01:00
Florian Bruhin
23068e9679 Don't log yanked test with :yank-selected.
It makes our tests fail (invalid log line) and is probably not needed.
2015-11-26 21:23:11 +01:00
Florian Bruhin
8e7a76280b Use cmdutils.check_exclusive for :tab-clone. 2015-11-26 20:11:53 +01:00
Florian Bruhin
7f5e07d7cc bdd: Add some tests for :tab-move. 2015-11-26 18:37:47 +01:00
Florian Bruhin
f56e7b1220 Simplify :tab-move code. 2015-11-26 17:44:34 +01:00
Florian Bruhin
987ee59f58 :tab-move: Fix tab index shown in error message. 2015-11-26 16:37:54 +01:00
Florian Bruhin
5a95cfdc7a Change CommandError to ValueError for :tab-move.
This should never happen.
2015-11-26 16:37:29 +01:00
Daniel Schadt
d082c248a8 Disallow empty values in url-incdec-segments 2015-11-25 19:35:37 +01:00
Florian Bruhin
a6045ab551 Handle invalid select-on-remove case. 2015-11-25 18:47:36 +01:00
Florian Bruhin
73e9fd1118 Handle BOM (\ufeff) for webelem.javascript_escape. 2015-11-25 18:14:52 +01:00
Florian Bruhin
24a71e5c2e Fix webelem.javascript_escape with U+2028/U+2029. 2015-11-25 10:32:22 +01:00
Florian Bruhin
027a10c04b bdd: Add some tests for :navigate. 2015-11-24 21:32:45 +01:00
Florian Bruhin
35de87f973 Expand ~ with :dump-page. 2015-11-24 18:04:10 +01:00
Florian Bruhin
b37dac7bfa Handle errors in :dump-page. 2015-11-24 18:03:39 +01:00
Florian Bruhin
922fdc0526 Fix :fake-key with no focused webview. 2015-11-24 16:28:56 +01:00
Florian Bruhin
607ca0f478 tests: Wait until page is dumped for header check.
If we don't do this, it's possible for the test process to delete the temporary
directory before qutebrowser actually writes the file.
2015-11-23 20:12:52 +01:00
Florian Bruhin
31892b437e Add :debug-dump-page command.
This can probably be merged into :download later, when the mess is cleaned up.
2015-11-23 14:35:46 +01:00
Florian Bruhin
16e1a65448 Merge branch 'download-page' of https://github.com/Kingdread/qutebrowser into Kingdread-download-page 2015-11-23 13:16:16 +01:00
Daniel Schadt
89c9b5959e Don't ask the user twice for a filename
Fixes a bug where the user would be asked twice for a filename when
using :download without a dest-argument.

The problem was that we unconditionally overwrote filename, even if one
was given, thus discarding any "filename-finding-process" that we had
and asking the user again.
2015-11-23 12:32:58 +01:00
Florian Bruhin
efa745b53f Fix indent. 2015-11-23 11:26:01 +01:00
Florian Bruhin
f4cccdf13f Merge branch 'patch-1' of https://github.com/larryhynes/qutebrowser into larryhynes-patch-1 2015-11-23 11:23:10 +01:00
Florian Bruhin
ea06c64ed4 Fix typos. 2015-11-23 11:17:26 +01:00
larryhynes
706a4e3d39 Change error to warning for text not found on page 2015-11-21 23:47:00 +00:00
Daniel Schadt
c12011c84d Style fixes 2015-11-21 00:10:49 +01:00
Daniel Schadt
b776aeac84 Use same representation in webview and quteprocess
Otherwise the "page loaded" message will not be recognized.

Also use percent-encoding to avoid unicode-related bugs on different
systems.
2015-11-20 19:11:20 +01:00
Florian Bruhin
af875f4b8f Add a :fake-key command.
Closes #556.
See #551.
2015-11-20 19:06:06 +01:00
Daniel Schadt
d5bc962046 mhtml: Current index != Current tab_id 2015-11-20 18:15:03 +01:00
Daniel Schadt
b38a3caa4c Hide dest-old in the documentation of download 2015-11-20 16:34:27 +01:00
Daniel Schadt
3438a45b19 Merge branch 'master' into download-page 2015-11-18 19:27:26 +01:00
Samuel Loury
0298fcc841 Use credentials from netrc when available 2015-11-18 16:44:45 +01:00
Florian Bruhin
726525b26a bdd: Add some more tests for scrolling with floats. 2015-11-17 06:57:33 +01:00
Florian Bruhin
40e2258ef3 Don't accept floats for :scroll-px. 2015-11-17 06:57:13 +01:00
Florian Bruhin
b68adf1245 Merge _scroll_percent into scroll_perc. 2015-11-16 19:05:05 +01:00
Florian Bruhin
a4d15b550e Abort :back/:forward at beginning/end of history. 2015-11-16 19:03:07 +01:00
Florian Bruhin
7de206e350 Fix :scroll-perc 0/100 0. 2015-11-15 16:38:56 +01:00
Daniel Schadt
aef26e7779 mhtml: Recognize more files as css 2015-11-12 20:11:36 +01:00
Daniel Schadt
30e2afb59d mhtml: reduce test flakiness
Waiting for "All assets downloaded" may lead to race conditions when
the output file is read before qute wrote it, so the test fails.
2015-11-12 13:17:10 +01:00
Daniel Schadt
c759bf7a2f Move common filename-ask-code to a function
This should reduce code/logic-duplication regarding asking for download
filenames.
2015-11-12 00:12:51 +01:00
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