Commit Graph

965 Commits

Author SHA1 Message Date
Florian Bruhin
63d03726ef HTML fixes 2014-04-29 17:23:50 +02:00
Florian Bruhin
9fd7f8b975 Rewrite HintManager.fire to use handler dicts 2014-04-29 09:09:42 +02:00
Florian Bruhin
9ef956ae5e Fix some checks 2014-04-29 08:38:01 +02:00
Florian Bruhin
2a7062c5c8 Modify read_file to use pkg_utils 2014-04-29 06:44:47 +02:00
Florian Bruhin
8ca82b0503 Restructure __main__.py to work with setuptools 2014-04-28 23:20:12 +02:00
Florian Bruhin
0d92e34310 Fix/silence checks 2014-04-28 00:05:14 +02:00
Florian Bruhin
bfecafd686 Report if instance in cmdutils.register is missing 2014-04-28 00:01:21 +02:00
Florian Bruhin
a0f27fed61 Add manual hint following 2014-04-27 21:59:23 +02:00
Florian Bruhin
8474bbdf6a Rename and reorder config options 2014-04-27 21:21:14 +02:00
Florian Bruhin
4692414255 Support file:// as special URLs 2014-04-26 14:47:00 +02:00
Florian Bruhin
9252ef94ca Consistent string chars 2014-04-25 16:53:23 +02:00
Florian Bruhin
35ba97d338 Escape special INI chars in ConfigManager 2014-04-25 15:57:28 +02:00
Florian Bruhin
33f9aad6d8 bugfix: Order ValueList values in config properly 2014-04-25 14:13:31 +02:00
Florian Bruhin
c9a25d6309 Catch configparser exceptions on start 2014-04-25 13:55:26 +02:00
Florian Bruhin
46cf62ab34 Don't crash in exception handler when new option is in ValueList 2014-04-25 13:55:03 +02:00
Florian Bruhin
0187623950 Add navigation by arrow keys 2014-04-25 13:37:54 +02:00
Florian Bruhin
bc077f7503 Check if currentFrame() is None when starting hints 2014-04-25 13:21:14 +02:00
Florian Bruhin
0a710ab18a Herpderp, CRLF 2014-04-25 12:34:17 +02:00
Florian Bruhin
3390a4b8d7 Indent fix 2014-04-25 12:33:41 +02:00
Florian Bruhin
da91907656 Unfiy completions into single file 2014-04-25 12:29:00 +02:00
Florian Bruhin
875666265b s/BrowserTab/WebView/g 2014-04-25 12:24:26 +02:00
Florian Bruhin
6e78f67a81 Rename keyinput stuff 2014-04-25 12:21:01 +02:00
Florian Bruhin
c087efb1fd Rename Config to ConfigManager 2014-04-25 12:07:37 +02:00
Florian Bruhin
d4b35b6734 Rename {Command,Seach}Parser to *Manager 2014-04-25 12:04:11 +02:00
Florian Bruhin
937196e287 Rename package-private modules to _foo.py 2014-04-25 11:50:30 +02:00
Florian Bruhin
47d8777179 Move simplebrowser.py 2014-04-25 11:32:15 +02:00
Florian Bruhin
2474b5a806 Add binding i -> enter_mode insert 2014-04-25 11:22:14 +02:00
Florian Bruhin
f437bc25bf Fix lint/cleanup 2014-04-25 11:21:00 +02:00
Florian Bruhin
b7440b1f79 Small exception handling cleanup in parsers.py 2014-04-25 11:02:41 +02:00
Florian Bruhin
7787a67c45 Add modes=[]/not_modes=[] to cmdutils.register 2014-04-25 10:10:58 +02:00
Florian Bruhin
80d6dc9cf7 Update documentation for keybind.command confsect 2014-04-25 09:51:17 +02:00
Florian Bruhin
43c8a96621 s/command_item/completion_item/ 2014-04-25 09:28:02 +02:00
Florian Bruhin
2d0225a292 Hide command_item_{prev,next} 2014-04-25 09:27:30 +02:00
Florian Bruhin
aeb4980f7e Also handle Return via config 2014-04-25 09:26:52 +02:00
Florian Bruhin
74374df5fd Leave command mode on return press 2014-04-25 09:24:40 +02:00
Florian Bruhin
b4b72f07b7 Remove FIXME which is in TODO 2014-04-25 09:22:27 +02:00
Florian Bruhin
c4be264c44 Improve logging in eventFilter 2014-04-25 09:22:01 +02:00
Florian Bruhin
8cba290dae Update eventFilter to track releases 2014-04-25 09:20:19 +02:00
Florian Bruhin
5ee6b2adfa Revert "Remove setting forward_unbound_keys."
This reverts commit d07e22bd91.
2014-04-25 08:40:46 +02:00
Florian Bruhin
f50fda7f9a Replace Backtab key by Tab 2014-04-25 08:40:07 +02:00
Florian Bruhin
a29a9a9b70 Handle Command widget based on modes, not focus 2014-04-25 08:38:11 +02:00
Florian Bruhin
55a8da7f1b Start using KeyParser for command mode 2014-04-25 07:50:21 +02:00
Florian Bruhin
405194d040 Add passthrough mode 2014-04-25 07:13:57 +02:00
Florian Bruhin
3407f3131d Register enter_mode command 2014-04-25 07:13:36 +02:00
Florian Bruhin
b4033ced8b Add generic PassthroughKeyParser, remove InsertKeyParser 2014-04-25 07:09:12 +02:00
Florian Bruhin
035a6a0847 Don't bind Ctrl-C in insert mode 2014-04-25 07:01:58 +02:00
Florian Bruhin
d07e22bd91 Remove setting forward_unbound_keys.
It introduced a lot of unnecessary complexity (e.g. tracking KeyReleases
to their KeyPresses...) for little benefit.
2014-04-25 06:54:17 +02:00
Florian Bruhin
83f829ed93 Add more logging to eventFilter 2014-04-25 06:54:13 +02:00
Florian Bruhin
8f9d7542a6 Fix eventFilter logic to not handle same event multiple times 2014-04-25 06:22:01 +02:00
Florian Bruhin
84682f90fa Log events in eventHandler 2014-04-25 00:10:07 +02:00
Florian Bruhin
926194849c Use normal commands for hint mode 2014-04-24 23:47:02 +02:00
Florian Bruhin
540c134f06 Add keytypes to KeyParser.execute() 2014-04-24 23:46:37 +02:00
Florian Bruhin
5aaf3b3430 Add abstract execute() to KeyParser 2014-04-24 23:23:28 +02:00
Florian Bruhin
e06583ade2 Use normal command to leave insert mode 2014-04-24 23:09:12 +02:00
Florian Bruhin
a1fd1537bd Remove the possibility to pass bindings to KeyParser init 2014-04-24 22:59:01 +02:00
Florian Bruhin
8cca182734 Split NormalKeyParser from CommandKeyParser 2014-04-24 22:56:55 +02:00
Florian Bruhin
0def82fe8c Fix lint 2014-04-24 22:49:06 +02:00
Florian Bruhin
581b715b42 Add __init__.py for keyinput 2014-04-24 22:41:01 +02:00
Florian Bruhin
7a6a605702 Unify KeyParsers again 2014-04-24 22:40:16 +02:00
Florian Bruhin
9ab8f42e20 s/commandmode/normalmode 2014-04-24 21:37:51 +02:00
Florian Bruhin
ea6a25714a Make eventFilter work when mode is None 2014-04-24 21:29:28 +02:00
Florian Bruhin
9320c813f7 Add set_cmd_text to MessageBridge 2014-04-24 21:28:24 +02:00
Florian Bruhin
0c15517352 s/<normal>/<leave>/ 2014-04-24 21:19:29 +02:00
Florian Bruhin
d2dc0b7ac5 Add KeyParser for normal mode 2014-04-24 21:12:55 +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
6311deb6b0 Read unbound-keys setting only once 2014-04-24 19:06:51 +02:00
Florian Bruhin
6f7391d7d1 Leave insert mode in loadStarted 2014-04-24 19:06:51 +02:00
Florian Bruhin
718295eb9f Use <> instead of @@ for special keys 2014-04-24 17:48:38 +02:00
Florian Bruhin
8648d88b51 Handle special keys instead of only modifiers 2014-04-24 17:43:19 +02:00
Florian Bruhin
0e3e588038 Add forward_unbound_keys setting 2014-04-24 16:53:16 +02:00
Florian Bruhin
b372c23b80 Move hint webelem code to utils.webelem 2014-04-24 16:30:59 +02:00
Florian Bruhin
6fb52e610d Leave insert mode when loadFinished with ok=False 2014-04-24 16:27:18 +02:00
Florian Bruhin
1c5ae25b68 Start implementing auto_insert_mode 2014-04-24 16:03:16 +02:00
Florian Bruhin
10d7d887ec Pass keypresses to statusbar correctly 2014-04-24 15:47:38 +02:00
Florian Bruhin
b3418cae5d Improve _is_editable() 2014-04-24 13:13:58 +02:00
Florian Bruhin
ff887c647d Don't append mode to mode stack if it's already 2014-04-24 07:44:54 +02:00
Florian Bruhin
b9d845180e Better logging for ModeManager 2014-04-24 07:44:47 +02:00
Florian Bruhin
a82ab6d707 Go to insert mode when plugin clicked 2014-04-24 07:41:20 +02:00
Florian Bruhin
5b84848ad9 s/leaved/left/g 2014-04-24 07:01:27 +02:00
Florian Bruhin
95691e1e11 Show passthrough modes in statusbar 2014-04-24 06:59:39 +02:00
Florian Bruhin
afa9c47867 Lint cleanups 2014-04-24 06:45:38 +02:00
Florian Bruhin
3d292fbc27 Use a stack for current modes 2014-04-24 06:44:58 +02:00
Florian Bruhin
f3db29c010 Enter normal mode when clicking non-editable elem 2014-04-23 23:26:02 +02:00
Florian Bruhin
b4b9b6c69d Enter/leave command mode for Command widget 2014-04-23 23:25:06 +02:00
Florian Bruhin
cd5f2562aa Adjust eventFilter to use new features 2014-04-23 23:24:46 +02:00
Florian Bruhin
e56d33badc Check if handler is available for new mode 2014-04-23 23:23:30 +02:00
Florian Bruhin
5385307582 Register modes explicitely with modemanager. 2014-04-23 23:23:04 +02:00
Florian Bruhin
fc11021c08 Add a passthrough argument to modemanager register() 2014-04-23 23:22:34 +02:00
Florian Bruhin
522a703863 Remove module-level modemanager register() 2014-04-23 23:21:29 +02:00
Florian Bruhin
8f44b56923 Start implementing eventFilter in ModeManager 2014-04-23 23:20:39 +02:00
Florian Bruhin
a33c9827d6 Check for editable fields in mousePressEvent 2014-04-23 21:18:05 +02:00
Florian Bruhin
ce48ed9b8e Add entered/leaved signals to modemanager 2014-04-23 21:15:47 +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
a67ed4d054 Override mousePressEvent instead of event 2014-04-23 07:34:23 +02:00
Florian Bruhin
2c5bb6a413 cmdutils.register: Support functions with no docstring 2014-04-23 07:32:00 +02:00
Florian Bruhin
7acd32a5d7 Display error when there's nothing to undo 2014-04-23 06:17:36 +02:00
Florian Bruhin
61802725a6 Actually use message.error for errors 2014-04-23 06:17:29 +02:00
Florian Bruhin
46f1a2a0d0 Add log_events decorator 2014-04-22 23:50:56 +02:00
Florian Bruhin
21bb9840d9 Simplify padding in Qt-CSS 2014-04-22 23:02:51 +02:00
Florian Bruhin
06ff2e00e9 Always draw categories correctly in completion 2014-04-22 21:38:06 +02:00
Florian Bruhin
fb9ac1bc4c Restyle tabbar 2014-04-22 20:49:16 +02:00
Florian Bruhin
55e3aca702 linting cleanup 2014-04-22 17:53:27 +02:00
Florian Bruhin
2bef265a89 Remove fixed FIXME 2014-04-22 17:24:21 +02:00
Florian Bruhin
dea80b3b54 Fix complete() of BaseType 2014-04-22 17:23:35 +02:00
Florian Bruhin
0f29526f91 Refactor keyparser 2014-04-22 17:21:29 +02:00
Florian Bruhin
aedf1889dd Support ambiguous keybindings 2014-04-22 16:50:37 +02:00
Florian Bruhin
f38871c9c9 Remove FIXME 2014-04-22 16:12:53 +02:00
Florian Bruhin
97578df7a5 Use QHostInfo instead of socket to resolve 2014-04-22 16:09:41 +02:00
Florian Bruhin
8dfc44da59 Remove another FIXME 2014-04-22 15:58:44 +02:00
Florian Bruhin
76f4917ae9 Implement wrapping/message when switching tabs 2014-04-22 15:57:38 +02:00
Florian Bruhin
3ab3e9394d Bind backspace to back 2014-04-22 15:48:38 +02:00
Florian Bruhin
87dda6dca6 Return no data on invalid qute:* handlers 2014-04-22 15:46:46 +02:00
Florian Bruhin
786404add4 HTML-escape qutescheme texts 2014-04-22 15:28:48 +02:00
Florian Bruhin
abb5c06ee6 Remove import FIXMEs 2014-04-22 15:22:50 +02:00
Florian Bruhin
94cef5ea22 Remove FIXME for keybindingname validation 2014-04-22 15:19:28 +02:00
Florian Bruhin
a87163b213 Complete commands 2014-04-22 15:19:18 +02:00
Florian Bruhin
1638823fb3 Add a complete() method to config types 2014-04-22 15:19:01 +02:00
Florian Bruhin
7758289f8b Register :nextsearch command. 2014-04-22 15:05:12 +02:00
Florian Bruhin
963066b4bd Remove some old FIXMEs 2014-04-22 14:45:24 +02:00
Florian Bruhin
a1650579e9 Reword FIXME comments 2014-04-22 14:35:56 +02:00
Florian Bruhin
70e1a0300c Add explicit types for editable hinting 2014-04-22 14:33:40 +02:00
Florian Bruhin
b167f1f8d8 Clarify QTBUG comment 2014-04-22 14:26:07 +02:00
Florian Bruhin
0de249e904 Support frames correctly in HintManager 2014-04-22 14:23:55 +02:00
Florian Bruhin
ebd3ab778f Make scrolling work with multiple frames 2014-04-22 14:17:17 +02:00
Florian Bruhin
26124920cd Display warnings if at beginning/end of history 2014-04-22 14:06:32 +02:00
Florian Bruhin
10acc854c4 Don't reopen opened URLs after crash 2014-04-22 14:02:29 +02:00
Florian Bruhin
b794739d94 Remove unneeded assignment 2014-04-22 13:56:25 +02:00
Florian Bruhin
5d95c7e19c Remove unused import 2014-04-22 12:10:27 +02:00
Florian Bruhin
9b5cf6ee7d Update appdirs.py 2014-04-22 12:07:57 +02:00
Florian Bruhin
ce274aa9c8 Fix printing 2014-04-22 11:16:45 +02:00
Florian Bruhin
af1ba0edf6 Re-sort some functions 2014-04-22 10:45:07 +02:00
Florian Bruhin
1a68bdb9a9 Clean up signal connections 2014-04-22 10:40:33 +02:00
Florian Bruhin
78060fc879 Get rid of temp_message signal 2014-04-22 10:08:56 +02:00
Florian Bruhin
e1b7305e40 Get rid of unneeded text slots in statusbar 2014-04-22 10:00:43 +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
d700d962af Add the ability to display persistent messages. 2014-04-22 09:06:17 +02:00
Florian Bruhin
1740d4c60f Ignore empty js statusbar messages. 2014-04-22 09:05:53 +02:00
Florian Bruhin
7e2b590da1 Spelling fix 2014-04-22 08:46:21 +02:00
Florian Bruhin
21abfa10a4 Improve config section comments 2014-04-22 08:42:58 +02:00
Florian Bruhin
27f88ffa47 Don't break https:// urls 2014-04-22 08:42:47 +02:00
Florian Bruhin
7645f4fdea Revert "Use "Monospace" only as monospace font"
This reverts commit 1442b1e35f.

