mirror of https://github.com/KLayout/klayout.git
Some enhancements on cell and layer search
- Shortcuts are honored and have priority over search initiation. This is in particular important for "*". - "/" initiates search without yielding a "/" in the text edit box.
This commit is contained in:
parent
b3b0ce066e
commit
90693f9f67
|
|
@ -82,7 +82,9 @@ HCPCellTreeWidget::HCPCellTreeWidget (QWidget *parent, const char *name, QWidget
|
||||||
bool
|
bool
|
||||||
HCPCellTreeWidget::event (QEvent *event)
|
HCPCellTreeWidget::event (QEvent *event)
|
||||||
{
|
{
|
||||||
// Handling this event makes the widget receive all keystrokes
|
#if 0
|
||||||
|
// Handling this event makes the widget receive all keystrokes.
|
||||||
|
// Without this code, shortcuts override the search function.
|
||||||
if (event->type () == QEvent::ShortcutOverride) {
|
if (event->type () == QEvent::ShortcutOverride) {
|
||||||
QKeyEvent *ke = static_cast<QKeyEvent *> (event);
|
QKeyEvent *ke = static_cast<QKeyEvent *> (event);
|
||||||
QString t = ke->text ();
|
QString t = ke->text ();
|
||||||
|
|
@ -90,6 +92,7 @@ HCPCellTreeWidget::event (QEvent *event)
|
||||||
ke->accept ();
|
ke->accept ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return QTreeView::event (event);
|
return QTreeView::event (event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -103,7 +106,11 @@ void
|
||||||
HCPCellTreeWidget::keyPressEvent (QKeyEvent *event)
|
HCPCellTreeWidget::keyPressEvent (QKeyEvent *event)
|
||||||
{
|
{
|
||||||
QString t = event->text ();
|
QString t = event->text ();
|
||||||
if (!t.isEmpty () && t[0].isPrint ()) {
|
if (! t.isEmpty () && t[0].isPrint ()) {
|
||||||
|
// "/" is a search initiator
|
||||||
|
if (t == QString::fromUtf8 ("/")) {
|
||||||
|
t.clear ();
|
||||||
|
}
|
||||||
emit search_triggered (t);
|
emit search_triggered (t);
|
||||||
} else if (mp_key_event_receiver) {
|
} else if (mp_key_event_receiver) {
|
||||||
// send other key events to the alternative receiver - this way we can make the
|
// send other key events to the alternative receiver - this way we can make the
|
||||||
|
|
|
||||||
|
|
@ -155,7 +155,9 @@ LCPTreeWidget::focusNextPrevChild (bool /*next*/)
|
||||||
bool
|
bool
|
||||||
LCPTreeWidget::event (QEvent *event)
|
LCPTreeWidget::event (QEvent *event)
|
||||||
{
|
{
|
||||||
// Handling this event makes the widget receive all keystrokes
|
#if 0
|
||||||
|
// Handling this event makes the widget receive all keystrokes.
|
||||||
|
// Without this code, shortcuts override the search function.
|
||||||
if (event->type () == QEvent::ShortcutOverride) {
|
if (event->type () == QEvent::ShortcutOverride) {
|
||||||
QKeyEvent *ke = static_cast<QKeyEvent *> (event);
|
QKeyEvent *ke = static_cast<QKeyEvent *> (event);
|
||||||
QString t = ke->text ();
|
QString t = ke->text ();
|
||||||
|
|
@ -163,6 +165,7 @@ LCPTreeWidget::event (QEvent *event)
|
||||||
ke->accept ();
|
ke->accept ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return QTreeView::event (event);
|
return QTreeView::event (event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -171,6 +174,10 @@ LCPTreeWidget::keyPressEvent (QKeyEvent *event)
|
||||||
{
|
{
|
||||||
QString t = event->text ();
|
QString t = event->text ();
|
||||||
if (!t.isEmpty () && t[0].isPrint ()) {
|
if (!t.isEmpty () && t[0].isPrint ()) {
|
||||||
|
// "/" is a search initiator
|
||||||
|
if (t == QString::fromUtf8 ("/")) {
|
||||||
|
t.clear ();
|
||||||
|
}
|
||||||
emit search_triggered (t);
|
emit search_triggered (t);
|
||||||
} else {
|
} else {
|
||||||
QTreeView::keyPressEvent (event);
|
QTreeView::keyPressEvent (event);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue