mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-22 21:37:17 +01:00
parent
1a894abcff
commit
59f99ea9bb
|
@ -126,6 +126,7 @@ namespace config {
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
("svcctl", value<std::string>()->default_value(""), "Windows service management ('install' or 'remove')")
|
("svcctl", value<std::string>()->default_value(""), "Windows service management ('install' or 'remove')")
|
||||||
("insomnia", value<bool>()->zero_tokens()->default_value(false), "Prevent system from sleeping")
|
("insomnia", value<bool>()->zero_tokens()->default_value(false), "Prevent system from sleeping")
|
||||||
|
("close", value<std::string>()->default_value("ask"), "On close action") // minimize, exit, ask TODO: add custom validator or something
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
@ -119,6 +119,29 @@ namespace win32
|
||||||
ShowWindow(hWnd, SW_HIDE);
|
ShowWindow(hWnd, SW_HIDE);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
case SC_CLOSE:
|
||||||
|
{
|
||||||
|
std::string close; i2p::config::GetOption("close", close);
|
||||||
|
if (0 == close.compare("ask"))
|
||||||
|
switch(::MessageBox(hWnd, "Would you like to minimize instead of exiting?"
|
||||||
|
" You can add 'close' configuration option. Valid values are: ask, minimize, exit.",
|
||||||
|
"Minimize instead of exiting?", MB_ICONQUESTION | MB_YESNOCANCEL | MB_DEFBUTTON1))
|
||||||
|
{
|
||||||
|
case IDYES: close = "minimize"; break;
|
||||||
|
case IDNO: close = "exit"; break;
|
||||||
|
default: return 0;
|
||||||
|
}
|
||||||
|
if (0 == close.compare("minimize"))
|
||||||
|
{
|
||||||
|
ShowWindow(hWnd, SW_HIDE);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (0 != close.compare("exit"))
|
||||||
|
{
|
||||||
|
::MessageBox(hWnd, close.c_str(), "Unknown close action in config", MB_OK | MB_ICONWARNING);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case WM_TRAYICON:
|
case WM_TRAYICON:
|
||||||
|
|
Loading…
Reference in a new issue