New launcher menu
This commit is contained in:
parent
04fefe4003
commit
4778c5bda6
@ -108,7 +108,7 @@ HRESULT STDMETHODCALLTYPE doc_host_ui_handler::TranslateUrl(DWORD /*dwTranslate*
|
|||||||
HRESULT doc_host_ui_handler::GetHostInfo(DOCHOSTUIINFO __RPC_FAR * pInfo)
|
HRESULT doc_host_ui_handler::GetHostInfo(DOCHOSTUIINFO __RPC_FAR * pInfo)
|
||||||
{
|
{
|
||||||
pInfo->cbSize = sizeof(DOCHOSTUIINFO);
|
pInfo->cbSize = sizeof(DOCHOSTUIINFO);
|
||||||
pInfo->dwFlags = DOCHOSTUIFLAG_NO3DBORDER | DOCHOSTUIFLAG_DPI_AWARE | DOCHOSTUIFLAG_SCROLL_NO;
|
pInfo->dwFlags = DOCHOSTUIFLAG_NO3DBORDER | DOCHOSTUIFLAG_DPI_AWARE /*| DOCHOSTUIFLAG_SCROLL_NO*/;
|
||||||
pInfo->dwDoubleClick = DOCHOSTUIDBLCLK_DEFAULT;
|
pInfo->dwDoubleClick = DOCHOSTUIDBLCLK_DEFAULT;
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
@ -4,12 +4,22 @@
|
|||||||
|
|
||||||
launcher::launcher()
|
launcher::launcher()
|
||||||
{
|
{
|
||||||
this->create_settings_menu();
|
|
||||||
this->create_main_menu();
|
this->create_main_menu();
|
||||||
}
|
}
|
||||||
|
|
||||||
void launcher::create_main_menu()
|
void launcher::create_main_menu()
|
||||||
{
|
{
|
||||||
|
this->main_window_.register_callback("openUrl", [](html_frame::callback_params* params)
|
||||||
|
{
|
||||||
|
if (params->arguments.empty()) return;
|
||||||
|
|
||||||
|
const auto param = params->arguments[0];
|
||||||
|
if (!param.is_string()) return;
|
||||||
|
|
||||||
|
const auto url = param.get_string();
|
||||||
|
ShellExecuteA(nullptr, "open", url.data(), nullptr, nullptr, SW_SHOWNORMAL);
|
||||||
|
});
|
||||||
|
|
||||||
this->main_window_.register_callback("selectMode", [this](html_frame::callback_params* params)
|
this->main_window_.register_callback("selectMode", [this](html_frame::callback_params* params)
|
||||||
{
|
{
|
||||||
if (params->arguments.empty()) return;
|
if (params->arguments.empty()) return;
|
||||||
@ -24,11 +34,6 @@ void launcher::create_main_menu()
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this->main_window_.register_callback("showSettings", [this](html_frame::callback_params*)
|
|
||||||
{
|
|
||||||
this->settings_window_.show();
|
|
||||||
});
|
|
||||||
|
|
||||||
this->main_window_.set_callback(
|
this->main_window_.set_callback(
|
||||||
[](window* window, const UINT message, const WPARAM w_param, const LPARAM l_param) -> LRESULT
|
[](window* window, const UINT message, const WPARAM w_param, const LPARAM l_param) -> LRESULT
|
||||||
{
|
{
|
||||||
@ -40,29 +45,11 @@ void launcher::create_main_menu()
|
|||||||
return DefWindowProcA(*window, message, w_param, l_param);
|
return DefWindowProcA(*window, message, w_param, l_param);
|
||||||
});
|
});
|
||||||
|
|
||||||
this->main_window_.create("Open-IW5", 615, 300);
|
this->main_window_.create("Open-IW5", 750, 430);
|
||||||
this->main_window_.load_html(load_content(MENU_MAIN));
|
this->main_window_.load_html(load_content(MENU_MAIN));
|
||||||
this->main_window_.show();
|
this->main_window_.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
void launcher::create_settings_menu()
|
|
||||||
{
|
|
||||||
this->settings_window_.set_callback(
|
|
||||||
[](window* window, const UINT message, const WPARAM w_param, const LPARAM l_param) -> LRESULT
|
|
||||||
{
|
|
||||||
if (message == WM_CLOSE)
|
|
||||||
{
|
|
||||||
window->hide();
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return DefWindowProcA(*window, message, w_param, l_param);
|
|
||||||
});
|
|
||||||
|
|
||||||
this->settings_window_.create("Open-IW5 Settings", 400, 200, WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU);
|
|
||||||
this->settings_window_.load_html(load_content(MENU_SETTINGS));
|
|
||||||
}
|
|
||||||
|
|
||||||
launcher::mode launcher::run() const
|
launcher::mode launcher::run() const
|
||||||
{
|
{
|
||||||
window::run();
|
window::run();
|
||||||
@ -72,7 +59,6 @@ launcher::mode launcher::run() const
|
|||||||
void launcher::select_mode(const mode mode)
|
void launcher::select_mode(const mode mode)
|
||||||
{
|
{
|
||||||
this->mode_ = mode;
|
this->mode_ = mode;
|
||||||
this->settings_window_.close();
|
|
||||||
this->main_window_.close();
|
this->main_window_.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,12 +20,10 @@ private:
|
|||||||
mode mode_ = none;
|
mode mode_ = none;
|
||||||
|
|
||||||
html_window main_window_;
|
html_window main_window_;
|
||||||
html_window settings_window_;
|
|
||||||
|
|
||||||
void select_mode(mode mode);
|
void select_mode(mode mode);
|
||||||
|
|
||||||
void create_main_menu();
|
void create_main_menu();
|
||||||
void create_settings_menu();
|
|
||||||
|
|
||||||
static std::string load_content(int res);
|
static std::string load_content(int res);
|
||||||
};
|
};
|
||||||
|
@ -13,4 +13,3 @@
|
|||||||
#define DW_IOTD_IMG 309
|
#define DW_IOTD_IMG 309
|
||||||
|
|
||||||
#define MENU_MAIN 310
|
#define MENU_MAIN 310
|
||||||
#define MENU_SETTINGS 311
|
|
||||||
|
@ -97,7 +97,6 @@ DW_IOTD_TXT RCDATA "resources/dw/iotd-english.txt"
|
|||||||
DW_IOTD_IMG RCDATA "resources/dw/iotd-english.jpg"
|
DW_IOTD_IMG RCDATA "resources/dw/iotd-english.jpg"
|
||||||
|
|
||||||
MENU_MAIN RCDATA "resources/main.html"
|
MENU_MAIN RCDATA "resources/main.html"
|
||||||
MENU_SETTINGS RCDATA "resources/settings.html"
|
|
||||||
|
|
||||||
|
|
||||||
#endif // English (United States) resources
|
#endif // English (United States) resources
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1,44 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
|
|
||||||
<title>Open-IW5 Settings</title>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
* {
|
|
||||||
user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
html,
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
background-color: #2D2D2D;
|
|
||||||
color: white;
|
|
||||||
|
|
||||||
font-family: "Segoe UI Light", "Segoe UI", "Lucida Sans", Arial, sans-serif;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: lighter;
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div class="content">
|
|
||||||
<h3>No settings, yet!</h3>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
Loading…
Reference in New Issue
Block a user