diff --git a/src/qtgui/advsearch.ui b/src/qtgui/advsearch.ui
index 6cd280bf..d67295fb 100644
--- a/src/qtgui/advsearch.ui
+++ b/src/qtgui/advsearch.ui
@@ -407,6 +407,36 @@
advsearch
addFiltypPB_clicked()
+
+ andWordsLE
+ returnPressed()
+ advsearch
+ searchPB_clicked()
+
+
+ orWordsLE
+ returnPressed()
+ advsearch
+ searchPB_clicked()
+
+
+ noWordsLE
+ returnPressed()
+ advsearch
+ searchPB_clicked()
+
+
+ phraseLE
+ returnPressed()
+ advsearch
+ searchPB_clicked()
+
+
+ subtreeLE
+ returnPressed()
+ advsearch
+ searchPB_clicked()
+
recoll.h
diff --git a/src/qtgui/preview/preview.ui b/src/qtgui/preview/preview.ui
index f927cc21..5051468c 100644
--- a/src/qtgui/preview/preview.ui
+++ b/src/qtgui/preview/preview.ui
@@ -181,10 +181,11 @@
nextPressed()
prevPressed()
currentChanged( QWidget * tw )
+ closeCurrentTab()
init()
- closeEvent( QCloseEvent * e)
+ closeEvent( QCloseEvent * e )
eventFilter( QObject * target, QEvent * event )
diff --git a/src/qtgui/preview/preview.ui.h b/src/qtgui/preview/preview.ui.h
index ae5cb41a..2e0b11a7 100644
--- a/src/qtgui/preview/preview.ui.h
+++ b/src/qtgui/preview/preview.ui.h
@@ -38,6 +38,11 @@ bool Preview::eventFilter(QObject *target, QEvent *event)
QKeyEvent *keyEvent = (QKeyEvent *)event;
if (keyEvent->key() == Key_Q && (keyEvent->state() & ControlButton)) {
recollNeedsExit = 1;
+ return true;
+ } else if (keyEvent->key() ==Key_W &&(keyEvent->state() & ControlButton)) {
+ // LOGDEB(("Preview::eventFilter: got ^W\n"));
+ closeCurrentTab();
+ return true;
} else if (dynSearchActive) {
if (keyEvent->key() == Key_F3) {
doSearch(true, false);
@@ -160,3 +165,15 @@ void Preview::currentChanged(QWidget * tw)
((QWidget*)o)->setFocus();
}
}
+
+
+void Preview::closeCurrentTab()
+{
+ if (pvTab->count() > 1) {
+ QWidget *tw = pvTab->currentPage();
+ if (tw)
+ pvTab->removePage(tw);
+ } else {
+ close();
+ }
+}