mirror of
https://github.com/DreamSourceLab/DSView.git
synced 2025-01-23 13:42:55 +08:00
Control the frequency of hot key press
This commit is contained in:
parent
979231c6fe
commit
58d16495fe
@ -120,6 +120,7 @@ namespace pv
|
||||
setContextMenuPolicy(Qt::NoContextMenu);
|
||||
|
||||
_key_vaild = false;
|
||||
_last_key_press_time = high_resolution_clock::now();
|
||||
}
|
||||
|
||||
void MainWindow::setup_ui()
|
||||
@ -1106,6 +1107,14 @@ namespace pv
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
high_resolution_clock::time_point key_press_time = high_resolution_clock::now();
|
||||
milliseconds timeInterval = std::chrono::duration_cast<milliseconds>(key_press_time - _last_key_press_time);
|
||||
int64_t time_keep = timeInterval.count();
|
||||
if (time_keep < 500){
|
||||
return true;
|
||||
}
|
||||
_last_key_press_time = key_press_time;
|
||||
|
||||
switch (ke->key())
|
||||
{
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include "interface/icallbacks.h"
|
||||
#include "eventobject.h"
|
||||
#include <QJsonDocument>
|
||||
#include <chrono>
|
||||
|
||||
class QAction;
|
||||
class QMenuBar;
|
||||
@ -40,11 +41,12 @@ class QStatusBar;
|
||||
class QToolBar;
|
||||
class QWidget;
|
||||
class QDockWidget;
|
||||
|
||||
class AppControl;
|
||||
|
||||
class DeviceAgent;
|
||||
|
||||
using std::chrono::high_resolution_clock;
|
||||
using std::chrono::milliseconds;
|
||||
|
||||
namespace pv {
|
||||
|
||||
class SigSession;
|
||||
@ -210,6 +212,7 @@ private:
|
||||
SigSession *_session;
|
||||
DeviceAgent *_device_agent;
|
||||
bool _is_auto_switch_device;
|
||||
high_resolution_clock::time_point _last_key_press_time;
|
||||
|
||||
int _key_value;
|
||||
bool _key_vaild;
|
||||
|
Loading…
x
Reference in New Issue
Block a user