Gui progress
Version 336 (Adrian Georgescu, 08/02/2009 03:46 pm)
1 | 1 | Adrian Georgescu | [[TOC(gui_progress, depth=3)]] |
---|---|---|---|
2 | 1 | Adrian Georgescu | |
3 | 289 | Adrian Georgescu | = Audio = |
4 | 1 | Adrian Georgescu | |
5 | 309 | Adrian Georgescu | 1. '''Mute''' microphone when pressing the mute button |
6 | 323 | Adrian Georgescu | 1. Make the alert panel grey/white |
7 | 281 | Adrian Georgescu | 1. Rename menu item Session with Sessions |
8 | 326 | Adrian Georgescu | 1. Add main menu item Audio after Sessions |
9 | 326 | Adrian Georgescu | 1. Add to Audio menu: |
10 | 326 | Adrian Georgescu | 1. Alert device selection |
11 | 326 | Adrian Georgescu | 1. Input device selection |
12 | 326 | Adrian Georgescu | 1. Output device selection |
13 | 326 | Adrian Georgescu | 1. Mute microphone |
14 | 326 | Adrian Georgescu | 1. Silent mode |
15 | 326 | Adrian Georgescu | 1. Add Menu item Sessions-> Start audio session and pop up window to enter an address |
16 | 335 | Adrian Georgescu | 1. Always play the disconnect tone when a session ends (e.g. failure, cancel) |
17 | 326 | Adrian Georgescu | 1. New incoming sessions, alert window shrinks in size after a few remote cancels (still not solved) |
18 | 335 | Adrian Georgescu | 1. Do not open automatically the drawer when the interface is collapsed |
19 | 326 | Adrian Georgescu | 1. View show drawer must expand also the main interface if collapsed |
20 | 311 | Adrian Georgescu | 1. Display '''Ringing...''' in audio session status when getting ring indication from the remote party |
21 | 326 | Adrian Georgescu | 1. Calls that do not resolve in DNS remain in the drawer, use bonjour and dial xyz to reproduce |
22 | 309 | Adrian Georgescu | 1. Closing many active sessions cause many tones to be played back. Throttle tones playback |
23 | 296 | Adrian Georgescu | 1. Add functionality to display the previous sessions in the session drawer, most recent on top |
24 | 326 | Adrian Georgescu | 1. Add menu View -> Audio History drawer |
25 | 289 | Adrian Georgescu | 1. When dial a second call while in another call, if the user clicks on the previous call before the new session is established the session info is broken |
26 | 326 | Adrian Georgescu | 1. Add a '''record button''' left to Hold button. When pressed toggle recording the audio session using the '''general.audio.history''' folder |
27 | 333 | Adrian Georgescu | 1. [wiki:DesignConference Conference audio sessions] |
28 | 1 | Adrian Georgescu | 1. Add a '''triangle button''' to expand vertically the audio session frame with extra room for audio session information |
29 | 322 | Adrian Georgescu | |
30 | 1 | Adrian Georgescu | = Chat = |
31 | 321 | Adrian Georgescu | |
32 | 334 | Adrian Georgescu | 1. Use '''same look and feel''' for the toolbar buttons as the main interface |
33 | 322 | Adrian Georgescu | 1. Replace Connect/Close buttons with a single button that accurately displays the connection status |
34 | 334 | Adrian Georgescu | 1. Cannot make connection again after the chat session is disconnected |
35 | 326 | Adrian Georgescu | 1. Print each message into its own time-stamped frame, do not append message to previous frames |
36 | 322 | Adrian Georgescu | 1. Not all printed timestamp are using the local timezone |
37 | 1 | Adrian Georgescu | 1. Mark undelivered messages with a reddish color background |
38 | 320 | Adrian Georgescu | 1. When connected print system message: '''MSRP chat session established''' (without username@domain) |
39 | 320 | Adrian Georgescu | 1. When disconnected by remote user print system message: '''MSRP chat session terminated by remote party''' |
40 | 320 | Adrian Georgescu | 1. When cancelling an outgoing session print system message: '''MSRP chat session cancelled''' |
41 | 1 | Adrian Georgescu | 1. When disconnected by local user print system message: '''MSRP chat session terminated''' |
42 | 322 | Adrian Georgescu | 1. When MSRP stream fails print system message: '''MSRP chat session failed (reason)''' |
43 | 326 | Adrian Georgescu | 1. '''Auto-accept''' chat only sessions when the From header of the INVITE is in the contacts list |
44 | 327 | Adrian Georgescu | 1. When dragging a recipient tab on the contact list bring up the '''Add contact dialog''' |
45 | 327 | Adrian Georgescu | 1. Remove Add contact button |
46 | 1 | Adrian Georgescu | 1. Sent/received alert sounds are now played with a delay, immediately play sounds if queue is empty |
47 | 1 | Adrian Georgescu | 1. Display the number of '''un-read messages''' in non-active tabs within a red circle over the tab name |
48 | 322 | Adrian Georgescu | 1. To close a chat tab add a '''small x button''' to it |
49 | 322 | Adrian Georgescu | 1. When click on the Audio button, use add_stream to append an audio stream to existing chat session |
50 | 1 | Adrian Georgescu | 1. If an audio stream exists part of the session, add the audio control buttons '''Record|Hold|Terminate''' |
51 | 1 | Adrian Georgescu | 1. Display '''is-composing''' payload (not yet available in middleware) |
52 | 296 | Adrian Georgescu | 1. When dragging a recipient tab outside '''spawn a new chat window''' and move the session into it |
53 | 1 | Adrian Georgescu | 1. Add functionality to '''search history''' |
54 | 326 | Adrian Georgescu | 1. Add Menu item Sessions-> Start chat session and pop up window to enter an address. The chat session dialog is different than the audio dialog, extra options will be added a latee time |
55 | 1 | Adrian Georgescu | 1. Add file transfer function (pop up a file selection dialong and establish a separate SIP session per file). On incoming be prepared to receive offer with multiple files per SIP session. |
56 | 336 | Adrian Georgescu | 1. Display the file transfer session information in the chat window like system messages |
57 | 336 | Adrian Georgescu | 1. When drag a file onto the Chat window or the Contact in main interface start a file transfer session |
58 | 336 | Adrian Georgescu | |
59 | 1 | Adrian Georgescu | = Main interface = |
60 | 1 | Adrian Georgescu | |
61 | 232 | Adrian Georgescu | 1. The pressed icon of the mute microfone is too red, the microphone is not visible |
62 | 327 | Adrian Georgescu | 1. Add right click actions to the dock icon to start audio and chat sessions |
63 | 1 | Adrian Georgescu | 1. If dragging window size when collapsed, it does not fall back into place correctly |
64 | 326 | Adrian Georgescu | 1. Show only error messages in the log drawer with a reddish font |
65 | 1 | Adrian Georgescu | 1. Auto withdraw the log drawer after 5 seconds |
66 | 327 | Adrian Georgescu | 1. Link the Menu item Help->Blick help to http://wiki.iCanBlink.com |
67 | 1 | Adrian Georgescu | |
68 | 319 | Adrian Georgescu | = Contacts = |
69 | 1 | Adrian Georgescu | |
70 | 326 | Adrian Georgescu | 1. Rename menu item Contact with Contacts |
71 | 326 | Adrian Georgescu | 1. Add Edit Contact in the Contacts menu |
72 | 326 | Adrian Georgescu | 1. Add Edit Group in the Contacts menu |
73 | 326 | Adrian Georgescu | 1. Add Delete Group in the Contacts menu |
74 | 1 | Adrian Georgescu | 1. Add right click menu to contacts: |
75 | 319 | Adrian Georgescu | 1. Start Audio session |
76 | 1 | Adrian Georgescu | 1. Start Chat session |
77 | 319 | Adrian Georgescu | 1. Edit contact |
78 | 326 | Adrian Georgescu | 1. Add the following per contact settings and fields in the '''Add/edit contact window''': |
79 | 326 | Adrian Georgescu | * Double click starts: Radio buttons: Audio session, Chat session |
80 | 326 | Adrian Georgescu | * Subscribe to Presence (boolean, default true) |
81 | 326 | Adrian Georgescu | 1. '''Delete the Contact''' when pressing delete |
82 | 299 | Adrian Georgescu | 1. When pressing delete on a Group, prompt the user to either delete all associated contacts or move them to another existing group |
83 | 299 | Adrian Georgescu | 1. When double click on a contact use the action saved with the contact (e.g. chat session instead of audio session) |
84 | 319 | Adrian Georgescu | 1. Append domain part if missing. E.g. when adding abcd@chatserver we must still append the domain name after chatserver |
85 | 299 | Adrian Georgescu | 1. Allow drag of contact from one group to another |
86 | 326 | Adrian Georgescu | 1. If search when GUI is collapsed and then expand then the Add contact button overlaps with other text in the window |
87 | 1 | Adrian Georgescu | |
88 | 1 | Adrian Georgescu | = Preferences = |
89 | 315 | Adrian Georgescu | |
90 | 326 | Adrian Georgescu | 1. Call '''set_audio_devices()''' when changing the audio device or tail_length in global Preferences |
91 | 331 | Adrian Georgescu | 1. Add optional Display name field to account creation dialog (same caption as in pref window) |
92 | 200 | Adrian Georgescu | 1. '''Bonjour account''' does not show/hide when activate/deactivate in preferences |
93 | 1 | Adrian Georgescu | 1. Properly '''align''' horizontally the Advanced settings |
94 | 295 | Adrian Georgescu | 1. Audio device must also list 'Default system input ' and 'Default system output' (or is it a middleware setting?) |
95 | 326 | Adrian Georgescu | 1. Do not allow window resize |
96 | 199 | Adrian Georgescu | 1. '''bonjour account''' must have only Display name as main property |
97 | 326 | Adrian Georgescu | 1. Check if the selected wav file is in the right format supported by PJSIP before saving the settings related to ringtones |
98 | 242 | Adrian Georgescu | 1. No control available to set the volume level of the wav files |
99 | 295 | Adrian Georgescu | 1. Hide the minus button for Bonjour, it cannot be deleted |
100 | 199 | Adrian Georgescu | 1. When the password field is changed, re-Register the account |
101 | 199 | Adrian Georgescu | 1. When Register flag is toggled for account, (de)Register the account accordingly |
102 | 1 | Adrian Georgescu | 1. Display SIP registration state in '''account.advanced.registration''' section |
103 | 199 | Adrian Georgescu | 1. Codec lists must be an ordered list with at least one active codec |
104 | 199 | Adrian Georgescu | 1. '''Stun server''' addresses cannot be set, they seem to inherit the results found in DNS |
105 | 199 | Adrian Georgescu | 1. '''general.rtp.local_ip''': Can't set option local_ip illegal local IP address value: auto |
106 | 199 | Adrian Georgescu | 1. '''general.rtp.port_range''': (AttributeError: 'PortRangeOption' object has no attribute 'save') |
107 | 1 | Adrian Georgescu | 1. '''general.sip.transports''' cannot be saved |
108 | 1 | Adrian Georgescu | 1. '''general.audio.codec_list''' cannot be saved and displays duplicate codecs |
109 | 1 | Adrian Georgescu | 1. '''account.audio.codec_list''' cannot be saved and displays duplicate codecs |
110 | 295 | Adrian Georgescu | 1. '''account.msrp.relay''' cannot be set: global name 'MSRPRelayAddres' is not defined |
111 | 325 | Adrian Georgescu | 1. For '''account.ringtone''' advanced setting, the default setting must be inherited from '''general.ringtone.inbound''' |
112 | 1 | Adrian Georgescu | 1. Check if the TLS options set by the user are valid before saving them (by loading them outside the engine using gnutls library) |
113 | 29 | Adrian Georgescu | 1. Make general section buttons on toolbar instead of drop down box |
114 | 1 | Adrian Georgescu | |
115 | 41 | Adrian Georgescu | = Presence bar = |
116 | 306 | Adrian Georgescu | |
117 | 1 | Adrian Georgescu | 1. Show '''Display name''' next to the photo on top row. When edit the name save account.display_name setting |
118 | 1 | Adrian Georgescu | 1. Put own photo in a white rounded frame like Adium |
119 | 308 | Adrian Georgescu | 1. Show '''Presence activity''' next to name on top row. Activities: |
120 | 308 | Adrian Georgescu | 1. Available |
121 | 308 | Adrian Georgescu | 1. Away (automatically set it if keyboard/mouse idle) |
122 | 1 | Adrian Georgescu | 1. Appointment (automatically set it if keyboard/mouse is idle and the system calendar has an entry) |
123 | 305 | Adrian Georgescu | 1. On the phone (automatically set it when and audio session starts) |
124 | 308 | Adrian Georgescu | 1. Working |
125 | 308 | Adrian Georgescu | 1. Busy |
126 | 305 | Adrian Georgescu | 1. Meeting |
127 | 304 | Adrian Georgescu | 1. Presentation |
128 | 305 | Adrian Georgescu | 1. Meal |
129 | 308 | Adrian Georgescu | 1. Dinner |
130 | 305 | Adrian Georgescu | 1. Travel |
131 | 305 | Adrian Georgescu | 1. Permanent absence (brings up a pop-up dialog with text note and an end date selection) |
132 | 1 | Adrian Georgescu | |
133 | 1 | Adrian Georgescu | 1. Show '''Presence activity note''' on the second row, editable text with white background and a blueish text color |
134 | 142 | Adrian Georgescu | 1. Acquire photo from webcam and save it |
135 | 295 | Adrian Georgescu | |
136 | 295 | Adrian Georgescu | = Debug = |
137 | 295 | Adrian Georgescu | |
138 | 295 | Adrian Georgescu | 1. Add colors to the SIP trace content |
139 | 295 | Adrian Georgescu | 1. Filter SIP trace by first line (add a checkbox called SIP Methods and Answers only) |
140 | 1 | Adrian Georgescu | 1. Rename Enable MSRP Trace (Header Only) to '''MSRP headers''' |
141 | 1 | Adrian Georgescu | 1. Rename Enable MSRP Trace Body to '''MSRP content''' |
142 | 277 | Adrian Georgescu | 1. Rename Enable XCAP Trace (Header Only) to '''XCAP headers''' |
143 | 295 | Adrian Georgescu | 1. Rename Enable XCAP Trace (Body) to '''XCAP content''' |
144 | 1 | Adrian Georgescu | 1. Print DNS lookups and results in the SIP trace window formated like in sip_audio_session script |
145 | 272 | Adrian Georgescu | 1. Delete the PJSIP and Notifications tabs |
146 | 289 | Adrian Georgescu | |
147 | 311 | Adrian Georgescu | = Other = |
148 | 1 | Adrian Georgescu | |
149 | 332 | Adrian Georgescu | 1. When started, Blink uses only 0.2% CPU, after an audio call the CPU remains > 10% (check auto audio idle) |
150 | 311 | Adrian Georgescu | 1. Show in General debug window other registered contacts from the response for Register |
151 | 1 | Adrian Georgescu | 1. Save position of '''contact groups''' - colapsed/expanded and their order |
152 | 1 | Adrian Georgescu | 1. Save position of Debug window and its checkbos settings |
153 | 311 | Adrian Georgescu | 1. Set SIP User Agent name to '''blink-<version>''' |
154 | 326 | Adrian Georgescu | 1. After keeping windows open for awhile the messages arrive very late on the other side |
155 | 326 | Adrian Georgescu | 1. Make a queue with maximum 32 tones to prevent PJSIP from crashing (or better increase PJSIP itself to a more decent value?) |