Commit Graph

5384 Commits

Author SHA1 Message Date
Florian Bruhin
6021dc6394 Merge branch 'open-download-fixes' of https://github.com/Kingdread/qutebrowser into Kingdread-open-download-fixes 2016-08-04 12:46:44 +02:00
Florian Bruhin
764c232033 Split inspector into web{engine,kit}inspector 2016-08-04 12:44:46 +02:00
Florian Bruhin
ee68a58001 Hide QtWebEngine web inspector warning 2016-08-04 12:09:16 +02:00
Daniel Schadt
d21b42662d Minor Text Fixes
default (program) -> default application
surround {} with backticks
mention that the filename will be appended in the docstrings
2016-08-04 12:07:51 +02:00
Daniel Schadt
017bfc9b9c open-download: append filename if no {} is found
This allows shortcuts like ":download-open gvim" instead of
":download-open gvim {}" to work.
2016-08-04 11:50:35 +02:00
Jan Verbeek
c7c5a98506 Allow {url} and {url:pretty} as parts of arguments
This makes commands like `:open web.archive.org/web/{url}` possible.
This commit also adds a no_replace_variables command register argument
that stops the replacement from happening, which is important for
commands like `:bind` and `:spawn` that take a command as an argument.
2016-08-04 02:43:02 +02:00
Daniel Schadt
5ca8f77fca lint fixes 2016-08-03 18:16:28 +02:00
Daniel Schadt
71102cceb0 docstring & documentation fixes 2016-08-03 18:06:28 +02:00
Daniel Schadt
e8bfc25bbc downloads: replace placeholder in cmdline
This allows commands like --file={} to work properly.
2016-08-03 17:59:32 +02:00
Daniel Schadt
a85227fa25 download-open: add cmdline parameter 2016-08-03 17:59:32 +02:00
Daniel Schadt
fa6c552d7b add an application param for prompt-open-download 2016-08-03 17:59:32 +02:00
Daniel Schadt
716ce701f5 utils: move elide_filename to own function
Also increase the elide limit in TempDownloadManager to 50, since that's
probably still enough for all systems.
2016-08-03 17:59:32 +02:00
Florian Bruhin
33677a8449 More pylint pragmas for QtWebEngine 2016-08-03 17:43:22 +02:00
Florian Bruhin
54ae106789 default key config: Bind J to :tab-next again
This was originally added in #868, but since then we changed the default
binding for gt (for :buffers).

It also accidentally shadowed the T binding which should be bound to
:tab-focus. See #1753.
2016-08-03 17:25:53 +02:00
Florian Bruhin
23ce4561c8 Fix lint 2016-08-03 16:48:48 +02:00
Florian Bruhin
0ddb27709d Re-add geometry saving code to WebEngine inspector 2016-08-03 16:29:46 +02:00
Florian Bruhin
61e0c8327a Don't access QWES.globalSettings() on module-level
Otherwise we implicitly create a webengine context, which means setting
QTWEBENGINE_REMOTE_DEBUGGING won't work anymore.
2016-08-03 15:32:56 +02:00
Florian Bruhin
614893bdd6 Initial broken inspector support for QtWebEngine 2016-08-03 15:23:32 +02:00
Florian Bruhin
9851a13981 Add utils.random_port() 2016-08-03 13:08:55 +02:00
Florian Bruhin
dbccb12b49 Move WrapperLayout to miscwidgets 2016-08-03 13:08:25 +02:00
Florian Bruhin
5f5b395343 pylint: Ignore failing QtWebEngineWidgets import 2016-08-03 12:16:13 +02:00
Florian Bruhin
43c81cc3a4 Fix KeyError with unknown options 2016-08-03 11:58:42 +02:00
Florian Bruhin
11e7f7c334 Remove unused imports 2016-08-03 11:37:05 +02:00
Florian Bruhin
cae7eead6f QtWebEngine: Basic settings support 2016-08-03 11:35:08 +02:00
Florian Bruhin
2ee95df9e7 Change the default hint implemenation to Python
This only affects drawing hints, JS is still used if possible to
actually click them.

