diff --git a/source/ArmarXGui/applications/ArmarXGui/ArmarXMainWindow.cpp b/source/ArmarXGui/applications/ArmarXGui/ArmarXMainWindow.cpp index e0b2e18a031cd3f52f776d4d61f0e2d9027c265f..32f84fba31e1adb7cf859140c38925edc3e3c925 100644 --- a/source/ArmarXGui/applications/ArmarXGui/ArmarXMainWindow.cpp +++ b/source/ArmarXGui/applications/ArmarXGui/ArmarXMainWindow.cpp @@ -1174,6 +1174,8 @@ void ArmarXMainWindow::updateAvailableWidgetList() ui->toolBar->addWidget(openWidgetButton); connect(searchField, SIGNAL(textChanged(QString)), this, SLOT(updateOpenWidgetButtonStatus(QString)), Qt::UniqueConnection); + connect(searchField, SIGNAL(returnPressed()), this , SLOT(openWidgetButtonClicked()), Qt::UniqueConnection); + auto favoriteWidgetNames = getFavoriteWidgets(); if (favoriteWidgetNames.size() > 0) @@ -1296,6 +1298,14 @@ AddArmarXWidgetAction::~AddArmarXWidgetAction() void AddArmarXWidgetAction::triggered(QString widgetName) { + static std::chrono::high_resolution_clock::time_point lastTriggered {std::chrono::milliseconds{0}}; + static std::chrono::milliseconds triggerDeadTime {100}; + const auto now = std::chrono::high_resolution_clock::now(); + if (lastTriggered + triggerDeadTime > now) + { + return; + } + lastTriggered = now; if (widgetName.isEmpty()) { QLineEdit* edit = qobject_cast<QLineEdit*>(sender()); @@ -1328,7 +1338,6 @@ void AddArmarXWidgetAction::addArmarXWidget() { dialogAccepted(); } - } void AddArmarXWidgetAction::dialogAccepted()