Sorry, it just wasn't maintainable. The problem is the current libotr
API. I'm sick of working around the strange libotr API, sick of getting
HTML messages, sick of losing messages. The final argument for
completely removing it was that we can't get the message ID of a sent
msg anymore - which we need. I tried to work around this as well, but
there seems to be no way to wait for a signal in glib the way I would
need it for the workaround (I wanted to emit a signal in inject_message
and then wait for it after the call to otr_message_fragment_and_send
so the signal can pass us the message id). And the last reason is that
we're heading towards a new release and thus want to stabilize the code,
thus don't have time to work around even more libotr API strangeness.
I will give feedback to the libotr developers, who are currently
planning a new API, so that we can hopefully see OTR support once again
as soon as libotr4 is released.
Kjell already announced that he will continue his branch:
https://code.launchpad.net/~afflux/gajim/otr
I really hope the libotr devs will provide a sane API with libotr4 so
we can integrate OTR support again.
Oh, and I added one more try/except block for OS X.
* Buttons get disabled as needed now [we still need something to update
this while the window is open (it might change, for example, the
contact was added)].
* Remove the new accelerators in destroy_menu().
* Move some OTR stuff.
* Don't hide OTR from the user if not available, but set unsensitive.
And fix that stupid bug that glade will introuce again and again
(it's just to stupid to keep the image None and replaces it with
gtk-missing-image, so you always see a stupid image as avatar when
there's none)
* Moved some code so we can get rid of a few ifs.
What still needs to be done for the GUI redesign to be complete:
Don't show entries in the actions menu that have buttons.
* Make usage of history_window (hopefully) more straight forward. (widget placement, focus, shown nicks, completion...)
* Kill two bugs where wrong nicknames were shown in chathistory and results window.
* Rename functions to make clear that their are intended for private usage only.
Merged revisions 9143,9145-9155,9157-9162,9164-9169,9171-9177 via svnmerge from
svn://88.191.11.156/gajim/branches/one_window
........
r9145 | nicfit | 2007-12-13 21:49:09 -0700 (Thu, 13 Dec 2007) | 2 lines
Implemented the original Nikos patch with an HPaned instead of a HBox and only do this mode when one_message_window == 'always'
........
r9152 | nicfit | 2007-12-15 13:33:56 -0700 (Sat, 15 Dec 2007) | 2 lines
Added config and GUI for one_message_window_with_roster
........
r9153 | nicfit | 2007-12-15 13:41:46 -0700 (Sat, 15 Dec 2007) | 2 lines
Use one_message_window_with_roster and some whitespace cleanup
........
r9154 | nicfit | 2007-12-15 14:04:49 -0700 (Sat, 15 Dec 2007) | 2 lines
Scratch the chckbox for with roster mode, use one_message_window opt and combo
........
r9155 | nicfit | 2007-12-15 17:01:13 -0700 (Sat, 15 Dec 2007) | 2 lines
MessageWindowMgr knows about ONE_MESSAGE_WINDOW_ALWAYS_WITH_ROSTER and MessageWindow can reparent itself rather then the roster having to do so.
........
r9157 | nicfit | 2007-12-15 17:47:20 -0700 (Sat, 15 Dec 2007) | 2 lines
Resizing fixes and make the roster window shrink when last tab is removed
........
r9158 | nicfit | 2007-12-15 19:15:11 -0700 (Sat, 15 Dec 2007) | 2 lines
Added "Show roster" (CTRL+R) to view menu when using always_with_roster to quickly hide/show the roster.
........
r9159 | nicfit | 2007-12-15 19:49:30 -0700 (Sat, 15 Dec 2007) | 2 lines
Handle window title setting in always_with_roster mode.
........
r9160 | nicfit | 2007-12-15 20:13:57 -0700 (Sat, 15 Dec 2007) | 2 lines
Removed FIXME
........
r9167 | nicfit | 2007-12-17 18:40:59 -0700 (Mon, 17 Dec 2007) | 2 lines
When roster is hidden, show it when the number of MessageWindow controls == 0
........
r9168 | nicfit | 2007-12-17 19:07:49 -0700 (Mon, 17 Dec 2007) | 2 lines
Disable hiding roster when there are no message controls open
........
r9169 | nicfit | 2007-12-17 20:41:11 -0700 (Mon, 17 Dec 2007) | 2 lines
Bunch of saved size bugs fixed
........
- Add support for fingerprints to servers.xml parser.
- Add support for 'hidden' servers to servers.xml parser.
- Add some fingerprints to servers.xml, for testing and as example for the new format.
- Force asynchronous (nonblocking) SSL handshake in all case
- Add logging to c/connection.py
Known issues:
- Checking of fingerprints doesn't work on in-band SSL (Typically port 5222) because of stuff happening out of sequence. Workaround: use immediate SSL mode ("Legacy SSL" option in server config). Because there is as of yet no other way to /force/ SSL, this is also the most secure setting.
- A lot of code is still looking for a better place to live.
- In verbose mode, print encodings. (Especially for Windows users who don't have Python) (gajim.py)
- Attempt at fixing traceback when getting user's home directory in Windows. See #2812. (c/configpaths.py)
- Show 'error' icon next to account while waiting for reconnect. Fixes#2786. (c/connection_handlers.py, c/gajim.py, c/connection.py)
[PyOpenSSL]
- Fix 100% CPU usage and hanging connection when server closes connection on us. (c/x/transports_nb.py)
- Fix 'hanging' connection when server closes the connection on us before we can open the XML stream. (Disconnect handler didn't get called.) (c/x/client_nb.py)
- Change prints to logger calls, various enhancements to debug printing, reduce spam (c/x/transports_nb.py)
- this → self (c/x/transports_nb.py)
- Call _do_receive() once to collect error message from socket, when error flag is raised in scheduler. (c/x/transports_nb.py)