Commit Graph

448 Commits

Author SHA1 Message Date
Brendan Taylor 36f286f808 enable esession and gpg menuitems if they're active 2008-07-27 21:35:02 +00:00
Brendan Taylor 094052eb7c fix some issues with the difference between Contacts and GC_Contacts 2008-07-26 01:16:24 +00:00
js 83a317c042 Renegotiate if the remote end got disconnected and now got back online. 2008-07-24 22:14:42 +00:00
js dcfeafd0c6 Start autonegotiation when the user starts typing. 2008-07-24 22:13:37 +00:00
js c484fdddf1 Show tooltip for chat states. 2008-07-24 22:11:48 +00:00
js 701fe4267f Fix a TB. 2008-07-23 18:34:26 +00:00
js 0d9a73cde9 Always have self.contact of a chat control point to the hightest
resource if none was specified.

As it's still possible to start E2E when the only E2E-capable resource
goes offline, this means that caps is definitely broken.

(Yes, I verified it with a print contact.resource - it IS checked for
the right contact!)
2008-07-23 18:21:02 +00:00
js 6bfdebf347 Fix #4069. 2008-07-23 17:40:02 +00:00
js 5441c32e0e Finally fix status message tooltip in conversation window.
This also doesn't leave the tooltip when the status was removed anymore
2008-07-23 17:28:01 +00:00
js c5b7f356a9 Be compatible with pygtk 2.10.
I'm still for kicking compatibility for everything < 2.12.0 as with
2.12.0, there are a few new APIs that obsolete old, stupid APIs.
2008-07-23 16:27:06 +00:00
js 63524f79e9 Be consistent in the chat window. 2008-07-22 23:30:52 +00:00
js b9ea534850 Show user tune in conversation window. 2008-07-22 23:06:58 +00:00
js c5e679a078 Show mood in chat window. 2008-07-22 21:08:52 +00:00
js 213d9dd54c Separate the code to update the toolbar. Now we can update when the
status / caps chance.
2008-07-22 15:40:20 +00:00
Brendan Taylor 90098b1e34 make esession autonegotiation option per-account and per-jid 2008-07-20 15:06:21 +00:00
Brendan Taylor f11b5dd081 added option for esession autonegotiation
added option for modp groups to use in a negotiation
2008-07-19 20:42:03 +00:00
Brendan Taylor e4b4d839da fix a really silly bug caused by my last commit 2008-07-19 20:41:53 +00:00
Brendan Taylor 913c434c80 update status in resource-specific chat windows 2008-07-19 18:31:45 +00:00
js f704701ba4 Support for displaying XEP-0184 receipts. 2008-07-18 20:24:34 +00:00
js 6b9bfab6d1 Last diff was incomplete. 2008-07-15 17:04:36 +00:00
js e01968ef91 GPG is always authenticated as we use GPG's WoT.
An idea: Currently, we don't send the message when the key has not
enough trust. How about showing the unauthenticated icon then, but
sending the message?
2008-07-15 16:45:39 +00:00
js cb29efd57e Revert r9928 and implement a workaround that allows real E2E checking.
This workaround will still work once fallback to disco is supported,
though it SHOULD be removed then as it's not necassary anymore then.

@bct: Now we only need to get rid of that password dialog :).
2008-07-15 13:30:31 +00:00
Brendan Taylor 7ff17b7e1f don't automatically start esessions, at least until we get caps sorted out 2008-07-14 05:00:57 +00:00
Brendan Taylor a407414dd9 automatically start an esession when the remote client supports it 2008-07-14 00:26:14 +00:00
js e67048bdfd If we receive an error PEP packet, don't treat it as incoming PEP event 2008-07-11 12:34:43 +00:00
Brendan Taylor ebcb659196 improved esession auth messages 2008-07-09 03:10:50 +00:00
Brendan Taylor 2e97cc3adb snagged tango security icons from gnome-icon-theme 2008-07-09 02:03:57 +00:00
Brendan Taylor e32b184cf7 fix GroupchatControl session-related TB 2008-07-04 00:30:07 +00:00
js 0405981b15 Added a function to check for specific features. This makes
implementing a later coming fallback to disco rather easy.
2008-07-02 09:20:49 +00:00
js 62fe1c72e3 Use caps to determine remote clients' support for specific features.
Caps is now used for: File Transfers, MUC Invites, Ad-Hoc Commands.

