Commit Graph

839 Commits

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