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