mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-17 23:24:51 +00:00
runDialog: Use ClutterText::activate for enter handling
Instead of consuming the event in front of the input method. Enter is sometimes overriden by those, so it seems better to let the IM handle the key event, and react later to it if it got propagated anyway. That is what ::activate does, so use this signal. This used to work before ClutterInputMethod/InputFocus because the IM received the events directly from stage captured events. This is not the case anymore. Closes: #440
This commit is contained in:
parent
dd59212d3f
commit
3ab9e9e8ad
1 changed files with 8 additions and 10 deletions
|
|
@ -118,18 +118,16 @@ var RunDialog = new Lang.Class({
|
|||
|
||||
this._history = new History.HistoryManager({ gsettingsKey: HISTORY_KEY,
|
||||
entry: this._entryText });
|
||||
this._entryText.connect('activate', (o) => {
|
||||
this.popModal();
|
||||
this._run(o.get_text(),
|
||||
Clutter.get_current_event().get_state() & Clutter.ModifierType.CONTROL_MASK);
|
||||
if (!this._commandError ||
|
||||
!this.pushModal())
|
||||
this.close();
|
||||
});
|
||||
this._entryText.connect('key-press-event', (o, e) => {
|
||||
let symbol = e.get_key_symbol();
|
||||
if (symbol == Clutter.Return || symbol == Clutter.KP_Enter) {
|
||||
this.popModal();
|
||||
this._run(o.get_text(),
|
||||
e.get_state() & Clutter.ModifierType.CONTROL_MASK);
|
||||
if (!this._commandError ||
|
||||
!this.pushModal())
|
||||
this.close();
|
||||
|
||||
return Clutter.EVENT_STOP;
|
||||
}
|
||||
if (symbol == Clutter.Tab) {
|
||||
let text = o.get_text();
|
||||
let prefix;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue