[ui] Add auto-mount on first launch functionality #52
This commit is contained in:
@@ -247,6 +247,7 @@ void mgmt_app_config::set_auto_start(bool auto_start) {
|
|||||||
utils::shortcut_cfg cfg{};
|
utils::shortcut_cfg cfg{};
|
||||||
cfg.arguments = {L"-ui", L"-lo"};
|
cfg.arguments = {L"-ui", L"-lo"};
|
||||||
cfg.exe_path = utils::path::combine(L".", {L"repertory"});
|
cfg.exe_path = utils::path::combine(L".", {L"repertory"});
|
||||||
|
cfg.icon_path = utils::path::combine(".", {"icon.ico"});
|
||||||
cfg.location = utils::path::absolute(L".");
|
cfg.location = utils::path::absolute(L".");
|
||||||
cfg.shortcut_name = L"repertory";
|
cfg.shortcut_name = L"repertory";
|
||||||
if (utils::create_shortcut(cfg, false)) {
|
if (utils::create_shortcut(cfg, false)) {
|
||||||
|
@@ -45,6 +45,7 @@ void free_console();
|
|||||||
struct shortcut_cfg final {
|
struct shortcut_cfg final {
|
||||||
std::wstring arguments;
|
std::wstring arguments;
|
||||||
std::wstring exe_path;
|
std::wstring exe_path;
|
||||||
|
std::wstring icon_path;
|
||||||
std::wstring location{get_startup_folder()};
|
std::wstring location{get_startup_folder()};
|
||||||
std::wstring shortcut_name;
|
std::wstring shortcut_name;
|
||||||
std::wstring working_directory;
|
std::wstring working_directory;
|
||||||
|
@@ -242,6 +242,17 @@ auto create_shortcut(const shortcut_cfg &cfg, bool overwrite_existing) -> bool {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (not cfg.icon_path.empty()) {
|
||||||
|
result = psl->SetIconLocation(cfg.icon_path.c_str(), 0);
|
||||||
|
if (FAILED(result)) {
|
||||||
|
utils::error::handle_error(
|
||||||
|
function_name,
|
||||||
|
std::string("IShellLink::SetIconLocation failed: ") + hr_hex(result));
|
||||||
|
psl->Release();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (not utils::file::file{lnk_path}.remove()) {
|
if (not utils::file::file{lnk_path}.remove()) {
|
||||||
utils::error::handle_error(function_name,
|
utils::error::handle_error(function_name,
|
||||||
"failed to remove existing shortcut|path|" +
|
"failed to remove existing shortcut|path|" +
|
||||||
|
Reference in New Issue
Block a user