Sebastian Frysztak
f0cc168609
Style changes
2016-10-04 16:45:31 +02:00
Ryan Roden-Corrent
2696f9b427
Handle unicode characters in Completer.
...
Just limit the cursor position to the length of the text to avoid
crashes in this case.
Resolves #2007 .
2016-10-04 07:36:49 -04:00
Florian Bruhin
f34d896ff4
Log total initialization time
2016-10-04 10:26:44 +02:00
Florian Bruhin
b107522d8c
Make cssutils a lazy import
...
Importing cssutils takes more than a second on the 2009 Thinkpad with a
Core2 I'm on right now, so let's only import it when actually necessary.
2016-10-04 08:51:10 +02:00
Sebastian Frysztak
df83862088
Reserve space for empty favicon in _get_icon_rect.
2016-10-03 13:14:49 +02:00
Florian Bruhin
4407ef032a
Clean up JS
2016-10-03 07:01:22 +02:00
Florian Bruhin
323d5fc9e7
Also fix scroll.to_perc with position:absolute
2016-10-03 06:59:35 +02:00
Florian Bruhin
bd831939bc
Adjust for scrolling off-by-one errors
...
On some pages with particular zoom levels, elem.offsetHeight is exactly
one pixel more than elem.scrollHeight when fully scrolled down.
This is probably due to rounding/floats/off-by-one errors somewhere
inside Chromium?
We now instead always clip the displayed percentage at 100% (so we don't
display 101%), and consider the page fully scrolled even if we're
scrolled more than the page.
2016-10-03 06:52:54 +02:00
Florian Bruhin
fc0b62f122
Revert "scroll.js --> fix scroll measures"
...
This reverts commit 0c5d95c943
.
Using those values is probably okay as long as we adjust for the
off-by-one errors which will follow in the next commit.
2016-10-03 06:51:57 +02:00
Florian Bruhin
fc1943e5e6
Merge branch 'patch-1' of https://github.com/Spreadyy/qutebrowser into Spreadyy-patch-1
2016-10-03 06:51:37 +02:00
Florian Bruhin
5b11eaad85
Merge branch 'issue1987' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-issue1987
2016-10-03 06:45:01 +02:00
Florian Bruhin
c7b74edfbe
Merge branch 'issue1940' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-issue1940
2016-10-03 06:41:19 +02:00
Florian Bruhin
55cefd1ab7
Don't shadow outer name
2016-10-01 22:51:40 +02:00
Florian Bruhin
625bb7baa4
Clean up crash msgbox properly
...
Fixes #2004
2016-10-01 22:05:29 +02:00
Sebastian Frysztak
4f443c9f27
Reserve space for favicon with vertical tabs
2016-10-01 12:55:55 +02:00
Florian Bruhin
6b76d5defa
Whitespace changes
2016-09-30 17:54:23 +02:00
Daniel Karbach
a3e9fe1fd7
removed duplicate userscript path lookup
2016-09-30 09:50:49 +02:00
Daniel Karbach
dc344989c6
revised missing userscript error messages
2016-09-30 09:50:49 +02:00
Daniel Karbach
eaa754648d
common base for userscript exceptions
2016-09-30 09:26:43 +02:00
Florian Bruhin
822c100f52
Make 0 a usable count for :tab-focus
...
Fixes #1768
2016-09-30 08:33:16 +02:00
Daniel Karbach
46ca91cfc0
only use ';' as query delim if there's no '&'
2016-09-29 17:45:12 +02:00
Daniel Karbach
cbbfbabfc4
reorganize and document
2016-09-29 14:37:40 +02:00
Daniel Karbach
8eb12c6cb9
improved error messages for inexistent userscripts
...
fixes #1940
2016-09-29 13:29:39 +02:00
Daniel Karbach
b195b5b40d
detect ';' delimiters when yanking URL
...
fixes #1987
2016-09-29 11:02:30 +02:00
Spreadyy
0c5d95c943
scroll.js --> fix scroll measures
...
scroll measures failed a travis test where document.documentElement.offsetHeight and document.documentElement.scrollHeight diffed by one pixel when the browser zoomed. --> Removed offsetHeight.
2016-09-29 08:59:46 +02:00
Florian Bruhin
5ce1f0b912
Don't update scroll position with 0 tabs
2016-09-29 08:48:04 +02:00
Florian Bruhin
42b7d1d10f
Add a colon
2016-09-29 06:35:47 +02:00
Daniel Karbach
50fb4a78c7
early init of qapp and standarddir
...
this fixes the error that appeared when invoked with --version
2016-09-28 10:25:40 +02:00
Spreadyy
f2e471597d
Lint test failed --> edited line length
2016-09-27 23:24:12 +02:00
Daniel Karbach
0c4c84d821
adhere to style guide
2016-09-27 13:22:28 +02:00
Daniel Karbach
7ce442c771
standarddir path names in qute://version
...
fixes #1947
2016-09-27 12:01:04 +02:00
Spreadyy
a22ae2818c
Fix scroll JS for xkcd.
...
Fix wrong scroll.height for xkcd. Solution according to:
http://stackoverflow.com/questions/1145850/how-to-get-height-of-entire-document-with-javascript
2016-09-27 11:41:47 +02:00
Ryan Roden-Corrent
6aaa138619
Use a set instead of a list for Command._modes.
2016-09-26 08:30:28 -04:00
Ryan Roden-Corrent
14f8ec8754
Error on mode/command mismatch with :bind.
...
Resolves #1964 (:bind should error for mode/command mismatch)
2016-09-26 08:30:28 -04:00
Ryan Roden-Corrent
6fdd007dbb
Simplify mode-checking in command.
...
Rather than maintaining separate _modes and _not_modes lists, just
build a single _modes list in the constructor.
2016-09-26 08:30:28 -04:00
Florian Bruhin
68e60ecc3c
configtypes: Add a "# pragma: no cover"
2016-09-26 08:25:54 +02:00
Florian Bruhin
62ac87c34f
Merge branch 'pretty-url' of https://github.com/lahwaacz/qutebrowser into lahwaacz-pretty-url
2016-09-26 07:08:33 +02:00
Florian Bruhin
cfe25b96fc
Merge branch 'option-description' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-option-description
2016-09-26 07:00:17 +02:00
Florian Bruhin
27b524300b
Improve configtypes tests
...
This also gets configtypes.py back to 100% coverage
2016-09-26 06:33:14 +02:00
Daniel Karbach
b801208d97
show option description in qute:settings
2016-09-23 15:42:02 +02:00
Jakub Klinkovský
a72efe4a3e
also prettify url:pretty variable
2016-09-22 19:25:54 +02:00
Florian Bruhin
d4376c5196
Fix overlays with a top statusbar
2016-09-22 17:34:30 +02:00
Florian Bruhin
e6f62f8118
Remove now-unneeded _get_overlay_position
2016-09-22 17:34:17 +02:00
Florian Bruhin
17ceba5ce4
Round correct edge for keyhint with top statusbar
2016-09-22 17:29:25 +02:00
Florian Bruhin
e04e6c51d1
Add generator argument to set_register_stylesheet
2016-09-22 17:29:03 +02:00
Florian Bruhin
750dfd98af
Generalize statusbar-attached website overlays
...
We already had some duplicated logic for completion/keyhint/messageview,
and plan to add prompt overlays too now - so here we refactor related
code to have a list of overlays instead, which are all
resized/positioned by the mainwindow when needed.
This also changes the size management, which gets moved into the
sizeHint of the respective overlay widgets.
2016-09-22 17:04:39 +02:00
Jakub Klinkovský
268db48f19
prettify yank pretty-url
2016-09-22 14:25:48 +02:00
Florian Bruhin
57d896e989
Fix hints when zoomed with QtWebEngine
...
We mutated rect (coming from self._js_dict), which means we used the
already adjusted values the second time we called rect_on_view.
Fixes #1863 .
2016-09-21 20:09:31 +02:00
Ryan Roden-Corrent
1d2cf3b648
Completer: don't try to partition search.
...
Exit before trying to partition if the command prefix is not ':'.
Resolves #1969 :
'TypeError with refactored completion when searching for command'
2016-09-21 07:08:34 -04:00
Florian Bruhin
43fa5f55c1
Don't set QT_HARFBUZZ with Qt >= 5.4
...
Fixes #1948
2016-09-16 08:35:17 +02:00
Florian Bruhin
e5b3880b71
Check for spaces in URLs with explicit scheme
...
Fixes #1954
2016-09-15 22:29:21 +02:00
Florian Bruhin
04a891cbf0
Merge branch 'kwonly-default-fix' of https://github.com/Kingdread/qutebrowser into Kingdread-kwonly-default-fix
2016-09-15 17:19:26 +02:00
Florian Bruhin
0d64257049
Add missing docstring
2016-09-15 17:16:30 +02:00
Florian Bruhin
bb1b1c8ee8
Remove unused imports
2016-09-15 16:45:48 +02:00
Florian Bruhin
018e9ef4a3
Merge branch 'completion_split' of https://github.com/rcorre/qutebrowser into rcorre-completion_split
2016-09-15 16:44:54 +02:00
Florian Bruhin
879ca0b873
Make qutescheme arg optional for resource_url
2016-09-15 16:42:07 +02:00
Daniel Schadt
794eb84805
add parameter name in error message
2016-09-15 16:38:18 +02:00
Florian Bruhin
37fa7431b0
Serve broken qutebrowser logo via qute:resources
...
This is needed when we want to display an error page after the user
requested a qute:// URL, as qute:// URLs can't access file:// content
with QtWebEngine.
2016-09-15 16:06:25 +02:00
Daniel Schadt
0ef5d338bd
make sure keyword-only arguments have a default
...
Fixes #1872 .
This prevents inspect.Parameter.empty from slipping through to the
command.
2016-09-15 15:44:33 +02:00
Florian Bruhin
44e8296a66
Remove environment variables from version()
...
We already have those in the report anyways.
2016-09-15 14:59:32 +02:00
Florian Bruhin
8403f2451f
Add $PATH to crash info
2016-09-15 14:56:27 +02:00
Florian Bruhin
7e30792bfe
Fix lint
2016-09-15 14:51:22 +02:00
Florian Bruhin
e32bbfa8f7
Init message.global_bridge at import time
2016-09-15 14:51:22 +02:00
Florian Bruhin
2c98b837d5
Add config migrations
2016-09-15 14:51:21 +02:00
Florian Bruhin
e5293d34de
Add missing str() calls
2016-09-15 14:51:21 +02:00
Florian Bruhin
dfac0658ae
Re-add logging for messages
2016-09-15 14:51:21 +02:00
Florian Bruhin
ed4f476ab4
Get rid of queued messages and unused code
2016-09-15 14:51:21 +02:00
Florian Bruhin
f16b96aa28
Initial implementation of new messages
2016-09-15 14:51:21 +02:00
Ryan Roden-Corrent
a9771007b1
Pass string, not index from on_selection_changed.
...
Simplify the CompletionWidget/Completer interface by changing
on_selection_changed to pass the newly selected text rather than the
index of the newly selected item.
This moves the logic from Completer to CompletionWidget but simplifies
the interaction between the two and makes testing easier.
2016-09-14 22:55:07 -04:00
Ryan Roden-Corrent
ac03095512
Small if-statement style tweak in Completer.
2016-09-14 22:35:05 -04:00
Florian Bruhin
c071964091
Fix lint
2016-09-14 15:21:30 +02:00
Florian Bruhin
886103c887
Fix showing errors in the current window
2016-09-14 15:18:12 +02:00
Florian Bruhin
982d00ff84
Let qute:* handlers decide their mimetype
...
This means we have to guess less, and handlers can give us HTML as text
which we then encode for them.
2016-09-14 12:33:20 +02:00
Florian Bruhin
5501d90268
Fix lint
2016-09-14 12:00:29 +02:00
Florian Bruhin
a1527f35d4
Allow to restrict qute:* pages to a backend
2016-09-14 11:04:47 +02:00
Florian Bruhin
71bc5bb943
Move QuteSchemeError to qutescheme
2016-09-14 11:04:37 +02:00
Florian Bruhin
aa71c9ae58
Initial qute:* support for QtWebEngine
2016-09-14 10:18:25 +02:00
Ryan Roden-Corrent
e23d611b37
Strip quotes from completion pattern.
...
Given a commandline like:
`:set general editor "gvim -f"|`, the pattern should be 'gvim -f'
rather than '"gvim -f"'.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
b867b87955
Don't crash Completer on unknown command.
...
The CommandRunner's fallback parsing behavior treated whitespace
differently than the normal flow. When a user entered an unknown
command, trailing whitespace would be stripped and the cmdline length
would be less than the cursor position.
This is fixed by making the fallback use the ShellLexer just as the
'normal' parsing does.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
69a3df174d
Remove needless try/catch in on_selection_changed.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
d651cc75b0
Fix flake8/pylint errors.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
808a645b40
Fix quick-complete highlighting quirk.
...
When the commandline reads ':open |', quick-completing the only offered
completion will set the commandline to ':open some_url |'. Since `open`
has `maxsplit=0`, everything after ':open' is (correctly) treated as
one argument. This means completion is opened again with 'some url '
as the pattern (note trailing whitespace), which makes the comletion
menu 'flicker' and stay open even though it was 'supposed' to quick
compelte.
This is fixed by ignoring the next completion request if we just
completed something after maxsplit (because we don't expect any more
completions after the last split).
Resolves #1519 .
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
fcadde6aef
Merge _split into _partition in Completer.
...
After the refactoring, _split is only called by _partition so just make
it part of the same method. This also removes the use of
_empty_item_index, as it can be figured out on the fly.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
127412d91c
Simplify update_completion.
...
Remove the class variables _cursor_part and _empty_item_index. Instead,
split up the commandline around the cursor whenever that information is
needed. Using locals instead of class variables makes the logic easier
to follow and ends up requiring much less code.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
581d7659ba
Clean up Completer.on_selection_changed.
...
Remove the dependency on the class variables _empty_item_index
and _cursor_part to make the code easier to follow. If
_update_completion is refactored in a similar way these variables can
be removed.
2016-09-12 22:19:44 -04:00
Florian Bruhin
0b310d6910
Fix removing of a clicked download
2016-09-12 21:47:01 +02:00
Florian Bruhin
5b0fc41367
Log scroll data we got via JS
2016-09-12 21:46:51 +02:00
Florian Bruhin
4b4582c452
Adjust comment in _rect_on_view_js
2016-09-12 20:00:59 +02:00
Florian Bruhin
14de9f58b8
Fix docstring
2016-09-12 18:33:57 +02:00
Florian Bruhin
8a35ebac7b
Use a separate JS world for :jseval
2016-09-12 18:27:51 +02:00
Florian Bruhin
c9e3cc04cf
Accept a name for --world with :jseval
2016-09-12 18:23:23 +02:00
Florian Bruhin
97edc59f03
Add some logging to argparse.multitype_conv
2016-09-12 18:22:49 +02:00
Florian Bruhin
b2608d7697
Add --world to :jseval
2016-09-12 15:59:17 +02:00
Florian Bruhin
a16c5a6a25
Add a world argument to tab.run_js_async
2016-09-12 15:59:03 +02:00
Florian Bruhin
2388489038
downloads: Be okay with the tmpdir being gone
2016-09-12 11:30:44 +02:00
Florian Bruhin
0fef141db5
Handle QBuffer in on_feature_permission_requested
2016-09-12 09:43:08 +02:00
Florian Bruhin
43b563f600
Add missing docstring
2016-09-11 21:27:16 +02:00
Florian Bruhin
7ec62c4523
Make some more things in download.py private
2016-09-11 20:58:34 +02:00
Florian Bruhin
3550d59e3a
Make DownloadItem.reply private
...
This adds a new uses_nam method to DownloadItem though.
2016-09-11 20:58:34 +02:00
Florian Bruhin
36b7485262
Make some things in downloads.py private
2016-09-11 20:48:19 +02:00