Florian Bruhin
36adaf0cf3
Simplify argument handling for DownloadManager.
2015-08-06 20:41:57 +02:00
Florian Bruhin
46f3be2df7
Add rapid hinting for downloads.
2015-08-06 19:09:21 +02:00
Florian Bruhin
0330adf284
Filter links for :navigate.
2015-08-03 23:21:20 +02:00
Florian Bruhin
7b8490b6c0
Fix 'an user' spelling.
2015-06-29 17:49:19 +02:00
Florian Bruhin
163bc2e12e
Add GUIProcess.
...
This aims to unify the code which spawns a process and then shows statusbar
notifications when it exited, etc.
2015-06-11 20:30:03 +02:00
Florian Bruhin
17bb9fc21c
Use QProcess instead of subprocess.
...
Closes #646 .
Fixes #688 .
2015-06-11 20:28:04 +02:00
Florian Bruhin
564a589bc6
Fix indent.
2015-05-06 23:36:01 +02:00
Florian Bruhin
9ceb43ec44
Make F
(:hint tab) honour background-tabs.
...
Fixes #621 .
2015-05-06 23:25:42 +02:00
Florian Bruhin
98596d439f
Emit ClickTarget from HintManager.start_hinting.
...
This is much clearer than transmitting a string which must match the
ClickTarget enum.
2015-05-06 23:17:23 +02:00
Florian Bruhin
2f0b976bca
Leave and re-enter hint mode when double-hinting.
...
See #613 .
2015-05-06 22:38:08 +02:00
Florian Bruhin
7439586334
Move special params to cmdutils.register decorator
...
See #637 .
2015-04-20 19:33:05 +02:00
Florian Bruhin
f93eef848c
Store QUTE_TEXT/QUTE_HTML in files for userscripts.
...
Fixes #644 .
2015-04-20 07:50:47 +02:00
Florian Bruhin
7160a89cb9
Fix NameError in hints.py.
2015-04-09 17:47:09 +02:00
Florian Bruhin
2d8df76609
Add $QUTE_HTML and $QUTE_TEXT for userscripts.
2015-04-09 17:45:16 +02:00
Florian Bruhin
8ebac8d38c
Various spelling fixes.
2015-03-31 21:11:47 +02:00
Florian Bruhin
b2427701fa
Handle element webFrame being None when hinting.
2015-03-29 19:52:30 +02:00
Florian Bruhin
565303ebcd
Fix hinting when page has no URL set yet.
2015-03-20 08:35:33 +01:00
Florian Bruhin
d87a1bb2b4
Add a hints -> scatter option.
...
This is enabled by default to keep the same default behaviour which is like
Vimium - mixing e.g. single-char letters and double-char letters, and
scattering/shuffling the labels to have an uniform hint key distribution.
If disabled, the behaviour is more similiar to dwb, which has a fixed hint
string length and simply fills the string starting with the first possible hint
char.
2015-03-10 21:19:47 +01:00
Florian Bruhin
2f0522ebb0
Add a --rapid option to :hint, remove rapid target
...
This makes it possible to use rapid hinting for the run/hover/userscript/spawn
targets as well, and makes more sense anyways.
2015-03-10 19:40:30 +01:00
Florian Bruhin
a76868c0f4
Refactor how click/hint open targets are handled.
2015-02-26 20:41:04 +01:00
Florian Bruhin
a12dee8898
hints: Include button in buttons().
...
From the QMouseEvent::buttons documentation:
For mouse move events, this is all buttons that are pressed down. For mouse
press and double click events this includes the button that caused the
event. For mouse release events this excludes the button that caused the
event.
2015-02-26 20:12:48 +01:00
Florian Bruhin
ddb39275eb
Simulate Ctrl-click when hinting in new tab/win.
...
This works around the fact some pages (e.g. github) load their content via AJAX
on a normal left click, so we'll never get acceptNavigationRequest and thus
can't open them in a new tab.
Fixes #488 .
2015-02-26 20:11:13 +01:00
Florian Bruhin
0d9bf5e2c9
Fix lint.
2015-02-26 06:13:27 +01:00
Samir Benmendil
81af41d77f
Add option to set minimum number of chars in hints
2015-02-26 00:49:50 +00:00
Florian Bruhin
0fcd016427
Move cursor to end of textboxes when hinting.
2015-02-25 19:56:03 +01:00
Florian Bruhin
56b0ae2b6e
Get rid of mainwindow.MainWindow.spawn.
2015-02-16 22:56:12 +01:00
Florian Bruhin
18b58b2001
Set a higher z-index for hint labels.
...
This fixes hinting on the youtube top bar.
Fixes #496 .
2015-02-02 06:35:45 +01:00
Florian Bruhin
aae33a0308
Handle another webelem.IsNullError with hints.
2015-01-16 09:09:12 +01:00
Florian Bruhin
77df4c7241
Add !important to all hint properties.
2015-01-06 17:10:54 +01:00
Error 800
82ee78b3db
Added !important to hint styles
...
Prevents websites from overriding hint styles
2015-01-06 16:23:45 +01:00
Error 800
c008ee8dd7
Added !important to hint styles
...
Prevents websites from overriding hint styles
2015-01-06 16:13:28 +01:00
Error 800
ce5629eab3
Fixed uppercase hints option
...
Corrected CSS property from 'texttransform' to 'text-transform'
2015-01-05 16:20:45 +01:00
Florian Bruhin
efe96462c9
Pass more useful information to userscripts.
...
Closes #379 .
2015-01-04 20:16:15 +01:00
Florian Bruhin
013f906c3b
hints: Small cleanup (add _show_url_error method).
2015-01-04 20:15:45 +01:00
Florian Bruhin
450d1ab70d
Update copyright years
2015-01-03 15:51:31 +01:00
Florian Bruhin
03ac8874ff
Rewrite keymode handling to use only one mode.
...
Fixes #417 .
Fixes #418 .
See 4ab5d2df28
.
2014-12-28 00:01:27 +01:00
Florian Bruhin
67001665a2
Cleanups in hint.py.
2014-12-13 00:30:35 +01:00
Johannes Altmanninger
d0bed460eb
Hints: Use the src html attribute in addition to href in _resolve_url.
...
See issue #286
2014-12-12 18:40:12 +01:00
Johannes Altmanninger
582e3e57e9
Add hint target 'run' to execute a command based on a hint URL.
...
Fixes Issue #285 .
The command is not preceded by a colon because there is no need to
distinguish between a search and a command.
2014-12-12 18:17:58 +01:00
Florian Bruhin
841e31283c
hints: Store id() of destroyed frames.
...
Fixes #305 . #152 should still be okay.
2014-12-12 01:38:13 +01:00
Florian Bruhin
aefa637bc5
Check if command text is valid when hinting.
2014-12-11 22:16:56 +01:00
Florian Bruhin
d0b5f2087a
Fix un-hiding of hints.
2014-12-10 23:22:25 +01:00
Florian Bruhin
d94f848c82
Ignore isNullError while handling label elements.
...
Fixes #295 (hopefully for real this time!)
2014-12-02 21:27:06 +01:00
Florian Bruhin
99fb516aa3
Never disconnect signal from destroyed frames.
...
Fixes #152 - hopefully really this time!
2014-12-02 21:09:03 +01:00
Florian Bruhin
9fa036ecce
Remove logging for #152 .
...
This reverts a1ba05ff08
.
2014-12-01 22:29:32 +01:00
Florian Bruhin
e8a6238028
Clean up hint labels and frames before clicking link.
...
Fixes #152 .
Hopefully fixes #295 .
2014-12-01 19:15:17 +01:00
Florian Bruhin
655115858c
Handle OSError when using subprocess.
2014-11-23 18:07:05 +01:00
Florian Bruhin
ecbebba9e9
hints: Ignore TypeError when disconnecting contentsSizeChanged.
...
Fixes #263 .
2014-11-16 00:05:20 +01:00
Florian Bruhin
b502280c06
Make download-manager a per-window object.
...
Fixes #228 .
2014-11-11 21:36:47 +01:00
Florian Bruhin
326ce91eb7
Append hint elements inside body.
...
Fixes #226 .
2014-11-09 22:02:08 +01:00
Florian Bruhin
c3a83bc412
Add hover description to docstring ( #238 )
2014-11-02 20:08:40 +01:00
Florian Bruhin
7b670b134d
Small whitespace fix for #238
2014-11-02 20:04:41 +01:00
rikn00
4d101eea59
Improve hovering a hint
2014-11-02 16:37:34 +02:00
rikn00
84759a4928
Add support to hover mouse over a hint
2014-11-01 01:54:19 +02:00
Florian Bruhin
8e0e33e89a
Use QWebElement API to set hint elem style.
...
See #225 .
2014-10-29 22:50:29 +01:00
Florian Bruhin
2937fb9232
Use QWebElement API to set hint elem attributes.
...
Fixes #225 .
2014-10-29 21:01:32 +01:00
Florian Bruhin
a1ba05ff08
Add some logging for #152
2014-10-29 07:09:43 +01:00
Florian Bruhin
0c8b9fe095
Add vdebug logging for hints.
...
This hopefully helps with #225 .
2014-10-28 19:00:41 +01:00
Florian Bruhin
2d9425a0b7
Fix uppercase hint formatting.
2014-10-26 17:05:56 +01:00
Peter Vilim
ee875ba895
hints: Show uppercase hint chars #73
2014-10-26 03:04:48 -05:00
Florian Bruhin
c2daadf0bd
Fix exception when element has no web frame.
2014-10-22 20:18:58 +02:00
Florian Bruhin
5a5ff70703
hints: fix replacing of {hint-url}.
...
Fixes #200 .
2014-10-17 11:39:44 +02:00
Florian Bruhin
ee02f339d7
Draw hints correctly when page is zoomed.
...
Fixes #199 .
2014-10-17 11:32:41 +02:00
Florian Bruhin
d9213ecf17
Prevent double-entering hint mode. Fixes #160 .
2014-10-08 22:19:24 +02:00
Florian Bruhin
596afab1ac
Fix lint
2014-10-07 23:10:58 +02:00
Florian Bruhin
f9dc9f4acd
Fix rapid hinting. Closes #148 .
2014-10-07 07:45:29 +02:00
Florian Bruhin
d2b3f89d78
Remove frame signal workaround for hints. See #152 .
2014-10-07 07:15:14 +02:00
Florian Bruhin
105c25bc5f
Merge branch 'multiwin'
...
Conflicts:
qutebrowser/app.py
qutebrowser/browser/commands.py
qutebrowser/browser/hints.py
qutebrowser/keyinput/modeman.py
qutebrowser/network/networkmanager.py
qutebrowser/widgets/mainwindow.py
qutebrowser/widgets/statusbar/command.py
qutebrowser/widgets/statusbar/prompt.py
qutebrowser/widgets/statusbar/prompter.py
qutebrowser/widgets/tabbedbrowser.py
2014-10-06 22:03:58 +02:00
Florian Bruhin
fd9a3fc5e7
Clean up mainwindow import mess.
2014-10-06 21:24:07 +02:00
Florian Bruhin
8eb0489357
Add rapid window hinting.
2014-10-06 19:39:48 +02:00
Florian Bruhin
52e72a8bec
Fix window spawning with hints.
2014-10-06 18:47:55 +02:00
Florian Bruhin
6324751af6
More window support.
2014-10-06 17:58:40 +02:00
Florian Bruhin
85ead4273b
Register tab registry under window registry with ID.
2014-10-06 07:41:05 +02:00
Florian Bruhin
4dcaa1fdec
Be more forgiving when validating URLs. Fixes #141 .
2014-10-03 16:58:30 +02:00
Florian Bruhin
d674b90240
Clean up FIXMEs and add github URLs
2014-10-01 22:23:27 +02:00
Florian Bruhin
36f7ff6154
Fix some objreg.get calls.
2014-09-28 23:23:02 +02:00
Florian Bruhin
dc7b32e460
Fix lint
2014-09-28 22:23:37 +02:00
Florian Bruhin
fb6cb62f93
First attempt at multi-window support.
2014-09-28 22:13:14 +02:00
Florian Bruhin
65d1d21d2e
Always use a list for namedtuple.
2014-09-28 00:43:08 +02:00
Florian Bruhin
0fadf6b091
Use a list as items-argument for usertypes.enum
2014-09-28 00:42:53 +02:00
Florian Bruhin
c188c6986d
Call on_mode_entered only once for hints.
2014-09-25 19:06:38 +02:00
Florian Bruhin
55e2ccabf5
Fix lint
2014-09-25 07:58:08 +02:00
Florian Bruhin
78949a8c1b
Use object registry for hintmanager.
2014-09-25 07:49:45 +02:00
Florian Bruhin
4783df8c32
Avoid download_get signal.
2014-09-25 00:29:29 +02:00
Florian Bruhin
3f02451828
Move object registry to its own file.
2014-09-24 07:06:45 +02:00
Florian Bruhin
9aa65a2341
Fix lint and bugs
2014-09-23 23:17:36 +02:00
Florian Bruhin
2b60cdb64c
Object names cleanup
2014-09-23 23:05:55 +02:00
Florian Bruhin
5f45d3de60
Use object registry for modeman.
2014-09-23 20:02:48 +02:00
Florian Bruhin
58be65f4f0
Use object registry for messagebridge.
2014-09-23 19:53:48 +02:00
Florian Bruhin
688b9a57cb
Add missing is_visible check for hints.
2014-09-22 20:06:17 +02:00
Florian Bruhin
812a0fdd41
Merge branch 'newcmd'
...
Conflicts:
.flake8
pkg/PKGBUILD.qutebrowser-git
qutebrowser/browser/commands.py
qutebrowser/browser/hints.py
qutebrowser/config/configdata.py
qutebrowser/network/qutescheme.py
qutebrowser/test/config/test_configtypes.py
qutebrowser/utils/utils.py
2014-09-22 19:09:48 +02:00
Florian Bruhin
658053842e
hints: Wrap elements after checking is_visible.
...
Wrapping thousands of elements is really slow (>3 seconds for hinting on a
reddit page, because we wrap ~2500 elements with 50 methods each), so we try to
filter the elements first before wrapping them, as the visible elements will be
much less.
2014-09-19 12:32:28 +02:00
Florian Bruhin
81aa08593b
hints: Ignore invalid href's instead of crashing.
2014-09-15 06:54:05 +02:00
Florian Bruhin
ad2435fa0b
hints: Small cleanup
2014-09-15 06:53:05 +02:00
Florian Bruhin
00193df99e
hints: Fix URL resolving crash with new WebElement API.
2014-09-15 06:52:34 +02:00
Florian Bruhin
1fd8fb57a6
Use *args for commands where possible.
2014-09-14 23:10:51 +02:00
Florian Bruhin
1220f0c5fd
Move webelem from utils to browser.
2014-09-08 10:30:05 +02:00
Florian Bruhin
0a094c6e58
Refactor HintManager.start
2014-09-08 07:36:17 +02:00
Florian Bruhin
57d51ad9bb
Lots of fixes for new command system.
...
Squashed commit:
- Fix getting current URL
- Get rid of *args for hints.
- Make enums work.
- Fix moving commands to utilcmds.
- Fix enums in argparse
- Fix arg splitting for hints.
- Fix default enum args.
- Fix argument splitting for hints if None is given.
- Fix set_cmd_text with flags and fix {url}.
- Fix unittests
- Fix tuple types for arguments.
- Fix scroll-page.
- Fix lint
- Fix open_target.
- Others
2014-09-08 07:36:17 +02:00
Florian Bruhin
b856bf3a47
Improve webelement API
2014-09-04 20:30:59 +02:00
Florian Bruhin
b789d14513
Improve prev-page/next-page matching and logging.
2014-09-03 22:55:48 +02:00
Florian Bruhin
71796e9528
Fix statusbar text when entering insert mode via hints.
...
Before, hints cleaned the statusbar text delayed, clearing the "==== INSERT
MODE ====" in the statusbar.
Now we only reset the text if it wasn't changed.
2014-09-03 11:51:24 +02:00
Florian Bruhin
ccfc0b3c19
Get rid of most @property's.
...
They were problematic because they're executing hidden code, and also PyQt
hides exceptions happening inside them.
2014-09-02 23:37:47 +02:00
Florian Bruhin
c72bfff306
Rename commands.exceptions to commands.cmdexc.
2014-08-26 20:38:10 +02:00
Florian Bruhin
8bd64382bd
Rename utils.qt to utils.qtutils.
2014-08-26 20:25:11 +02:00
Florian Bruhin
b4298c2922
Remove 'as logger' imports.
2014-08-26 20:15:41 +02:00
Florian Bruhin
e04b31eb90
Remove qt_ prefix from qtutils functions.
2014-08-26 19:23:06 +02:00
Florian Bruhin
d625cde28c
Clean up imports
2014-08-26 19:10:14 +02:00
Florian Bruhin
3dc7a1b735
Lock mode while prompting.
2014-08-04 03:14:14 +02:00
Florian Bruhin
90f1d5851c
Fix lint.
2014-08-03 00:58:59 +02:00
Florian Bruhin
acfc95e19d
Simplify :hint by adding a 'fill' target.
2014-08-03 00:56:42 +02:00
Florian Bruhin
425a7fd7c4
Simplify userscript running.
2014-07-29 02:05:15 +02:00
Florian Bruhin
b83dd59469
Add userscript/spawn targets to hints.
2014-07-29 01:45:42 +02:00
Florian Bruhin
54246bacbe
Add some type checking for enums
2014-07-29 00:23:20 +02:00
Florian Bruhin
7c8f9bec0f
Use enum for keyboard modes.
2014-07-29 00:19:35 +02:00
Florian Bruhin
8d80ce2628
Switch to python 3.4 enums.
...
Our home-brewn enum wasn't really liked by pylint (many no-member errors), so
instead of adding some workaround, we just use the python 3.4 enum instead.
This however also means we need to depend on Python 3.4 and not 3.3. Maybe we
should use enum34 on Python < 3.3.
2014-07-28 20:41:42 +02:00
Florian Bruhin
1f3b39eb75
Get rid of prevnext_rel selector group
2014-07-16 09:17:59 +02:00
Florian Bruhin
fad22c63d9
Go back to using one NetworkManager per tab
2014-07-10 06:42:52 +02:00
Florian Bruhin
72b854049b
Improvments for hints/page-prev/page-next
2014-07-09 21:14:15 +02:00
Florian Bruhin
92ff957543
Clean up message API
2014-06-26 07:58:00 +02:00
Florian Bruhin
81990f792f
Avoid using QApplication for downloads
2014-06-23 17:30:28 +02:00
Florian Bruhin
8a8ca0c34f
Split utils.misc into utils.{qt,misc}
2014-06-23 07:45:04 +02:00
Florian Bruhin
49fd08b30d
Leave URLs encoded when setting commandline
2014-06-21 23:19:59 +02:00
Florian Bruhin
664079c728
Don't raise CommandError in HintManager.fire
2014-06-21 17:41:25 +02:00
Florian Bruhin
7a6e2b3242
Ensure validity of Qt objects
2014-06-21 17:02:30 +02:00
Florian Bruhin
0dc2ecef46
Check QUrl objects for validity
2014-06-20 23:57:52 +02:00
Florian Bruhin
2d2ee71bee
Remove passwords from URLs going out via an insecure channel.
2014-06-20 22:57:04 +02:00
Florian Bruhin
8b6af23b13
Make sure we don't display passwords in URLs to the user
2014-06-20 19:50:44 +02:00
Florian Bruhin
0fd64419da
Remove urlutils.{urlstring,qurl}.
...
The idea of treating an URL-string and a QUrl as essentially the same data type
got us into all kinds of problems. Now we use QUrl everywhere except at the
borders to the user interface.
2014-06-20 16:33:01 +02:00
Florian Bruhin
6b12572fb0
Add dwb download keybindings.
2014-06-19 17:58:46 +02:00
Florian Bruhin
d65587128f
Add vim modelines to all files.
2014-06-19 09:04:37 +02:00
Florian Bruhin
6a81710c71
Use HintContext per invocation of hintmanager
2014-06-07 18:07:09 +02:00
Florian Bruhin
2f1cd43f9c
Change lists to tuples for immutable values
2014-06-06 17:21:35 +02:00
Florian Bruhin
1e256699f8
Add topic-specific loggers
2014-05-23 16:11:55 +02:00
Florian Bruhin
7308fa97c5
Leave hinting mode when insert mode is entered
2014-05-22 17:49:18 +02:00
Florian Bruhin
d901fe69e6
Rename some commands
2014-05-16 23:01:40 +02:00
Florian Bruhin
326280f910
Fix consistency and spelling in docstrings/comments
2014-05-15 16:27:34 +02:00
Florian Bruhin
cf02330b42
Make hinting work again.
...
6b2d2713f7
broke this as we accidentally
iterate over self._frames before setting it.
2014-05-14 18:54:34 +02:00
Florian Bruhin
a045511962
Use exceptions for command errors
2014-05-14 18:00:40 +02:00
Florian Bruhin
651eab1032
Return after error when there's no hint to follow
2014-05-14 14:56:13 +02:00
Florian Bruhin
6b2d2713f7
Clean up HintManager.start()
2014-05-13 21:13:53 +02:00
Florian Bruhin
0b3854bff1
Work around segfault in hintmanager
2014-05-13 13:42:30 +02:00
Florian Bruhin
7b2961f23e
Fix some backslash-quotes
2014-05-12 15:58:09 +02:00
Florian Bruhin
419caf7116
Rename rect_on_screen to rect_on_view
2014-05-12 10:05:00 +02:00
Florian Bruhin
50f31ca7cb
Handle visibility of elements on screen correctly
2014-05-12 10:04:27 +02:00
Florian Bruhin
4eebe2dc57
First try at hinting with frames
2014-05-12 07:49:44 +02:00
Florian Bruhin
59a89d31fe
Add reasons why modes are entered/left
2014-05-09 16:03:46 +02:00
Florian Bruhin
4eb6f896b0
Remove unused import in hints.py
2014-05-08 20:36:23 +02:00
Florian Bruhin
14873285e6
Fix enum bugs
2014-05-06 21:09:09 +02:00
Florian Bruhin
164dcfb6bd
Always click elements in the center when hinting
2014-05-06 21:07:20 +02:00