Gtk3 Threaded UI: Difference between revisions
Jump to navigation
Jump to search
(Add fliplist menu items) |
(Add datasette menu items) |
||
Line 93: | Line 93: | ||
|[https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/arch/gtk3/uifliplist.c uifliplist.c] | |[https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/arch/gtk3/uifliplist.c uifliplist.c] | ||
|ui_fliplist_save_callback() | |ui_fliplist_save_callback() | ||
|needs checking | |||
| | |||
|- | |||
|File → Attach tape image | |||
|Alt+T | |||
|[https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/arch/gtk3/uitapeattach.c uitapeattach.c] | |||
|ui_tape_attach_callback() | |||
|needs checking | |||
| | |||
|- | |||
|File → Create and attach an empty tape image | |||
| | |||
|[https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/arch/gtk3/uitapecreate.c uitapecreate.c] | |||
|uitape_create_dialog_show() | |||
|needs checking | |||
| | |||
|- | |||
|File → Detach tape image | |||
| | |||
|[https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/arch/gtk3/uitapeattach.c uitapeattach.c] | |||
|ui_tape_detach_callback() | |||
|needs checking | |||
| | |||
|- | |||
|File → Datasette controls → Stop | |||
| | |||
|[https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/arch/gtk3/uidatasette.c uidatasette.c] | |||
|ui_datasette_tape_action_cb() | |||
|needs checking | |||
| | |||
|- | |||
|File → Datasette controls → Start | |||
| | |||
|[https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/arch/gtk3/uidatasette.c uidatasette.c] | |||
|ui_datasette_tape_action_cb() | |||
|needs checking | |||
| | |||
|- | |||
|File → Datasette controls → Forward | |||
| | |||
|[https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/arch/gtk3/uidatasette.c uidatasette.c] | |||
|ui_datasette_tape_action_cb() | |||
|needs checking | |||
| | |||
|- | |||
|File → Datasette controls → Rewind | |||
| | |||
|[https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/arch/gtk3/uidatasette.c uidatasette.c] | |||
|ui_datasette_tape_action_cb() | |||
|needs checking | |||
| | |||
|- | |||
|File → Datasette controls → Record | |||
| | |||
|[https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/arch/gtk3/uidatasette.c uidatasette.c] | |||
|ui_datasette_tape_action_cb() | |||
|needs checking | |||
| | |||
|- | |||
|File → Datasette controls → Reset | |||
| | |||
|[https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/arch/gtk3/uidatasette.c uidatasette.c] | |||
|ui_datasette_tape_action_cb() | |||
|needs checking | |||
| | |||
|- | |||
|File → Datasette controls → Reset Counter | |||
| | |||
|[https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/arch/gtk3/uidatasette.c uidatasette.c] | |||
|ui_datasette_tape_action_cb() | |||
|needs checking | |needs checking | ||
| | | | ||
|- | |- | ||
|} | |} |
Revision as of 22:58, 20 July 2020
Introduction
This page is meant to track our work on refactoring the Gtk3 UI to properly work with the awesome work done by DQH, solving a lot of issues with rendering and sound synchronisation (the infamous "ruckeln") by using threading to have the emulation take precedence over the UI. The main dialogs (attach disk, open and use the setting dialog, etc) have already been refactored, but a lot of dialogs/popup menus and statusbar widgets remain.
Using the new threaded code
- Best filled in by DQH, I think :)
UI elements to to check and refactor
This table contains a list of menu actions/dialogs reachable via the main menu. Unless otherwise noted, the "source file" column contains the filename with src/arch/gtk3
stripped off. The keyboard shortcuts are taken from the Linux port, so they might be off for at least MacOS.
menu item | shortcut | source file | function | status | remarks |
---|---|---|---|---|---|
File → Smart attach disk/tape/cartridge | Alt+A | uismartattach.c | create_smart_attach_dialog() | OK | |
File → Attach disk image → Drive #[8-11] | Alt+[8-11] | uidiskattach.c | create_disk_attach_dialog() | OK | |
File → Create and attach an empty disk image | uidiskcreate.c | uidiskcreate_dialog_show() | needs checking | ||
File → Detach disk image → Drive #[8:0 .. 11:1] | Crtl+Alt+[8-11] | uidiskattach.c | ui_disk_detach_callback() | needs checking | No shortcuts for second drive, perhaps Ctrl+Alt+Shift+[8-11]? |
File → Detach disk image → Detach all | uidiskattach.c | ui_disk_detach_all_callback() | needs checking | ||
File → Flip list → Add current image (Unit #8) | Alt+I | uifliplist.c | ui_fliplist_add_current_cb() | needs checking | |
File → Flip list → Remove current image (Unit #8) | Alt+K | uifliplist.c | ui_fliplist_remove_current_cb() | needs checking | |
File → Flip list → Attach next image (Unit #8) | Alt+N | uifliplist.c | ui_fliplist_next_cb() | needs checking | |
File → Flip list → Attach previous image (Unit #8) | Alt+Shift+N | uifliplist.c | ui_fliplist_remove_prev_cb() | needs checking | |
File → Flip list → Load flip list file | uifliplist.c | ui_fliplist_load_callback() | needs checking | ||
File → Flip list → Save flip list file | uifliplist.c | ui_fliplist_save_callback() | needs checking | ||
File → Attach tape image | Alt+T | uitapeattach.c | ui_tape_attach_callback() | needs checking | |
File → Create and attach an empty tape image | uitapecreate.c | uitape_create_dialog_show() | needs checking | ||
File → Detach tape image | uitapeattach.c | ui_tape_detach_callback() | needs checking | ||
File → Datasette controls → Stop | uidatasette.c | ui_datasette_tape_action_cb() | needs checking | ||
File → Datasette controls → Start | uidatasette.c | ui_datasette_tape_action_cb() | needs checking | ||
File → Datasette controls → Forward | uidatasette.c | ui_datasette_tape_action_cb() | needs checking | ||
File → Datasette controls → Rewind | uidatasette.c | ui_datasette_tape_action_cb() | needs checking | ||
File → Datasette controls → Record | uidatasette.c | ui_datasette_tape_action_cb() | needs checking | ||
File → Datasette controls → Reset | uidatasette.c | ui_datasette_tape_action_cb() | needs checking | ||
File → Datasette controls → Reset Counter | uidatasette.c | ui_datasette_tape_action_cb() | needs checking |