Commit Graph

897 Commits

Author SHA1 Message Date
Mateusz Biliński 94f27ecffc Snarl Notifications plugin initial version added. New events (from current core) go also through GED. 2008-08-16 20:30:37 +00:00
Mateusz Biliński 2ee4c7ee5e Changed log_calls parameter to EventsDumpPlugin in that class. 2008-08-11 15:38:07 +00:00
Mateusz Biliński 8ec03d822e Added Events Dump plugin, that prints out to console info about selected events when they occur. 2008-08-11 15:22:56 +00:00
Mateusz Biliński 06aee9d2d0 Initial version of Global Events Dispatcher.
Events previously generated for D-Bus support in remote_control.py go through Global Events Dispatcher now - this means any plugin can subscribe to them.
Implemented D-Bus support plugin based on remote_control.py.
2008-08-10 13:40:49 +00:00
Mateusz Biliński 16ac65e58b Improvements to GUI extension points handling - added method to remove these from PluginManager (memory optimization).
Removed logging from most of the code.
2008-08-03 13:29:11 +00:00
Mateusz Biliński 5cce0a8ca9 Banner Tweaks plugin has all (four) options implemented. 2008-08-02 17:29:32 +00:00
Mateusz Biliński 96cfc42060 Added files with Banner Tweaks plugin (initial version).
Few changes to PluginManager.
Added new GUI extension point related to draw_banner in ChatControlBase.
2008-07-31 15:30:20 +00:00
Mateusz Biliński 8aa9cad2e0 Plugin's configuration is now saved to disk (currently: using UserDict and shelve modules).
Length Notifier Plugin has configuration dialog (added entry with JIDs to be included when plugin is working) - fully usable.

Default values of configuration key has been added to GajimPlugin.

Some other minor changes/fixes.
2008-07-29 19:09:28 +00:00
Mateusz Biliński aaf5b30129 Added GajimPluginConfigDialog class - dialog that plugins should use to present configuration to user.
Now, 'Configure' button is invoked only for plug-ins that have config_dialog.
2008-06-19 12:56:45 +00:00
Mateusz Biliński 8581b862e1 Added new 'init' method to Plugin class that plugins can implement to make actions that need to be done only once - when plugin is added (not activated) to Gajim. In this method plugins should declare handlers for GUI extension points. This was created so that __init__ method doesn't have to be reimplemented in specific way (create config, load config) - it is all done by __init__ in Plugin class. If __init__ is reimplemented, it must call Plugin __init__ (eg. using super() ) to plugin work properly.
Example plug-ins were modified to use init() instead of __init__().

Added new category in configuration - 'plugins'. It only holds one option for each plugin - 'active', which determines whether plugin should be activated on startup.

