source: psi/trunk/TODO@ 65

Last change on this file since 65 was 2, checked in by dmik, 19 years ago

Imported original Psi 0.10 sources from Affinix

File size: 10.2 KB
Line 
1Required
2 File Transfer
3 XML Encryption
4 add status message presets from the statussetdlg
5 Ability to prompt for status message when choosing "Offline" (signoff status)
6 ability to flag accounts as enabled/disabled. disabled means they are not usable and won't show in roster.
7 groupchat should log presence changes
8 gcuserview: proper sorting of contacts based on status / alphabetical (like ContactView)
9 message events (composing, delivery, etc)
10 misha: JEP-0038: emoticon sets
11 server info:
12 show server version in tooltip
13 ssl information dialog (show cert and maybe connection info)
14 separate message history / info for each account
15 eventQueue: toXml, fromXml (for saving unread messages)
16 local contact settings:
17 checkboxes for accepting various things: messages; files; URLs; chats \
18 [each has a checkbox option: only from my contact list, or... only from this GROUP on my contact list]
19 be alerted when the contact changes status or comes online (etc)
20 option: ignore headline messages (die MSN)
21 annotations (notes about the user)
22 log history or not
23 activity log window
24 high level logging of connection status, presence changes, messages
25 timestamps
26 "find" feature
27 Richtext messages
28 revamp history system: ability to restore entire chats, show in normal order, not reverse
29 "properties" dialog (could be last entry in cvlist context) for setting groups and subscription, etc. \
30 it could also show client time / version
31 file downloading
32 nice dialog
33 after file received, there should be the options: "Open" and "Open folder"
34 put each received file into a folder for the contact (optional)
35 if a specific directory is chosen, the dialog should have a history of the most recent download \
36 folders (10 maybe?)
37 Advanced Alerts (sound, popups, etc)
38 Ignore list
39 plugin system
40
41Important
42 clicking on a chatdlg when bringing focus should always set focus to the input widget (eat the click)
43 'find' feature for chatdlg
44 checkbox to keep eventdlg open (both send and recv). for send, it should reset the content after sending.
45 statussetdlg should automatically click ok in 10 seconds (unless you press a key)
46 ability to flag which accounts are affected by the mass status change button (should be in account context menu)
47 cv: remember the open/closed state of groups
48 cv: group headings should have a better design than just a rectangle (gradient?)
49 add "Go to Website" and x:oob in presence
50 use arts for sound on unix (or custom, for things like "play")
51 ability to do various iq requests to arbitrary jids: version, time, info
52 multi-monitor support: windows should pop up on the same display as the main window?
53 "last seen" time for contacts
54 emoticon menu button
55 merge all contacts into one column, rather than dividing by account
56 consolidated contacts
57 send contacts
58 save/load contacts (hint: use QCheckListItem for dialogs)
59 exporting
60 dialog for selecting contacts to export to file
61 write to file
62 importing
63 import a list from file
64 dialog for selecting contacts to import
65 tell the server about the new contacts
66 check for dups
67 offline animation (door slam)
68 chathistorydlg
69 a nice window to display chat history
70 maybe a menubar with some features like "save to file" ?
71 show/hide times
72 show/hide/rename other person (for privacy)
73 WM dock
74 floating contacts (controlled by cvlist?)
75 full message archive dialog (tree/explorer view for choosing contacts on left, display area on the right).
76 Update all (mass user info check)
77 Detecting network connection status. option to auto-connect when network is available.
78 startup argument to select profile
79 ability to execute a shell command on event
80 option to display (in realtime) the cvlist as 'flat', ie without groups
81 voice chat
82 option to launch on startup (platform dependent, good luck)
83 different color choices for different group types
84 transport-specific roster icons
85 deal with presence errors when subscribing
86 command line args? psi.exe --psi-data dir
87 have separate status presets depending on the status type
88
89Extra
90 there should be a way to copy a url to clipboard from the eventdlg attachment
91 ability to flag a contact or group to always be shown even if they would not be (due to visibility toggles)
92 how about adding "Add Contact", "New Blank Message", "Manage services" and "Join Groupchat" to the cv \
93 rightclick menu for each of the servers?
94 allow eventdlg and chatdlg inputs to drag / drop URLs (in both directions)
95 chatdlg separator: "snap" to font height?
96 transport iconsets (misha?)
97 translation packs for the Qt library itself??
98 check to see if app is already running when launched. if it is, then:
99 ask if they really want to open it again
100 if they say yes, then disable auto-open for profiles
101 save presence changes to history?
102 win32: docking (all optional)
103 grapple to edge of screen, like ICQ for windows
104 auto hide: after a certain period of inactivity, "slide" the window off the screen
105 auto hide delay: time to wait before sliding off
106 right-click in chat/eventdlg should have options to paste your current URL or IP address
107 Avatars (Buddy Icons)
108 KDE-enhanced mode
109 "previous" button in the eventdlg?
110 Autoresponses? (with general and customized texts)
111 auto close chat windows that are not in focus after so many minutes of inactivity
112 The Main Window's Icon should change when new messages arrive, just like the dock icon does.
113 Ability to filter messages based on words (maybe even shell command filters)
114 Ability to compose messages and send at a later specific date (or when you or the recipient go online)
115 option to autohide main roster window after a set period of time
116 supporting BOLD and ITALIC in jabber msges by using * and / like you do in newsgroups ..
117 Licq supports replacing some %<letter>s with information on the sender of the
118 message and other things. (There's a list below) IT supports these in
119 OnEvent, auto responses (check status), and utilities
120 For example: sound player "~/scripts/say", on message "%a has just sent you an I.C.Q. message"
121 %a - user alias
122 %e - email
123 %f - first name
124 %h - phone number
125 %i - user ip
126 %l - last name
127 %m - # pending messages
128 %n - full name
129 %o - last seen online
130 %O - online since
131 %p - user port
132 %s - full status
133 %S - abbreviated status
134 %u - uin
135 %w - webpage
136 Ability to specify an arbitrary time for chatdlgs to stay active (x minutes/hours/days)
137 "small mode" - put mainwin buttons (and toolbuttons) into the cvlist right-click
138 option to have sounds not play when XA (but still play when Away)
139 option to have mainwin/dock status follow a specific account rather than "best choice"
140 option to show status message in parenthesis to the right of the contact (like yahoo)
141 ability to "auto-reconnect" to a transport?
142 cv: let the user choose how the list is sorted
143 Spell check
144 pictures for users
145 group ideas:
146 option: sort or not
147 choose order of groups and contacts with drag and drop
148 save order on the server
149 support empty groups that get removed on signoff
150 Have a way of marking some people as 'important' contacts, so they will always trigger sound
151 psuedo-chat support like Mirabilis ICQ / Licq (ie, split window, but still used like normal messages)
152 friendlier infodlg. get rid of those lame tabs
153 maybe an XML-based skins support (not only colors, sounds, images, key \
154 bindings, but also window positions, shapes, etc) \
155 Microsoft Windows Media Player supports XML-based skinning. Basically \
156 this consists of a file which has a bunch of JavaScript glueing the \
157 entire skin together with code, and several images for hilite graphics, \
158 background graphics, alpha-map graphics, etc. Very flexible. \
159 Justin's opinion: if you want to fork Psi to do this, be my guest..
160 cvlist sorting options
161 sort by group, online/offline split
162 sort by group, online/offline together
163 sort by group and by status
164 sort by group and alphanumerically
165 sort by status without groups
166 sort alphanumerically without groups
167 sort by online/offline
168 straight alphanumerical sort
169 chatdlg: optionally tabbed like GAIM?
170 cvlist select multiple?
171 right-clicking on status button should bring up a list of accounts, each with submenus that would set \
172 the status of the chosen account.
173 option to have psi remember your password for the running session
174 Remember last status when psi quits (even if improperly shut down). restore this status when psi is run again?
175 if you get a msg from someone in a closed group, it should not expand the whole group
176 "diskless" mode
177
178Bugs
179 connection timeouts are reported as "connection refused" (qt)
180 slowdown when receiving a chat message? or a problem with QTextEdit debug messages?
181
182Miscellaneous
183 change PsiIconSet::type2anim() to be const (and return const)
184 properly sort cvlist accounts if one of them gets renamed
185 class Options: cpp'ify (reset, toXml, fromXml)
186 convert some of the preferences into their own classes (or lists), like fonts, colors, sounds, etc
187 field for author/license information in lang packs (display in About box)
188 'find' function in historydlg should show the found result in the center of 50 results, rather than the top
189 Check for libqssl without needing a restart?
190 finish jidlink and formalize the linktest process (<linktest xmlns="adsfasd"/>)
191 replies should only close a window that it is associated with (use QGuardedPtr?)
192 custombrowser, mailer, and sound player should be called as a shell command, not arg0
193 don't allow send/recv of blank messages (all content is whitespace or empty)
194 allow blank password entry
195 don't prompt for password until actually connected. reprompt if wrong??
196 iconset: universal anim support (so eventdlg / mainwin / contactview can share) (misha?)
197 proper dialog button order depending on platform
198 when entering a text string into "Server to browse", any whitespace before or after is not trimmed. lots of \
199 fields like this should have some sort of auto-trim.
200 when opening a new chat window of a contact with pending events, the presence is logged to the chat window \
201 before the messages are, which have an earlier timestamp (looks weird)
Note: See TracBrowser for help on using the repository browser.