| 1 | Required | 
|---|
| 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 |  | 
|---|
| 41 | Important | 
|---|
| 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 |  | 
|---|
| 89 | Extra | 
|---|
| 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 |  | 
|---|
| 178 | Bugs | 
|---|
| 179 | connection timeouts are reported as "connection refused" (qt) | 
|---|
| 180 | slowdown when receiving a chat message?  or a problem with QTextEdit debug messages? | 
|---|
| 181 |  | 
|---|
| 182 | Miscellaneous | 
|---|
| 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) | 
|---|