P. F. Chimento [Wed, 22 Jun 2011 17:59:31 +0000 (19:59 +0200)]
Open game as a method of ChimaraApp
Maintain a list of opened games
P. F. Chimento [Tue, 21 Jun 2011 21:30:31 +0000 (23:30 +0200)]
Quit program when browser window is closed
P. F. Chimento [Tue, 21 Jun 2011 21:06:40 +0000 (23:06 +0200)]
General code cleanup
...and added copyright notices
P. F. Chimento [Tue, 21 Jun 2011 20:26:18 +0000 (22:26 +0200)]
Avoid duplicating code
Move GtkBuilder and UI manager code into util.c; this now handles
looking for the proper location of the files depending on whether
DEBUG is defined or not.
P. F. Chimento [Tue, 21 Jun 2011 15:48:31 +0000 (17:48 +0200)]
Remove conditional compilation of recent files
...and split chimara.menus into menus files for browser and player
windows. The conditional compilation can be removed because the bug on
OS X for which we introduced it doesn't exist anymore.
P. F. Chimento [Tue, 21 Jun 2011 15:43:07 +0000 (17:43 +0200)]
Implement empty browser window
P. F. Chimento [Tue, 21 Jun 2011 07:34:25 +0000 (09:34 +0200)]
Add skeleton ChimaraBrowser class
P. F. Chimento [Tue, 21 Jun 2011 07:24:22 +0000 (09:24 +0200)]
Get GUI mostly working again
Add the window properties to the initializers, properly construct the
windows from the Glade file
P. F. Chimento [Sun, 19 Jun 2011 02:10:29 +0000 (04:10 +0200)]
ChimaraPrefs class, split up callbacks.c
P. F. Chimento [Sun, 19 Jun 2011 01:33:38 +0000 (03:33 +0200)]
Made ChimaraApp class
To do: ChimaraPreferences, ChimaraBrowser
P. F. Chimento [Sun, 19 Jun 2011 00:10:26 +0000 (02:10 +0200)]
Made ChimaraPlayer class
Marijn van Vliet [Sat, 18 Jun 2011 20:55:23 +0000 (22:55 +0200)]
Merge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara
Marijn van Vliet [Sat, 18 Jun 2011 20:55:12 +0000 (22:55 +0200)]
When the cursor is not on the input prompt, return it there when the user start typing a command.
P. F. Chimento [Sat, 18 Jun 2011 20:45:11 +0000 (22:45 +0200)]
Keep an EOF mark for memory streams
Seeking to seekmode_End in a memory stream should move relative to
the last written position in the buffer, not the end of the memory
buffer. This brings the behavior of memory streams into line with
what would happen in a file stream.
Fixes #30.
P. F. Chimento [Sat, 18 Jun 2011 19:59:33 +0000 (21:59 +0200)]
Fix obscure C stdio bug
You cannot switch between reading and writing a file stream without a
call to fseek() in between. This borrows Andrew Plotkin's solution of
keeping track of what the last operation was and switching if
necessary.
Fixes #34, together with [
743391de].
P. F. Chimento [Sat, 18 Jun 2011 19:19:02 +0000 (21:19 +0200)]
Add tests for fseek problem
P. F. Chimento [Sat, 18 Jun 2011 19:18:46 +0000 (21:18 +0200)]
Avoid const string allocation/free
P. F. Chimento [Sat, 18 Jun 2011 19:16:57 +0000 (21:16 +0200)]
C stdio trickery for read/write mode
As pointed out in the new version of the Glk spec, when opening a file
for appending, you cannot seek in it. We must open the file for
appending, to make sure it is created, then close it and reopen it
for read/writing.
Fixes part of #34.
P. F. Chimento [Sat, 18 Jun 2011 19:16:26 +0000 (21:16 +0200)]
Eliminate warning in plugin-loader
P. F. Chimento [Sat, 18 Jun 2011 16:51:57 +0000 (18:51 +0200)]
Fix read count of glk_get_line_stream(_uni)
Newline was not included in read count. Fixes #29
P. F. Chimento [Sat, 18 Jun 2011 16:32:31 +0000 (18:32 +0200)]
Fixed documentation typo
Marijn van Vliet [Sat, 18 Jun 2011 16:44:45 +0000 (18:44 +0200)]
Nicer default color for textgrids
Marijn van Vliet [Sat, 18 Jun 2011 16:44:19 +0000 (18:44 +0200)]
Fixed #31
Marijn van Vliet [Sat, 18 Jun 2011 16:15:39 +0000 (18:15 +0200)]
Removed some debug output
Marijn van Vliet [Sat, 18 Jun 2011 16:12:23 +0000 (18:12 +0200)]
Merge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara
Marijn van Vliet [Sat, 18 Jun 2011 16:12:14 +0000 (18:12 +0200)]
Fixed #20
P. F. Chimento [Sat, 18 Jun 2011 14:10:22 +0000 (16:10 +0200)]
Fix accelerator keys
Marijn van Vliet [Sat, 18 Jun 2011 13:22:31 +0000 (15:22 +0200)]
Merge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara
Marijn van Vliet [Sat, 18 Jun 2011 13:22:15 +0000 (15:22 +0200)]
Fixed setting of proportional font in textgrids. Fixed text tag priorities, ticket #32
P. F. Chimento [Sat, 18 Jun 2011 13:03:43 +0000 (15:03 +0200)]
Avoid code duplication
Marijn van Vliet [Sat, 18 Jun 2011 10:22:57 +0000 (12:22 +0200)]
fixed glk_request_mouse_event to only generate one mouse event. When
another mouse event is desired, glk_request_mouse_event must be called
again.
P. F. Chimento [Mon, 13 Jun 2011 21:31:32 +0000 (23:31 +0200)]
Don't need to mkdir m4 anymore
...because it's now in git
P. F. Chimento [Mon, 13 Jun 2011 12:59:54 +0000 (14:59 +0200)]
Add non-generated Vala binding
P. F. Chimento [Mon, 13 Jun 2011 12:27:55 +0000 (14:27 +0200)]
Add destroy notify parameter...
...to resource load callback. This is for making APIs for programming
languages where resources are managed automatically.
P. F. Chimento [Mon, 13 Jun 2011 12:18:17 +0000 (14:18 +0200)]
Add introspection annotations
P. F. Chimento [Mon, 13 Jun 2011 12:17:28 +0000 (14:17 +0200)]
Add introspection to build process
So that the build generates a GObject Introspection Repository from
which we can automatically generate bindings for other programming
languages!
P. F. Chimento [Mon, 13 Jun 2011 11:50:21 +0000 (13:50 +0200)]
Update libtool invocation in configure
P. F. Chimento [Wed, 8 Jun 2011 20:46:32 +0000 (22:46 +0200)]
Enable automatic generation of .gitignore
Using git.mk in toplevel dir
Marijn van Vliet [Sun, 5 Jun 2011 18:51:17 +0000 (20:51 +0200)]
Trying to apply correct styles when recalling history. See #32
P. F. Chimento [Sat, 7 May 2011 22:18:58 +0000 (00:18 +0200)]
Fix (most) UniCaseTest failures (fix #27)
Upper- or lowercasing Unicode strings is not possible by mapping one
character to one character in each case, in contradiction of what the
GLib functions g_unichar_tolower() and g_unichar_toupper() would seem
to suggest. The casing operations now operate on the whole string.
Unfortunately, this introduces a new bug, #28, since there is no
title-casing function in GLib that allows for the title-case of a
character to be longer than one character.
P. F. Chimento [Sat, 7 May 2011 21:18:40 +0000 (23:18 +0200)]
Fix glulxercise / glk unit test failures (fix #26)
In the "Glk" test in the Glulxercise suite, the evtype_None returned
from glk_select_poll() should have all its unused fields zeroed.
P. F. Chimento [Wed, 4 May 2011 15:03:21 +0000 (17:03 +0200)]
Update Glulxercise unit tests
...to Andrew Plotkin's latest version
P. F. Chimento [Sun, 1 May 2011 14:44:45 +0000 (16:44 +0200)]
Make use of more Automake silent rules
Add $(AM_V_GEN) to shut up Automake while generating some source
files.
P. F. Chimento [Sun, 1 May 2011 14:37:11 +0000 (16:37 +0200)]
Implement line terminators for text grids
This completes the 0.7.2 Glk specification, closing #2.
P. F. Chimento [Sun, 1 May 2011 14:30:21 +0000 (16:30 +0200)]
Fixed grid line input bug introduced in [9f52ac]
The window buffer of a text grid must be flushed before line input
begins; line input replaces part of the text with a widget (GtkEntry)
so if the buffer is flushed during, then it overwrites the widget,
deleting it, and causing a crash.
Marijn van Vliet [Wed, 27 Apr 2011 12:00:43 +0000 (14:00 +0200)]
Merge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara
Marijn van Vliet [Wed, 27 Apr 2011 11:59:50 +0000 (13:59 +0200)]
Added a useful dtrace script for listing all GLK calls made
P. F. Chimento [Tue, 26 Apr 2011 21:30:03 +0000 (23:30 +0200)]
Refinement of line terminators
Handle line terminator key being pressed when cursor is in the middle
of the input line
P. F. Chimento [Tue, 26 Apr 2011 21:05:35 +0000 (23:05 +0200)]
Line terminators in text buffer windows
P. F. Chimento [Mon, 25 Apr 2011 19:05:35 +0000 (21:05 +0200)]
Fix bug in line input echoing
Line echo status wasn't changed when requesting unicode line input
P. F. Chimento [Mon, 25 Apr 2011 19:04:18 +0000 (21:04 +0200)]
Minimum implementation of line terminators
The function works, but no keys are allowed as line terminators. Prints
a warning when ignoring disallowed line terminators.
P. F. Chimento [Thu, 21 Apr 2011 10:55:30 +0000 (12:55 +0200)]
Update docs for window borders
P. F. Chimento [Thu, 21 Apr 2011 10:13:03 +0000 (12:13 +0200)]
Implement border/noborder window flags
P. F. Chimento [Thu, 21 Apr 2011 09:52:16 +0000 (11:52 +0200)]
Don't fail on unrecognized split method
If glk_window_open() gets unrecognized bits in the method argument, it
should give a warning instead of failing to create the window.
P. F. Chimento [Wed, 20 Apr 2011 15:48:21 +0000 (17:48 +0200)]
Turn on window border in Glulxercise
To test the window border hints, window borders should be turned on
in Glulxercise.
P. F. Chimento [Wed, 20 Apr 2011 15:36:03 +0000 (17:36 +0200)]
Line input echo won't affect current request
When turning line input echoing on or off, the window's currently
active line input request should be unaffected, according to the spec.
P. F. Chimento [Wed, 20 Apr 2011 15:22:38 +0000 (17:22 +0200)]
Implement line input echoing
P. F. Chimento [Wed, 20 Apr 2011 15:22:00 +0000 (17:22 +0200)]
Distinguish input in Glulxercise
Make the input style blue in the Glulxercise tester
P. F. Chimento [Wed, 20 Apr 2011 15:20:47 +0000 (17:20 +0200)]
Add new Glk Unix extension from CheapGlk
There is a new function glkunix_stream_open_pathname_gen() that
supersedes glkunix_stream_open_pathname().
P. F. Chimento [Wed, 20 Apr 2011 11:57:10 +0000 (13:57 +0200)]
Implement unicode normalization
Unicode decomposition and normalization are now implemented.
P. F. Chimento [Wed, 20 Apr 2011 11:15:31 +0000 (13:15 +0200)]
Simplify gestalt checking code
P. F. Chimento [Wed, 20 Apr 2011 11:12:15 +0000 (13:12 +0200)]
Implemented date/time Glk functions
Mostly copied from Andrew Plotkin's CheapGlk implementation; should
be converted to use GDateTime (more portable) when it is feasible to
use GLib 2.26 on many platforms.
P. F. Chimento [Tue, 19 Apr 2011 21:18:23 +0000 (23:18 +0200)]
Updated Glulxercise unit tests to latest
Hmmm, not all of them pass.
P. F. Chimento [Tue, 19 Apr 2011 16:32:08 +0000 (18:32 +0200)]
Move the gestalt_DateTime selector documentation
All the gestalt selectors should be documented in the same chapter.
P. F. Chimento [Tue, 19 Apr 2011 16:26:29 +0000 (18:26 +0200)]
Fix program listing
P. F. Chimento [Tue, 19 Apr 2011 16:05:37 +0000 (18:05 +0200)]
Simplify include comments
Put include comments in chimara-sections.txt so they apply to a whole
group of sections instead of typing out the include files in each
section individually.
P. F. Chimento [Tue, 19 Apr 2011 15:49:52 +0000 (17:49 +0200)]
Document all incomplete symbols
Documentation is now fully complete!
P. F. Chimento [Sun, 17 Apr 2011 10:19:33 +0000 (12:19 +0200)]
Updated Gargoyle extensions and documentation
Brought garglk.h to the latest revision of the Gargoyle extensions to
Glk - removed garglk_set_line_terminators(), added
garglk_set_story_title(), and updated the documentation.
P. F. Chimento [Sun, 17 Apr 2011 10:18:04 +0000 (12:18 +0200)]
Update Gargoyle interpreters to r548
Frotz was the only interpreter with changes.
P. F. Chimento [Thu, 14 Apr 2011 21:32:27 +0000 (23:32 +0200)]
Updated documentation to match API 0.7.2
The Glk API documentation in Chimara now matches the official
documentation, although not everything considered necessary by
Gtk-Doc is documented. Stubs added for new functions.
P. F. Chimento [Thu, 14 Apr 2011 21:30:40 +0000 (23:30 +0200)]
Update to new Glk 0.7.2 code
Andrew Plotkin released new versions of glk.h, gi_dispa.c, and gi_dispa.h.
P. F. Chimento [Thu, 14 Apr 2011 21:25:15 +0000 (23:25 +0200)]
Misc Garglk extensions documenting
P. F. Chimento [Thu, 14 Apr 2011 21:24:22 +0000 (23:24 +0200)]
Misc documentation fixes
P. F. Chimento [Tue, 5 Apr 2011 19:37:09 +0000 (21:37 +0200)]
Get rid of compile warning in error.c
P. F. Chimento [Sun, 13 Mar 2011 19:36:56 +0000 (20:36 +0100)]
Set CSS file from preferences dialog
Now you can set a custom CSS file from the preferences dialog and it
will be remembered across runs of the program.
P. F. Chimento [Sun, 13 Mar 2011 19:35:55 +0000 (20:35 +0100)]
Fix null pointer bug
Fixed a null pointer access in chimara_glk_set_css_from_file() when
passing NULL as the error parameter.
P. F. Chimento [Sun, 13 Mar 2011 14:55:21 +0000 (15:55 +0100)]
Deactivate CSS editor for now
We should have the CSS editor controls grayed out until they actually do
something.
Philip Chimento [Sun, 13 Mar 2011 00:02:22 +0000 (01:02 +0100)]
Move construction to glade file
Do as much construction as possible in the glade file, instead of in
hand-written code. Removed use of GtkFixed widget.
P. F. Chimento [Sat, 12 Mar 2011 10:54:07 +0000 (11:54 +0100)]
Finished preferred interpreters list
You can now select which interpreter should load which format by default,
in the last page of the preferences window.
P. F. Chimento [Thu, 10 Mar 2011 21:45:19 +0000 (22:45 +0100)]
List all available formats in dialog
P. F. Chimento [Thu, 10 Mar 2011 21:26:53 +0000 (22:26 +0100)]
Dynamically generate list of interpreters
P. F. Chimento [Thu, 10 Mar 2011 21:11:34 +0000 (22:11 +0100)]
Implemented display names for interpreters
In preferred interpreters preferences
P. F. Chimento [Thu, 10 Mar 2011 06:56:52 +0000 (07:56 +0100)]
Working on preferred interpreters
P. F. Chimento [Thu, 10 Mar 2011 05:59:01 +0000 (06:59 +0100)]
Load preferred interpreters from preferences
Not editable yet, but that's the next step.
P. F. Chimento [Wed, 9 Mar 2011 22:01:00 +0000 (23:01 +0100)]
Update ignore properties
P. F. Chimento [Wed, 9 Mar 2011 21:58:11 +0000 (22:58 +0100)]
Use better dictionary syntax in schema file
Dictionaries can actually be entered using Python syntax. This is much
clearer than how it was done before.
Philip Chimento [Mon, 7 Mar 2011 21:36:22 +0000 (22:36 +0100)]
Fix RPM building
There was more broken with RPM building than just the GSettings schemas,
now it's fixed.
Philip Chimento [Mon, 7 Mar 2011 21:34:37 +0000 (22:34 +0100)]
Fix GSettings schema install (fix #18)
Debian building should work now, I'll test more thoroughly shortly.
Philip Chimento [Sun, 6 Mar 2011 21:43:51 +0000 (22:43 +0100)]
Add preference for graphics file directory
You can now set a preference for the default directory in which to look
for graphics resource files for older Infocom games. Unfortnately, these
resource files still mysteriously don't work, but it's a start.
Philip Chimento [Tue, 1 Mar 2011 21:01:54 +0000 (22:01 +0100)]
Use callbacks of style editing buttons
Instead of using the GtkActions I removed in the last commit
Philip Chimento [Tue, 1 Mar 2011 20:52:32 +0000 (21:52 +0100)]
Removed style actions from preferences dialog
The style actions aren't needed anymore, we should use callbacks, and
the functionality doesn't work yet anyway.
Philip Chimento [Tue, 1 Mar 2011 20:51:33 +0000 (21:51 +0100)]
Added new preferences and settings
Added some new widgets to the preferences dialog and some settings to go
with them.
Philip Chimento [Mon, 28 Feb 2011 00:51:53 +0000 (01:51 +0100)]
Add a View/Toolbar setting
A good setting to demonstrate one-way binding is the View/Toolbar
setting. When the menu item is switched on or off, we want to update the
setting, but not the other way around. This is so that when you have
multiple windows, turning the toolbar off in one doesn't turn the
toolbar off in the others, but when you open a new window, the toolbar
is shown or hidden depending on the last choice you made.
Philip Chimento [Sun, 27 Feb 2011 12:09:56 +0000 (13:09 +0100)]
Create configuration directory
On startup, the player application now creates a configuration
directory, ~/.chimara. The preferences file is ~/.chimara/config, unless
there is a file chimara-config in the current directory, in which case
it will be overridden.
Philip Chimento [Sun, 27 Feb 2011 11:49:48 +0000 (12:49 +0100)]
Add 'state' settings; add last opened path setting
The settings file now discriminates between 'preferences' settings,
which the user sets from the preferences dialog, and 'state' settings,
which are things remembered by the program.
As an example state setting, the program now remembers the last path a
game was opened from, and automatically starts the file chooser in that
path when opening a game.
Philip Chimento [Sun, 27 Feb 2011 09:13:28 +0000 (10:13 +0100)]
Properly install gschema file
Use the official autoconf and makefile rules for installing the gschema
file.
Philip Chimento [Sat, 26 Feb 2011 16:15:35 +0000 (17:15 +0100)]
Introduce preferences file
We now use a GSettings object with a custom backend that writes to a
configuration file, ~/.chimara. Right now there is only one example
setting, "flep". It's easy to bind the setting to a property of another
GObject, like the "active" property of a checkbox.
Still need to check how other GLib applications install the settings
file properly in their Makefile.am, and how to work with a default
configuration file such as /etc/chimara if the one in the home directory
is not present.
Philip Chimento [Wed, 16 Feb 2011 23:58:32 +0000 (00:58 +0100)]
Use internationalization header for libraries
Use <glib/gi18n-lib.h> instead of <glib/gi18n.h>.
Philip Chimento [Wed, 16 Feb 2011 23:55:01 +0000 (00:55 +0100)]
Proper state of new hyperlinks' event handlers
Fixes #17. New hyperlinks' event handler callbacks were blocked by
default at creation, but they should be unblocked if there is currently
a hyperlink event request pending in the window.
Philip Chimento [Tue, 8 Feb 2011 00:14:10 +0000 (01:14 +0100)]
Proper use of AC_ARG_ENABLE
Inspired by Rob Bradford's http://www.robster.org.uk/blog/?p=134