Commit Graph

357 Commits

Author SHA1 Message Date
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
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