It seems like for many people, the JS implementation was a lot slower
than the Python one...
2016-08-03 09:40:05 +02:00
Florian Bruhin
1fb4aa3532 Merge branch 'tab-open-implicit' of https://github.com/mlochbaum/qutebrowser into mlochbaum-tab-open-implicit 2016-08-03 09:16:49 +02:00
Florian Bruhin
79d2116b18 Remove unneeded 'return' 2016-08-03 09:07:12 +02:00
Florian Bruhin
77dd2a105f Add cmdutils.check_overflow in _set_current_index 2016-08-03 08:57:05 +02:00
Marshall Lochbaum
af9e956cb6 Remove config update code for --implicit flag 2016-08-02 15:29:18 -04:00
Marshall Lochbaum
299d4865d0 Move --implicit flag argument to the end of _open 2016-08-02 15:26:49 -04:00
Marshall Lochbaum
feed1ccda4 Change gO, xO, and ;O keybindings to open an implicit tab 2016-08-02 14:10:36 -04:00
Marshall Lochbaum
66adbc9323 Add --implicit flag to :open 2016-08-02 13:49:25 -04:00
Marshall Lochbaum
d30da4f905 Update tab_focus docstring 2016-08-02 11:50:21 -04:00
Marshall Lochbaum
8a127f2839 Remove cmdutils.arg_or_count 2016-08-02 11:31:03 -04:00
Florian Bruhin
a3047008dd Bump up filename length limit to 50
The usual limit seems to be 255 bytes, so even when assuming 5-byte
UTF-8 chars for every letter, 50 should be fine.

http://serverfault.com/questions/9546/filename-length-limits-on-linux/9548#9548
2016-08-02 16:12:09 +02:00
Florian Bruhin
b8ef6fa44e Merge branch 'open-download-fixes' of https://github.com/Kingdread/qutebrowser into Kingdread-open-download-fixes 2016-08-02 16:11:34 +02:00
Florian Bruhin
43ff1b0d97 Tunnel private-browsing to QtWebKit correctly 2016-08-02 14:19:31 +02:00
Florian Bruhin
4a5b5c496f Fix using a relative path with --basedir 2016-08-02 14:08:28 +02:00
Florian Bruhin
b17296db0d Return with invalid index 2016-08-02 12:03:29 +02:00
Florian Bruhin
b8aeb9f80e Fix lint 2016-08-02 12:03:29 +02:00
Ryan Roden-Corrent
a393adc6c7 Don't crash completion with auto-open/show False.
If both are false, the selectionModel may be None.
In this case, don't try to move the index.
Resolves #1722.
2016-08-01 22:36:04 -04:00
Ryan Roden-Corrent
6e2d78b826 Don't crash on tab with no completions.
first_item and last_item return an invalid index when there are no
items in the completion, and the completionwidget will throw on an
invalid index. However, setting an invalid index on the selection view
is fine, so just remove the assertion.

Resolves #1731.
2016-08-01 22:16:55 -04:00
Daniel Schadt
57ceaeeb55 open-download: don't crash on download cancel
Fixes #1728.
2016-08-02 01:10:40 +02:00
Daniel Schadt
b187b680cb open-download: force encoding for filename
Fixes #1726.
2016-08-02 01:00:57 +02:00
Daniel Schadt
abcdaa9cce open-download: make sure the name is not too long
Fixes #1725.

