2007-06-02 Matthew Barnes * NEWS: Update for 0.1.4. * src/gva-xmame.c: * src/gva-xmame.h: Rename gva_xmame_has_xxx() to gva_xmame_supports_xxx(). * src/gva-xmame.c (gva_xmame_run_game), (gva_xmame_record_game), (gva_xmame_playback_game): Build the argument list with a GString and only use "-[no]autosave" and "-[no]fullscreen" options if they're supported. * src/gva-preferences.c (gva_preferences_init): Adapt. * src/gva-process.c (gva_process_new): Set the encoding of all three channels to NULL. 2007-06-02 Matthew Barnes * src/gva-preferences.c (gva_preferences_init): Make the "auto-save" and "full-screen" actions insensitive if xmame does not support the corresponding options. * src/gva-xmame.c (gva_xmame_has_config_value): New function returns TRUE if xmame supports the given option name. * src/gva-xmame.c (gva_xmame_has_auto_save), (gva_xmame_has_full_screen): New functions use gva_xmame_has_config_value() to test for xmame's capabilities. 2007-05-30 Matthew Barnes * data/gnome-video-arcade.glade: Restructure the preferences window. * data/gnome-video-arcade.schemas: Add schemas for "auto-save" and "full-screen" keys. * src/gva-common.h: #include * src/main.c (main): Set a default icon for transient windows. * src/gva-preferences.c: * src/gva-preferences.h: Connect preference widgets to actions. Provide read/write access to preferences. * src/gva-ui.c: Add "auto-save" and "full-screen" toggle actions. * src/gva-ui.h: Add macros for new actions and their proxy widgets. * src/gva-xmame.c (gva_xmame_run_game), (gva_xmame_record_game), (gva_xmame_playback_game): Honor preferences when invoking xmame. * src/gva-xmame.c (gva_xmame_clear_state): New function deletes a game's state file. 2007-05-29 Matthew Barnes * data/gnome-video-arcade.glade: Initial design of a preferences window. * data/gnome-video-arcade.ui: Add Edit menu with a Preferences item. * src/Makefile.am: Add gva-preferences.[ch]. * src/gva-common.h: Add key names for preferences. * src/gva-preferences.c: * src/gva-preferences.h: New source files implement the preferences window. Preferences don't work yet. * src/main.c (main): Call gva_preferences_init(). * src/gva-ui.h: Add macros for some preferences widgets. * src/gva-ui.c: Add "edit-menu" and "preferences" actions. * src/gva-xmame.c (xmame_post_game_analysis): Don't refer to self by name in error messages. 2007-05-28 Matthew Barnes * data/Makefile.am: Fix up schema installation rules. * data/gnome-video-arcade.schema: Add missing schema for "selected-view" key. 2007-05-28 Matthew Barnes * src/gva-process.h: * src/gva-process.c: Combine callback typedefs into one (GvaProcessNotify). * src/gva-process.c (gva_process_new): Make stdout and stderr buffers non-blocking. Add a GError parameter. * src/gva-process.c (process_data_ready): Read data into a 4K buffer instead of one line at a time. * src/gva-xmame.c: * src/gva-xmame.h: Adapt. 2007-05-28 Matthew Barnes * src/Makefile.am: Add gva-process.[ch]. * src/gva-process.c: * src/gva-process.h: New source files provide a simple process abstraction. * src/gva-xmame.c: * src/gva-xmame.h: Reimplement the API using GvaProcess. Add gva_xmame_async_command() for asynchronous commands. Make functions that run/record/playback games asynchronous. 2007-05-26 Matthew Barnes * src/gva-main.c: * src/gva-main.h: * src/gva-ui.c: Move menu item tooltip handling to gva-main.c. * data/gnome-video-arcade.glade * src/gva-ui.c: Make menu and button tooltips consistent.