TODO:
 * Also handle it this way for typing notifications
   (This might give some trouble / compatibility issues)
 * Fall back to service discovery if no caps are available. Otherwise,
   we break compatibility with a lot of clients. (Asterix?)
2008-07-01 10:26:50 +00:00
Brendan Taylor 908bf97fbc fix esession toggling 2008-06-29 15:57:07 +00:00
Brendan Taylor b490904454 make esession authentication warning less obtrusive 2008-06-29 04:39:29 +00:00
Yann Leboulanger 2f6106bda5 don't allow /ping command for zeroconf account. Fixes #3685 2008-06-16 12:56:16 +00:00
Brendan Taylor 2b074aed41 pass the ChatControl around with printed_chat events 2008-06-14 16:49:48 +00:00
Jean-Marie Traissard f9c981df5d -Set General and Observer group directly in contact instance, instead of calculating it each time
-When creating self-contact contact instance, store it with group 'self_contact', so it never goes in General
-Make general group not be seen visible because of self contact even if self.regroup
-Remove the self contact instance itself too when WE deconnect or when IT deconnect, so we will
not see it as offline if refilling roster (regroup account for example)
2008-06-08 21:27:31 +00:00
js d0b15bf5fd Don't return 1 on error, but None. 1 could also be a message ID. 2008-06-08 16:54:59 +00:00
js 593ed0c6d8 * Fix passing of message ID.
* Don't asnwer to receipt requests from users not in roster.
2008-06-08 15:51:55 +00:00
js c2eb4b5a9f Completely remove OTR.
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.
2008-06-08 15:27:05 +00:00
Jean-Marie Traissard 7fbfa0547d Regroup window.present() calls. See #3908. 2008-06-05 15:09:17 +00:00
Brendan Taylor d19cb43ee0 don't assign a session to a control until it's needed 2008-06-02 23:26:32 +00:00
Brendan Taylor 1796a6006b fix on_vadjustment TB 2008-05-31 00:54:57 +00:00
Yann Leboulanger 685707e2e0 check active tab with control variable, not jid. fixes #3876 2008-05-30 10:07:01 +00:00
Brendan Taylor f7874d29c7 reuse chat controls after session termination
fixes #3950
2008-05-23 23:27:08 +00:00
js f1c333410e Revert r9682, it was a bad idea. The solution is not to send the
thread id, but to even remove the lock symbol when OTR was ended
and we don't have a thread id.
2008-05-19 20:13:24 +00:00
js f92f5f5c64 Send thread ID on ending OTR session so that self.session is defined
when that event is received and the lock icon updated.
2008-05-19 20:04:48 +00:00
js 303a09d7c8 update_ui() doesn't call update_otr(). We want update_otr() here. 2008-05-19 18:57:14 +00:00
js ad5248f3dc Coding style. 2008-05-18 21:15:58 +00:00
js 0cc5b4c377 Lock icon didn't show authenticated correctly. Fixed. 2008-05-18 21:14:59 +00:00
js 8a6615a5d0 Renable OTR. I found a way no messages will get lost, but it's more
or less a workaround. We never let libotr handle unencrypted messages
now and handle notifying the user about the message not being encrypted
ourself.
2008-05-18 19:11:13 +00:00
js edf8738a39 Don't show events from buttons in advanced menu, only show them when
triggered via the banner right-click menu.
2008-05-17 13:14:34 +00:00
Brendan Taylor ade56853fe moved session.remove_events. fixes #3942 2008-05-14 00:34:02 +00:00
Brendan Taylor 371e75ef40 fixed tab/space consistency 2008-05-13 02:03:26 +00:00
Brendan Taylor d511b5afc4 merged in session-centric branch, with fixes for OTR compatibility 2008-05-13 01:59:10 +00:00
js 573568f9ac Reverted r9614 and r9615.
Sorry, bct, but I think it is to early to merge that as it completely
breaks. It seems nobody in gajim@conference.gajim.org considers it
usable yet.
I don't know if you got asterix' ok for it and I'm sorry if I reverted
it now although you had his ok, but having broken trunk is very
contra-productive. I think it was just too early to merge.
2008-05-11 13:17:28 +00:00
Brendan Taylor 2162c3730a merged in session_centric branch 2008-05-11 01:19:59 +00:00
js 4eeb96368b Store otr_userstates at the right place and create it the right way.
This fixes the crash when creating a new account, which made Gajim
unusable on systems where it never ran before.
2008-05-10 21:29:47 +00:00
js c4b2cdc31f * Add button for new chat window GUI.
* 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.
2008-05-10 11:39:25 +00:00
js 435042968e Added OTR support.
Work done by Kjell Braden <fnord@pentabarf.de>.
Some fixes done by me.
2008-05-09 12:35:25 +00:00
js b04250cf9f Added bookmarks for *EVERY* button in chat window and GC window. 2008-05-09 09:34:38 +00:00
js dbdf6a135e Improve the last commit, popup is shown under the button now. 2008-05-07 16:36:45 +00:00
js 4c29f03d6c Make Alt-A work again. 2008-05-07 16:24:15 +00:00
js 99a8c05bb8 * Converted GC to new GUI as well.
* 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.
2008-05-07 15:34:00 +00:00
js b42a89d269 Why enforce /say if we can just imply /say when it's a not implemented
command? This is far more userfriendly. If you have any objections,
feel free to revert and I'll think of something else that's not as
annoying as /say.
2008-05-05 18:37:15 +00:00
js eb468c5d4a Redesign the chat window GUI. Should be more userfriendly now. 2008-05-04 20:47:51 +00:00
Brendan Taylor 1962b231e6 pm bugfix 2008-05-04 00:24:27 +00:00
Brendan Taylor 99f2997d27 pm fixes 2008-05-03 00:10:17 +00:00
Brendan Taylor 20beea4b49 fixed groupchat 2008-05-02 02:32:28 +00:00
Brendan Taylor d4a766963f multiple chat session windows per contact. groupchat and pms broken. 2008-04-30 02:55:13 +00:00
Stephan Erb 4e6bd4ee8f Port roster_window to gtk.TreeModelFilter.
Contacts are now online hidden when they connect/reconnect and not completely removed/readded. Should come with a great speed improvement for people with big rosters.
There are still a few known problems but non that should dalay this patch any longer. Related bugs will be tracked with 'modelfilter' keyword.

