Development
From QTermWiki
Main Page | Downloads | Scripts | Documentation | Development | Screenshots | FAQ | Forum (http://www.qtopia.org.cn/phpBB2/viewforum.php?f=22) | Help us | About
Since 0.4.0 is at the door, its time to consider something new...
We have made a (growing) list of what will be done in the 0.5 development cycle:
| Table of contents |
Extensible wayto support mouse action
The per-session-script provides the following methods:
- mouseMove():port the previous C++ code in QTermWindow::mouseMoveEvent to python. Invoke qterm->setCursor() to indicate different mouse states.
- mouseRelease():send out proper keytrain for current mouse state.
- getMenuArea():giving the area highlighted by mouse to be invoked by QTermScreen to paint sreen.
The qterm module provides the following:
- setCursor():change the cursor
Interactive with dock icon (MacOSX)
Implement trayicon_mac.cpp to provide the unified interface:
- popup menu.
- click to display the hidden main window
and (?)
- display a bubble when having message
Customized shortcut
Assign customized shortcut for menu and toolbar actions
Support normal PTY terminalwindow
An ASCII editor
Record messages
How? Through per-session script, which provide the following interface:
- onBeep() : which is called whenever receiving a bell (\b). Then it calls qterm->appendMessage(sender,address,content)
- The implementation of appendMessage() append the message in the message file $QTERM/sender@address.txt
Help browser
Open HTML help file in normal window. [derived from QTermWindowBase]
Favorite articles
- Add to favorites
- Manage favorites
- Favorites sidebar or favorites submenu ( preferred )
Vertical display
Consider this as an eye-candy. See if it can be implemented elegantly without inserting a lot of stuff like if(vertical) else ...
Message Viewer
Group and list the message files under $QTERM/messages/ according to address.
Unicode file I/O
All configure files, i.e. qterm.cfg, address.cfg, should be saved in Unicode( UCS-16 > UTF8 )
AdressBook new design
adressbook.xml
1 1 2 1 2 3 3 2
adressbook.ini
[uuid] category="group" or "item" name= collapse=True or False //following by bbs site configurations address= port= ...
The advantage of seprating structure and data is,
1. easy to use Modal/View model provided by Qt4
2. easy to refer BBS site with uuid, to implement favorite bookmakes
Preference new design
Clean up the interface by using ListView + StackedWidget and group the various options.
SSH2 support
Use the new QCA library, hope it will make the support much easier.
Native Qt Setting Class
Ditch the QTermConfig class