Gui progress

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