Commit Graph

9400 Commits

Author SHA1 Message Date
Florian Bruhin
9aa6c8cf36 Automatically terminate quteproc_new after a test
This means we don't get a QProcess message because of test_no_loglines
not sending :quit, and we don't need to do so in test_ascii_locale as
there's nothing we need to wait for.
2016-08-10 09:30:24 +02:00
Florian Bruhin
a24391d40d Fix lint 2016-08-10 09:20:30 +02:00
Florian Bruhin
b025ea9da2 Merge branch 'haasn-lastfocus' 2016-08-10 09:13:50 +02:00
Florian Bruhin
4576fd9840 Update docs 2016-08-10 09:13:35 +02:00
Florian Bruhin
153b9db8c2 Fix new-instance-open-target.window valid_values 2016-08-10 09:11:26 +02:00
Florian Bruhin
61c031ff23 Merge branch 'lastfocus' of https://github.com/haasn/qutebrowser into haasn-lastfocus 2016-08-10 09:09:58 +02:00
Florian Bruhin
15b9e4d2bd Merge branch 'lejenome-pythonoptimize-fix' 2016-08-10 09:05:36 +02:00
Florian Bruhin
f0b3d03072 Regenerate authors 2016-08-10 09:05:30 +02:00
Florian Bruhin
f0133624bf Add some tests for -OO logging 2016-08-10 09:05:04 +02:00
Florian Bruhin
26af2b3089 Fix grammar mistake 2016-08-10 08:48:04 +02:00
Florian Bruhin
dfd58d456a Merge branch 'pythonoptimize-fix' of https://github.com/lejenome/qutebrowser into lejenome-pythonoptimize-fix 2016-08-10 08:47:34 +02:00
Niklas Haas
6d181e5c6f
Add new-instance-open-target.window setting
This adds the ability to open new tabs in the last-focused window
instead, which fixes #1801.

Right now the only other option is probably not that useful for human
users but it's required to make tests behave deterministically and
consistently. (But with #881 on the roadmap, I would implement this as
another choice)

To this end, also make the test framework set this option to preserve
the invariant against which existing tests are written: that spawning a
new window would effectively also focus it.
2016-08-10 00:06:12 +02:00
Niklas Haas
2223a285ef Remove ui -> hide-mouse-cursor setting
This was currently almost completely broken, yet nobody complained. The
new behavior (in the previous commit) makes this always hide the mouse
cursor, even when an input field has focus.

Since the only two easy options to implement are "never hide" and
"always hide", combined with the fact that both are sort of useless to
an end-user, just remove the option until somebody wants it back.
2016-08-09 23:32:17 +02:00
Niklas Haas
16c2268d09 Fix last-focused-main-window's behavior
Right now, get('last-focused-main-window') essentially returns the same
as qApp.activeWindow(), since it's None when no window is focused. This
seems somewhat contrary to its original intent, so I've changed it to
only ever update the object.

This actually fixes another bug as well: on_focus_changed's new is not
always a MainWindow - in fact it's a WebView on my end. To fix this,
directly use the QApplication.activeWindow() to find the current focus.

That second bit in particular actually some related bugs that probably
nobody ever noticed or bothered reporting:

* _maybe_hide_mouse_cursor currently pretty much never gets called
* :adblock-update doesn't actually show any downloads
* ... probably more
2016-08-09 22:41:40 +02:00
Florian Bruhin
c54f1fe1bb test requirements: Update pytest-xvfb to 0.2.1
This uses /tmp as hardcoded temp dir like X11 does.
2016-08-09 22:11:45 +02:00
Florian Bruhin
3b8189d638 test requirements: Update pytest-repeat to 0.4.0
Fix deprecation warning present in pytest 3.0 for type argument in addoption
2016-08-09 20:53:37 +02:00
Florian Bruhin
fb3da578c5 Fix lint 2016-08-09 17:28:14 +02:00
Florian Bruhin
2cbb147e33 tox: Get flake8 to run again
Seems like when not passing a file path, flake8 does less (or nothing?!)
2016-08-09 17:12:42 +02:00
Florian Bruhin
1980dbb529 Merge branch 'lahwaacz-fix_hiding_hints' 2016-08-09 16:45:23 +02:00
Florian Bruhin
cf519bd528 Update docs 2016-08-09 16:44:00 +02:00
Florian Bruhin
809f8e90df Merge branch 'fix_hiding_hints' of https://github.com/lahwaacz/qutebrowser into lahwaacz-fix_hiding_hints 2016-08-09 16:42:11 +02:00
Florian Bruhin
513a02b545 Merge branch 'haasn-hintmodes' 2016-08-09 16:16:09 +02:00
Florian Bruhin
5066606ddc Remove spaces inside docstrings 2016-08-09 16:15:23 +02:00
Florian Bruhin
6f074049c2 Update docs 2016-08-09 16:14:58 +02:00
Florian Bruhin
13f80e3f63 Merge branch 'hintmodes' of https://github.com/haasn/qutebrowser into haasn-hintmodes 2016-08-09 16:14:07 +02:00
Florian Bruhin
fefea4944a QtWebEngine: Make :open-editor work 2016-08-09 16:00:59 +02:00
Florian Bruhin
ca67e2be3c QtWebEngine js: Get rid of webelem.get_element()
Let's do separate JS functions instead so we can easily access them via
utils.javascript.assemble.
2016-08-09 16:00:20 +02:00
Florian Bruhin
1e5b6caa4b QtWebEngine js: Save element in focus_element() 2016-08-09 15:59:57 +02:00
Niklas Haas
62e58c0ab9
Add a --mode flag to :hints
This allows a specific keybinding, for whatever reason, to override the
default mode. Examples of when this could be useful:

