2009-03-23  Arno Rehn  <arno@arnorehn.de>
	* Don't call mono_jit_cleanup from atexit() because then static and global variables
	  could already be destroyed. this can lead to crashes in smoke when calling back
	  into the binding. Calling it from the factory's dtor makes mono crash, so watch
	  out for qcoreapps's destroyed() signal to call it then.

2009-01-30  Arno Rehn  <arno@arnorehn.de>
	* Mono 2.2 seems to have problems with generic parameters in method descriptions.
	  Work around that by performing the method search ourselves. As a nice side-effect
	  this adds type checking for generic parameters.

2008-12-26  Arno Rehn  <arno@arnorehn.de>

	* kimonopluginfactory.cpp: If the interface string doesn't appear to contain
	  a namespace, prepend 'Qyoto' or 'Kimono' depending on the letter the string
	  is starting with.
	* kdehandlers.cpp: Add a marshaller for KService::List (which is a
	  QList<KSharedPtr<KService> >)
	* Add KParts::Read(Write|Only)PartInternal classes so they can be used as return
	  types.
	* Make the KPluginFactory and KService classes partial.
	* Add KPluginFactory.Create<T> methods.
	* KPart integration should work now in C# as well.

2008-12-23  Arno Rehn  <arno@arnorehn.de>

	* kimonopluginfactory.cpp: check for an existing root domain and reuse it.
	  Makes it possible to use Mono Plugins from within KDE-Mono applications.

2008-11-28  Richard Dale  <richard.j.dale@gmail.com>
	* Regenerate the KDateTime, KTimeZones and KSystemTimeZones classes so
	  the Spec subclasses are more complete and Dictionary<string, KTimeZone>
	  arg types are included.

2008-11-24  Arno Rehn  <arno@arnorehn.de>

	* Put the KSharedPtr marshaller in marshall_macros_kde.h

2008-10-29  Arno Rehn  <arno@arnorehn.de>

	* Don't let KIO::SlaveBase redirect SIGXCPU, since it's needed by
	  Mono's Boehm GC.

2008-10-27  Arno Rehn  <arno@arnorehn.de>

	* Add support for Mono based kio slaves by extending kimonopluginfactory.
	* Add a kio_monodoc example kio slave. It needs monodoc installed and
	  accessible through 'pkg-config --libs monodoc'.
	  You can then access the mono documentation by typing e.g.
	    monodoc:/T:System.Object
	    monodoc:/N:System.Reflection
	  in Konqueror's address bar or using kioclient from the command line.
	  Simply monodoc:/ will bring you to monodoc:/N:System

2008-08-13  Arno Rehn  <arno@arnorehn.de>

    * Make the KSharedPointer marshaller more generic and add one for
      KSharedPtr<KMimeType>.
    * Parse the main mono config after the domain was initialized. This
      fixes some libs being not found (like libc).

2008-08-05  Richard Dale  <richard.j.dale@gmail.com>

	* Make KApplication and KUniqueApplication partial classes and add the
	  code to set the 'qApp' global variable in *Extras.cs files instead of
	  generating it in the source code generator as it's more easily
	  maintained that way.

2008-08-03  Arno Rehn  <arno@arnorehn.de>

	* Implemented KUrl.List.

2008-07-31  Arno Rehn  <arno@arnorehn.de>

	* Assign a new KApplication instance to the qApp global variable.

2008-07-07  Arno Rehn  <arno@arnorehn.de>

	* KimonoPluginFactory: If a class isn't found in the assembly, look
	  through all of the classes and pick the first one that implements
	  the interface and has a matching constructor.
	* Allow to call InitRuntime() multiple times to make sure that every
	  binding is initialized.

2008-07-06  Arno Rehn  <arno@arnorehn.de>

	* mono_jit_cleanup() is now called from a function that is registered
	  via atexit(). This seems to be the only way to do that, since calling
	  it from the destructor of KimonoPluginFactory makes mono crash.
	* Added camelize() method from krubypluginfactory.
	* Added "KSharedPtr<KSharedConfig>" to the marshallers array.

2008-07-01  Arno Rehn  <arno@arnorehn.de>

	* Added KMonoPluginFactory. Behaves similar to KRubyPluginFactory:
		* If the keyword is Foo/Bar.dll, a class 'Bar' is searched in the
		  namespace 'Foo'.
		* This class has to have a constructor that takes a QObject (the
		  parent) and a List<QVariant> (the arguments).

2008-06-24  Richard Dale  <richard.j.dale@gmail.com>

	* Make both the smoke lib and the kimono bindings use non-const methods
	  in preference to const ones. This is because KConfigBase::group() 
	  behaves differently according to whether the const on non-const
	  version is called via overloading in C++. The non-const variant
	  will now be called in C#, otherwise it appears that the KConfigGroup 
	  returned would silently fail to write anything to disc.

2008-06-18  Richard Dale  <richard.j.dale@gmail.com>

	* Change some namespaces to classes as calling the methods via 'Global'
	  looked a bit clumsy. For instance, KConfig.Global.Config() or
	  KStandardAction.Global.Quit() looked wrong.
	* Add a KSharedConfigPtr marshaller

2008-06-19  Arno Rehn  <arno@arnorehn.de>

	* Prefer const methods over non-const methods.

2008-06-18  Richard Dale  <richard.j.dale@gmail.com>

* Added tutorial examples p3 and p4. p4 crashes on a call to 
  KHTMLPart.Widget(), which could be a problem with modular smoke
  either method lookup or return value marshalling.
* Don't convert QChars to C# chars, keep them as QChars
* Added the name of the current Assembly as the first entry in the args
  array passed to KCmdLineArgs.Init().
* Added the p7 tutorial. There is a problem with this line:

    KConfig config = KApplication.kApplication().SessionConfig();
    location.Text = 
      config.Group("Settings").ReadEntry("defaultPage", "http://localhost");

  The Group() method isn't found in the smoke lib

2008-06-17  Richard Dale  <richard.j.dale@gmail.com>

* Added marshallers for the various types of lists in the KDE classes
* Special case the Init() methods in KCmdLineArgs to take string[] args,
  for the C++ 'int, char[] *' pairs.
