From ce44b8638fd867d81816cb7100cede73ec00c96a Mon Sep 17 00:00:00 2001 From: David Kocik Date: Thu, 8 Aug 2024 15:21:54 +0200 Subject: [PATCH] Open external browser for login --- src/slic3r/GUI/Plater.cpp | 13 +++++++++++-- src/slic3r/GUI/UserAccountCommunication.cpp | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 9c70d60074..5c029495a4 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -876,12 +876,20 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) }); this->q->Bind(EVT_OPEN_PRUSAAUTH, [this](OpenPrusaAuthEvent& evt) { BOOST_LOG_TRIVIAL(info) << "open login browser: " << evt.data; + /* std::string dialog_msg; LoginWebViewDialog dialog(this->q, dialog_msg, evt.data); if (dialog.ShowModal() != wxID_OK) { return; } user_account->on_login_code_recieved(dialog_msg); + */ + DownloaderUtils::Worker::perform_register(wxGetApp().app_config->get("url_downloader_dest")); + #ifdef __linux__ + if (DownloaderUtils::Worker::perform_registration_linux) + DesktopIntegrationDialog::perform_downloader_desktop_integration(); + #endif // __linux__ + wxGetApp().open_login_browser_with_dialog(evt.data); }); this->q->Bind(EVT_UA_LOGGEDOUT, [this](UserAccountSuccessEvent& evt) { @@ -895,9 +903,10 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) sidebar->update_printer_presets_combobox(); wxGetApp().update_wizard_login_page(); this->show_action_buttons(this->ready_to_slice); - - LogoutWebViewDialog dlg(this->q); + // Needed only when using internal web browser to login (which is case of config wizard) + LogoutWebViewDialog dlg(this->q); dlg.ShowModal(); + // }); this->q->Bind(EVT_UA_ID_USER_SUCCESS, [this](UserAccountSuccessEvent& evt) { diff --git a/src/slic3r/GUI/UserAccountCommunication.cpp b/src/slic3r/GUI/UserAccountCommunication.cpp index 0a7f261755..9f7b356f7f 100644 --- a/src/slic3r/GUI/UserAccountCommunication.cpp +++ b/src/slic3r/GUI/UserAccountCommunication.cpp @@ -334,7 +334,7 @@ wxString UserAccountCommunication::get_login_redirect_url() { BOOST_LOG_TRIVIAL(info) << "code verifier: " << m_code_verifier; BOOST_LOG_TRIVIAL(info) << "code challenge: " << code_challenge; - wxString url = GUI::format_wxstr(L"%1%/o/authorize/?embed=1&client_id=%2%&response_type=code&code_challenge=%3%&code_challenge_method=S256&scope=basic_info&redirect_uri=%4%&language=%5%", AUTH_HOST, CLIENT_ID, code_challenge, REDIRECT_URI, language); + wxString url = GUI::format_wxstr(L"%1%/o/authorize/?client_id=%2%&response_type=code&code_challenge=%3%&code_challenge_method=S256&scope=basic_info&redirect_uri=%4%&language=%5%&choose_account=1", AUTH_HOST, CLIENT_ID, code_challenge, REDIRECT_URI, language); return url; }