Write KeyboardShortcuts more naturally.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Remove unused code.

The only case in which we can call toggle_state from outside of the
class it's declared in is in DisplayTemplateRecordView.  However, we no
longer try to toggle the first cell, which is the only one that can
contain a non-checkbox.  Remove this code since it is never used.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Create a session object.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Add support for specifying keyboard shortcuts.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Allow longer names for schema fields.

The current names are hard to remember.  Allow using longer names for
most fields.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Allow loading schema data from an arbitrary file.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Make Schema.load_file a regular method.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Use a more specific class for schema errors.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Make Schema.load a regular method.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Add support for loading configuration files.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Add support for per-user configuration.

By default, the file in $XDG_CONFIG_HOME/newfol/defaults will be read
and parsed almost exactly as if it were a schema file.  If it is
missing, nothing happens.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Convert some NewfolErrors to DataErrors.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Merge branch 'master' into peter

Conflicts:
	lib/newfol/database.py