[Concurrence-devel] Recent changes in Concurrence code
Status: Alpha
Brought to you by:
dbickett
|
From: Georg B. <g.b...@gm...> - 2005-08-02 07:57:59
|
Hi,
here's what I did in July:
- changed the protocol a bit to enable server passwords:
Client Server
USER_INFO ----------------->
<-------------------- PROTO_VERS
CORRECT_PROTO ------------->
[ <-------------------- REQUEST_PASS
PASSWORD ------------------>
<-------------------- WRONG_PASS ]
<-------------------- WELCOME
- introduced an event system for communicating between protocol and GUI.
At the moment this is done in the GUI manager, for example:
self.FireEvent('LineChanged', fhash, uhash, int(lineNum))
The GUI components subscribe to events in their constructor and act upon
accordingly. The advantage is that 1) the GUI manager doesn't need to know
them and 2) the code needed to, e.g. change a line, can be implemented in
the control that actually displays this line.
With that, the GUI manager now doesn't do much with the GUI any longer.
Thus, it could make sense to reintegrate it into ConcurrenceClient.py.
- added a BitmapService which centralizes bitmaps so that they can be reused
in different UI parts
- added a CommandManager to unify menu commands and toolbar buttons
- added a ConfigManager to centralize config options, with that an Options
window to change these. The controls in it are automatically generated
from the settings list.
- of course, restyled the old windows
- added server password needed to connect (see above)
- added server MOTD, server name and server messages.
New protocol codes: SERVER_INFO (sends name and MOTD)
SERVER_MSG (sends a message)
- added server GUI (Tkinter)
- added visible error messages for - connection lost
- connection failed/timeout
- wrong password/protocol
- integrated threadedselectreactor from Twisted CVS (could someone test this
with Twisted 1.3, please?)
- added code to handle duplicate user aliases and file names (renaming both)
- added users window and notification of who edits what
- and finally, added i18n support and initial German translation.
So far,
Georg
|