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

View File

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

View File

@ -1468,8 +1468,8 @@ class CommandDispatcher:
self.on_editing_finished, elem)) self.on_editing_finished, elem))
ed.edit(text) ed.edit(text)
@cmdutils.register(instance='command-dispatcher', @cmdutils.register(instance='command-dispatcher', hide=True,
modes=[KeyMode.insert], hide=True, scope='window') scope='window')
def open_editor(self): def open_editor(self):
"""Open an external editor with the currently selected form field. """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 wait for "Read back: foobar" in the log
And I run :click-element id qute-button And I run :click-element id qute-button
Then the javascript message "text: foobar" should be logged 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