Now, Gajim remembers which plugins are active on exit, and activates them on next startup.
2008-06-18 20:45:22 +00:00
Mateusz Biliński b6593b9493 Plugin can be a package (directory) now. Added example plugin that modifies roster window (with glade file).
Added activate and deactivate methods to Plugin (used in forementioned RosterButtonsPlugin).
2008-06-14 18:20:24 +00:00
Mateusz Biliński 11e61ea2a2 Small changes toward handling plug-ins configuration. 2008-06-12 18:26:08 +00:00
Mateusz Biliński 5dbe58507e Added 'chat_control_base' GUI extension point (now we are able to modify all chat controls - both normal and GC.
Added base version of AcronymsExpanderPlugin with some hardcoded acronyms. It uses newly added 'chat_control_base' extension point.
2008-06-09 11:46:29 +00:00
Mateusz Biliński e127925948 Added first version of 'Plugins' window. It's accessible through 'Edit/Plugins' item in roster menu. It seems that you can successfully (de)activate plug-ins through GUI now.
Added 'homepage' attribute to Plugin class.

Added (commented out) calls of pycallgraph in src/gajim.py for later use.

[xbright] Changed 'python' to 'python2.5' because code uses modules not available in previous versions of Python.
2008-06-07 17:28:34 +00:00
Mateusz Biliński 654e157eff Added plug-in deactivation mechanism, which allows plug-ins to clean up after themselves (eg. disconnecting handlers made in GUI); GUI extension points handlers are removed from list.
Updated Length Notifier plug-in so that it can be properly deactivated.
2008-06-03 13:40:27 +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 149ed7a22d reorder files 2005-04-12 15:47:20 +00:00
Yann Leboulanger fbf6c84e52 update files from trunk 2005-04-12 15:30:09 +00:00
Yann Leboulanger 317f0e0db3 we can now open only one join_gc window per account 2005-04-07 11:25:59 +00:00
Yann Leboulanger 25214a9cf2 close the vcard window when we press Escape
minimum width in gc window for the contact list on the left
2005-04-07 10:42:01 +00:00
Yann Leboulanger 058f632115 close the join_gc_window when we press Escape 2005-04-07 09:53:54 +00:00
Nikos Kouremenos 3014afd583 new basic emoticons 2005-04-07 00:35:06 +00:00
Yann Leboulanger 0a6658b90b remove commented line 2005-04-06 22:53:39 +00:00
Yann Leboulanger 3b84f1c242 we now saved the recently visited groupchats so we can restore it quickly 2005-04-06 22:52:48 +00:00
Yann Leboulanger 10dcd45494 small bugfix: we save the Join_groupchat_window instance in the __init__ function 2005-04-06 22:03:12 +00:00
Yann Leboulanger 91d6e8841a some glade fixes: minimum height of message textview in groupchat window
client info and os info on 2 lines instead of one in vcard_information_windows
2005-04-06 21:56:01 +00:00
Yann Leboulanger 00d7923d91 autodetect the python version in the Makefile (thx tab) 2005-04-06 20:30:37 +00:00
Yann Leboulanger 85527841a2 we now show the os informations in the vcard_information_window 2005-04-06 20:18:55 +00:00
Nikos Kouremenos eb5ae0d4ce bugfix 2005-04-06 19:46:39 +00:00
Nikos Kouremenos 1c7076cfb0 fixes for when disabling emoticons in prefs [gajim did not boot], add_remove_emoticons_window and class, better popups [needs more attention {me is on it}], no more emoticons tab, introducing version.py, hide os information included, and fixes allover. 2005-04-06 18:51:54 +00:00
Yann Leboulanger bac6ec88dd close the groupchat window when esc is pressed 2005-04-06 07:31:18 +00:00
Yann Leboulanger 62e05c0c2c a single click on the arrow in groupschat_window expand / collapse the group 2005-04-05 22:01:51 +00:00
Nikos Kouremenos 6ac64ad577 typo 2005-04-05 21:37:50 +00:00
Nikos Kouremenos 40e247e220 popup class is ready 2005-04-05 15:06:11 +00:00
Yann Leboulanger 96e8c8a447 change the bg color instead of the fg color when a contact (dis)connects. Colors have to be improved 2005-04-05 09:38:52 +00:00
Yann Leboulanger 634440c762 bugfix: when we Drag and drop a contact that is connected with several resources 2005-04-05 09:10:16 +00:00
Yann Leboulanger 1e7afe35d6 show the history window when we open it 2005-04-05 07:41:38 +00:00
Yann Leboulanger c797d737b0 show newly connected contacts in green and contacts that have just disconnected in red before removing them. Presentation/colors have to be improved, but the principle is there (to be tested). 2005-04-04 23:03:26 +00:00
Nikos Kouremenos 474fe3447e timeout in popup. I will also do the rest 2005-04-04 19:27:06 +00:00
Yann Leboulanger 6c10fe9a7b rename browser to disco everywhere 2005-04-04 17:15:08 +00:00
Nikos Kouremenos 6e345fe44c testing popup 2005-04-04 16:46:35 +00:00
Nikos Kouremenos 9e3e5a2acc do show_all implicitly everywhere [glade windows visible=False]. I did this so when show_all() it will be shown then [after connect and stuff], and not when being parsed 2005-04-04 15:51:29 +00:00
Nikos Kouremenos 3288d67b75 print status on new_user() no matter what status that is 2005-04-03 21:41:10 +00:00
Yann Leboulanger c8d12224c9 show the correct icon when we activate systray icon
reorder functions so that they are in the order in which they appear in the window
2005-04-03 09:21:26 +00:00
Yann Leboulanger 84b09c988f fix some problemswith key_press in groupchat window 2005-04-03 09:13:14 +00:00
Yann Leboulanger b4a1941a94 clear entries when we ask to retrieve 2005-04-03 08:49:07 +00:00
Yann Leboulanger 716f07747e bugfix in vcard publish 2005-04-03 08:42:13 +00:00
Yann Leboulanger cdaee5371f the name of this window has been changed ... not everywhere 2005-04-03 08:22:57 +00:00
Nikos Kouremenos 223b72d463 bugfix 2005-04-03 02:26:17 +00:00
Nikos Kouremenos 3e454ea51f vcard needs more work. did some gui stuff 2005-04-03 02:19:52 +00:00
Nikos Kouremenos c9df9a7ece try to fix ticket 148. has some problems: it wont display the accounts with erros in the accounts window. Only after you close it and open it again 2005-04-03 01:03:32 +00:00
Nikos Kouremenos 7c6f9f9499 fix in gossip iconset 2005-04-02 23:10:20 +00:00
Nikos Kouremenos 2fb798dc83 adding pncrush script to make pngs smaller 2005-04-02 22:55:38 +00:00
Nikos Kouremenos 6c0a65cff5 2 new icons for gossip 2005-04-02 22:30:23 +00:00
Nikos Kouremenos c14d580093 glade small fix 2005-04-02 22:13:29 +00:00
Yann Leboulanger b164e5232a typo 2005-04-02 21:55:22 +00:00
Nikos Kouremenos 8e419e899c pkgbuild ready for 0.6.1, fix in systray 2005-04-02 21:48:12 +00:00
Yann Leboulanger a1e7e9b191 fix in redraw_jid 2005-04-02 21:28:59 +00:00
Yann Leboulanger 0ed2b103d3 little bugfix 2005-04-02 21:12:13 +00:00
Nikos Kouremenos e7d6a83f68 icons --> iconsets {folder} and new invisible for gossip 2005-04-02 20:38:28 +00:00
Yann Leboulanger 5f44066b49 destroy accounts_window when we close the window instead of hiding it 2005-04-02 20:35:33 +00:00
Yann Leboulanger 4018b9b681 little fix: time radiobuttons are in the same group 2005-04-02 20:01:14 +00:00
Nikos Kouremenos 2816f2dc2c user can change [] <> 2005-04-02 19:52:00 +00:00
Yann Leboulanger d97506f97c update the windows icons when we chage the iconset 2005-04-01 19:58:54 +00:00
Nikos Kouremenos d409b248b5 gajim.sh --> gajim.py, adding psyco support if available, small fix in new message dialog if @ is not given 2005-04-01 14:55:56 +00:00
Nikos Kouremenos 38a576d870 imho roster looks better now 2005-04-01 00:28:45 +00:00
Nikos Kouremenos 610bc35b22 ImageCellRenderer has now better name, gajim.py --> gajim.sh [needs fix to makefile to make it work, padding and xalign trying to clean up (don't work yet). added a fixme in new message dialog about focus problems.. 2005-03-31 23:26:05 +00:00
Yann Leboulanger ce6f724620 when we change the iconset, change all the icons (in the roster, in the status combobox, in the systray, in (group)chat windows) 2005-03-31 19:21:48 +00:00
Yann Leboulanger 94ed80901f remove unneeded line 2005-03-31 16:05:51 +00:00
Yann Leboulanger 03ec680f15 we cannot change the group of a contact that is in 'not in the roster' group 2005-03-31 15:32:18 +00:00
Yann Leboulanger 7df4dfc655 when we press ctrl+PageUp/Down / Tab in the conversation textview, send the event to the notebook 2005-03-31 15:03:07 +00:00
Yann Leboulanger 765e720357 do not quit gajim if we don't click ok in the status message 2005-03-31 12:48:57 +00:00
Yann Leboulanger 67dcbf2e27 add spaces between icon and text in status combobox 2005-03-31 12:44:42 +00:00
Yann Leboulanger 704bfc3a2a bugfix if we create a new account self.account is not set 2005-03-31 12:17:07 +00:00
Yann Leboulanger 48473d8ac6 typo 2005-03-31 12:16:20 +00:00
Yann Leboulanger b78a30bfbb correctly redraw the contacts wgen they change their status 2005-03-31 07:03:46 +00:00
Yann Leboulanger 1254d61ca9 remove the (2) beside a user if one of the resource go offline even if we show offline users 2005-03-30 21:52:43 +00:00
Yann Leboulanger eefb01e746 in service discovery an item can have no name 2005-03-30 20:06:01 +00:00
Yann Leboulanger 259983a952 show improved status un combobox 2005-03-30 19:20:20 +00:00
Yann Leboulanger 4626a385db dnd is after xa 2005-03-30 19:13:45 +00:00
Nikos Kouremenos 9e8c2a2970 iconstyle --> iconset 2005-03-30 12:29:48 +00:00
Yann Leboulanger 45a63ab694 finish fixing the stellar iconset 2005-03-30 09:33:29 +00:00
Yann Leboulanger 0566966c85 continue fixing the stellar iconset 2005-03-30 09:33:03 +00:00
Yann Leboulanger c98d4cd3b7 begining of the stellar iconset fix 2005-03-30 09:00:19 +00:00
Yann Leboulanger fe8221e7f3 fix msn iconset (still missing chat error invisible message not_in_the_roster requested xa icons) 2005-03-30 08:54:26 +00:00
Yann Leboulanger 6b84d9a728 fix icq iconstyle (still missiong invisible message not_in_the_roster and requested icons) 2005-03-30 08:51:03 +00:00
Yann Leboulanger 316f7b9a04 redraw the roster when we change the iconset 2005-03-30 08:47:24 +00:00
Yann Leboulanger 73bc4a083b fix gossip iconstyle (still missing error invisible not_in_the_roster requested icons) 2005-03-30 08:45:11 +00:00
Nikos Kouremenos 5508f73513 on_preferences_window_show makes sure always first tab is active, adding more status iconsets and fixed code, draw_roster doesnt update them very well and organized 2005-03-29 23:52:26 +00:00
Nikos Kouremenos 0b3553b8fe fix in mail detection 2005-03-29 21:44:54 +00:00
Nikos Kouremenos 5ce8490927 Hopefully won't break vincent [sorry if I do], better regexp (thanks jajcus) 2005-03-29 21:28:58 +00:00
Vincent Hanquez 76338d6e77 when there's no systray, prevent gajim from not working.
Although, systray should be access only by a set of method to prevent those
type of things..
2005-03-29 17:57:07 +00:00
Vincent Hanquez 41638ba9d0 somebody commit spaces ... 2005-03-29 17:49:10 +00:00
Nikos Kouremenos be06ef1ecb adding more preset status msgs. I want to be able to sort them. it don't understand why it doesn't seem to happen 2005-03-29 16:51:41 +00:00
Nikos Kouremenos 7b70ace347 systray --> Systray (the class) 2005-03-29 16:37:59 +00:00
Nikos Kouremenos d8d40e0c01 add_jid remove_jid is better coded like that. removal of systrayDummy class [have a look and we can discuss], also have a look at a FIXME, back to detection of http://b) with ) in it, cause http://be?b)b can be valid url 2005-03-29 16:16:42 +00:00
Yann Leboulanger 6b19bc4c74 we need to be offline to change the account's name 2005-03-28 23:14:03 +00:00
Yann Leboulanger 4f62c70a47 remove empty groups when we drag and drop
fix some problems with drag and drop when we merge accounts
2005-03-28 22:17:14 +00:00
Yann Leboulanger 99a64c0735 merge account is applied instantly 2005-03-28 16:15:50 +00:00
Yann Leboulanger d71865324c fix in handler names 2005-03-28 16:10:04 +00:00
Yann Leboulanger e404f1df65 logger fix 2005-03-28 15:19:52 +00:00
Yann Leboulanger b00123c039 bugfix in logger.py 2005-03-28 13:35:08 +00:00
Yann Leboulanger 97d6098491 remove comment (I fill a ticket for that) 2005-03-28 11:05:08 +00:00
Yann Leboulanger a4121119ef do not use changed signal in disco: when we write some thing this signal is emited each time we add / remove a character, so gajim sends many useless requiest
Plz do not use glade 2.10: pygtk2.6 is really not needed atm, and many people don't have it so we must not depend on pytgk2.6 fot the moment
2005-03-28 10:59:52 +00:00
Yann Leboulanger 9d6a1a5dc2 fix the systray bug from ticket 128 2005-03-28 10:45:16 +00:00
Nikos Kouremenos 72e212731c new message dialog fix for title and add to accounts shouldn't list not in the roster. plz see my fixme comment 2005-03-28 01:39:12 +00:00
Nikos Kouremenos d80325510b fixes for ticket 128 2005-03-28 01:20:47 +00:00
Nikos Kouremenos 4e9745b77e code for on_agents_treeview_row_activated and agents --> services 2005-03-28 01:05:28 +00:00
Nikos Kouremenos eadbcdb201 small fix 2005-03-28 00:25:51 +00:00
Nikos Kouremenos 45540743fd on_address_comboboxentry_changed event and code 2005-03-28 00:10:47 +00:00
Yann Leboulanger 11c34f9e24 do not show agents if they are not childs of another agent. It fixs that bug: you ask agents from an account1 and quickly ask agents from another account2, then answer from account1 arrive. They must not be displayed, it's too late. 2005-03-27 23:00:01 +00:00
Yann Leboulanger f1e6a30dcc we can now choose a group when we add a user 2005-03-27 21:35:55 +00:00
Nikos Kouremenos 0efac5ef4d disco menus back to previous, one more tooltip in glade 2005-03-27 21:17:16 +00:00
Nikos Kouremenos 4e3c0a5911 typo 2005-03-27 20:31:46 +00:00
Nikos Kouremenos a1a2e1e3fc eugenia colors as default, fix in makeing menus, and better regexp (doesn't detect http://) anymore) [thanks jajcus] 2005-03-27 20:30:00 +00:00
Nikos Kouremenos 2295a319ce show_all/hide for roster and accounts window, better strings when multiple accounts [has a bug], changelog is better now 2005-03-27 19:39:50 +00:00
Yann Leboulanger ee6fb42258 service_discovery_window is nicer
expand the first row
2005-03-27 18:02:23 +00:00
Yann Leboulanger 936a8392d5 browse agent -> Service discovery 2005-03-27 18:01:41 +00:00
Yann Leboulanger 189a134722 service discovery is now asynchronous, we can send and receive other messages while we browse agents (YEAH !) 2005-03-27 10:31:26 +00:00
Yann Leboulanger aa17bb46f4 limit the list of saved address to 10 2005-03-27 09:19:06 +00:00
Yann Leboulanger 2440f0145f the agents are now borwsed only when we expand the row in the Service_discovery_window
we can now browse all jabber servers
save the last server discovered
2005-03-27 09:08:31 +00:00
Yann Leboulanger 82219f71a7 remove unneeded comments 2005-03-27 08:41:09 +00:00
Yann Leboulanger f2e07f4f77 do not crash if we get an empty message 2005-03-27 08:40:42 +00:00
Yann Leboulanger b40a87922e activate the tab when we create a new groupchat 2005-03-27 08:40:01 +00:00
Yann Leboulanger ccc95f46db glade fix: no need of a vbox in a vbox 2005-03-27 08:38:58 +00:00
Yann Leboulanger 23b8c1faa9 always create self.tip even if show_icon is never called 2005-03-27 08:38:26 +00:00
Nikos Kouremenos 5216a4bb6b ficking ticket 119. 115 and resizing problems that we had with edit groups dialog (now resizes very nicely) 2005-03-26 20:46:23 +00:00
Nikos Kouremenos 714119dbe6 finally up 2005-03-26 21:09:49 +00:00
Nikos Kouremenos 2463197d4f save button has focus and svn says 0.6.1 as version 2005-03-23 14:25:56 +00:00
Yann Leboulanger cb65574c24 give the focus to the account name when we open the accout modification window 2005-03-23 13:43:11 +00:00
Nikos Kouremenos a425908513 fixes in glade, and some other stuff 2005-03-23 13:25:48 +00:00
Yann Leboulanger db818cdace the GUI is a bit more HIG-compliant like that (Thanks Eugenia) 2005-03-23 10:41:27 +00:00
Yann Leboulanger 1cac89ebde some string to translate 2005-03-22 19:02:27 +00:00
Yann Leboulanger 7793eb2c98 do not print a traceback if the configured application does not exists 2005-03-22 10:13:32 +00:00
Yann Leboulanger ec0950075f show the number of unread messages in the systray tooltip 2005-03-21 23:14:27 +00:00
Yann Leboulanger 068d75dbc1 upgrade the systray variable when we change an account name 2005-03-21 22:41:30 +00:00
Yann Leboulanger bc721f5b1f purge the nb_unread variabl when we close a tab 2005-03-21 22:06:34 +00:00
Yann Leboulanger 2b30c63163 upgrade the account variable in opened chat / groupchat / information windows 2005-03-21 21:52:54 +00:00
Yann Leboulanger c231084e18 initialize the ignore_messages_from_unknown_contacts checkbutton in preferences window 2005-03-21 21:01:03 +00:00
Nikos Kouremenos 73310eaa58 glade fixes 2005-03-21 20:51:17 +00:00
Nikos Kouremenos 11f918e944 glade fixes & tooltips allover 2005-03-21 13:22:18 +00:00
Nikos Kouremenos 3fed5a8e7b gajim_window now is roster_window 2005-03-21 12:34:20 +00:00
Yann Leboulanger 8224f38256 do not show the roster widows before it is positionned 2005-03-21 09:27:10 +00:00
Yann Leboulanger cef48f8b1e do not change the systrayicon to new_message when we send a message in GC window 2005-03-20 21:04:13 +00:00
Yann Leboulanger 32a809da5f bugfix 2005-03-20 17:14:55 +00:00
Yann Leboulanger 843f59b463 bugfix: little typo 2005-03-20 09:47:15 +00:00
Nikos Kouremenos 29f1b9e1bd nothing 2005-03-20 01:30:27 +00:00
Nikos Kouremenos 5c956fb8b6 gc does change change cursor now on links 2005-03-19 15:14:34 +00:00
Yann Leboulanger 33c2c02cde remove empty groups from roster.groups dict 2005-03-19 11:32:29 +00:00
Nikos Kouremenos 76b902c148 fix 2005-03-18 01:28:59 +00:00