Make sure that the temporary filename is not too long by restricting the
suggested part to 20 characters.
2016-08-02 00:57:22 +02:00
Daniel Schadt
9973cd5037 downloads: don't crash on OSError in open-download
Fixes the crash in #1725, but does not provide a solution. The browser
won't crash, but the file won't be downloaded and opened either.
2016-08-02 00:46:59 +02:00
Florian Bruhin
ef439bb916 Fix ;o/;O default bindings 2016-08-01 18:19:34 +02:00
Florian Bruhin
49699be44e Ignore TypeError on contents_size_changed cleanup 2016-08-01 17:40:41 +02:00
Florian Bruhin
81d0d64731 QtWebEngine: Fix crash when closing/reopening tabs 2016-08-01 17:25:55 +02:00
Florian Bruhin
5ec39b7540 Fix crash when opening http://foo%40bar@baz 2016-08-01 17:18:14 +02:00
Florian Bruhin
68b273de87 Merge branch 'generalize-list-type' of https://github.com/mlochbaum/qutebrowser into mlochbaum-generalize-list-type 2016-08-01 16:22:13 +02:00
Florian Bruhin
4414f5fea9 Merge branch 'tab-move-index' of https://github.com/mlochbaum/qutebrowser into mlochbaum-tab-move-index 2016-08-01 16:17:09 +02:00
Florian Bruhin
62f9161d03 Merge branch 'completer_tests' of https://github.com/rcorre/qutebrowser into rcorre-completer_tests 2016-08-01 16:02:53 +02:00
Florian Bruhin
86669600ff Consider input elements without type for hinting 2016-08-01 15:49:50 +02:00
Marshall Lochbaum
5accef963d Move _show_inner_type class variables before __init 2016-08-01 09:31:59 -04:00
Marshall Lochbaum
aa40ff6dd4 Remove none_ok from startpage config type 2016-08-01 09:30:26 -04:00
Florian Bruhin
c421f44f4e Specify completion category font in HTML
It seems like specifying a font for QTreeView::item in a Qt stylesheet
doesn't actually do anything.
2016-08-01 14:56:51 +02:00
Florian Bruhin
1bba1e3ea9 Remove whitespace 2016-08-01 14:35:57 +02:00
Florian Bruhin
3d1f28ac9c Merge branch 'master' of https://github.com/nanjekyejoannah/qutebrowser into nanjekyejoannah-master 2016-08-01 14:35:06 +02:00
nanjekyejoannah
3d4e76b1a4 commit resolving issue#1395 2016-08-01 15:20:44 +03:00
nanjekyejoannah
4d3cbe659d refactor for configdatap.py resolving #1395 2016-08-01 14:30:20 +03:00
nanjekyejoannah
633c95bca6 resolving style things in commit resolving issue #1395 2016-08-01 14:14:15 +03:00
nanjekyejoannah
1e94685653 Refactoring to resolve issue #1395 2016-08-01 14:00:30 +03:00
Florian Bruhin
2baadaf565 Remove now useless pylint suppressions 2016-08-01 12:47:19 +02:00
Florian Bruhin
13269ef388 Wrap long lines 2016-08-01 12:46:47 +02:00
Florian Bruhin
a772e8a2c3 Mark :set-mark/:jump-mark as hidden
Fixes #1708.
2016-08-01 12:21:18 +02:00
nanjekyejoannah
212d5fe932 commit resolving issue #1395 2016-08-01 11:28:27 +03:00
Ryan Roden-Corrent
a086095954 Implement unix_filename_rubout.
unix_filename_rubout deletes to the previous slash or whitespace,
unlike the previously implemented backwards-kill-word which treats and
non-alphanumeric character as a boundary.

To illustrate, given the text 'foo/bar.baz', unix_filename_rubout will
delete 'bar.baz' while backwards-kill-word will delete only 'baz'.

See #1710.
2016-07-30 19:34:38 -04:00
Ryan Roden-Corrent
6bcdacf1ce Implement readline's backward-kill-word.
This restores the previous behavior of `unix-word-rubout` as
`backward-kill-word`, which is closer to the naming used in readline.
It is bound to <Alt-Backspace> by default, though <Ctrl-Backspace> will
also work due to a builtin binding.