See #1201
2008-04-20 14:01:04 +00:00
Jean-Marie Traissard 968b2acc4f http://python.org/dev/peps/pep-0008/ " Comparisons to singletons like None should always be done with
'is' or 'is not', never the equality operators."
Comparisons to None part; second one...
roster_win.py is NOT checked here (waiting for modelfilter)
2008-04-18 00:26:07 +00:00
Yann Leboulanger 5dd0d4fce8 move functions that build icons to gtkgui_helpers instead of roster_window. Fixes #3873 2008-04-17 14:17:14 +00:00
Jean-Marie Traissard a0d8aea90b chat_control : fix possible var name confusion
roster : Fix resource problem, gajim.contacts.get_contact() can return first contact instead of specified resource. Fixes #3789.
2008-03-23 17:44:47 +00:00
Jean-Marie Traissard ff32d0ccb3 roster.on_quit_request() cleanups :
-Check if there are pending events and send offline even if we don't ask a status message (was a indentation
mistake I think)
- Really make unread and recent working according to 'notify_on_all_muc_messages' value
- be faster, hopefully
2008-03-20 20:26:58 +00:00
Jean-Marie Traissard 9e15e4bcab do not redraw_tab too much if not needed 2008-03-20 19:37:20 +00:00
Yann Leboulanger 0d427eff3b Warn user when database is corrupted and unreadable. Fixes #3761 2008-03-17 07:22:43 +00:00
Jean-Marie Traissard 801c31e537 Correctly remove highlighted messages events when scrolling at end of textview.
Fixes #3717.
2008-03-12 01:34:41 +00:00
Jean-Marie Traissard 4199789612 Fix sent history (ctrl+up) browse. There was a bug when history was full and we browsed history. 2008-03-11 23:05:56 +00:00
Yann Leboulanger f0b2ee4027 stop automatic scroll when user manually scroll conversation textview. Fixes #3716 2008-03-10 16:21:26 +00:00
Yann Leboulanger 102ff630fb highlight us when we are mentioned in a /me sentence. fixes #3753 2008-03-02 14:23:52 +00:00
Yann Leboulanger b3f3a812a9 don't always show events in systray when notify_on_all_muc_mesages is False 2008-02-27 21:33:50 +00:00
Yann Leboulanger b5c19e0884 don't always show events in systray when notify_on_all_muc_messages is on and trayicon_notification_on_event is off 2008-02-27 18:25:42 +00:00
Yann Leboulanger cb51401903 [shivan] don't trat emoticons created with parenthesis arround status message. fixes #3368 2008-02-26 08:31:48 +00:00
Yann Leboulanger 0f4aa21587 don't grab focus on message textview when we select a tab. fixes #3740 2008-02-25 14:42:53 +00:00
Yann Leboulanger 7c49600135 use timeout_add_seconds instead of timeout_add (when it's available), more efficient. fixes #3734, #3736 2008-02-14 19:18:07 +00:00
Brendan Taylor c8cae71099 merged trunk 2008-02-14 02:20:07 +00:00
Jean-Marie Traissard 894e752292 Sadly, timeout_add_seconds is only availaible since gtk 2.14. It's quite recent. I have 2.10.
Reverting [9324]. Reopen #3734.
2008-02-13 18:03:29 +00:00
Yann Leboulanger ad3935d9e9 [Goedson] use timeout_add_seconds instead of timeout_add, more efficient. fixes #3734 2008-02-13 07:14:06 +00:00
Brendan Taylor 867955155f groupchat sessions fix 2008-02-09 06:57:07 +00:00
Nikos Kouremenos 15acf57f5f cosmetic changes 2008-02-06 14:59:28 +00:00
Brendan Taylor 381ba838b9 post-refactor traceback fixing 2008-02-06 05:24:07 +00:00
Brendan Taylor 0b48b05218 merged trunk into session_centric branch 2008-02-05 03:09:31 +00:00
Stephan Erb 623aba4f94 Do not log gpg encrypted chats when log_encrypted_session is false. See #3095. 2008-01-25 21:16:22 +00:00
Stephan Erb 79fb241153 Replace the broken gpg-togglebutton by an insensitve status image. See #3196 2008-01-11 17:45:20 +00:00
Stephan Erb 30ad68a26c Backport some fixes to zeroconf: don't fail on special characters, don't allow gpg usage when it is not secure or even possible
Be more verbose when there is a key missmatch.

Mind that presence in zeroconf are not signed, gpg keys have to be assigned manually therefore.
2007-12-31 01:19:08 +00:00
Stephan Erb 282bc3346e Do not allow enabling GPG if E2E is active and vice versa. Lazily fixes #3633.
Do not try to send encrypted messages when we don't use GPG, though it is enabled per user.
2007-12-30 16:30:37 +00:00
Stephan Erb 6fdd7c0f88 Rework GPG behaviour:
Only encrypt when the receiver is trusted. You have to sign its key or it has to be signed by someone you trust. Fixes #109

Make checkbox insensitive when GPG is disabled on an account (or no passphrase given).

Auto assign trusted keys on received presence. Deny encryption on missmatch of assigned key and signing key. Fixes #3376

Do not disable encrypted when receiving an unencrypted message. Print whether a received message was encrypted or not.

TODO: Remove togglebutton, its useless now
2007-12-29 23:28:27 +00:00
Travis Shirk 4bedeec964 MessageWindow reconfig bug fixes for deleted roster 2007-12-20 03:40:27 +00:00
Yann Leboulanger 4e18462d78 [hđh] improve URL regex. fixes #3350 2007-12-09 10:33:36 +00:00
Brendan Taylor b8882ba48e merged realtime cancellation patch 2007-12-08 09:09:06 +00:00
Brendan Taylor 015d3221e1 corrected realtime notification of session cancellation 2007-12-08 08:51:10 +00:00