Skip to content

pmcnett/pmcalendar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pmcalendar

Dabo-based cross-platform desktop calendar applet that supports multiple database backends.

Features

  • Very simple to use, like making hand annotations on a paper calendar.
  • Runs on Linux, Mac, and Windows.
  • Desktop monthly GUI calendar, navigable by mouse or keyboard.
  • PDF Report output. (TODO)
  • User can enter static and diary entries for each day.
  • Multiple database backends supported (MySQL, SQLite, PostgreSQL) (Not tested on PostgreSQL yet; other Dabo-supported backends should work, too)
  • Can be used as a stand-alone application, or as a library to be imported and used in your larger application.

Requirements

  • Python 2.6.5 or higher
  • wxPython 2.8.12.1 or higher
  • Dabo 0.9.4 or higher
  • Reportlab 2.1 or higher (if running PDF reports)
  • PIL (if running PDF reports)

Screenshots

Run the demo

After installing and confirming the above prerequisites were installed:

cd pmcalendar
python ui.py

This will run it with an in-memory database automatically created for you.

Keyboard Navigation

When a day number has the focus, type:

  • t: go to today
  • -: go to yesterday
  • +: go to tomorrow
  • [: go to this day last month
  • ]: go to this day next month

The arrow keys move you around in the currently displayed calendar, wrapping around the edges. Holding <ctrl> down while navigating with the arrow keys will do the following:

  • <ctrl><up-or-down>: go to prior or next year, leaving cursor on the same calendar position.
  • <ctrl><left-or-right>: go to prior or next month, leaving cursor on the same calendar position.

Use it in your application

Put it in your PYTHONPATH. I have the pmcalendar package under /home/pmcnett/pmcalendar and so I add a .pth file to my /usr/local/lib/python2.6/dist-packages directory that says /home/pmcnett/pmcalendar.

Then use the create_tables.sql to add the required tables to your database, and add code to your application like:

from pmcalendar.ui import FrmCalendar
app = self.Application  ## (in a Dabo app where self is any dObject)
con = app.dbConnection  ## (whatever dConnection your app uses)
frmCalendar = FrmCalendar(self, Connection=con)
frmCalendar.show()

About

Dabo-based cross-platform desktop calendar applet that supports multiple database backends

Resources

License

Stars

Watchers

Forks

Packages

No packages published