Resolves #1698.
2016-07-30 07:27:29 -04:00
Marshall Lochbaum
a7438f4f15 Extend tab-move's direction argument to take an index (fixes #1701) 2016-07-29 23:06:51 -04:00
Marshall Lochbaum
b22634e2eb Correct qutebrowser.conf documentation for list types 2016-07-29 16:08:42 -04:00
Ryan Roden-Corrent
fbadc5e668 Remove second arg from on_selection_changed.
The deselected argument was unused, so remove it from the signal and
the slot.
2016-07-29 08:48:24 -04:00
Florian Bruhin
14eabc7160 Merge branch 'completion_trivial' of https://github.com/lahwaacz/qutebrowser into lahwaacz-completion_trivial 2016-07-29 12:08:10 +02:00
Florian Bruhin
066c9bf4dc Split websettings into web{kit,engine,}settings 2016-07-29 12:01:22 +02:00
Florian Bruhin
08a9786a73 Add a stub for WebEnginePage.createWindow
See #1699.
2016-07-29 10:35:14 +02:00
Florian Bruhin
cffe2281b1 Use qtmodeltester for completion model tests
See http://pytest-qt.readthedocs.io/en/latest/modeltester.html
See #1702
2016-07-29 10:26:55 +02:00
Jakub Klinkovský
2a70146db1 Remove unneeded invalidateFilter call.
First done in b5781f0ed3 and later
reverted in a6f1bf29ae because it had
broken "completion->shrink", but that is no longer the case.
2016-07-29 10:15:21 +02:00
Jakub Klinkovský
119f9c0e18 completion: get rid of model-specific sort method (see #545) 2016-07-29 10:13:32 +02:00
Jakub Klinkovský
49327dfcbb completion: highlight only the matched terms
closes #1650
2016-07-29 10:13:32 +02:00
Jakub Klinkovský
caf5937585 completion: get rid of custom_filter (see #545) 2016-07-29 10:13:27 +02:00
Florian Bruhin
af704439d9 Remove trailing newline 2016-07-29 09:05:25 +02:00
Claire Cavanaugh
3d258df23a Heil PEP8 :P 2016-07-28 23:24:34 -07:00
Claire Cavanaugh
bf44636a24 :open opens quickmark when given a quckmark name 2016-07-28 22:50:10 -07:00
Ryan Roden-Corrent
e8f73b0fe6 Break up MainWindow.__init__.
Split out initialization of a few areas into private functions so
pylint won't complain about a long method.
2016-07-28 12:20:24 -04:00
Ryan Roden-Corrent
dd827332c0 Clean up unused imports from completion refactor. 2016-07-28 12:20:24 -04:00
Ryan Roden-Corrent
f31e890862 Move completion_item_{next,prev} to CompletionView.
These commands are more closely tied to the CompletionView than
Completer. This removes the need for an extra signal tying the
CompletionView to the Completer.

The call to _open_completion_if_needed was moved to
on_selection_changed, as this will already be called when a new item is
selected.
2016-07-28 12:20:24 -04:00
Ryan Roden-Corrent
ffc5a42d04 Don't use objreg to get CompletionView.
The CompletionView is the parent of the Completer, so there's no need
to use objreg to get it.
See #640.
2016-07-28 12:20:24 -04:00
Ryan Roden-Corrent
b9cf9d180b Decouple Completer and CompletionView.
Rather than having a CompletionView instantiate and register a
Completer, instantiate both in MainWindow. The CompletionView is the
parent of the Completer, and communicates by emitting
selection_changed, meaning it no longer needs to contain a reference to
the Completer.
2016-07-28 12:20:24 -04:00
Ryan Roden-Corrent
d836fcb118 Code review for completion tests.
- clean up docstring typos
- use _ to name an unused loop variable
- parent the filter model to avoid an issue with disposal
- use mocker.patch instead of monkeypatch to mock Completer creation
- use is instead of == to compare by identity
2016-07-28 12:20:24 -04:00
Ryan Roden-Corrent
e5da179ebf Limit the public interface of Completer.
Only schedule_completion_update and selection_changed are used
externally, so mark the rest of the API as private.
2016-07-28 12:20:24 -04:00
Florian Bruhin
b48b7eddc8 Add no-cover pragma for _rect_on_view_js 2016-07-28 17:33:04 +02:00
Florian Bruhin
56515321dd Handle failing javascript in webelem.rect_on_view
Fixes #1641.
2016-07-28 17:10:31 +02:00
Florian Bruhin
5463e133ee Split webelem.rect_for_view into two methods 2016-07-28 17:09:07 +02:00
Florian Bruhin
d6b6afdf11 Fix WebElementWrapper.__eq__ 2016-07-28 15:57:25 +02:00
Florian Bruhin
1213b91b66 Fix ALL the contentsSizeChanged connections! 2016-07-28 15:29:56 +02:00
Florian Bruhin
9cbf9eaa76 Disconnect contents_size_changed during cleanup 2016-07-28 14:59:23 +02:00
Florian Bruhin
21c1dec59a Actually handle contents_size_changed correctly 2016-07-28 14:56:42 +02:00
Florian Bruhin
d357ccf403 Add some more WebElementWrapper tests 2016-07-28 14:25:53 +02:00
Florian Bruhin
b0a0984fe7 Add missing check_vanished in remove_blank_target 2016-07-28 13:13:21 +02:00
Florian Bruhin
41e6a2392a QtWebEngine: Add stub for find_all_elements 2016-07-28 12:36:09 +02:00
Florian Bruhin
631109e5eb Fix raising of WebTabError 2016-07-28 12:36:09 +02:00
Florian Bruhin
d87840e254 Fix lint 2016-07-28 12:36:09 +02:00
Florian Bruhin
540c62c232 Add only_visible to find_all_elements 2016-07-28 12:36:09 +02:00
Florian Bruhin
5b943a431e Fix WebElementWrapper.text 2016-07-28 12:36:09 +02:00
Florian Bruhin
49f57a5d7e Fix userscripts 2016-07-28 12:36:09 +02:00
Florian Bruhin
5eca6e11a5 Fix editor/paste-primary 2016-07-28 12:36:09 +02:00
Florian Bruhin
e051de4843 Fix word hinting 2016-07-28 12:36:09 +02:00
Florian Bruhin
ffdaf8d470 Move webelem.is_visible/.rect_on_view to methods 2016-07-28 12:36:09 +02:00
Florian Bruhin
4318604c57 Don't use javascript in webelem.set_text for hints 2016-07-28 12:36:09 +02:00
Florian Bruhin
193c755637 Refactor WebElement API, part 2
Now we don't get a crash, but not any hints either...
2016-07-28 12:35:59 +02:00
Florian Bruhin
c5a91004f5 Add contents_size_changed to tab API 2016-07-28 12:35:56 +02:00
Florian Bruhin
c764733472 Refactor QWebElement API, part 1 2016-07-28 12:35:49 +02:00
Florian Bruhin
016c13a998 Use repr() for rfc2622 logging 2016-07-28 07:28:21 +02:00
Florian Bruhin
caab826e8a Use repr() for IPC logging messages 2016-07-28 07:14:54 +02:00
Marshall Lochbaum
2c37de3ac1 Revert startpage config type to String instead of Url 2016-07-27 14:21:25 -04:00
Florian Bruhin
73cd0e01ef Fix deleting of quickmarks with ctrl-d 2016-07-27 19:44:34 +02:00
Marshall Lochbaum
642abac634 Remove BaseList type 2016-07-27 13:06:15 -04:00
Marshall Lochbaum
b205ad500b Add tests for configtypes.Url 2016-07-27 12:44:10 -04:00
Marshall Lochbaum
b4fec256dc Merge LengthList into List 2016-07-27 12:39:03 -04:00
Florian Bruhin
04aa98d7fb Release v0.8.1 2016-07-27 12:41:40 +02:00
Florian Bruhin
0eb74dcc1b Hide harfbuzz warning if frozen 2016-07-27 12:15:10 +02:00
Florian Bruhin
7b82d81784 Improve error message on OS X without QtWebEngine 2016-07-27 12:13:22 +02:00
Florian Bruhin
9ff006746f Handle empty command in CommandRunner.parse_all
Sicne we now call self._get_alias there, we also need to make sure it's
not an empty string before that.

Introduced in #1577. Fixes #1690.
2016-07-27 11:19:01 +02:00
Florian Bruhin
be609d5779 Improve logging for BaseKeyParser
See #1653
2016-07-27 10:27:53 +02:00
Florian Bruhin
ccbd47a0cd Merge branch 'savefile_open-flush' of https://github.com/flv0/qutebrowser into flv0-savefile_open-flush 2016-07-27 10:11:33 +02:00
Marshall Lochbaum
a3c7ed51d4 Create LengthList to remove WebKitBytesList and refactor Padding 2016-07-26 23:59:55 -04:00
Marshall Lochbaum
083baf1222 Remove unnecessary List subclasses 2016-07-26 23:05:42 -04:00
Marshall Lochbaum
9e86933913 Replace List with BaseList and rename GenList to List 2016-07-26 23:02:10 -04:00
Marshall Lochbaum
d77145a5b8 Add GenList type and refactor *List types to use GenList 2016-07-26 21:34:50 -04:00
Florian Bruhin
cd905841e0 Don't log on_focus_changed warning if new is None 2016-07-26 23:27:20 +02:00
Florian Bruhin
2121865bdd Show jsret value in update_scroll_pos callback 2016-07-26 23:26:20 +02:00
Marshall Lochbaum
b2c2d5a4f4 Add --delete option to bookmark-load 2016-07-26 13:49:17 -04:00
Marshall Lochbaum
d9247c15a4 Coding style fixes 2016-07-26 09:48:35 -04:00
Marshall Lochbaum
28842c90b6 Add --toggle flag to bookmark-add (fixes #1667) 2016-07-26 09:07:21 -04:00
Florian Bruhin
b12c984846 Release v0.8.0 2016-07-26 13:30:41 +02:00
Florian Bruhin
07e0ae5584 Un-hide --backend argument 2016-07-26 13:30:41 +02:00
Florian Bruhin
3ccb691e9f tab API: Rename scroll to scroller
The scroll attribute did overwrite QWidget.scroll which is unfortunate.
2016-07-26 13:19:07 +02:00
Florian Bruhin
878fa26247 Use real slots for QtWebKit signals
Otherwise we can get this when immediately quitting:

Traceback (most recent call last):
  File ".../qutebrowser/browser/webkit/webkittab.py", line 580, in <lambda>
    not self._widget.page().error_occurred))
RuntimeError: wrapped C/C++ object of type WebView has been deleted
2016-07-26 12:55:40 +02:00
Florian Bruhin
49977a32c4 Remove unused imports 2016-07-26 11:09:24 +02:00
Florian Bruhin
70d6f90f08 Display key hint for :prompt-download-open
This also splits up _display_question into one method per mode.
2016-07-26 11:08:03 +02:00
Florian Bruhin
d70f3a0417 Merge branch 'Kingdread-open-download' 2016-07-26 10:54:59 +02:00
Florian Bruhin
36b0054238 Add keyconf.get_reverse_bindings_for 2016-07-26 10:50:50 +02:00
Florian Bruhin
f4f6a3dac1 Merge branch 'open-download' of https://github.com/Kingdread/qutebrowser into Kingdread-open-download 2016-07-26 10:32:34 +02:00
Florian Bruhin
da64db853e Update docs 2016-07-26 08:36:16 +02:00
Florian Bruhin
dab17b801e Merge branch 'mark-del-no-args' of https://github.com/mlochbaum/qutebrowser into mlochbaum-mark-del-no-args 2016-07-26 08:33:17 +02:00
Florian Bruhin
1564563662 Don't enable warnings if log was never inited
Otherwise, anything importing qtutils (which uses ignore_py_warnings
on module level) would enable warnings. This means pylint showed its own
warnings because of qute_pylint.config.
2016-07-25 13:03:58 +02:00
Florian Bruhin
c3f53312af Fix 'is not' string comparison 2016-07-23 19:51:13 +02:00
Florian Bruhin
e887d9a381 Remove useless super-calls 2016-07-23 18:39:27 +02:00
Marshall Lochbaum
3ffb726b98 Merge branch 'master' into mark-del-no-args 2016-07-23 12:12:19 -04:00
Marshall Lochbaum
1781d0fba3 Use DoesNotExistError rather than CommandError in get_by_qurl 2016-07-23 12:05:21 -04:00