Florian Bruhin
1cdf90f1c7
pastebin: Start sending API key
...
This is not enforced on the server yet, but this way we can do so after
a few releases (and break crash reports for older releases).
2016-09-01 22:57:35 +02:00
Florian Bruhin
44d6db4f45
QtWebEngine: Fix crash with userscript + selection
...
Fixes #1878
Unfortunately it seems impossible to implement a test for this, as
selection via javascript somehow doesn't trigger this.
2016-09-01 22:45:57 +02:00
arza
9b6541638e
Update CHANGED_KEY_COMMANDS and test_migrations for sk-keybinding.
2016-09-01 21:05:44 +03:00
arza
a90314985a
Fix sk-keybinding.
2016-09-01 16:23:16 +03:00
Rok Mandeljc
469590d4e8
TabWidget: a possible fix for #1693 - grey area under custom tabbar
...
Attempt to fix the issue #1693 by:
- setting the TabBarStyle to TabWidget in addition to TabBar
- chain up SE_TabWidgetTabBar requests in TabBarStyle.subElementRect
to the super() rather than self._style, in order to avoid getting
adwaita-specific rect sizes instead of default ones that are also
used in rendering.
2016-08-29 14:11:34 +02:00
Florian Bruhin
b9282587d0
Merge branch 'auto-open-fixes' of https://github.com/mlochbaum/qutebrowser into mlochbaum-auto-open-fixes
2016-08-29 07:12:14 +02:00
Florian Bruhin
5917f34eab
Merge branch 'settings' of https://github.com/lahwaacz/qutebrowser into lahwaacz-settings
2016-08-29 06:52:17 +02:00
Florian Bruhin
553eaee467
Fix pylint false-positive
2016-08-26 05:21:10 +02:00
Florian Bruhin
2408d76e4c
Improve get_console_format docstring
2016-08-25 23:17:10 +02:00
Florian Bruhin
29778bb799
Merge branch 'format-debug-log-level' of https://github.com/ryanjmortenson/qutebrowser into ryanjmortenson-format-debug-log-level
2016-08-25 23:16:36 +02:00
Florian Bruhin
76a3bdd94a
Improve message for invalid --logfilter
2016-08-25 23:12:51 +02:00
Florian Bruhin
99daa9e165
Merge branch 'issue1867' of https://github.com/knaggita/qutebrowser into knaggita-issue1867
2016-08-25 23:11:35 +02:00
Florian Bruhin
be7abb53ad
cmdutils: Assert on positional-only params
2016-08-25 22:16:25 +02:00
Florian Bruhin
943dc564b2
Fix choices validation with unannotated args
...
Something like:
@cmdutils.argument('foo', choices=['one', 'two'])
def func(foo):
# ...
didn't actually validate the foo argument, since the inferred type of
the argument is None, and that skipped all conversion (and thus
validation).
Fixes #1871
See #1885
This is a reworked version of 12061b8bb1
which lets special parameters (count/win_id/flags) through correctly.
2016-08-25 22:16:25 +02:00
knaggita
d26566a1f6
Validate loggernames passed to --logfilter
2016-08-24 18:56:18 +03:00
rmortens
384e3d1d88
Add change format for debug-log-level cmd
2016-08-24 08:40:11 -06:00
knaggita
0b60d28742
Validate loggernames passed to --logfilter
2016-08-24 17:09:34 +03:00
knaggita
cf1dc28214
Validate logger names passed to --logfilter
2016-08-24 16:12:32 +03:00
knaggita
848af2e294
Validation of logger names passed to --logfilter
2016-08-24 15:15:20 +03:00
Florian Bruhin
445d287955
Revert "Fix choices validation with unannotated args"
...
This reverts commit 12061b8bb1
.
2016-08-23 23:34:02 +02:00
Florian Bruhin
12061b8bb1
Fix choices validation with unannotated args
...
Something like:
@cmdutils.argument('foo', choices=['one', 'two'])
def func(foo):
# ...
didn't actually validate the foo argument, since the inferred type of
the argument is None, and that skipped all conversion (and thus
validation).
Fixes #1871
See #1885
2016-08-23 22:01:21 +02:00
Florian Bruhin
8643f6f28d
Add explicit else in :completion-item-focus
...
See #1885
2016-08-23 20:49:56 +02:00
Florian Bruhin
a17b8bec90
Don't treat "Hello." as URL with auto-search=naive
2016-08-23 09:02:39 +02:00
Jakub Klinkovský
1411c287c5
qute://settings: set valid type of <input> fields
...
fixes #1883
2016-08-22 21:09:57 +02:00
Marshall Lochbaum
44411e02c6
Replace != with (is not) when testing whether a model is new
2016-08-22 13:02:13 -04:00
Marshall Lochbaum
2aef26c58b
Linting
2016-08-21 23:22:46 -04:00
Marshall Lochbaum
cbecd48871
Refactor Completer/CompletionView interface, removing set_pattern()
2016-08-21 22:56:18 -04:00
Marshall Lochbaum
c5ca102d93
Fix completion flicker on quick-complete with show=auto
2016-08-20 01:01:12 -04:00
Marshall Lochbaum
08b348be50
Merge branch 'master' into auto-open-fixes
2016-08-19 22:50:26 -04:00
Florian Bruhin
fe11e25430
Ignore mouse events going to non-main widgets
...
When we hide the context menu on QtWebEngine, we get a mouse event
relative to the QMenu in the filter, which means tab.elements.at_pos
will get called with a negative position (and thus assert) or at least a
wrong position.
2016-08-19 18:38:07 +02:00
Florian Bruhin
bcb06f0cc6
Fix lint
2016-08-19 15:47:35 +02:00
Florian Bruhin
1cfadbf034
Fix / ? : bindings
...
This was broken in #1859 and I didn't notice...
2016-08-19 15:35:20 +02:00
Florian Bruhin
e074192cc4
Update docs
2016-08-19 15:27:56 +02:00
Florian Bruhin
7e3d1ccd24
Simplify :debug-log-filter implementation
2016-08-19 15:08:15 +02:00
Florian Bruhin
e1cd905163
Move :window-only below :debug-log-* in utilcmds
2016-08-19 15:06:08 +02:00
Florian Bruhin
71b0876188
Improve :debug-log-filter message
...
This changes the message so it resembles the default choices=... one,
and also changes the argument to "filters" because that sounds nicer as
a metavar.
2016-08-19 15:03:19 +02:00
Florian Bruhin
fd0965703e
Remove log.change_loglevel
2016-08-19 14:57:55 +02:00
Florian Bruhin
75c3b1a9f8
Fix test for :debug-log-level with invalid level
...
Since we're getting dictionary keys in choices=..., we need to sort them
so we get a consistent message.
2016-08-19 14:57:21 +02:00
knaggita
1d5a3a6175
Add :debug-loglevel :debug-logfilter commands
2016-08-19 14:12:19 +02:00
Florian Bruhin
d25fde4f29
Whoops...
2016-08-19 13:42:38 +02:00
Florian Bruhin
29cd878902
Fix lint
2016-08-19 13:40:21 +02:00
nanjekyejoannah
056c0c3c14
Make command keys configurable
...
Fixes #672
2016-08-19 13:40:21 +02:00
Florian Bruhin
8eb8039370
Merge branch 'rewrite-pP' of https://github.com/blyxxyz/qutebrowser into blyxxyz-rewrite-pP
2016-08-19 13:36:33 +02:00
Florian Bruhin
388d771a2e
Use send_event with postpone=True in webelem.click
...
For some reason, since 0557fea79e
we're
getting segfaults in misc.feature...
2016-08-19 10:23:10 +02:00
Florian Bruhin
4362d42c50
Add postpone argument to AbstractTab.send_event
2016-08-19 10:13:07 +02:00
Florian Bruhin
a846a5b89f
Move send_event to AbstractTab
...
This means subclasses only need to implement _event_target.
2016-08-19 10:12:57 +02:00
Florian Bruhin
a40dd7edf6
Allow empty string for tabs -> title-format
2016-08-19 08:31:36 +02:00
Florian Bruhin
8da942ddc7
bdd: Skip tests on WebEngine causing memory leaks
2016-08-18 22:46:32 +02:00
Florian Bruhin
0557fea79e
Use QApplication.sendEvent instead of postEvent
...
From the QApplication.postEvent docs:
http://doc.qt.io/qt-5/qcoreapplication.html#postEvent
The event must be allocated on the heap since the post event queue
will take ownership of the event and delete it once it has been
posted. It is not safe to access the event after it has been posted.
We can't reliably guarantee that from Python, so we need to use
sendEvent instead.
2016-08-18 21:36:43 +02:00
Florian Bruhin
ccc676c04f
Handle CommandError in show_source_cb
2016-08-18 19:32:16 +02:00
Jan Verbeek
b6c96855c8
Rewrite paste -s/pP
2016-08-18 19:05:35 +02:00
Florian Bruhin
c0ffcfc585
QtWebEngine: Make :fake-key work
2016-08-18 18:44:33 +02:00
Florian Bruhin
dfed2f9c9c
WebEngine: Don't save title if generated from URL
2016-08-18 18:05:48 +02:00
Florian Bruhin
2a0e503644
QtWebEngine: Don't raise CommandError with no hint
2016-08-18 17:47:05 +02:00
Florian Bruhin
205c12c530
Fix docs for :click-element
2016-08-18 16:58:56 +02:00
Florian Bruhin
927f378c6d
Fix eslint
2016-08-18 16:52:53 +02:00
Florian Bruhin
73210fb87c
QtWebEngine: Fix tab passed to WebEngineElement
2016-08-18 16:25:58 +02:00
Florian Bruhin
4345d60ff1
Revert "javascript.assemble: Support document module"
...
This reverts commit afc7faabda
.
This isn't actually needed as we can't use document.getElementById()
directly without serializing anyways.
2016-08-18 15:58:46 +02:00
Florian Bruhin
1956480164
Revert "Handle {} elements in elements._js_cb_single"
...
This reverts commit f59a9d37252599c8fbda4cc687bd9f094c6d05b9.
Since we're now using a webelem function, this isn't needed anymore.
2016-08-18 15:58:46 +02:00
Florian Bruhin
dbb3929bf3
QtWebEngine: Serialize element correctly (find_id)
2016-08-18 15:58:46 +02:00
Florian Bruhin
f98820971d
Handle {} elements in elements._js_cb_single
...
When using document.getElementById like in find_id, we can get {}
instead of null/None back when nothing was found.
2016-08-18 15:58:46 +02:00
Florian Bruhin
d9d14d4a4c
Fix lint
2016-08-18 15:58:46 +02:00
Florian Bruhin
e0af03db80
Add a default target for :click-element
2016-08-18 15:58:46 +02:00
Florian Bruhin
0cef4ac2db
Add a :click-element command
2016-08-18 15:30:04 +02:00
Florian Bruhin
28a6b3918c
Fix lint
2016-08-18 14:42:42 +02:00
Florian Bruhin
e851839973
Don't make HintActions a QObject
...
It probably still makes sense for HintManager to be one for the moment
though, as it's in the objreg.
2016-08-18 14:39:13 +02:00
Florian Bruhin
0d1ea0b93a
Add FIXME for webkitelem.focus_elem
2016-08-18 14:33:55 +02:00
Florian Bruhin
63c66945a4
Add webelem.click() and webelem.hover()
2016-08-18 14:32:19 +02:00
Florian Bruhin
5ac9fe9c32
Add tab.elem.find_id
2016-08-18 14:08:34 +02:00
Florian Bruhin
afc7faabda
javascript.assemble: Support document module
2016-08-18 14:07:21 +02:00
Florian Bruhin
2c6fe35398
Fix blank lines
2016-08-18 14:03:27 +02:00
Florian Bruhin
a0add7b66c
Get rid of tab.run_js_blocking
...
We had some trouble with it, and it's not actually needed.
2016-08-18 14:02:59 +02:00
Florian Bruhin
d3084dd690
Add a separate tab.elements object
2016-08-18 14:01:27 +02:00
Florian Bruhin
1ec59f3f0e
Add FIXME
2016-08-18 12:46:55 +02:00
Florian Bruhin
9226e3eece
QtWebEngine: Implement only_visible for find_all
2016-08-18 12:40:21 +02:00
Florian Bruhin
30029a8259
utils.javascript: Handle bools in _convert_js_arg
2016-08-18 12:40:21 +02:00
Florian Bruhin
b596c4da27
eslint: Enable long lines with URLs
2016-08-18 12:40:21 +02:00
Florian Bruhin
274fe58d6d
Simplify webelem.js
...
serialize_elem() now takes care of assigning IDs.
2016-08-18 12:40:21 +02:00
Florian Bruhin
0d35502e87
Use HintingError for all hinting errors
2016-08-18 12:40:21 +02:00
Florian Bruhin
eabac17c58
Combine hint signals into a single one
2016-08-18 12:40:21 +02:00
Florian Bruhin
39fd6a6062
QtWebEngine: Adjust hints according to zoom
2016-08-18 12:40:21 +02:00
Florian Bruhin
30f6afc2aa
Pass tab to WebEngineElement
2016-08-18 12:40:21 +02:00
Florian Bruhin
53e747d7ea
Disable download hints for QtWebEngine
2016-08-18 12:40:21 +02:00
Florian Bruhin
58d2d30e9a
Add initial hinting implementation
2016-08-18 12:40:21 +02:00
Florian Bruhin
1b3d693a5e
Add post_event to tab API
2016-08-18 12:40:21 +02:00
Florian Bruhin
6f24221c54
Replace WebElement.frame() by .has_frame()
2016-08-18 12:40:21 +02:00
Florian Bruhin
91b43c5cef
hints: Use tab API to move cursor for input fields
2016-08-18 12:40:21 +02:00
Florian Bruhin
62db0095d1
Revert "Make webelem.rect_on_view work async"
...
This reverts commit 4e11613d2df064b138532c18f88bbf278c64f347.
We can actually make this synchronous just fine by collecting that
information when searching for the elements...
2016-08-18 12:40:21 +02:00
Florian Bruhin
e6d6302958
Make webelem.rect_on_view work async
...
WebKitElement still has an internal sync version used for is_visible,
but hopefully we can get rid of that soon too.
2016-08-18 12:40:21 +02:00
Florian Bruhin
aba1556324
Remove old comment
2016-08-18 12:40:21 +02:00
Florian Bruhin
343b2d8385
Remove old FIXME
2016-08-18 12:40:21 +02:00
Florian Bruhin
15dcd5284c
Enable :hint for QtWebEngine
2016-08-18 12:40:21 +02:00
Florian Bruhin
8eaa387f21
Adjust default hint.bg gradient orientation
2016-08-17 21:00:13 +02:00
Florian Bruhin
52e47e0c3d
Add HintLabel.__repr__
2016-08-17 15:32:24 +02:00
Florian Bruhin
955ed2f52d
Simply connect HintLabel._move_to_elem to signal
2016-08-17 15:32:24 +02:00
Florian Bruhin
1d82ea8740
Remove logging in _on_contents_size_changed
...
Otherwise this will be logged once for every element.
2016-08-17 15:32:24 +02:00
Florian Bruhin
d87a255c0a
Don't fully clean up labels if their frame is gone
...
Otherwise they're invalid but still in the HintContext, so calling
.hide() on it later (e.g. because the user pressed another key) would
give us a RuntimeError from PyQt.
2016-08-17 15:32:24 +02:00
Florian Bruhin
0293307d61
Remove adjust_zoom for webelem.rect_on_view
...
Previously, the drawn hint labels were affected by the zoom, i.e., they
were stretched out by QtWebKit and actually had to be drawn at the
unzoomed position.
The Python/C++ API gives us coordinated adjusted for zoom, so
we always *negatively* adjusted them to get the unzoomed coordinates.
JS gave us the original coordinates, so we stretched them out according
to the zoom if adjust_zoom was given (which means only when clicking a
link).
Now we always operate in term of display coordinates: The point where we
draw the hint label is equal to the point we're clicking.
Thus, the zoom level for javascript is always adjusted, and the Python
zoom level is never (negatively) adjusted.
2016-08-17 14:51:05 +02:00
Florian Bruhin
7c17af3889
Use ${_monospace} for default hints font
2016-08-17 14:51:05 +02:00
Florian Bruhin
373eca1ad2
Fix some corner cases in _transform_hint_color
2016-08-17 14:51:05 +02:00
Florian Bruhin
eac30fc84b
Add styling of new hints
...
This also removes the hints -> opacity setting, as this is now set by
using an rgba(...) color.
2016-08-17 14:51:05 +02:00
Florian Bruhin
c033ed9edb
Allow config value transformers to give up
2016-08-17 14:51:04 +02:00
Florian Bruhin
9c3807c117
Store HintLabels (not ElemTuples) in HintManager
2016-08-17 14:44:49 +02:00
Florian Bruhin
cf7170a33b
Remove no longer needed webelem methods
...
The following methods were only used for hint labels and thus removed
now:
- document_element
- create_inside
- find_first
- set_inner_xml
- remove_from_document
- set_style_property
2016-08-17 14:44:49 +02:00
Florian Bruhin
1753d3507c
Use native QLabels for hints
...
This will make labels work easily with QtWebEngine, and make sure
they're not affected by the page's contents.
Fixes #925 .
Fixes #1126 .
2016-08-17 14:43:35 +02:00
Florian Bruhin
781e7554e4
Set open target for force_tab to tab-silent
...
Fixes #1328
2016-08-17 12:04:46 +02:00
Florian Bruhin
01fd7cd210
Merge branch 'issue1060' of https://github.com/haasn/qutebrowser into haasn-issue1060
2016-08-17 12:01:53 +02:00
Florian Bruhin
cc693f17ca
QtWebEngine: Use loadFinished as history trigger
...
Using urlChanged spams the history with too many entries...
Fixes #1837
2016-08-16 21:46:25 +02:00
Florian Bruhin
1dbedbc474
Fix :restart deleting the given --basedir
2016-08-16 21:27:23 +02:00
Florian Bruhin
87aa11de7f
Remove unused WebView._check_insertmode attribute
2016-08-16 19:57:43 +02:00
Florian Bruhin
1138d068e6
Move insert-mode-on-click to tab API / mouse.py
...
This also implements the feature for QtWebEngine.
2016-08-16 16:22:18 +02:00
Florian Bruhin
eef76dde86
eslint: Disable no-warning-comments
2016-08-16 15:21:37 +02:00
Florian Bruhin
6794187390
Fix too long line
2016-08-16 14:19:39 +02:00
Florian Bruhin
5d6abc6f67
Merge branch 'safe-args' of https://github.com/blyxxyz/qutebrowser into blyxxyz-safe-args
2016-08-16 14:18:44 +02:00
Florian Bruhin
dba579c202
Update user-agent completion list
2016-08-16 14:06:57 +02:00
Jan Verbeek
cfd166a95e
Merge https://github.com/The-Compiler/qutebrowser into safe-args
2016-08-16 14:05:04 +02:00
Jan Verbeek
096387897c
Make pp bindings work with option in clipboard
...
If the clipboard contains "-a" then "open {clipboard}" will fail because
-a gets parsed as an option. "open -- {clipboard}" doesn't do that. See
some comments in #1791 .
2016-08-16 14:00:37 +02:00
Florian Bruhin
f4b72d4b24
Revert "Revert "Handle counts for special keys.""
...
This reverts commit 2d5ffbfd02
.
2016-08-16 13:44:28 +02:00
Florian Bruhin
5ecef0004c
Add some docs for command replacements
2016-08-16 13:32:53 +02:00
Florian Bruhin
8d6b905f95
Merge branch 'insert-text' of https://github.com/blyxxyz/qutebrowser into blyxxyz-insert-text
2016-08-16 13:29:42 +02:00
Florian Bruhin
8e6d784fd7
Merge branch 'fix_hints_autofollow' of https://github.com/lahwaacz/qutebrowser into lahwaacz-fix_hints_autofollow
2016-08-16 12:58:56 +02:00
Niklas Haas
c2cc28a72b
Add new-instance-open-target.window = first-opened
...
Fixes #1060 .
In the process of adding this, I also decided to rewrite
mainwindow.get_window() for clarity (and also because flake8 was warning
about complexity).
Also adds some tests to the new-instance-target mechanism, in particular
a specific test for the issue in question.
2016-08-16 12:24:38 +02:00
Florian Bruhin
cf0b12b5a9
Merge branch 'var_replacements' of https://github.com/lahwaacz/qutebrowser into lahwaacz-var_replacements
2016-08-16 11:49:31 +02:00
Florian Bruhin
ee3ea739fc
Merge branch 'completion-category-focus' of https://github.com/rcorre/qutebrowser into rcorre-completion-category-focus
2016-08-16 11:45:23 +02:00
Florian Bruhin
91db564e1a
Fix lint
2016-08-16 11:36:55 +02:00
Florian Bruhin
d1138fa342
Update docs
2016-08-16 11:22:29 +02:00
Florian Bruhin
380856bcb2
Merge branch 'navigate-count' of https://github.com/pvsr/qutebrowser into pvsr-navigate-count
2016-08-16 11:21:07 +02:00
Florian Bruhin
882d1a5e88
Move :window-only to misc.utilcmds
2016-08-16 11:05:02 +02:00
Florian Bruhin
9d7d307aa5
Merge branch 'winonly' of https://github.com/haasn/qutebrowser into haasn-winonly
2016-08-16 11:02:49 +02:00
Florian Bruhin
ccce55443f
Fix TabWidget.init_config with PyQt 5.2
...
See #1847 , #1775
2016-08-16 10:44:53 +02:00
Peter Rice
67609af21b
resolve linter warnings
2016-08-15 22:53:28 -04:00
Peter Rice
060305279c
update navigate-related help and function docs
2016-08-15 22:28:25 -04:00
Peter Rice
d3e4d62d14
make navigate take counts for inc, dec, and up
2016-08-15 21:13:52 -04:00
Michael Hoang
c0ab474b21
Give error when trying to detach a single tab
2016-08-16 07:36:39 +10:00
Florian Bruhin
0cefcef8f3
Change user-stylesheet default
...
This shows scrollbars like the one in the code block here:
https://devtalk.nvidia.com/default/topic/918822/linux/hevc-main-10-profile-decoding-using-vdpau-unsupported-on-gtx-950-361-28-/
2016-08-15 18:00:18 +02:00
Ryan Roden-Corrent
7b3839b44b
Focus completion by category.
...
Implement `completion-item-focus next-category` and
`completion-item-focus prev-category` to jump through completions by
category rather than by item.
Resolves #1567 .
2016-08-15 07:14:28 -04:00
Jakub Klinkovský
befaf4f6dc
fix nested expansion of {variables} in command args
2016-08-14 15:29:16 +02:00
Florian Bruhin
e7d08db6c3
eslint: Turn off sort-keys
2016-08-12 20:58:20 +02:00
Niklas Haas
d5080bdb1a
Add :window-only command
...
I mainly added this so I can speed up all of the tests that rely on
closing other windows.
2016-08-11 23:37:14 +02:00
Florian Bruhin
9c67e87c37
Merge branch 'keyinput' of https://github.com/lahwaacz/qutebrowser into lahwaacz-keyinput
2016-08-11 19:46:30 +02:00
Jakub Klinkovský
0e35983362
fix lint ('line too long')
2016-08-11 19:15:26 +02:00
Florian Bruhin
af5d166ae1
QtWebEngine: Fix error message with :print --pdf
2016-08-11 19:13:45 +02:00
Florian Bruhin
fb07655e56
Move input -> rocker-gestures to MouseEventFilter
2016-08-11 18:51:51 +02:00
Florian Bruhin
e8980d01e6
MouseEventFilter: Don't pass obj to handlers
2016-08-11 18:51:50 +02:00
Florian Bruhin
9195e6a3a7
Fix :follow-selected --tab
2016-08-11 17:50:19 +02:00
Jakub Klinkovský
567fe0ec10
keyinput: don't emit keystring_updated twice when clearing
2016-08-11 17:48:43 +02:00
Florian Bruhin
59faee8518
Don't return page from WebView._init_page
...
We don't need to refer to it anymore.
2016-08-11 16:48:27 +02:00
Florian Bruhin
d6a3134b3e
Remove unused imports
2016-08-11 16:38:45 +02:00
Florian Bruhin
ad1e1e5f92
Log is_main_frame in acceptNavigationRequest
2016-08-11 16:36:41 +02:00
Florian Bruhin
421b14681f
Move HintManager out of WebView
...
This moves creating the HintManager to AbstractTab, and lets
TabData (which is now a QObject) handle the start_hinting/end_hinting
signal.
For the mouse_event signal of HintManager, we now have a slot in
AbstractTab too, though that might actually be moved to
WebKitTab/WebEngineTab later when needed.
2016-08-11 16:30:55 +02:00