5
* Marco van den Heuvel <blackystardust68@yahoo.com>
7
* This file is part of VICE, the Versatile Commodore Emulator.
8
* See README for copyright notice.
10
* This program is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation; either version 2 of the License, or
13
* (at your option) any later version.
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
20
* You should have received a copy of the GNU General Public License
21
* along with this program; if not, write to the Free Software
22
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
29
#define _INLINE_MUIMASTER_H
33
#include "uiautostart.h"
35
#include "translate.h"
37
static video_canvas_t *autostart_canvas;
39
static int ui_autostart_enable_translate[] = {
45
static char *ui_autostart_enable[countof(ui_autostart_enable_translate)];
47
static const int ui_autostart_enable_values[] = {
53
static int ui_autostart_mode_translate[] = {
54
IDS_AUTOSTART_VIRTUAL_FS,
60
static char *ui_autostart_mode[countof(ui_autostart_mode_translate)];
62
static const int ui_autostart_mode_values[] = {
69
static ui_to_from_t ui_to_from[] = {
70
{ NULL, MUI_TYPE_CYCLE, "AutostartWarp", ui_autostart_enable, ui_autostart_enable_values },
71
{ NULL, MUI_TYPE_CYCLE, "AutostartRunWithColon", ui_autostart_enable, ui_autostart_enable_values },
72
{ NULL, MUI_TYPE_CYCLE, "AutostartPrgMode", ui_autostart_mode, ui_autostart_mode_values },
73
{ NULL, MUI_TYPE_FILENAME, "AutostartPrgDiskImage", NULL, NULL },
74
UI_END /* mandatory */
77
static ULONG Browse(struct Hook *hook, Object *obj, APTR arg)
81
fname = BrowseFile(translate_text(IDS_AUTOSTART_DISK_IMAGE_SELECT), "#?", autostart_canvas);
84
set(ui_to_from[3].object, MUIA_String_Contents, fname);
90
static APTR build_gui(void)
92
APTR app, ui, ok, browse_button, cancel;
95
static const struct Hook BrowseFileHook = { { NULL, NULL }, (VOID *)HookEntry, (VOID *)Browse, NULL };
97
static const struct Hook BrowseFileHook = { { NULL, NULL }, (VOID *)Browse, NULL, NULL };
103
CYCLE(ui_to_from[0].object, translate_text(IDS_WARP_ON_AUTOSTART), ui_autostart_enable)
104
CYCLE(ui_to_from[1].object, translate_text(IDS_RUN_WITH_COLON), ui_autostart_enable)
105
CYCLE(ui_to_from[2].object, translate_text(IDS_AUTOSTART_PRG_MODE), ui_autostart_mode)
106
FILENAME(ui_to_from[3].object, translate_text(IDS_AUTOSTART_DISK_IMAGE_FILENAME), browse_button)
111
DoMethod(cancel, MUIM_Notify, MUIA_Pressed, FALSE,
112
app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
114
DoMethod(ok, MUIM_Notify, MUIA_Pressed, FALSE,
115
app, 2, MUIM_Application_ReturnID, BTN_OK);
117
DoMethod(browse_button, MUIM_Notify, MUIA_Pressed, FALSE,
118
app, 2, MUIM_CallHook, &BrowseFileHook);
124
void ui_autostart_settings_dialog(video_canvas_t *canvas)
128
autostart_canvas = canvas;
129
intl_convert_mui_table(ui_autostart_enable_translate, ui_autostart_enable);
130
intl_convert_mui_table(ui_autostart_mode_translate, ui_autostart_mode);
132
window = mui_make_simple_window(build_gui(), translate_text(IDS_AUTOSTART_SETTINGS));
134
if (window != NULL) {
135
mui_add_window(window);
136
ui_get_to(ui_to_from);
137
set(window, MUIA_Window_Open, TRUE);
138
if (mui_run() == BTN_OK) {
139
ui_get_from(ui_to_from);
141
set(window, MUIA_Window_Open, FALSE);
142
mui_rem_window(window);
143
MUI_DisposeObject(window);