diff --git a/modules/gui/pymod/scene/query_editor.py b/modules/gui/pymod/scene/query_editor.py index 5b5ed1787bae4e4182aa0e691b299e51f52819ad..7335c8a0c1bb355052d59bfc27891fd94c8fea1b 100644 --- a/modules/gui/pymod/scene/query_editor.py +++ b/modules/gui/pymod/scene/query_editor.py @@ -38,8 +38,8 @@ class QueryEditorWidget(QtGui.QWidget): hl.addWidget(self.ex_bonds_) hl.addWidget(self.in_bonds_) hl.addStretch(1) - hl.addWidget(self.match_res_) vl.addLayout(hl) + vl.addWidget(self.match_res_) self.changing_text_=False; self.connect(self.selection_edit_,QtCore.SIGNAL("textChanged()"), @@ -47,6 +47,7 @@ class QueryEditorWidget(QtGui.QWidget): self.timer_=QtCore.QTimer() QtCore.QObject.connect(self.timer_, QtCore.SIGNAL('timeout()'), self._UpdateMessage) + def GetQueryFlags(self): flags=0 if self.no_bonds_.isChecked(): @@ -120,9 +121,22 @@ class QueryDialog(QtGui.QDialog): l.addLayout(l3) QtCore.QObject.connect(cb, QtCore.SIGNAL('clicked()'), self.reject) QtCore.QObject.connect(ab, QtCore.SIGNAL('clicked()'), self.accept) + self.connect(self.editor.selection_edit_,QtCore.SIGNAL("textChanged()"),self._CheckNewline) + @property def query_flags(self): return self.editor.GetQueryFlags() @property def query(self): - return self.editor.GetQueryText() \ No newline at end of file + return self.editor.GetQueryText() + + def event(self, e): + if e.type() == QtCore.QEvent.KeyPress and (e.key () == QtCore.Qt.Key_Return or e.key () == QtCore.Qt.Key_Enter): + self.accept() + return True + else: + return QtGui.QDialog.event(self, e) + + def _CheckNewline(self): + if self.editor.GetQueryText().endswith("\n"): + self.accept() \ No newline at end of file