You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(10) |
Jun
(50) |
Jul
(27) |
Aug
(53) |
Sep
(75) |
Oct
(42) |
Nov
(43) |
Dec
(23) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(7) |
Feb
(6) |
Mar
(24) |
Apr
(10) |
May
(12) |
Jun
(1) |
Jul
|
Aug
|
Sep
(7) |
Oct
(5) |
Nov
(7) |
Dec
(13) |
2004 |
Jan
(1) |
Feb
(2) |
Mar
(2) |
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
(1) |
Dec
(3) |
2007 |
Jan
(1) |
Feb
|
Mar
|
Apr
(12) |
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(7) |
Oct
(11) |
Nov
(20) |
Dec
(34) |
2009 |
Jan
(11) |
Feb
(13) |
Mar
(11) |
Apr
(21) |
May
(36) |
Jun
(22) |
Jul
(30) |
Aug
(9) |
Sep
(1) |
Oct
|
Nov
|
Dec
(9) |
2010 |
Jan
(9) |
Feb
(4) |
Mar
(4) |
Apr
(1) |
May
|
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <cl...@us...> - 2002-06-14 18:13:59
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv9779 Added Files: AUTHORS.txt Log Message: Since a few people may be contributing to the project in the near future, it's good to have a file that describes what everyone has done. --- NEW FILE: AUTHORS.txt --- ToDo Manager Authors ================================================================================ ACTIVE DEVELOPERS: ------------------ Brian Bernas <cl...@so...> * Project creator * Project maintainer (20010806 - ?) * Lead coder (20010806 - ?) |
From: <cl...@us...> - 2002-06-13 18:27:38
|
Update of /cvsroot/todo-manager/todo-manager/plugins In directory usw-pr-cvs1:/tmp/cvs-serv23557 Modified Files: Tag: dev-bronze plugin.py Log Message: I had these swithed for some reason Index: plugin.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/plugins/plugin.py,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -u -d -r1.1.2.3 -r1.1.2.4 --- plugin.py 22 Mar 2002 01:47:55 -0000 1.1.2.3 +++ plugin.py 13 Jun 2002 18:27:35 -0000 1.1.2.4 @@ -47,8 +47,8 @@ # See if the plugin function is already in the list for plgs in (_file_import_plgs, _file_export_plgs, _task_sorting_plgs, _task_filter_plgs): for p in plgs: - if p[0] == function: - raise PlgAlreadExists, "The plugin \"%s\" is already loaded." %p[1] + if p[1] == function: + raise PlgAlreadExists, "The plugin \"%s\" is already loaded." %p[0] # Generate the list. There may be an easier way to do this l = [name, function] |
From: <cl...@us...> - 2002-06-13 17:24:13
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv26396 Modified Files: Tag: dev-bronze interface.py Log Message: The calendar now withdraws without leaving a void in the interface. I thought I'd never be clever enough to fix this bug. Apparently I was wrong. Hooray! Index: interface.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/interface.py,v retrieving revision 1.1.2.33 retrieving revision 1.1.2.34 diff -u -d -r1.1.2.33 -r1.1.2.34 --- interface.py 12 Jun 2002 20:51:01 -0000 1.1.2.33 +++ interface.py 13 Jun 2002 17:24:10 -0000 1.1.2.34 @@ -89,18 +89,19 @@ menu.add_cascade(label="Help", underline=0, menu=help) # The main interface, this is the really fun part - Label(master, text="Items To Do:", anchor=W).pack(side=TOP, fill=X, anchor=W) frame = Frame(master, bd=0) + Label(frame, text="Items To Do:", anchor=W).grid(row=0, column=1, sticky=NW) + # Calendar stuff self._calframe = Frame(frame, bd=0) - self._calframe.grid(row=0, column=0, sticky=NW) + self._calframe.grid(row=1, column=0, sticky=NW) # Tasklist self._taskList = tl = ObjectListbox(frame, bd=0, background='white', relief=FLAT, width=330, height=110, itemcolor=app.get_setting(CONF_SECTION, "itembackground", 'gray90'), selectioncolor=app.get_setting(CONF_SECTION, "selecteditembackground", "#6A7F9E")) - tl.grid(row=0, column=1, sticky=NSEW) + tl.grid(row=1, column=1, sticky=NSEW) # Add the columns tl.insert_column(END, "", width=2, anchor=W, visible=int(app.get_setting(CONF_SECTION, "showpriority", TRUE))) @@ -114,9 +115,9 @@ tl.update_columns() tl.set_item_leftclick(self.OnTaskLeftClick) - # tl.set_item_leftdrag(self.OnTaskLeftDrag) tl.set_item_rightclick(self.OnTaskRightClick) - frame.grid_rowconfigure(0, weight=1) + + frame.grid_rowconfigure(1, weight=1) frame.grid_columnconfigure(1, weight=1) frame.pack(side=TOP, fill=BOTH, expand=TRUE) @@ -208,12 +209,17 @@ self.update_list() def show_calendar(self, event=None): + # Delete all existing items in the frame + for c in self._calframe.winfo_children(): c.destroy() + if self.__view_calendar.get(): if not self._calframe.winfo_children(): self._calendar = Calendar(self._calframe, bd=2, relief=SUNKEN, bg='white') self._calendar.pack(side=TOP) else: - for c in self._calframe.winfo_children(): c.destroy() + # A blank label to force self._calframe to shrink down after the + # calendar has been removed + Label(self._calframe, bd=0, width=0).pack(expand=FALSE) self._calendar = None def PrepNewFile(self): |
From: <cl...@us...> - 2002-06-12 20:51:04
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv2121 Modified Files: Tag: dev-bronze interface.py Log Message: * Moved some duplicate code into a separate function * Reloading the default file will now clear the fields and the task selection Index: interface.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/interface.py,v retrieving revision 1.1.2.32 retrieving revision 1.1.2.33 diff -u -d -r1.1.2.32 -r1.1.2.33 --- interface.py 10 Jun 2002 04:45:25 -0000 1.1.2.32 +++ interface.py 12 Jun 2002 20:51:01 -0000 1.1.2.33 @@ -216,24 +216,23 @@ for c in self._calframe.winfo_children(): c.destroy() self._calendar = None - def OnNew(self, event=None): - self._app.new_file(ui=self) - self.update_list() - self.OnClearFields() + def PrepNewFile(self): + # Everything that should be done before a new file is loaded + self._taskList.selection_set(-1) self._remove['state'] = DISABLED self._finished['state'] = DISABLED - self._taskList.selection_set(-1) + self.OnClearFields() + + def OnNew(self, event=None): + self.PrepNewFile() + self._app.new_file(ui=self) def OnOpen(self, event=None): filename = askopenfilename(filetypes=[("ToDo Manager Files", "*.tmf")], initialdir=self.__curdir) if filename: + self.PrepNewFile() self._app.load_file(filename, ui=self) - self._remove['state'] = DISABLED - self._finished['state'] = DISABLED - self.OnClearFields() - - self._taskList.selection_set(-1) def OnSave(self, event=None): self._app.save_file(ui=self) @@ -245,6 +244,7 @@ self._app.save_file(filename, ui=self) def OnReloadDefault(self): + self.PrepNewFile() self._app.load_default_file(ui=self) def OnOptions(self): |
From: <cl...@us...> - 2002-06-12 20:20:59
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv19645 Modified Files: Tag: dev-bronze MANIFEST.in Log Message: Added ChangeLog.txt and TODO.txt. And moved stuff around, one day I'll decide what order everything should be in so it looks aesthetically pleasing. Index: MANIFEST.in =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/MANIFEST.in,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -d -r1.1.2.1 -r1.1.2.2 --- MANIFEST.in 20 Nov 2001 23:05:44 -0000 1.1.2.1 +++ MANIFEST.in 12 Jun 2002 20:20:57 -0000 1.1.2.2 @@ -2,11 +2,12 @@ # ToDo Manager include __init__.py -include todo-manager.pyw +include ChangeLog.txt +include LICENSE.txt +include README.txt +include TODO.txt include tk_options include todo-manager -include README.txt -include LICENSE.txt -include ChangeLog +include todo-manager.pyw recursive-include docs *.txt *.html recursive-include plugins *.py |
From: <cl...@us...> - 2002-06-11 21:52:31
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv12279 Modified Files: Tag: dev-bronze tdm_calendar.py Log Message: The month name is displayed instead of it's numeric value Index: tdm_calendar.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/tdm_calendar.py,v retrieving revision 1.1.2.12 retrieving revision 1.1.2.13 diff -u -d -r1.1.2.12 -r1.1.2.13 --- tdm_calendar.py 11 Jun 2002 17:18:24 -0000 1.1.2.12 +++ tdm_calendar.py 11 Jun 2002 21:52:28 -0000 1.1.2.13 @@ -72,7 +72,20 @@ def Draw(self): self._yearLabel['text'] = self.year - self._monthLabel['text'] = self.month + self._monthLabel['text'] = ( + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December', + )[self.month-1] # Delete all of the old buttons children = self._dateframe.winfo_children() |
From: <cl...@us...> - 2002-06-11 17:26:13
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv15201 Modified Files: Tag: dev-bronze ChangeLog.txt Log Message: Gonna go back in time Index: ChangeLog.txt =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/ChangeLog.txt,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -u -d -r1.1.2.2 -r1.1.2.3 --- ChangeLog.txt 9 Jun 2002 05:52:34 -0000 1.1.2.2 +++ ChangeLog.txt 11 Jun 2002 17:25:29 -0000 1.1.2.3 @@ -11,6 +11,9 @@ (12/19/2001) * Multiple interfaces can bind to the same core +(12/06/2001) + * Added a calendar control (Miles Wiehahn) + (12/03/2001) * A warning is displayed when a task is due |
From: <cl...@us...> - 2002-06-11 17:19:47
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv13109 Modified Files: Tag: dev-bronze TODO.txt Log Message: Buttons to select the month and year of the calendar Index: TODO.txt =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/TODO.txt,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -u -d -r1.1.2.3 -r1.1.2.4 --- TODO.txt 10 Jun 2002 04:23:54 -0000 1.1.2.3 +++ TODO.txt 11 Jun 2002 17:19:42 -0000 1.1.2.4 @@ -21,7 +21,6 @@ * Speed up drawing Calendar: - * Buttons to select the current month and year Documentation: * All of the docs will need to be updated |
From: <cl...@us...> - 2002-06-11 17:18:32
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv12633 Modified Files: Tag: dev-bronze tdm_calendar.py Log Message: * Buttons that allow the user to change the current year and month * A bunch of small improvemets Index: tdm_calendar.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/tdm_calendar.py,v retrieving revision 1.1.2.11 retrieving revision 1.1.2.12 diff -u -d -r1.1.2.11 -r1.1.2.12 --- tdm_calendar.py 24 May 2002 15:40:08 -0000 1.1.2.11 +++ tdm_calendar.py 11 Jun 2002 17:18:24 -0000 1.1.2.12 @@ -10,27 +10,29 @@ from Tkinter import * from calendar import monthrange +from controls import ThinButton import time -# Class Calendar -# -# Create a calendar in a frame for a given month. -# -# Initialising -# 1. Initialise by calling Calendar(year,month,command) -# 2. The initial displayed month is defined by the mounth and date. -# 3. The command will be run when the user selects a day. -# -# Operation -# 1. Any day can be selected with the mouse and the user inputed function will run. -# 2. The calendar date can be advanced a given time in mounths and years by calling IncTime(year,month). -# 3. The calendar date can be changed to any mounth with function ChangeTime(year,month). -# 4. The current calendar date can be obtained with function GetDate(). -# The integers year and month will be returned. +""" +Create a calendar in a frame for a given month. + +Initialising + 1. Initialise by calling Calendar(year,month,command) + 2. The initial displayed month is defined by the mounth and date. + 3. The command will be run when the user selects a day. + +Operation + 1. Any day can be selected with the mouse and the user inputed function will run. + 2. The calendar date can be advanced a given time in months and years by calling + IncTime(year,month). + 3. The calendar date can be changed to any month with function SetDate(year, month, day). + 4. The current calendar date can be obtained with function GetDate(). + The integers year and month will be returned. +""" class Calendar(Frame): def __init__(self,master,command=None,**kw): - Frame.__init__(self, master, kw) + Frame.__init__(self, master) # To preserve some things if kw.has_key("background"): @@ -39,19 +41,41 @@ self.__bgcolor = kw['bg'] else: self.__bgcolor = None - self.Weekday={1:'S',2:'M',3:'T',4:'W',5:'T',6:'F',7:'S'} - self.__LeftClickDateCommand=command + # Create the year and month selection buttons + frame = Frame(self, bd=0) + ThinButton(frame, text='<', command=lambda s=self: s.IncTime(-1)).pack(side=LEFT) + self._yearLabel = Label(frame, width=10, bd=2, relief=RAISED) + self._yearLabel.pack(side=LEFT) + ThinButton(frame, text='>', command=lambda s=self: s.IncTime(1)).pack(side=LEFT) + frame.grid(row=0, column=0, sticky=W) + + frame = Frame(self, bd=0) + ThinButton(frame, text='<', command=lambda s=self: s.IncTime(0, -1)).pack(side=LEFT) + self._monthLabel = Label(frame, width=10, bd=2, relief=RAISED) + self._monthLabel.pack(side=LEFT) + ThinButton(frame, text='>', command=lambda s=self: s.IncTime(0, 1)).pack(side=LEFT) + frame.grid(row=0, column=1, sticky=E) + + self._dateframe = Frame(self, kw) + # Create the day header - for i in range(1, 8): - Label(self,text=self.Weekday[i],fg='blue',bg=self.__bgcolor).grid(row=0,column=i) + c = 1 + for t in ('S', 'M', 'T', 'W', 'T', 'F', 'S'): + Label(self._dateframe,text=t,fg='blue',bg=self.__bgcolor).grid(row=0,column=c) + c = c + 1 self.SetCurrentDate() + self._dateframe.grid(row=1, column=0, columnspan=2, sticky=NSEW) + def Draw(self): + self._yearLabel['text'] = self.year + self._monthLabel['text'] = self.month + # Delete all of the old buttons - children = self.winfo_children() + children = self._dateframe.winfo_children() for i in range(len(children)): if i>7: children[i].destroy() @@ -75,15 +99,16 @@ elif i == 1 or i == 7: fg = 'gray40' # The weekend should be gray - Button(self,text=str(DayCount),bd=bd,width=1,height=1,relief=SOLID, + Button(self._dateframe,text=str(DayCount),bd=bd,width=1,height=1,relief=SOLID, fg=fg,bg=self.__bgcolor, command= lambda s=self, p=DayCount: s.SelDay(p)).grid(row=j, column=i, sticky=NSEW) else: # Required to make sure there are the right number of rows - Label(self,text='',bd=0,width=1,height=1,relief=FLAT,bg=self.__bgcolor).grid( - row=j,column=i) + Label(self._dateframe,text='',bd=0,width=1,height=1,relief=FLAT, + bg=self.__bgcolor).grid(row=j,column=i) + i=i+1 # Returns the day the user has selected with the mouse @@ -95,27 +120,31 @@ self.Draw() # Enter new year and month so that the calendar can be redrawn - def ChangeTime(self,year,month,day): + def SetDate(self, year, month, day): self.year=year + + # Value checking + if month > 12 or month < 1: + month = month % 12 + if month == 0: + month = 1 + self.month=month self.day=day self.Draw() # Enter no of years and/or months that the calendar must either advance (+ values) or go # back in time (- values). - def IncTime(self,year,month): + def IncTime(self, year=0, month=0): self.year=self.year+year self.month=self.month+month - if self.month>12 or self.month<0: + if self.month>12 or self.month<1: self.year=self.year+self.month/12 self.month=self.month%12 if self.month==0 and month <0: self.month=12 self.year=self.year-1 - if self.month==0 and month >0: - self.month=12 - self.year=self.year-1 self.Draw() @@ -130,4 +159,5 @@ self.year = temptime[0] self.month = temptime[1] self.day = temptime[2] + self.Draw() |
From: <cl...@us...> - 2002-06-10 04:45:28
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv6282 Modified Files: Tag: dev-bronze interface.py Log Message: If the calendar is visible then it will effect the due date of new tasks Index: interface.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/interface.py,v retrieving revision 1.1.2.31 retrieving revision 1.1.2.32 diff -u -d -r1.1.2.31 -r1.1.2.32 --- interface.py 2 Jun 2002 21:12:25 -0000 1.1.2.31 +++ interface.py 10 Jun 2002 04:45:25 -0000 1.1.2.32 @@ -210,10 +210,11 @@ def show_calendar(self, event=None): if self.__view_calendar.get(): if not self._calframe.winfo_children(): - calendar = Calendar(self._calframe, bd=2, relief=SUNKEN, bg='white') - calendar.pack(side=TOP) + self._calendar = Calendar(self._calframe, bd=2, relief=SUNKEN, bg='white') + self._calendar.pack(side=TOP) else: for c in self._calframe.winfo_children(): c.destroy() + self._calendar = None def OnNew(self, event=None): self._app.new_file(ui=self) @@ -353,7 +354,15 @@ def OnDueDateFocus(self, event): if self._nameEntry.get() and not event.widget.get(): # Get the current date and time - t = time.strftime("%m/%d/%y", time.localtime(time.time())) + # If the calendar is visible, get the date from it. + if self.__view_calendar.get() and self._calendar: + y, m, d = self._calendar.GetDate() + y = str(y)[2:] + if len(str(m)) < 2: m = "0%d" %m + if len(str(d)) < 2: d = "0%d" %d + t = "%s/%s/%s" %(m, d, y) + else: + t = time.strftime("%m/%d/%y", time.localtime(time.time())) self.phantom_fields(0) event.widget.insert(0, t) |
From: <cl...@us...> - 2002-06-10 04:23:57
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv3077 Modified Files: Tag: dev-bronze TODO.txt Log Message: I doubt that I'll forget about this, it's just good to have here. Index: TODO.txt =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/TODO.txt,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -u -d -r1.1.2.2 -r1.1.2.3 --- TODO.txt 9 Jun 2002 05:38:57 -0000 1.1.2.2 +++ TODO.txt 10 Jun 2002 04:23:54 -0000 1.1.2.3 @@ -4,6 +4,7 @@ * Support translations (people keep requesting this) Core: + * Configuration/command-line option to run as a 'Task Server' * Connect to a central server and update the local list * Plugin support * Select which plugins to load |
From: <cl...@us...> - 2002-06-09 05:52:37
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv19092 Modified Files: Tag: dev-bronze ChangeLog.txt Log Message: I'm messing with these useless files again... Index: ChangeLog.txt =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/ChangeLog.txt,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -d -r1.1.2.1 -r1.1.2.2 --- ChangeLog.txt 26 May 2002 20:56:18 -0000 1.1.2.1 +++ ChangeLog.txt 9 Jun 2002 05:52:34 -0000 1.1.2.2 @@ -1,5 +1,8 @@ ToDo Manager ChangeLog - Development Branch: Bronze +- This file only contains changes that have been made since the last release + of ToDo Manager + (05/23/2002) * The core has been modified so it doesn't depend on task indexes anymore. It now sets and retrieves values from the task based on their names. @@ -14,3 +17,7 @@ (11/27/2001) * Task list colors can be changed * Ability to hide task list columns + +(11/20/2001) + * The official start of Bronze. This is a complete rewrite to make the + software more modular and the code easier to maintain. |
From: <cl...@us...> - 2002-06-09 05:38:59
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv17166 Modified Files: Tag: dev-bronze TODO.txt Log Message: One removed, one added Index: TODO.txt =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/TODO.txt,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -d -r1.1.2.1 -r1.1.2.2 --- TODO.txt 26 May 2002 20:56:18 -0000 1.1.2.1 +++ TODO.txt 9 Jun 2002 05:38:57 -0000 1.1.2.2 @@ -13,7 +13,6 @@ Interface: * The DueDate Entry should work Auto format the date and time - * The task list should update when a task is due * Sorting modes * Task filters @@ -21,6 +20,7 @@ * Speed up drawing Calendar: + * Buttons to select the current month and year Documentation: * All of the docs will need to be updated |
From: <cl...@us...> - 2002-06-09 05:22:10
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv15000 Modified Files: Tag: dev-bronze main.py Log Message: Command-line arguments. That's it. Index: main.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/main.py,v retrieving revision 1.1.2.18 retrieving revision 1.1.2.19 diff -u -d -r1.1.2.18 -r1.1.2.19 --- main.py 9 Jun 2002 04:34:21 -0000 1.1.2.18 +++ main.py 9 Jun 2002 05:22:06 -0000 1.1.2.19 @@ -27,6 +27,7 @@ # Config variables _new_file = FALSE _load_file = None +_load_config = TRUE # Get the current working directory dirname = os.path.dirname(__file__) @@ -58,10 +59,14 @@ self.__file_modified = FALSE self.__options = {} - parse_args(sys.argv[1:]) + # See if the program should continue executing after the args have been read + if not parse_args(sys.argv[1:]): + sys.exit(0) # init stuff goes here (load prefs blah, blah...) - self.__load_config() + if _load_config: + self.__load_config() + plugin.load_all_plugins() if _load_file: @@ -488,29 +493,45 @@ #------------------------------------------------------------------------------- +_help_text = """ToDo Manager +usage: python todo-manager.py [options] [filename] +OPTIONS: + -N\t\t\t:Startup with a new blank file. + -I\t\t\t:Don't load the configuration file. + --help, -h\t\t:Display this text and exit. + --version, -v\t\t:Display the version number and exit. +""" + # The wheels on the bus go round and round def parse_args(args): # Parsing the command arguments - global _load_file, _new_file + global _load_file, _load_config, _new_file for arg in args: if arg == "--help": - pass + print _help_text + return FALSE elif arg == "--version": - pass + print "%s - %s" %(appname, version) + return FALSE elif arg[0] == "-": # Check for command switches for a in arg[1:]: if a == "h": - pass + print _help_text + return FALSE elif a == "v": - pass - elif a == "N": _new_file = TRUE - elif a == "I": pass + print "%s - %s" %(appname, version) + return FALSE + elif a == "N": _new_file = not _new_file + elif a == "I": _load_config = not _load_config elif os.path.isfile(arg): - _load_file = arg + arg = os.path.join(os.getcwd(), arg) + if arg != default_file: + _load_file = arg else: print "%s does not exist." %arg + return FALSE return TRUE |
From: <cl...@us...> - 2002-06-09 04:34:24
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv6842 Modified Files: Tag: dev-bronze main.py Log Message: Simpler formatting of the text in get_about_text Index: main.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/main.py,v retrieving revision 1.1.2.17 retrieving revision 1.1.2.18 diff -u -d -r1.1.2.17 -r1.1.2.18 --- main.py 2 Jun 2002 21:10:46 -0000 1.1.2.17 +++ main.py 9 Jun 2002 04:34:21 -0000 1.1.2.18 @@ -471,9 +471,12 @@ def get_about_text(self, ui=None): """Return the text that should be displayed in the 'About' box""" - return "Authors:\tBrian Bernas (cl...@so...)\n"\ - "\tMiles Wiehahn (big...@ho...)\n"\ - "\nThis software is distributed under the standard Python license.\n"\ + # This makes the text manageable. Even if the formatting looks screwed up. + return """Authors:\tBrian Bernas (cl...@so...) +\tMiles Wiehahn (big...@ho...) + +This software is distributed under the standard Python license. +""" def __quit(self): """Stop all proccesses, save the configuration file, and destroy all |
From: <cl...@us...> - 2002-06-02 21:12:28
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv26400 Modified Files: Tag: dev-bronze interface.py Log Message: The task due date color stuff works again Index: interface.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/interface.py,v retrieving revision 1.1.2.30 retrieving revision 1.1.2.31 diff -u -d -r1.1.2.30 -r1.1.2.31 --- interface.py 1 Jun 2002 23:22:49 -0000 1.1.2.30 +++ interface.py 2 Jun 2002 21:12:25 -0000 1.1.2.31 @@ -511,6 +511,9 @@ tasklist.insert_text(i, 1, args[0]) tasklist.insert_object(i, 3, self.draw_finished_box) elif command == "set_list_item_value": + # Get the tast format + col1, col2, font = self.get_task_format(args[0]) + try: col = { "priority": 0, @@ -526,8 +529,20 @@ row = self.get_listitem_index(args[0]) if args[1] in ("name", "duedate", "finisheddate"): - self._taskList.insert_text(row, col, args[2]) + if args[1] == "duedate": + # Redraw the name too + self._taskList.insert_text(row, 1, args[0], color=col1, selectcolor=col2, + font=font) + + self._taskList.insert_text(row, col, args[2], color=col1, selectcolor=col2, + font=font) else: + if args[1] in ("finished", "disablefinish"): + self._taskList.insert_text(row, 1, args[0], color=col1, selectcolor=col2, + font=font) + self._taskList.insert_text(row, 2, self._app.get_task_value(args[0], "DueDate"), + color=col1, selectcolor=col2, font=font) + func = { "priority": self.draw_priority_box, "finished": self.draw_finished_box, @@ -559,6 +574,7 @@ duefont = (fs[0], fs[1], "bold") task_due = app.is_task_due(name)[0] + # The task is due today if task_due == 0: col1 = duefg; col2 = selduefg @@ -573,7 +589,7 @@ f = font # Return the task color, selected task color, and task font - return (col1, col2, font) + return (col1, col2, f) def update_list(self): tasklist = self._taskList |
From: <cl...@us...> - 2002-06-02 21:10:49
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv26030 Modified Files: Tag: dev-bronze main.py Log Message: I resolved a few issues with interface notification Index: main.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/main.py,v retrieving revision 1.1.2.16 retrieving revision 1.1.2.17 diff -u -d -r1.1.2.16 -r1.1.2.17 --- main.py 23 May 2002 04:31:46 -0000 1.1.2.16 +++ main.py 2 Jun 2002 21:10:46 -0000 1.1.2.17 @@ -129,7 +129,6 @@ value = int(value) ft = ("", get_curtime())[value] t["FinishedDate"] = ft - self.interface_call(ALL, "set_list_item_value", name, "finisheddate", ft) elif key == "DisableFinish" and value: value = int(value) t["DueDate"] = "" @@ -147,6 +146,11 @@ t[key] = value self.interface_call(ALL, "set_list_item_value", name, key.lower(), value) + # If the changed value effects the finished date + if key in ("Finished", "DisableFinish"): + self.interface_call(ALL, "set_list_item_value", name, "finisheddate", + t["FinishedDate"]) + self.__file_modified = TRUE return TRUE @@ -408,7 +412,7 @@ # Return: 0=due; 1=overdue; -1=not due for task in self.__tasks: if task["Name"] == name: break - else: return (-1, -1) + # else: return (-1, -1) dd = task["DueDate"] if not dd.split() or task["Finished"]: return (-1, -1) |
From: <cl...@us...> - 2002-06-01 23:25:57
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv4153 Modified Files: Tag: dev-bronze objectlistbox.py Log Message: Less code is good. Fewer functions to remember and such. Index: objectlistbox.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/objectlistbox.py,v retrieving revision 1.1.2.17 retrieving revision 1.1.2.18 diff -u -d -r1.1.2.17 -r1.1.2.18 --- objectlistbox.py 29 May 2002 02:14:35 -0000 1.1.2.17 +++ objectlistbox.py 1 Jun 2002 23:25:54 -0000 1.1.2.18 @@ -271,12 +271,6 @@ def set_item_rightclick(self, command): self.__item_rightclick_command = command - def change_item_color(self, color=None, selectcolor=None): - if color: - self.__item_color = color - if selectcolor: - self.__selection_color = selectcolor - def draw(self): # ...and the fun begins canvas = self._canvas |
From: <cl...@us...> - 2002-06-01 23:22:51
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv2078 Modified Files: Tag: dev-bronze interface.py Log Message: Some code has been split so task colorization is possible without a huge performance hit. hehe, that rhymes Index: interface.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/interface.py,v retrieving revision 1.1.2.29 retrieving revision 1.1.2.30 diff -u -d -r1.1.2.29 -r1.1.2.30 --- interface.py 31 May 2002 06:18:42 -0000 1.1.2.29 +++ interface.py 1 Jun 2002 23:22:49 -0000 1.1.2.30 @@ -541,8 +541,9 @@ elif command == "update_list_items": self.update_list() elif command == "clear_list_items": self._taskList.delete_item(ALL) - def update_list(self): - tasklist = self._taskList + def get_task_format(self, name): + """Return the formating for the specified task""" + app = self._app font = self._font @@ -557,31 +558,41 @@ fs = font.split() duefont = (fs[0], fs[1], "bold") + task_due = app.is_task_due(name)[0] + # The task is due today + if task_due == 0: + col1 = duefg; col2 = selduefg + f = duefont + # It's overdue + elif task_due == 1: + col1 = overduefg; col2 = seloverduefg + f = font + # Standard colors + else: + col1 = fg; col2 = selfg + f = font + + # Return the task color, selected task color, and task font + return (col1, col2, font) + + def update_list(self): + tasklist = self._taskList + app = self._app + + # Clear the list tasklist.delete_item(ALL) i = 0 for name in app.get_task_names(): - task_due = app.is_task_due(name)[0] - # Standard colors - if task_due == -1: - col1 = fg; col2 = selfg - f = font - # The task is due today - elif task_due == 0: - col1 = duefg; col2 = selduefg - f = duefont - # It's overdue - elif task_due == 1: - col1 = overduefg; col2 = seloverduefg - f = font + col1, col2, font = self.get_task_format(name) tasklist.insert_object(i, 0, self.draw_priority_box) - tasklist.insert_text(i, 1, name, color=col1, selectcolor=col2, font=f) + tasklist.insert_text(i, 1, name, color=col1, selectcolor=col2, font=font) tasklist.insert_text(i, 2, app.get_task_value(name, "DueDate"), color=col1, - selectcolor=col2, font=f) + selectcolor=col2, font=font) tasklist.insert_object(i, 3, self.draw_finished_box) tasklist.insert_text(i, 4, app.get_task_value(name, "FinishedDate"), color=col1, - selectcolor=col2, font=f) + selectcolor=col2, font=font) i = i + 1 |
From: <cl...@us...> - 2002-05-31 06:18:46
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv3033 Modified Files: Tag: dev-bronze interface.py Log Message: Making use of all of the things I added to ObjectListbox Index: interface.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/interface.py,v retrieving revision 1.1.2.28 retrieving revision 1.1.2.29 diff -u -d -r1.1.2.28 -r1.1.2.29 --- interface.py 24 May 2002 15:40:08 -0000 1.1.2.28 +++ interface.py 31 May 2002 06:18:42 -0000 1.1.2.29 @@ -304,7 +304,9 @@ tasklist = self._taskList # Set the item colors for the listbox - tasklist.change_item_color(colors["itembg"], colors["itemselbg"]) + tasklist['itemcolor'] = colors['itembg'] + tasklist['selectioncolor'] = colors['itemselbg'] + # If any listbox columns have been turned visible/invisible tasklist.show_column(0, dlg._show_priority.get()) tasklist.show_column(2, dlg._show_duedate.get()) |
From: <cl...@us...> - 2002-05-29 02:14:41
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv9231 Modified Files: Tag: dev-bronze objectlistbox.py Log Message: Support for class.configure() and class[setting] = value Index: objectlistbox.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/objectlistbox.py,v retrieving revision 1.1.2.16 retrieving revision 1.1.2.17 diff -u -d -r1.1.2.16 -r1.1.2.17 --- objectlistbox.py 26 May 2002 22:58:10 -0000 1.1.2.16 +++ objectlistbox.py 29 May 2002 02:14:35 -0000 1.1.2.17 @@ -344,3 +344,59 @@ index = index + 1 self.scrollrange_set() + + def configure(self, *args, **kw): + # Handle __setitem__ command passes + if args and not kw: + kw = args[0] + + for key, value in kw.items(): + # Check for canvas specific options + if key in ("width", "height", "background", "bg"): + self._canvas.configure({key: value}) + del kw[key] # Remove this key so it doesn't get passed to Frame + + # Check for task color options + else: + if key == "foreground" or key == "fg": + self.__foreground = value + del kw[key] + if key == "itemcolor": + self.__item_color = value + del kw[key] + if key == "selectioncolor": + self.__selection_color = value + del kw[key] + if key == "font": + self.__font = value + del kw[key] + + # Send the left over options to the frame + Frame.configure(self, kw) + + # Alias config to configure since some people don't like to type a lot + config = configure + + def update(self): + """Update the entire widget""" + Frame.update(self) + self._canvas.update() + self.draw() + + def __setitem__(self, key, value): + self.configure({key: value}) + + def __getitem__(self, key): + # Check for setting that apply to the canvas + if key in ("width", "height", "background", "bg"): + return self._canvas[key] + + # Custom values + elif key == "foreground" or key == "fg": return self.__foreground + elif key == "itemcolor": return self.__item_color + elif key == "selectioncolor": return self.__selection_color + elif key == "font": return self.__font + + # If the setting isn't directly supported here, pass it to the Frame + else: + return Frame.__getitem__(self, key) |
From: <cl...@us...> - 2002-05-27 06:48:04
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv17472 Modified Files: Tag: dev-bronze objectlistbox.py Log Message: This should fix a few exception errors Index: objectlistbox.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/objectlistbox.py,v retrieving revision 1.1.2.15 retrieving revision 1.1.2.16 diff -u -d -r1.1.2.15 -r1.1.2.16 --- objectlistbox.py 23 May 2002 04:31:46 -0000 1.1.2.15 +++ objectlistbox.py 26 May 2002 22:58:10 -0000 1.1.2.16 @@ -11,6 +11,10 @@ OBJECT = "OBJECT" #------------------------------------------------------------------------------- +class ListboxError(Exception): + pass + +#------------------------------------------------------------------------------- class ObjectListbox(Frame): def __init__(self, master, **kw): Frame.__init__(self, master, bd=2, relief=SUNKEN) @@ -176,7 +180,7 @@ colcount = len(self.__columns) -1 if column > colcount: - raise Error, "Column %n does not exist." %column + raise ListboxError, "Column %n does not exist." %column obj = (TEXT, text, kw["color"], kw["selectcolor"], kw["font"]) @@ -198,7 +202,7 @@ colcount = len(self.__columns) -1 if column > colcount: - raise Error, "Column %n does not exist." %column + raise ListboxError, "Column %n does not exist." %column obj = (OBJECT, function) |
From: <cl...@us...> - 2002-05-26 20:56:24
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv10480 Added Files: Tag: dev-bronze ChangeLog.txt TODO.txt Removed Files: Tag: dev-bronze ChangeLog TODO Log Message: All important documents should have extensions. --- NEW FILE: ChangeLog.txt --- ToDo Manager ChangeLog - Development Branch: Bronze (05/23/2002) * The core has been modified so it doesn't depend on task indexes anymore. It now sets and retrieves values from the task based on their names. This also affects how the interfaces work with tasks as well. (12/19/2001) * Multiple interfaces can bind to the same core (12/03/2001) * A warning is displayed when a task is due (11/27/2001) * Task list colors can be changed * Ability to hide task list columns --- NEW FILE: TODO.txt --- ToDo Manager - Development Branch: Bronze General: * Support translations (people keep requesting this) Core: * Connect to a central server and update the local list * Plugin support * Select which plugins to load Option for autoloading all plugins Or to just load the ones selected by the user Interface: * The DueDate Entry should work Auto format the date and time * The task list should update when a task is due * Sorting modes * Task filters ObjectListbox: * Speed up drawing Calendar: Documentation: * All of the docs will need to be updated * Info on how to build an interface * How ObjectListbox works and how to incorporate it into another project * How to write a patch * It should all be written in/converted to HTML --- ChangeLog DELETED --- --- TODO DELETED --- |
From: <cl...@us...> - 2002-05-26 05:58:21
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv27950 Modified Files: Tag: dev-bronze setup.py Log Message: A better long description that includes features that aren't implemented yet. The platforms should be in alphabetical order, honest. Index: setup.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/setup.py,v retrieving revision 1.1.2.5 retrieving revision 1.1.2.6 diff -u -d -r1.1.2.5 -r1.1.2.6 --- setup.py 24 May 2002 04:53:18 -0000 1.1.2.5 +++ setup.py 26 May 2002 05:58:18 -0000 1.1.2.6 @@ -70,11 +70,12 @@ version=build, description="A simple task manager", long_description="A standard task manager with notes, due dates, priorities, multiple sorting"\ - " modes, HTML exporting. Interface uses Tk", + " modes, task filters, and HTML exporting. It also has a basic plugin architecture that"\ + " allows programmers to add additional sorting modes, filters, and file formats.", author="Brian Bernas", author_email="cl...@so...", url="http://todo-manager.sourceforge.net", - platforms="Windows, Linux", + platforms="Linux, Windows", licence="Python", py_modules=["main", "controls", "interface", "tdmcalls", "objectlistbox", "tdm_calendar", "todo-manager"], |
From: <cl...@us...> - 2002-05-24 15:40:11
|
Update of /cvsroot/todo-manager/todo-manager In directory usw-pr-cvs1:/tmp/cvs-serv29702 Modified Files: Tag: dev-bronze interface.py tdm_calendar.py Log Message: * The calendar will stick to the top of instead of hovering in the center of the interface. * The calendar now has a white background. * The selected task' s border is black. * There is still a big empty space left after the calendar has been disabled. I should fix this bug soon. Looks are everything Index: interface.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/interface.py,v retrieving revision 1.1.2.27 retrieving revision 1.1.2.28 diff -u -d -r1.1.2.27 -r1.1.2.28 --- interface.py 23 May 2002 04:31:46 -0000 1.1.2.27 +++ interface.py 24 May 2002 15:40:08 -0000 1.1.2.28 @@ -93,14 +93,14 @@ frame = Frame(master, bd=0) # Calendar stuff self._calframe = Frame(frame, bd=0) - self._calframe.pack(side=LEFT) + self._calframe.grid(row=0, column=0, sticky=NW) # Tasklist self._taskList = tl = ObjectListbox(frame, bd=0, background='white', relief=FLAT, width=330, height=110, itemcolor=app.get_setting(CONF_SECTION, "itembackground", 'gray90'), selectioncolor=app.get_setting(CONF_SECTION, "selecteditembackground", "#6A7F9E")) - tl.pack(side=TOP, fill=BOTH, expand=TRUE, anchor=N) + tl.grid(row=0, column=1, sticky=NSEW) # Add the columns tl.insert_column(END, "", width=2, anchor=W, visible=int(app.get_setting(CONF_SECTION, "showpriority", TRUE))) @@ -116,6 +116,8 @@ tl.set_item_leftclick(self.OnTaskLeftClick) # tl.set_item_leftdrag(self.OnTaskLeftDrag) tl.set_item_rightclick(self.OnTaskRightClick) + frame.grid_rowconfigure(0, weight=1) + frame.grid_columnconfigure(1, weight=1) frame.pack(side=TOP, fill=BOTH, expand=TRUE) # The control frame. Most interaction with tasks is done here @@ -208,8 +210,8 @@ def show_calendar(self, event=None): if self.__view_calendar.get(): if not self._calframe.winfo_children(): - calendar = Calendar(self._calframe) - calendar.pack() + calendar = Calendar(self._calframe, bd=2, relief=SUNKEN, bg='white') + calendar.pack(side=TOP) else: for c in self._calframe.winfo_children(): c.destroy() Index: tdm_calendar.py =================================================================== RCS file: /cvsroot/todo-manager/todo-manager/Attic/tdm_calendar.py,v retrieving revision 1.1.2.10 retrieving revision 1.1.2.11 diff -u -d -r1.1.2.10 -r1.1.2.11 --- tdm_calendar.py 24 May 2002 12:21:49 -0000 1.1.2.10 +++ tdm_calendar.py 24 May 2002 15:40:08 -0000 1.1.2.11 @@ -68,14 +68,17 @@ if DayCount > 0 and DayCount <= DaysInMonth: fg = 'black' # The default color + bd = 0 # The width of the border around the button if DayCount == self.day: fg = 'darkred' # The current day in red + bd = 1 elif i == 1 or i == 7: fg = 'gray40' # The weekend should be gray - Button(self,text=str(DayCount),bd=0,width=1,height=1,relief=FLAT, + Button(self,text=str(DayCount),bd=bd,width=1,height=1,relief=SOLID, fg=fg,bg=self.__bgcolor, - command= lambda s=self, p=DayCount: s.SelDay(p)).grid(row=j,column=i) + command= lambda s=self, p=DayCount: s.SelDay(p)).grid(row=j, column=i, + sticky=NSEW) else: # Required to make sure there are the right number of rows |