From 5c70da9d0606ef419aedb06a989a54618574d2a3 Mon Sep 17 00:00:00 2001 From: Manjeet Dahiya Date: Sun, 26 Sep 2010 06:49:04 +0000 Subject: don't close on escape key --- examples/GuiClient/mainDialog.cpp | 62 +++++++++++++++++++++++++-------------- 1 file changed, 40 insertions(+), 22 deletions(-) (limited to 'examples/GuiClient/mainDialog.cpp') diff --git a/examples/GuiClient/mainDialog.cpp b/examples/GuiClient/mainDialog.cpp index c2e53640..37e8eeee 100644 --- a/examples/GuiClient/mainDialog.cpp +++ b/examples/GuiClient/mainDialog.cpp @@ -248,36 +248,54 @@ void mainDialog::filterChanged(const QString& filter) void mainDialog::keyPressEvent(QKeyEvent* event1) { - if(ui->stackedWidget->currentIndex() == 1) // sign in page + if(ui->stackedWidget->currentIndex() == 0) // roster page { - QDialog::keyPressEvent(event1); - return; + if(event1->matches(QKeySequence::Find) ||( + event1->key() <= Qt::Key_9 && event1->key() >= Qt::Key_1) || + (event1->key() <= Qt::Key_Z && event1->key() >= Qt::Key_At) || + event1->key() == Qt::Key_Backspace) + { + ui->lineEdit_filter->setFocus(); + ui->lineEdit_filter->event(event1); + } + else if(event1->key() == Qt::Key_Escape) + { + ui->lineEdit_filter->clear(); + ui->listView->setFocus(); + } + else if(event1->key() == Qt::Key_Up || + event1->key() == Qt::Key_Down || + event1->key() == Qt::Key_PageUp || + event1->key() == Qt::Key_PageDown) + { + ui->listView->setFocus(); + ui->listView->event(event1); + } + else if(event1->key() == Qt::Key_Return && ui->listView->hasFocus()) + { + ui->listView->event(event1); + } } - if(event1->matches(QKeySequence::Find) ||( - event1->key() <= Qt::Key_9 && event1->key() >= Qt::Key_1) || - (event1->key() <= Qt::Key_Z && event1->key() >= Qt::Key_At) || - event1->key() == Qt::Key_Backspace) - { - ui->lineEdit_filter->setFocus(); - ui->lineEdit_filter->event(event1); - } - else if(event1->key() == Qt::Key_Escape) +// don't close on escape + if(event1->key() == Qt::Key_Escape) { - ui->lineEdit_filter->clear(); - ui->listView->setFocus(); + event1->ignore(); + return; } - else if(event1->key() == Qt::Key_Up || - event1->key() == Qt::Key_Down || - event1->key() == Qt::Key_PageUp || - event1->key() == Qt::Key_PageDown) +#ifdef Q_WS_MAC + else if(minimize && e->modifiers() == Qt::ControlModifier && e->key() == Qt::Key_Period) { - ui->listView->setFocus(); - ui->listView->event(event1); + event1->ignore(); + return; } - else if(event1->key() == Qt::Key_Return && ui->listView->hasFocus()) +#endif +// don't close on escape + + if(ui->stackedWidget->currentIndex() == 1) // sign in page { - ui->listView->event(event1); + QDialog::keyPressEvent(event1); + return; } } -- cgit v1.2.3