feat(modulo): return result from Wizard
This commit is contained in:
parent
ce3a1c456c
commit
7e09fe769b
|
@ -170,7 +170,7 @@ extern "C" {
|
|||
pub(crate) fn update_items(app: *const c_void, items: *const SearchItem, itemCount: c_int);
|
||||
|
||||
// WIZARD
|
||||
pub(crate) fn interop_show_wizard(metadata: *const WizardMetadata);
|
||||
pub(crate) fn interop_show_wizard(metadata: *const WizardMetadata) -> c_int;
|
||||
|
||||
// WELCOME
|
||||
pub(crate) fn interop_show_welcome(metadata: *const WelcomeMetadata);
|
||||
|
|
|
@ -27,7 +27,7 @@ lazy_static! {
|
|||
static ref HANDLERS: Mutex<Option<WizardHandlers>> = Mutex::new(None);
|
||||
}
|
||||
|
||||
pub fn show(options: WizardOptions) {
|
||||
pub fn show(options: WizardOptions) -> bool {
|
||||
let c_version = CString::new(options.version).expect("unable to convert version to CString");
|
||||
|
||||
let (_c_window_icon_path, c_window_icon_path_ptr) =
|
||||
|
@ -179,7 +179,9 @@ pub fn show(options: WizardOptions) {
|
|||
on_completed,
|
||||
};
|
||||
|
||||
unsafe {
|
||||
super::interop::interop_show_wizard(&wizard_metadata);
|
||||
}
|
||||
let successful = unsafe {
|
||||
super::interop::interop_show_wizard(&wizard_metadata)
|
||||
};
|
||||
|
||||
if successful == 1 { true } else { false }
|
||||
}
|
|
@ -36,6 +36,7 @@ const int ACCESSIBILITY_PAGE_INDEX = ADD_PATH_PAGE_INDEX + 1;
|
|||
const int MAX_PAGE_INDEX = ACCESSIBILITY_PAGE_INDEX + 1; // Update if a new page is added at the end
|
||||
|
||||
WizardMetadata *metadata = nullptr;
|
||||
int completed_successfully = 0;
|
||||
|
||||
// App Code
|
||||
|
||||
|
@ -159,6 +160,7 @@ void DerivedFrame::navigate_to_next_page_or_close()
|
|||
{
|
||||
if (metadata->on_completed) {
|
||||
metadata->on_completed();
|
||||
completed_successfully = 1;
|
||||
}
|
||||
|
||||
Close(true);
|
||||
|
@ -319,7 +321,7 @@ bool WizardApp::OnInit()
|
|||
return true;
|
||||
}
|
||||
|
||||
extern "C" void interop_show_wizard(WizardMetadata *_metadata)
|
||||
extern "C" int interop_show_wizard(WizardMetadata *_metadata)
|
||||
{
|
||||
// Setup high DPI support on Windows
|
||||
#ifdef __WXMSW__
|
||||
|
@ -331,4 +333,6 @@ extern "C" void interop_show_wizard(WizardMetadata *_metadata)
|
|||
wxApp::SetInstance(new WizardApp());
|
||||
int argc = 0;
|
||||
wxEntry(argc, (char **)nullptr);
|
||||
|
||||
return completed_successfully;
|
||||
}
|
Loading…
Reference in New Issue
Block a user