(Win32) Implement browser window
This commit is contained in:
parent
4481486071
commit
50a2091cc6
|
@ -506,24 +506,28 @@ static bool win32_browser(
|
||||||
const char *title,
|
const char *title,
|
||||||
const char *initial_dir)
|
const char *initial_dir)
|
||||||
{
|
{
|
||||||
OPENFILENAME ofn;
|
bool result = false;
|
||||||
|
const ui_browser_window_t *browser = ui_companion_driver_get_browser_window_ptr();
|
||||||
|
|
||||||
memset((void*)&ofn, 0, sizeof(OPENFILENAME));
|
if (browser)
|
||||||
|
{
|
||||||
|
ui_browser_window_state_t browser_state;
|
||||||
|
|
||||||
ofn.lStructSize = sizeof(OPENFILENAME);
|
browser_state.filters = strdup(extensions);
|
||||||
ofn.hwndOwner = owner;
|
browser_state.title = strdup(title);
|
||||||
ofn.lpstrFilter = extensions;
|
browser_state.startdir = strdup(initial_dir);
|
||||||
ofn.lpstrFile = filename;
|
browser_state.path = strdup(filename);
|
||||||
ofn.lpstrTitle = title;
|
browser_state.window = owner;
|
||||||
ofn.lpstrInitialDir = TEXT(initial_dir);
|
|
||||||
ofn.lpstrDefExt = "";
|
|
||||||
ofn.nMaxFile = PATH_MAX;
|
|
||||||
ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_NOCHANGEDIR;
|
|
||||||
|
|
||||||
if (!GetOpenFileName(&ofn))
|
result = browser->open(&browser_state);
|
||||||
return false;
|
|
||||||
|
|
||||||
return true;
|
free(browser_state.filters);
|
||||||
|
free(browser_state.title);
|
||||||
|
free(browser_state.startdir);
|
||||||
|
free(browser_state.path);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
LRESULT win32_menu_loop(HWND owner, WPARAM wparam)
|
LRESULT win32_menu_loop(HWND owner, WPARAM wparam)
|
||||||
|
|
|
@ -25,7 +25,24 @@
|
||||||
|
|
||||||
static bool ui_browser_window_win32_open(ui_browser_window_state_t *state)
|
static bool ui_browser_window_win32_open(ui_browser_window_state_t *state)
|
||||||
{
|
{
|
||||||
return false;
|
OPENFILENAME ofn;
|
||||||
|
|
||||||
|
memset((void*)&ofn, 0, sizeof(OPENFILENAME));
|
||||||
|
|
||||||
|
ofn.lStructSize = sizeof(OPENFILENAME);
|
||||||
|
ofn.hwndOwner = (HWND)state->window;
|
||||||
|
ofn.lpstrFilter = state->filters;
|
||||||
|
ofn.lpstrFile = state->path;
|
||||||
|
ofn.lpstrTitle = state->title;
|
||||||
|
ofn.lpstrInitialDir = state->startdir;
|
||||||
|
ofn.lpstrDefExt = "";
|
||||||
|
ofn.nMaxFile = PATH_MAX;
|
||||||
|
ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_NOCHANGEDIR;
|
||||||
|
|
||||||
|
if (!GetOpenFileName(&ofn))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool ui_browser_window_win32_save(ui_browser_window_state_t *state)
|
static bool ui_browser_window_win32_save(ui_browser_window_state_t *state)
|
||||||
|
|
Loading…
Reference in New Issue