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
Florian Bruhin
e2ded2e0ad
Add logging to handle_partial_key
2014-05-06 17:02:44 +02:00
Florian Bruhin
764c37c8d6
Hide elements instead of deleting them
2014-05-06 17:02:32 +02:00
Florian Bruhin
e683d85799
Add quick and dirty fix for hint clicking
2014-05-06 14:03:48 +02:00
Florian Bruhin
70d6efff96
Elements might be deleted already when hint mode is left
2014-05-06 10:04:40 +02:00
Florian Bruhin
e5000c315d
Revert "Use global HintManager"
...
This reverts commit a76d68f564
.
WTF. I thought I reset --hard-ed that one?
2014-05-06 07:11:20 +02:00
Florian Bruhin
3eaf1ec6d8
Remove old logging
2014-05-05 22:34:58 +02:00
Florian Bruhin
a76d68f564
Use global HintManager
2014-05-05 20:28:29 +02:00
Florian Bruhin
667b255d01
Use QApplication for global singletons
2014-05-05 17:56:14 +02:00
Florian Bruhin
9cf713cbe4
Use a metaclass for Enums for easier reverse mapping
2014-05-05 10:08:06 +02:00
Florian Bruhin
4ebe643ea6
Use simple enums for constants
2014-05-05 07:45:36 +02:00
Florian Bruhin
af68474fc3
Make sure frame is not None in HintManager.start
2014-05-02 18:57:59 +02:00
Florian Bruhin
efc613811f
Implement numeric hints
2014-05-02 17:53:16 +02:00
Florian Bruhin
615a2e0bb5
Handle invalid hinting modes/targets
2014-05-02 11:25:24 +02:00
Florian Bruhin
7aef865b0d
Lint fixes
2014-05-01 19:42:51 +02:00
Florian Bruhin
cb8f824f01
Add basurl
2014-05-01 16:40:14 +02:00
Florian Bruhin
5d80831752
prevpage/nextpage updates
2014-05-01 16:35:26 +02:00
Florian Bruhin
a3126635d4
Revert changes in _click
2014-05-01 15:29:18 +02:00
Florian Bruhin
fd678ff864
Make hints work
2014-05-01 15:27:32 +02:00
Florian Bruhin
12b36de5b5
Start implementing prev/next
2014-05-01 00:26:18 +02:00
Florian Bruhin
9fd7f8b975
Rewrite HintManager.fire to use handler dicts
2014-04-29 09:09:42 +02:00
Florian Bruhin
0d92e34310
Fix/silence checks
2014-04-28 00:05:14 +02:00
Florian Bruhin
a0f27fed61
Add manual hint following
2014-04-27 21:59:23 +02:00
Florian Bruhin
9252ef94ca
Consistent string chars
2014-04-25 16:53:23 +02:00
Florian Bruhin
6e78f67a81
Rename keyinput stuff
2014-04-25 12:21:01 +02:00
Florian Bruhin
926194849c
Use normal commands for hint mode
2014-04-24 23:47:02 +02:00
Florian Bruhin
0def82fe8c
Fix lint
2014-04-24 22:49:06 +02:00
Florian Bruhin
9320c813f7
Add set_cmd_text to MessageBridge
2014-04-24 21:28:24 +02:00
Florian Bruhin
c674d96cfe
Reorganize input modules into keyinput subpackage
2014-04-24 21:03:45 +02:00
Florian Bruhin
ecdd887664
Split KeyParser into KeyParser (non-chain) and KeyChainParser
2014-04-24 19:21:38 +02:00
Florian Bruhin
8648d88b51
Handle special keys instead of only modifiers
2014-04-24 17:43:19 +02:00
Florian Bruhin
b372c23b80
Move hint webelem code to utils.webelem
2014-04-24 16:30:59 +02:00
Florian Bruhin
3d292fbc27
Use a stack for current modes
2014-04-24 06:44:58 +02:00
Florian Bruhin
8b5daad367
Add ModeManager
2014-04-23 21:15:47 +02:00
Florian Bruhin
387d0e3be6
Document hint lastChild() hack
2014-04-23 14:34:00 +02:00
Florian Bruhin
55e3aca702
linting cleanup
2014-04-22 17:53:27 +02:00
Florian Bruhin
70e1a0300c
Add explicit types for editable hinting
2014-04-22 14:33:40 +02:00
Florian Bruhin
0de249e904
Support frames correctly in HintManager
2014-04-22 14:23:55 +02:00
Florian Bruhin
1e27f5537d
Filter javascript-links from hinting
2014-04-22 09:53:21 +02:00
Florian Bruhin
fec353809b
Nicer statusbar texts when hinting
2014-04-22 09:41:43 +02:00
Florian Bruhin
233289228b
Reposition hints if contents size changed
2014-04-22 09:35:59 +02:00
Florian Bruhin
8d891bf168
Hints style fixes
2014-04-22 09:35:49 +02:00
Florian Bruhin
ee5e066d86
Display message when hinting.
2014-04-22 09:06:38 +02:00
Florian Bruhin
7e2b590da1
Spelling fix
2014-04-22 08:46:21 +02:00
Florian Bruhin
03c1e1d896
cleanups
2014-04-21 23:53:13 +02:00
Florian Bruhin
65f2409d03
hints: Handle relative/javascript links correctly
2014-04-21 23:44:45 +02:00
Florian Bruhin
ba7f56f5e9
Add different hinting modes (yank, backtab, rapid)
2014-04-21 23:33:36 +02:00
Florian Bruhin
6ce415fc5e
Make hint-labels non-clickable.
2014-04-21 23:32:58 +02:00
Florian Bruhin
6bbb5fe598
Add emitted signals to hintmanager docstrings.
2014-04-21 23:32:44 +02:00
Florian Bruhin
9caac26873
Handle no found elements to hint gracefully
2014-04-21 19:31:28 +02:00
Florian Bruhin
a11b14fd2d
Implement more hinting modes
2014-04-21 19:29:11 +02:00
Florian Bruhin
67bf654d57
Handle scrolled frame correctly
2014-04-21 18:20:30 +02:00
Florian Bruhin
979685e37a
Click topleft of elements
2014-04-21 17:41:51 +02:00
Florian Bruhin
ee8ba55676
Support esc to abort hinting
2014-04-21 17:17:34 +02:00
Florian Bruhin
de0e96ab2d
Add clicking on links
2014-04-21 16:59:03 +02:00
Florian Bruhin
c2aa9517ea
Mark partial hint matches
2014-04-21 15:45:29 +02:00
Florian Bruhin
d7b87e09c9
Implement modes and hint input.
2014-04-21 15:24:19 +02:00
Florian Bruhin
5a3966ca82
Fix lint, add documentation
2014-04-21 11:03:43 +02:00
Florian Bruhin
98ed6c9812
Implement hint strings
2014-04-21 11:03:43 +02:00
Florian Bruhin
809e7e15b8
Document HINT_CSS
2014-04-21 11:03:43 +02:00
Florian Bruhin
6434dac680
Check element visibility before drawing
2014-04-21 11:03:43 +02:00
Florian Bruhin
a2deba68dc
Check if hints are inside screen
2014-04-21 11:03:42 +02:00
Florian Bruhin
3b894580a2
Also check x on invalid rects
2014-04-21 11:03:42 +02:00
Florian Bruhin
293b38a92f
Return on invalid rects
2014-04-21 11:03:42 +02:00
Florian Bruhin
5dd74d39fd
Make hinting configurable
2014-04-21 11:03:42 +02:00
Florian Bruhin
3bd1470b20
Keep a reference to the labels
2014-04-21 11:03:42 +02:00
Florian Bruhin
41b0655ade
Add stop() to HintManager
2014-04-21 11:03:42 +02:00
Florian Bruhin
c4731b6e7e
Nicer hints CSS
2014-04-21 11:03:42 +02:00
Florian Bruhin
0b5f4d9fb5
Add some labels to hints
2014-04-21 11:03:42 +02:00
Florian Bruhin
e6569f946c
Add proof-of-concept hinting
2014-04-21 11:03:41 +02:00