* :hint --rapid --mode=word  (to type them more rapidly)
* :hint --mode=letter input  (if the default mode is number)

Also reword the description of 'group' to make the distinction between
'group' and 'mode' clearer.
2016-08-09 15:34:13 +02:00
Florian Bruhin
9f770adc78 Lower-case WebEngineElement.tag_name() correctly 2016-08-09 15:19:57 +02:00
Florian Bruhin
2d48a8013f tests: Don't set ssl-strict with QtWebEngine 2016-08-09 15:13:26 +02:00
Florian Bruhin
c8d39e8934 tox: Fix vulture environment
We set PYTHONPATH so we can import qutebrowser.app in run_vulture.py
without installing it.

We also need to make sure all dependencies are installed so we can
actually import qutebrowser.
2016-08-09 13:54:54 +02:00
Florian Bruhin
c0a407235c Remove unused import 2016-08-09 13:51:18 +02:00
Florian Bruhin
74b279e5a9 Adjust .eslint* paths in MANIFEST.in 2016-08-09 13:38:55 +02:00
Florian Bruhin
b82823d76a js: Don't leak to global ns in position_caret.js 2016-08-09 13:36:46 +02:00
Florian Bruhin
c8a92a0851 Fix test_assemble 2016-08-09 13:23:46 +02:00
Florian Bruhin
1307d8e9a2 Simplify utils.javascript.assemble 2016-08-09 13:21:44 +02:00
Florian Bruhin
4046615b37 WebEngineScroller: Set position to (0,0) initially
Since we now use QWebEngineScript, we can't easily know when the script
finished running and we can access window._qutebrowser.scroll.

We instead assume the initial position (if we don't get a
scrollPositionChanged) will always be (0, 0), and explicitly set it
to (None, None) (displaying ???) if we can't connect that signal.
2016-08-09 13:18:33 +02:00
Florian Bruhin
6b7a39685e Modularize javascript code
We now load the JS code as a QWebEngineScript, which sets up
window._qutebrowser with various "modules". That means we don't have to
pass the whole module every time we want to execute something.
2016-08-09 13:17:44 +02:00
Florian Bruhin
00673ef7da tox: Only install pip as dep when needed
misc/eslint don't actually install anything, so no point in updating pip
there.

pyroma/check-manifest should install pip though.
2016-08-09 11:10:50 +02:00
Florian Bruhin
a4585bb3d5 tox: Don't install any deps for eslint 2016-08-09 11:09:15 +02:00
Florian Bruhin
2a2c49f507 tox: Set skipsdist = true
Since our tests don't actually run against the installed package, no
point in waiting for an sdist to be built.
2016-08-09 11:08:19 +02:00
Florian Bruhin
5a1910e24d tox: Enforce colors for eslint 2016-08-09 11:05:08 +02:00
Florian Bruhin
1d9113124b Move .eslintrc to qutebrowser/javascript 2016-08-09 11:04:50 +02:00
Jakub Klinkovský
70570f22b0 add manual test for hiding unmatched rapid hints 2016-08-09 11:02:21 +02:00
Jakub Klinkovský
7271955c56 make hiding unmatched rapid hints configurable 2016-08-09 11:01:58 +02:00
Florian Bruhin
4da53480c2 Re-enable and reconfigure eslint 2016-08-09 11:00:26 +02:00
Florian Bruhin
80016006c4 Use and enforce "use strict"; for JS 2016-08-09 09:55:14 +02:00
Florian Bruhin
686d49b578 Merge branch 'haasn-hinttags' 2016-08-09 08:43:47 +02:00
Florian Bruhin
998a4d8fc3 Regenerate authors 2016-08-09 08:43:40 +02:00