From d7622d0cfc738f1b93c2c91e3f62029674d644b6 Mon Sep 17 00:00:00 2001
From: Mirko Waechter <mirko.waechter@kit.edu>
Date: Sun, 19 Jun 2016 19:59:34 +0200
Subject: [PATCH] searchfield is cleared after usage

---
 source/ArmarXGui/applications/ArmarXGui/ArmarXMainWindow.cpp | 5 ++++-
 source/ArmarXGui/applications/ArmarXGui/ArmarXMainWindow.h   | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/source/ArmarXGui/applications/ArmarXGui/ArmarXMainWindow.cpp b/source/ArmarXGui/applications/ArmarXGui/ArmarXMainWindow.cpp
index 2a9e9144..eac0f9b7 100644
--- a/source/ArmarXGui/applications/ArmarXGui/ArmarXMainWindow.cpp
+++ b/source/ArmarXGui/applications/ArmarXGui/ArmarXMainWindow.cpp
@@ -833,7 +833,7 @@ ArmarXWidgetControllerPtr ArmarXMainWindow::createArmarXWidget(QString widgetNam
     }
     auto widgetUsage = mainSettings.value("WidgetUsageHistory").toList();
     widgetUsage.push_back(widgetName);
-    if (widgetUsage.size() > 40)
+    if (widgetUsage.size() > 100)
     {
         widgetUsage.pop_front();
     }
@@ -1161,6 +1161,8 @@ void ArmarXMainWindow::updateAvailableWidgetList()
 
     connect(completer, SIGNAL(activated(QString)), completerAction, SLOT(triggered(QString)));
     connect(searchField, SIGNAL(returnPressed()), completerAction, SLOT(triggered()));
+    connect(searchField, SIGNAL(returnPressed()), searchField, SLOT(clear()));
+    connect(completerAction, SIGNAL(accepted()), searchField, SLOT(clear()));
     connect(completerAction, SIGNAL(clicked(QString, QString)), this, SLOT(createArmarXWidget(QString, QString)), Qt::UniqueConnection);
     searchField->setCompleter(completer);
 
@@ -1336,6 +1338,7 @@ void AddArmarXWidgetAction::addArmarXWidget()
 
 void AddArmarXWidgetAction::dialogAccepted()
 {
+    emit accepted();
     emit clicked(this->data().toString(), dialog->editWidgetName->text());
 }
 
diff --git a/source/ArmarXGui/applications/ArmarXGui/ArmarXMainWindow.h b/source/ArmarXGui/applications/ArmarXGui/ArmarXMainWindow.h
index 8f166337..032c7b7d 100644
--- a/source/ArmarXGui/applications/ArmarXGui/ArmarXMainWindow.h
+++ b/source/ArmarXGui/applications/ArmarXGui/ArmarXMainWindow.h
@@ -255,6 +255,7 @@ namespace armarx
         void dialogAccepted();
     signals:
         void clicked(QString widgetName, QString customInstanceName);
+        void accepted();
     private:
         ArmarXMainWindow* mainGui;
         WidgetNameDialog* dialog;
-- 
GitLab