Commit Graph

5384 Commits

Author SHA1 Message Date
Florian Bruhin
3c573ac187 Fix upper-case tag names for WordHinter 2016-08-08 15:13:30 +02:00
Florian Bruhin
b8e2d5f8f6 Add initial WebEngineElement implementation
This allows :navigate prev/next to work correctly via the javascript
bridge.
2016-08-08 15:02:58 +02:00
Florian Bruhin
1c73751fd9 Always lowercase tagName 2016-08-08 14:11:01 +02:00
Florian Bruhin
9bcce37ff3 WebEngine: Allow :navigate up/decrement/increment 2016-08-08 14:09:28 +02:00
Florian Bruhin
0b16a36120 Clean up handling of focus element
Also fixes #1359.
2016-08-08 14:05:30 +02:00
Florian Bruhin
27330bd4d1 Fix :search-prev with QtWebEngine
Fixes #1797
2016-08-08 13:51:42 +02:00
Ryan Roden-Corrent
7038db6b17 Combine completion-item-{prev,next}.
- Use a single command completion-item-focus with a next/prev argument.
- Add a rule to translate old configs.
- Regenerate the docs.

See #1095.
2016-08-08 07:37:53 -04:00
Florian Bruhin
dfbadaf7c2 Split WebElementWrapper into abstract/webkit parts 2016-08-08 13:04:53 +02:00
Moez Bouhlel
c04adb94b2
DocstringParser - support python with optimizations on 2016-08-08 10:01:50 +01:00
Florian Bruhin
734216bc40 Merge branch 'title_change' of https://github.com/blyxxyz/qutebrowser into blyxxyz-title_change 2016-08-08 09:41:29 +02:00
Florian Bruhin
64566fff35 Set maximum value for auto-save-interval correctly 2016-08-08 08:47:21 +02:00
Florian Bruhin
627f743c26 Handle float in _convert_js_arg
This fixes 'gg' with QtWebEngine.
2016-08-08 08:04:55 +02:00
Jan Verbeek
6bbde59de7 Rebuild buffer completion when tab title changes 2016-08-07 16:15:24 +02:00
Florian Bruhin
96087bd554 Fix up pretty URL yanking 2016-08-07 11:40:26 +02:00
Florian Bruhin
b6fbd3ce3a Merge branch 'better-variables' of https://github.com/blyxxyz/qutebrowser into blyxxyz-better-variables 2016-08-07 11:33:01 +02:00
Florian Bruhin
26e0383d45 Merge branch 'refactor_command_completion' of https://github.com/rcorre/qutebrowser into rcorre-refactor_command_completion 2016-08-07 11:29:50 +02:00
Florian Bruhin
eb2f682e20 Merge branch 'fix-windows-editor' of https://github.com/Kingdread/qutebrowser into Kingdread-fix-windows-editor 2016-08-07 11:17:21 +02:00
Florian Bruhin
1b3664d9c8 keyconfig: Validate commands *after* transforming
Otherwise we'd still get an error when e.g. transforming :yank-selected
to :yank selection as :yank-selected got removed.
2016-08-07 11:10:59 +02:00
Florian Bruhin
88d3e86259 Use "what != 'url-pretty'" 2016-08-07 11:02:50 +02:00
Florian Bruhin
efada0a44c Merge branch 'yank-refactor' of https://github.com/mlochbaum/qutebrowser into mlochbaum-yank-refactor 2016-08-07 11:02:24 +02:00
Florian Bruhin
0b93272786 Merge branch 'sortfilter_tests' of https://github.com/rcorre/qutebrowser into rcorre-sortfilter_tests 2016-08-07 10:46:28 +02:00
Ryan Roden-Corrent
adc428e525 Perfect coverage for sortfilter.
Mark an area of sortfilter with `#pragma no coverage` and add it to
perfect_files.
2016-08-06 20:48:21 -04:00
Marshall Lochbaum
006a934913 Migrate yank keybindings 2016-08-06 20:35:49 -04:00
Marshall Lochbaum
28485b0731 Migrate -p to -s for :yank selection keybinding 2016-08-06 20:35:06 -04:00
Marshall Lochbaum
47969362e1 Fix minor conditional issues in yank 2016-08-06 20:15:51 -04:00
Marshall Lochbaum
a90662ef83 Fix combined yank documentation 2016-08-06 20:13:50 -04:00
Daniel Schadt
9a4655443f os.unlink -> os.remove
The functions do the same, but remove sounds better.
2016-08-07 00:11:58 +02:00
Daniel Schadt
f23a28079c editor: fix external editor on windows
On windows, only one process can open a file in write mode at once. We
didn't close the handle we got (self._oshandle) before _cleanup, which
means that we had the file open the whole time, which means that the
external editor couldn't write back the changes.

