Skip to content
Snippets Groups Projects
  1. Jun 19, 2008
  2. Jun 18, 2008
    • Mateusz Biliński's avatar
      Added new 'init' method to Plugin class that plugins can implement to make... · 8581b862
      Mateusz Biliński authored
      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.
      8581b862
  3. Jun 14, 2008
  4. Jun 12, 2008
  5. Jun 09, 2008
  6. Jun 08, 2008
  7. Jun 07, 2008
    • Mateusz Biliński's avatar
      Added first version of 'Plugins' window. It's accessible through... · e1279259
      Mateusz Biliński authored
      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.
      e1279259
  8. Jun 03, 2008
  9. Jun 02, 2008
  10. Jun 01, 2008
    • Mateusz Biliński's avatar
      Initial commit related to plug-in system: · 95b1e459
      Mateusz Biliński authored
      - 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)
      95b1e459
  11. May 27, 2008
  12. May 26, 2008
  13. May 25, 2008
  14. May 23, 2008
  15. May 22, 2008
  16. May 20, 2008
  17. May 19, 2008
Loading