For true CSS fonts (hints), we can use "Monospace" as generic family and
it'll work.

However, for Qt fonts, this will get us a non-monospace font on Windows.

Conflicts:
	qutebrowser/config/configdata.py
2014-04-22 08:26:53 +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
05e3fb8650 Add :backtabopen command 2014-04-21 23:33:19 +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
73dfa30a49 Display error message when config validation failed 2014-04-21 22:29:57 +02:00
Florian Bruhin
f70fad650d Spelling fix 2014-04-21 21:11:01 +02:00
Florian Bruhin
1c5686f5e3 Handle crashes before config is loaded correctly 2014-04-21 21:09:15 +02:00
Florian Bruhin
695ab70d7c Style fixes 2014-04-21 21:05:39 +02:00
Florian Bruhin
b10c934e15 Validate length/bounds for config values 2014-04-21 21:04:19 +02:00
Florian Bruhin
a6789095b3 Fix paste when clipboard is empty 2014-04-21 20:29:58 +02:00
Florian Bruhin
4f58d067b4 Clear errors when key is pressed 2014-04-21 20:21:42 +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
0741326e5d Make it possible to open tabs in background 2014-04-21 19:03:04 +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
20dd33fb7a Set focus on webview before processing click 2014-04-21 17:23:22 +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
Florian Bruhin
1f66766e0a Add CssColor conftype 2014-04-21 11:03:09 +02:00
Florian Bruhin
0bbd128fca Add Float conftype 2014-04-21 11:03:09 +02:00
Florian Bruhin
9152e40bfb Implement validate() for String 2014-04-21 11:03:09 +02:00
Florian Bruhin
2da1f05326 Output better error when validate() isn't implemented 2014-04-21 11:03:09 +02:00
Florian Bruhin
1442b1e35f Use "Monospace" only as monospace font 2014-04-21 11:03:09 +02:00
Florian Bruhin
341481cd99 Allow bindings to be modified 2014-04-21 11:00:58 +02:00
Florian Bruhin
52c7376402 Split command-related stuff off from KeyParser 2014-04-21 10:45:57 +02:00
Florian Bruhin
406e115a07 Stop logging network requests 2014-04-18 11:03:02 +02:00
Florian Bruhin
c8795a21a6 Revert "Make it possible to not typecheck values in setv."
This reverts commit 152bcae618.
2014-04-18 11:01:02 +02:00
Florian Bruhin
a91dde8a26 Catch exceptions in get_wrapper 2014-04-17 19:11:31 +02:00
Florian Bruhin
152bcae618 Make it possible to not typecheck values in setv. 2014-04-17 19:08:57 +02:00
Florian Bruhin
abaec2f044 Remove __setitem__ for sections 2014-04-17 19:08:31 +02:00
Florian Bruhin
3089463a9a Remove FIXME 2014-04-17 19:04:04 +02:00
Florian Bruhin
5bd40e732c Do validation and reading from configparser correctly 2014-04-17 19:02:58 +02:00
Florian Bruhin
a5f8bdf7fc Add validation FIXME 2014-04-17 18:00:15 +02:00
Florian Bruhin
1282a211cf Add validation for search engine URLs and colors 2014-04-17 17:59:57 +02:00
Florian Bruhin
39f580d9f1 Cleanup 2014-04-17 17:44:27 +02:00