Yann Leboulanger
fa05d88b2b
merge from default branch
2010-02-08 22:25:41 +01:00
Mateusz Biliński
e8c3ba51b2
Fixed bug related to account name in NewEventsExample name. Modified way to acquire message type.
2009-06-21 23:12:30 +02:00
Mateusz Biliński
6fecd84b16
Fixed log_calls decorator arguments in a few plugins. Fixed Acronyms Expander plugin (not working due to bad auto-merge). Added few comments.
2009-06-15 07:56:08 +02:00
Mateusz Biliński
018bda5a5f
Merged default branch with plugin-system branch. Not all elements are fully
...
functional. This should be considered as sync commit.
2009-06-07 00:00:03 +02:00
Mateusz Biliński
e8d704e96b
Moved DBUS interface related variables.
2009-06-02 19:59:33 +02:00
Mateusz Biliński
369ea5544b
Moved DBus type related instructions to scope which is executed only when there's a DBus support. No NameError exceptions are thrown anymore.
...
Makes debugging of plugins easier under WingIDE (which does not remember - at least it looks like that - the "ignore exception at this location" option when module is imported 'manually').
This could also be applied to src/remote_control.py .
2009-04-16 08:37:16 +00:00
Mateusz Biliński
8c75ed38b1
Google Translation plugin added (proof-of-concept) that translates incoming chat messages from English to French using Google Translate service.
...
Plugin object that registered new event is accessible in that event now, through self.plugin.
2008-08-25 17:20:16 +00:00
Mateusz Biliński
c0a26be684
Three core (raw) events (iq, message, presence) go also through Network Events Controller (layer between network library and Global Events Dispatcher, newly added) and from there they are dispatched through Global Events Dispatcher.
...
Ability to register new incoming network events (based on exisiting one) added. Modify-only network events are possible (eg. add some text each message, but don't create any new global event). Events creation can be chained.
Examples of new network events classes are in New Events Example plugin.
Events from src/gajim.py now all go through Global Events Dispatcher and only through it (easy to modify, in chain, data passed with them).
2008-08-18 16:35:14 +00:00
Mateusz Biliński
ff8eaddf51
Removed exit() from PySnarl so it doesn't terminate Gajim on non-Windows platforms.
2008-08-16 20:53:10 +00:00
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