Bumped version to '0.8.6'.
Gradual refactoring of the code out into separate classes. Created the following classes:
Back end:
FAccount : Intended to track account centric data.
FSession : Handles the session and connection for player's character.
User interface:
FChannelTab : A widget to act as the tab for selecting channels and private messages.
FLoginWindow : A window for logging in to an account.
FLoginSelectWindow : A window for selecting the character to connect with.
Cleaned up dead code.
Cleaned code up so that it will now compile successfully with '-Wall -Werror'.
Added the QMake project file 'flist_messenger.pro'. Should play nicer with Qt Creator.
Added class 'FServer' ('flist_server.cpp' and 'flist_server.h') to act as a repository of all server unique data.
Added class 'FCharacterProfile ('flist_characterprofile.cpp' and 'flist_characterprofile.h'). Not yet utilised but it will contain information from a character's profile as it's read from the server.
Cleaned code up so that it will now compile successfully with '-Wall -Werror'.
Gradual migration of code away from the monolithic 'flist_messenger' class.
Changed the representation of 'panel names'. Some early ground work for allowing multiple characters.
Moved the operator list over to the FSession class.
Moved ADL, AOP, and DOP command into the FSession class.
Added the command '/debugrecv' to allow the receiving of artificial packets for the purposes of testing.
Removed dead code.
Renamed the class FChannel to FChannelPanel as a prelude to separating the GUI and network sides of channel handling.
Changed getCharacter() to ensure it returns a null if there is no character by that name.
Added FChannel class, and moved the ICH and JCH server commands into the FSession class.
Moved LCH server command into the FSession class.
Moved LIS, NLN, and FLN server commands into the FSession class.
Moved the friend list into the FSession class.
Added messageMany(), messageAll(), messageChannel(), messageCharacter(), and messageSystem() to iUserInterface to act ass the preferred method of sending message from channels, characters and the console.
Improved the handling of refreshing and sorting the character lists. (Previous commits resulted in those actions either being performed too often or not at all.)
Removed dead code.
Moved BRO, and SYS server commands into the FSession class.
Moved CBU, and CKU server commands into the FSession class.
Added getTitle() to the FChannel class.
messageChannel() now has the optional flags 'console' and 'notify' to allow CCing of the message to the session's console and to notify the user in the currently viewed channel panel.
Moved COL server command into the FSession class and implemented COA and COR server commands.
Added addOp() and removeOp() to the FChannelPanel class.
Moved CDS server command into the FSession class.
Moved CON, IDN and VAR server commands into the FSession class.
Server variables are now stored in the FSession class.
bugfix: Variable names were not being properly extracted when processing VAR commands.
Moved FRL, and IGN server commands into the FSession class.
Moved the ignore list into the FSession class.
bugfix: Ignore list handling should now be fully case insensitve. This fixes the following bugs (and possibly more):
bugfix: RP ads from ignored users should now be hidden.
bugfix: '/unignore' will now work if the character name is mixed or upper case.
bugfix: The context menu for characters inside channels should now give the option to unignore characters (if they're already ignored and they're name is mixed or upper case).
Moved HLO server command into the FSession class.
Added 'autojoinchannels' to the FSession class. Presently this is just a copy of 'defaultChannels' but will be used as the list of channels to rejoin when reconnect is implemented.
Added joinChannel() to the FSession class and changed existing code to use that.