Merge branch 'kobezda-open-editor-all-modes'

This commit is contained in:
Florian Bruhin 2016-09-05 11:00:34 +02:00
commit ef4c39d7c1
4 changed files with 30 additions and 2 deletions

View File

@ -103,6 +103,7 @@ Changed
anymore.
- The `completion -> show` setting can now be set to `always`, `auto` or
`never`.
- `:open-editor` can now be used in any mode.
- Lots of improvements to and bugfixes for the QtWebEngine backend, such as
working hints. However, using qutebrowser directly from git is still advised
when using `--backend webengine`.

View File

@ -244,6 +244,7 @@ Contributors, sorted by the number of commits in descending order:
* Moez Bouhlel
* Matthias Lisin
* Marcel Schilling
* Ján Kobezda
* Julie Engel
* Johannes Martinsson
* Jean-Christophe Petkovich

View File

@ -1468,8 +1468,8 @@ class CommandDispatcher:
self.on_editing_finished, elem))
ed.edit(text)
@cmdutils.register(instance='command-dispatcher',
modes=[KeyMode.insert], hide=True, scope='window')
@cmdutils.register(instance='command-dispatcher', hide=True,
scope='window')
def open_editor(self):
"""Open an external editor with the currently selected form field.

View File

@ -67,3 +67,29 @@ Feature: Opening external editors
And I wait for "Read back: foobar" in the log
And I run :click-element id qute-button
Then the javascript message "text: foobar" should be logged
Scenario: Spawning an editor in normal mode
When I set up a fake editor returning "foobar"
And I open data/editor.html
And I run :click-element id qute-textarea
And I wait for "Clicked editable element!" in the log
And I run :leave-mode
And I wait for "Leaving mode KeyMode.insert (reason: leave current)" in the log
And I run :open-editor
And I wait for "Read back: foobar" in the log
And I run :click-element id qute-button
Then the javascript message "text: foobar" should be logged
Scenario: Spawning an editor in caret mode
When I set up a fake editor returning "foobar"
And I open data/editor.html
And I run :click-element id qute-textarea
And I wait for "Clicked editable element!" in the log
And I run :leave-mode
And I wait for "Leaving mode KeyMode.insert (reason: leave current)" in the log
And I run :enter-mode caret
And I wait for "Entering mode KeyMode.caret (reason: command)" in the log
And I run :open-editor
And I wait for "Read back: foobar" in the log
And I run :click-element id qute-button
Then the javascript message "text: foobar" should be logged