Ryan Roden-Corrent
268d490e25
Return False when MarkKeyParser gets special key.
2016-04-19 17:30:57 -04:00
Ryan Roden-Corrent
6466ff919a
Don't limit marks to alpha characters.
2016-04-19 08:28:11 -04:00
Ryan Roden-Corrent
ae267c466f
Small fixes for marks.
...
Mark two callbacks with pyqtSlot as appropriate.
Return False instead of raising NotImplementedException to avoid pylint
identifying MarkKeyParser as abstract.
2016-04-19 08:28:02 -04:00
Ryan Roden-Corrent
4b00a17d71
Fix MarkKeyParser crash when changing keyconfig.
...
Ensure MarkKeyParser implements on_keyconfig_changed, so it doesn't fail when
rebinding a key. It doesn't have keybindings, so the implementation is just
`pass`.
This also fixes a few flake8 style errors.
2016-04-17 21:04:08 -04:00
Ryan Roden-Corrent
f4b9573744
Remove cyclic dependency from MarkKeyParser.
...
Rather than calling modeman.leave directly, modeman hooks into a request_leave
signal that is fired when MarkKeyParser wants to exit mark mode.
2016-04-17 21:04:08 -04:00
Ryan Roden-Corrent
49b2f6e967
Move jump_mark logic to TabbedBrowser.
...
This simplifies the MarkKeyParser by removing its dependency on the
commandrunner. It also removes the need for a new exception type.
2016-04-17 21:04:08 -04:00
Ryan Roden-Corrent
c7b830d69d
Fix up mistakes caught by pylint.
2016-04-17 21:04:08 -04:00
Ryan Roden-Corrent
7bfea773db
Add set_mark and jump_mark modes.
...
These modes use a custom handler to pass whatever the next keypress is
to either set_mark or jump_mark.
2016-04-17 21:04:08 -04:00
Florian Bruhin
27b31b7ded
Avoid DownloadView being focused when pressing tab
...
The previous fix didn't work in situations where the web view was
actually focused, but had no focused element (like about:blank).
The new fix always works, and even is a lot simpler!
Fixes #504 .
2016-03-31 19:45:36 +02:00
Florian Bruhin
a5f2ac5f03
Adjust copyright years.
2016-01-04 07:12:39 +01:00
Florian Bruhin
c1d3a94936
Don't pass through shifted characters.
...
See #1207 - turns out that was a problem for *any* character.
2016-01-04 07:10:23 +01:00
Florian Bruhin
f78fb0c027
basekeyparser: Remove dead code.
...
We added this in 836a5e04a5
for the old INI-based
config, but this is not needed anymore as the keys.conf syntax does not allow
this.
2015-08-26 20:31:17 +02:00
Alexander Cogneau
09161faca5
Refactor read_config for easier testing
2015-08-25 12:04:22 +02:00
Alexander Cogneau
af9647221a
Add tests for BaseKeyParser
2015-08-24 18:12:12 +02:00
Alexander Cogneau
193a8d5242
Add unit tests for KeyInput.BaseKeyParser
2015-08-22 23:26:13 +02:00
Florian Bruhin
5310c60d58
Remove unused import.
2015-06-07 01:24:24 +02:00
Florian Bruhin
def41e70bf
Fix some spelling mistakes.
2015-06-07 01:24:02 +02:00
Martin Tournoij
dfada850e0
Update code after refactor, and add migration
2015-06-05 16:52:33 +02:00
Martin Tournoij
a7b10a090f
Merge branch 'master' into issue-716
2015-06-05 16:45:52 +02:00
Florian Bruhin
b55e22b5c3
Refactor key mode/parser handling in modeman.
2015-06-05 15:29:09 +02:00
Martin Tournoij
fa65f345ac
Perhaps fix it more properly after all :-)
2015-06-05 15:19:40 +02:00
Martin Tournoij
57ddd8e95e
Always handle the <Esc> key, even if it's bound.
...
This fixes #716 , which sufficiently annoyed me to make this quick fix. It's not
a great fix, but it's not worse than what we had already, and the current
behaviour is very surprising IMHO.
2015-06-05 14:26:17 +02:00
Florian Bruhin
7102459c81
Rename _get_modeman() to instance().
2015-06-05 11:15:18 +02:00
Florian Bruhin
947dcd556b
Clean up CaretKeyParser.
2015-05-13 22:29:21 +02:00
Florian Bruhin
bc54eb8671
Make get_modeman private again.
2015-05-13 22:27:54 +02:00
Florian Bruhin
a36c0fcd4c
Fix lint.
2015-05-11 20:32:27 +02:00
Artur Shaik
178d0dfa58
Add count for actions. Zero key treat as command.
2015-05-07 11:51:10 +06:00
Artur Shaik
d594798db8
Implement caret selection and positioning
...
Added option to webview for selection enabled caret mode.
In status bar checking value of this option to identificate about it.
Added bindings: <Space> for toggle selection mode, <Ctrl+Space> drop
selection and keep selection mode enabled.
In webview added javascript snippet to position caret at top of the
viewport after caret enabling. This code mostly was taken from cVim sources.
2015-05-05 10:18:24 +06:00
Artur Shaik
aeaa20c3b7
Disable support count for CaretKeyParser
...
Allow using '0' for move caret to beginnig of the line.
2015-05-04 18:00:40 +06:00
Florian Bruhin
32562c6878
Fix lint.
2015-04-28 16:50:42 +02:00
Florian Bruhin
6c8e073dc8
Merge branch 'caret_visual_mode' of https://github.com/artur-shaik/qutebrowser into visual
...
Conflicts:
qutebrowser/browser/commands.py
qutebrowser/browser/webview.py
qutebrowser/config/configdata.py
2015-04-21 21:29:00 +02:00
Florian Bruhin
83dbe48469
Refactor EventFilter.
2015-04-09 20:22:00 +02:00
Florian Bruhin
f77ba5744b
Add a ui -> hide-mouse-cursor option.
2015-04-09 19:59:16 +02:00
Artur Shaik
695712e50c
Basic caret and visual modes implementation
...
Allow user switch in caret mode for browsing with caret, and visual mode
for select and yank text with keyboard.
Default keybindings is c or v for caret mode, and again v for visual mode. All
basic movements provided by WebAction enum implemened with vim-like
bindings. Yanking with y and Y for selection and clipboard respectively.
There is bug/feature in WebKit that after caret enabled, caret doesn't
show until mouse click (or sometimes Tab helps). So I add some workaround
for that with mouse event. I think should be better aproach.
Signed-off-by: Artur Shaik <ashaihullin@gmail.com>
2015-04-09 22:55:42 +06:00
Florian Bruhin
431257d380
Fix handling of key release events.
...
Fixes #593 .
It seems Qt "re-uses" existing keyevents, so we have to save and compare the
data instead.
2015-03-31 23:09:40 +02:00
Florian Bruhin
8ebac8d38c
Various spelling fixes.
2015-03-31 21:11:47 +02:00
Florian Bruhin
6dc65287a9
Discard uninteresting events early in eventFilter.
...
Before, we ran quite a lot of code (e.g. objreg) on every event, even if it
turns out to not be a keypress/release event at all.
2015-03-16 23:25:29 +01:00
Florian Bruhin
e8e6d8409b
Adjust pylint exceptions.
2015-03-11 20:14:39 +01:00
Florian Bruhin
e696898c4a
Add input -> partial-timeout option to clear partial keystrings.
2015-02-27 10:59:03 +01:00
Florian Bruhin
42e2438efb
Return Match instead bool in _handle_single_key.
2015-02-27 10:59:03 +01:00
Florian Bruhin
d66997610b
Use a single Timer for ambigious keybindings.
2015-02-27 10:59:03 +01:00
Florian Bruhin
22fab87311
Ignore tab key presses if they'd switch focus.
...
If the mainwindow is focused but not the web view (e.g. in prompt mode), an
unbound tab key should be filtered so it doesn't change keyboard focus.
Fixes #504 .
2015-02-12 18:57:56 +01:00
Florian Bruhin
ca590c5df7
Fix lint
2015-01-23 15:10:44 +01:00
Florian Bruhin
0587cc8b1d
Really fix pylint and unicodedata.category.
2015-01-23 15:06:51 +01:00
Florian Bruhin
d7c7e91f2b
pylint: Ignore no-member for unicodedata.category.
...
This seems to be broken for pylint since #463 on Windows, so we just ignore the
warning there.
2015-01-23 14:40:40 +01:00
Florian Bruhin
a412814dee
Enter KeyMode.normal directly in ModeManager.
...
We used to enter KeyMode.none and then with a zero-time singleShot QTimer enter
the normal mode. This doesn't really make sense, and caused an exception if a
keypress was processed before the timer fired.
Fixes #433 .
2015-01-09 21:49:39 +01:00
Florian Bruhin
d147ba90d4
Remove old comment.
2015-01-09 21:49:39 +01:00
Florian Bruhin
450d1ab70d
Update copyright years
2015-01-03 15:51:31 +01:00
Florian Bruhin
73d08cb60c
Fix mode handling with multiple javascript prompts.
...
This fixes a regression introduced in 03ac8874ff
.
2014-12-28 01:28:35 +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
4ab5d2df28
Make it possible to enter a keymode twice.
...
If we don't allow this, we can get stuck e.g. when doing this:
- Press m to get a quickmark prompt.
- Click a javascript prompt button.
- Exit the javascript prompt.
- We have the quickmark prompt open but we're in normal mode.
2014-12-26 14:26:59 +01:00
Florian Bruhin
b7dc2e1bc6
Allow non-ASCII chars in keychains. Fixes #303 .
2014-12-13 21:03:33 +01:00
Florian Bruhin
d611a37d7d
Fix statusbar with nested passthrough modes.
...
Fixes #87 .
2014-12-08 20:18:55 +01:00
Florian Bruhin
eb5527f897
Add some logging about keyboard focus.
...
This should help with debugging #218 if it occurs again.
2014-10-28 07:44:42 +01:00
Florian Bruhin
76de3d0c51
Use signals and decorators for configs again.
...
This basically rolls back 64a119afb2
and
b7f2a6d143
.
Fixes #188 .
Breaks #156 again but the next commit will fix this.
2014-10-18 19:50:10 +02:00
Florian Bruhin
d9213ecf17
Prevent double-entering hint mode. Fixes #160 .
2014-10-08 22:19:24 +02:00
Florian Bruhin
71308b45ac
Add utils.qualname. Closes #169 .
2014-10-08 21:11:04 +02:00
Florian Bruhin
6349a6a213
Remove Emit:/Raise: from docstrings.
...
They got out-of-sync fast and provided no real benefit.
2014-10-07 23:08:37 +02:00
Florian Bruhin
1ad081a2db
Fix lint
2014-10-06 22:30:37 +02:00
Florian Bruhin
12bbce2914
Spelling fix
2014-10-06 22:23:27 +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
9281fa3992
Fix lint/bugs
2014-10-06 19:53:50 +02:00
Florian Bruhin
85ead4273b
Register tab registry under window registry with ID.
2014-10-06 07:41:05 +02:00
Florian Bruhin
d3121034df
Revert "Store window registries in objreg."
...
This reverts commit dfd3b3d9c4
.
It turns out this makes it very hard to remove the window from the window
registry at the right time.
2014-10-05 23:09:35 +02:00
Florian Bruhin
dfd3b3d9c4
Store window registries in objreg.
2014-10-05 22:17:29 +02:00
Florian Bruhin
85f8366028
Fix lint
2014-09-30 07:49:01 +02:00
Florian Bruhin
8864c042c8
modeman: Make it possible to override a locked mode.
2014-09-30 07:11:37 +02:00
Florian Bruhin
e6fe358d73
Clean up correctly when a window is closed.
2014-09-29 10:43:06 +02:00
Florian Bruhin
9533312e0d
Fix event filter when a non-Mainwindow dialog has an event.
2014-09-28 22:53:24 +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
64a119afb2
Don't use signals for on_config_changed.
2014-09-28 11:27:52 +02:00
Florian Bruhin
0fadf6b091
Use a list as items-argument for usertypes.enum
2014-09-28 00:42:53 +02:00
Florian Bruhin
86fdf981e3
Refactor init
2014-09-28 00:18:57 +02:00
Florian Bruhin
36fd2e5c7f
Improve __repr__ methods.
2014-09-26 15:48:24 +02:00
Florian Bruhin
0494bc3763
Improve modeman.maybe_leave logging/exception.
2014-09-25 18:45:16 +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
cb35452cf0
Remove unused flag for keyparser.
2014-09-24 22:25:11 +02:00
Florian Bruhin
62e55499eb
Privatize all attributes which aren't needed from the outside.
2014-09-24 22:25:11 +02:00
Florian Bruhin
3f02451828
Move object registry to its own file.
2014-09-24 07:06:45 +02:00
Florian Bruhin
2b60cdb64c
Object names cleanup
2014-09-23 23:05:55 +02:00
Florian Bruhin
04be586bca
Use object registry for keyconfig.
2014-09-23 22:37:41 +02:00
Florian Bruhin
a32ed36ba6
Use object registry for mainwindow.
2014-09-23 22:05:00 +02:00
Florian Bruhin
5f45d3de60
Use object registry for modeman.
2014-09-23 20:02:48 +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
5eef6d422d
Better exception formatting and handling.
2014-09-16 08:20:19 +02:00
Florian Bruhin
4fde56a942
Allow binding keys.
2014-09-09 23:05:28 +02:00
Florian Bruhin
6f03f08111
Make new key config work (readonly)
2014-09-09 07:43:27 +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
a2e457ccc3
Remove old Ubuntu workaround.
2014-09-02 20:45:25 +02:00
Florian Bruhin
4caec2becb
Document and mark workarounds.
2014-09-02 20:44:58 +02:00
Florian Bruhin
ce4a5affa4
Rename commands.utils to commands.cmdutils.
2014-08-26 20:48:39 +02:00
Florian Bruhin
270b822908
Simplify imports in keyinput.modeman.
2014-08-26 20:38:50 +02:00
Florian Bruhin
c72bfff306
Rename commands.exceptions to commands.cmdexc.
2014-08-26 20:38:10 +02:00
Florian Bruhin
d9a8cbe7ad
Rename utils.misc to utils.utils
2014-08-26 20:20:17 +02:00
Florian Bruhin
b4298c2922
Remove 'as logger' imports.
2014-08-26 20:15:41 +02:00
Florian Bruhin
d625cde28c
Clean up imports
2014-08-26 19:10:14 +02:00
Florian Bruhin
5a88028738
Rename qutebrowser.commands.managers module to .runners.
2014-08-06 15:58:08 +02:00
Florian Bruhin
aebce80b2b
Rename {Command,Search}Manager to ...Runner
2014-08-06 15:38:25 +02:00