Commit Graph

878 Commits

Author SHA1 Message Date
Mateusz Biliński 77f10031f1 Added mechanism to successfully load plugins after GUI extension points have been created, e.g. when we want to modify ChatControl behaviour and objects of this class have already been created.
Also: customized IPython console look
2008-06-03 08:25:16 +00:00
Mateusz Biliński 95b1e45920 Initial commit related to plug-in system:
- basic PluginManager class that loads plugins from *.py files
  in given directories
- Singleton metaclass was created to use with PluginManager;
  notice: __init__ of class is called only once (not like in code
	that is included in Python Cookbook)
- variable to keep paths of plugin directories has been created
  (common.gajim.PLUGINS_DIRS); also added initilization of these
  paths to common.ConfigPaths
- added global variable with PluginManager object:
  common.gajim.plugin_manager
- created customized logger for plugin system ('gajim.plugin_system')
- created function decorator plugins.helpers.log_calls which logs
  each call of function/method; it also logs when function is left
- base class Plugin for plug-in implementation added; not much
  here - only empty class attributes: name, short_name, authors,
	version, description
- based on Plugin class, first plugin was created named
  LengthNotifierPlugin; it is used to notify users when they
  exceed given length of message during writing it (text entry
  field highlights)
- first GUI extension points works when ChatControl object
  is created (it is used in mentioned plugin)
- added 'epydoc.conf' file customized a little bit (file
	is also in trunk now)
- fixed indentation in common.sleepy module (also in trunk
	now)
2008-06-01 23:33:51 +00:00
Yann Leboulanger c127493e58 remove pep options from pref window, store them per account, store caps_hash per account. see #3954 2008-05-27 10:24:29 +00:00
Brendan Taylor f7874d29c7 reuse chat controls after session termination
fixes #3950
2008-05-23 23:27:08 +00:00
Stephan Erb a06468b846 Always remove contacts from GUI when we receive a roster via xmppy.
This fixes a bug with metacontacts over different groups and should stop contact duplication in most cases.
2008-05-19 21:17:43 +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
Stephan Erb abe75901d4 Remove some extra model refiltering.
Whenever we write to the underlying child_model gtk will call the _visible_func on itself.
2008-05-19 20:08:32 +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
Stephan Erb ea00e4d933 Improve select_contact method.
* use correct API in session.py
 * only filter when really needed
2008-05-19 20:00:41 +00:00
js 2586c999fe Fix automatic start of OTR session. 2008-05-19 13:52:45 +00:00
js 12014b40b6 * If found, automatically use included gtk on win32.
* Don't include docutils stuff in win32 builds.
2008-05-19 10:58:03 +00:00
Brendan Taylor fad6d2ef7e pass session when dispatching MSGNOTSENT 2008-05-19 00:17:39 +00:00
js 2be8792fd3 Coding style. 2008-05-18 19:44:43 +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
Julien Pivotto 79678de341 make continued conversations unbrowsable. fix #3783 2008-05-17 16:23:44 +00:00
js aaf3ca3161 Disable OTR until the libotr devs fix their very broken API. 2008-05-16 15:29:23 +00:00
Brendan Taylor b7863b0316 fix tb when closing chat control after e2e ended 2008-05-15 04:03:19 +00:00
Brendan Taylor 58478b032d fixed opening chat with multiple resources 2008-05-14 02:20:31 +00:00
Brendan Taylor d511b5afc4 merged in session-centric branch, with fixes for OTR compatibility 2008-05-13 01:59:10 +00:00
js 7d02042f6d Make logging of OTR status changes a bit nicer.
Still not ideal. Maybe add a new log type for encryption? ESessions
could also use this…
2008-05-11 18:18:34 +00:00
js 0378ed821d Don't log the OTR initiation request (?OTR?). 2008-05-11 17:40:22 +00:00
js 2a51c443e5 D'oh. 2008-05-11 17:19:54 +00:00
js fc762157c0 * Disable OTRv1 by default.
* Don't send our JID on OTR request! It might reveal our JID in MUC!
2008-05-11 17:18:44 +00:00
js 4958b28e1d Sorry, last commit missed one hunk. 2008-05-11 13:41:23 +00:00
js d2731268d7 [Kjell Braden] Fix OTR for chat and GC queries for real now. 2008-05-11 13:20:22 +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 d69d5266b5 Fix a OTR related crash on exit. 2008-05-11 01:07:38 +00:00
js b5a9edc6b4 Fix crash in GC query when OTR is active. 2008-05-11 00:45:15 +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 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
Jean-Marie Traissard 75ffe12157 Change very bad var names 2008-05-05 03:18:09 +00:00
Jean-Marie Traissard 5689daf66b In configure room, works even if we receive an affiliation list with more than one affiliation inside.
More logical, more secure and example 90 in xep-0045 says it can happen. Deal also with affiliation 'none' (don't show it)
2008-05-05 00:38:52 +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
Yann Leboulanger a9e25aa98a fix arguments of on_open_chat_window functions. It is called from callbacks, so first argument is widget. 2008-04-26 23:36:03 +00:00
Yann Leboulanger 613753f308 [elghinn] codding standards 2008-04-24 13:47:37 +00:00
Stephan Erb 29d2e00803 Small roster API cleanups. 2008-04-23 22:34:10 +00:00
Yann Leboulanger a3827fe5d0 new XEP-0115 implementation (version 1.5) 2008-04-20 22:58:47 +00:00
Jean-Marie Traissard 47bc1d61b4 Added one unique function to src/gajim.py to add a GC bookmark.
Moved newly created auto_join_bookmarks() to good source file.
Fix :
-when using bookmark auto from join dialog : Action rebuild now done; Add GC sorted in list
-when using gc_control->bookmark : Store password if any.
2008-04-20 19:45:09 +00:00
Jean-Marie Traissard 8b8f139f79 Moved methods for opening new messages controls from roster.py to src/gajim.py. This is not roster related. See #3643.
Sorted src/gajim.py functions, using steve-e style :p
2008-04-20 18:14:04 +00:00
Yann Leboulanger e54d749eec add a new dbus signal when a contact changes his status. fixes #3655 2008-04-20 14:39:08 +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 0374e72b28 Use one function to join bookmarks automatically only. Fix bug "all bookmarks joined minimized when going back
from invisible". Not sure it's right place for this function.
2008-04-19 23:39:09 +00:00
Jean-Marie Traissard a095a3249e [elghinn] Set default icon before creating roster so it's done for roster too 2008-04-18 09:43:26 +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
Jean-Marie Traissard 2ce13dc40e 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
roster_win.py is NOT checked here (waiting for modelfilter)
2008-04-18 00:02:56 +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
Yann Leboulanger 2d04fc6ae6 don't hide roster on startup if no systray module is available 2008-04-17 06:34:32 +00:00