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.
