Compare commits

...

1 Commits

Author SHA1 Message Date
Shawn Yuan (from Dev Box)
80813255aa remove dealy 2026-01-23 11:20:43 +08:00

View File

@@ -124,22 +124,6 @@ void handle_tray_command(HWND window, const WPARAM command_id, LPARAM lparam)
}
}
void click_timer_elapsed()
{
double_click_timer_running = false;
if (!double_clicked)
{
if (get_general_settings().enableQuickAccess)
{
open_quick_access_flyout_window();
}
else
{
open_settings_window(std::nullopt);
}
}
}
LRESULT __stdcall tray_icon_window_proc(HWND window, UINT message, WPARAM wparam, LPARAM lparam)
{
switch (message)
@@ -225,24 +209,43 @@ LRESULT __stdcall tray_icon_window_proc(HWND window, UINT message, WPARAM wparam
}
case WM_LBUTTONUP:
{
// ignore event if this is the second click of a double click
if (!double_click_timer_running)
{
// start timer for detecting single or double click
double_click_timer_running = true;
double_clicked = false;
bool quick_access_enabled = get_general_settings().enableQuickAccess;
UINT doubleClickTime = GetDoubleClickTime();
std::thread([doubleClickTime]() {
std::this_thread::sleep_for(std::chrono::milliseconds(doubleClickTime));
click_timer_elapsed();
}).detach();
if (quick_access_enabled)
{
// When Quick Access is enabled, open it immediately on single click
if (!double_click_timer_running)
{
// Open Quick Access immediately without delay
open_quick_access_flyout_window();
double_click_timer_running = true;
double_clicked = false;
// Start timer to reset the flag
UINT doubleClickTime = GetDoubleClickTime();
std::thread([doubleClickTime]() {
std::this_thread::sleep_for(std::chrono::milliseconds(doubleClickTime));
double_click_timer_running = false;
}).detach();
}
}
else
{
// When Quick Access is disabled, open Settings immediately
open_settings_window(std::nullopt);
}
break;
}
case WM_LBUTTONDBLCLK:
{
double_clicked = true;
bool quick_access_enabled = get_general_settings().enableQuickAccess;
if (quick_access_enabled)
{
// Mark that double-click happened to prevent any pending actions
double_clicked = true;
}
// Always open Settings on double-click
open_settings_window(std::nullopt);
break;
}