This patch closes the file while the external editor is running and only
opens it once the editor is closed. We re-opened the file anyway, so
this shouldn't be a huge change. Additionally, tempfile.NamedTemporaryFile
is used instead of mkstemp, as we don't have to deal with os-level file
handles that way.
2016-08-06 20:04:25 +02:00
Ryan Roden-Corrent
66358e5b0f Remove usertypes.Completion.empty.
Completion.empty existed to fill a slot in the old Command.completions
interface if the first positional arg had no completions but the second
did, as is the case for the `bind` command. Now that
`Command.completions` is replaced by `Command.get_pos_arg_info`, this
is no longer needed.
2016-08-06 12:01:09 -04:00
Ryan Roden-Corrent
c792ffda67 Remove Command.completion.
Command completion types are now identified by ArgInfo, so just use
that directly and cut out the middle-man. This shouldn't change any
completion behavior.

Adds a test for get_pos_arg_info to test_cmdutils.

Modifies test_completer to test the use of get_pos_arg_info. Instead of
using FakeCommand, real Command objects are used, to validate that the
Completer works with the real Command interface. This also cleans out
some test cases that were testing things already covered by other cases.
2016-08-06 11:59:04 -04:00
Marshall Lochbaum
54ba27cf77 Merge :yank-selected into :yank (fixes #820)
Changes :yank's flag arguments to a positional "what" argument
specifying the object to be yanked. Including "selection" as a
possibility allows for the replacement of :yank-selected with
:yank selection.
2016-08-05 22:01:17 -04:00
Jan Verbeek
1e97247c63 Revert spawn's splitting, blacklist from doc
Blacklist spawn from getting the no_replace_variables doc note.
2016-08-05 18:04:14 +02:00
Florian Bruhin
778ccad39f Move most :navigate code to browser.navigate 2016-08-05 17:28:48 +02:00
Florian Bruhin
68595e1736 Make sure base URL for resolve_url is absolute 2016-08-05 17:12:09 +02:00
Florian Bruhin
7a65559cce Move hints._resolve_url to a WebElement method 2016-08-05 17:09:52 +02:00
Jan Verbeek
8a527b5faf Make :spawn parse normally without maxsplit 2016-08-05 16:52:47 +02:00
Florian Bruhin
4541f19195 Fix crash when doing :<space><enter>
Introduced in #1577.
Fixes #1773.
2016-08-05 15:42:03 +02:00
knaggita
d25e1fde04 Add :debug-log-capacity command 2016-08-05 15:05:27 +02:00
Florian Bruhin
e2ae133757 Split up HintActions from HintManager 2016-08-05 12:37:25 +02:00
Florian Bruhin
d8521f43ee Change tab.find_all_elements() to be async 2016-08-05 12:37:25 +02:00
Florian Bruhin
0169f3a24f Add _qutebrowser_ prefix for custom JS functions
With QtWebKit or QtWebEngine with Qt < 5.7, the functions end up in the
page's namespace. We can't easily avoid this, but at least we can name
them in a way which reduces conflicts.
2016-08-05 10:31:07 +02:00
Florian Bruhin
ab0d9ca499 Remove another unneeded FIXME
Closes #112.
[ci skip]
2016-08-05 09:35:06 +02:00
Florian Bruhin
da6118bd8d Hide "QXcbClipboard: SelectionRequest too old"
Fixes #1287.
2016-08-05 08:31:44 +02:00
Florian Bruhin
94cf3fa4ff QtWebEngine: Restore Qt 5.6 compatibility 2016-08-04 21:33:53 +02:00
Florian Bruhin
029ea2e5a7 Add miscwidgets.WrapperLayout.wrap
This makes it easier for an user of WrapperLayout to wrap a widget.
2016-08-04 19:22:44 +02:00
Florian Bruhin
7b211e0b65 QtWebEngine: Run javascript in ApplicationWorld
This means the JS context will be isolated from the webpage itself, and
the webpage won't be able to access things we define.
2016-08-04 18:14:29 +02:00
Florian Bruhin
a8ef956726 Add quotes for strings in javascript.assemble 2016-08-04 17:58:40 +02:00
Florian Bruhin
08b70f0f4c Add qutebrowser.utils.javascript
webelem.javascript_escape got renamed to javascript.string_escape, and a
new javascript.assemble got added to make it easier to call a function
inside a .js file.
2016-08-04 17:53:13 +02:00
Jan Verbeek
7999c493ac Remove unnecessary import, split long line 2016-08-04 15:16:35 +02:00
Jan Verbeek
827de1743d Document no_replace_variables, misc fixes
Add no_replace_variables to the asciidoc, improve its description in
the decorator, remove now unnecessary argument parsing in set-cmd-text
2016-08-04 13:21:19 +02:00
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