[tasque/viewmodel: 19/78] Big project reorganisation



commit 9fc9964193c349600fb1c48b6c476e5da294469a
Author: Antonius Riha <antoniusriha gmail com>
Date:   Fri Jul 27 09:40:59 2012 +0200

    Big project reorganisation
    
    * Drop GtkMac builds
    * Create Addins solution folder for backends
    * Create Libraries solutionfolder for OTC and RtmNet
    * WiP on libtasqueui (viewmodel)
    * Submodule update to latest

 build/build.csproj                                 |   60 +++---
 .../Dummy => Addins/DummyBackend}/DummyBackend.cs  |    0
 src/Addins/DummyBackend/DummyBackend.csproj        |  128 ++++++++++++
 .../Dummy => Addins/DummyBackend}/DummyNote.cs     |    0
 .../Dummy => Addins/DummyBackend}/DummyTask.cs     |    0
 .../DummyBackend}/Gtk/DummyPreferences.cs          |    0
 .../DummyBackend}/Properties/AssemblyInfo.cs       |   11 +-
 src/{tasque/Backends => Addins}/EDS/EDSBackends.cs |    0
 src/{tasque/Backends => Addins}/EDS/EDSCategory.cs |    0
 src/{tasque/Backends => Addins}/EDS/EDSNote.cs     |    0
 src/{tasque/Backends => Addins}/EDS/EDSTask.cs     |    0
 .../HiveminderBackend/HiveminderBackend.csproj     |  132 +++++++++++++
 .../HiveminderBackend}/HmBackend.cs                |    0
 .../HiveminderBackend}/HmCategory.cs               |    0
 .../HiveminderBackend}/HmNote.cs                   |    0
 .../HiveminderBackend}/HmPreferencesWidget.cs      |    0
 .../HiveminderBackend}/HmTask.cs                   |    0
 .../HiveminderBackend}/Properties/AssemblyInfo.cs  |   11 +-
 .../HiveminderBackend}/service/Group.cs            |    0
 .../HiveminderBackend}/service/Hiveminder.cs       |    0
 .../service/HiveminderException.cs                 |    0
 .../HiveminderBackend}/service/Task.cs             |    0
 .../Backends => Addins}/IceCore/IceBackend.cs      |    0
 .../Backends => Addins}/IceCore/IceCategory.cs     |    0
 src/{tasque/Backends => Addins}/IceCore/IceNote.cs |    0
 src/{tasque/Backends => Addins}/IceCore/IceTask.cs |    0
 .../RtmBackend}/Properties/AssemblyInfo.cs         |   11 +-
 .../Rtm => Addins/RtmBackend}/RtmBackend.cs        |    0
 src/Addins/RtmBackend/RtmBackend.csproj            |  134 +++++++++++++
 .../Rtm => Addins/RtmBackend}/RtmCategory.cs       |    0
 .../Backends/Rtm => Addins/RtmBackend}/RtmNote.cs  |    0
 .../RtmBackend}/RtmPreferencesWidget.cs            |    0
 .../Backends/Rtm => Addins/RtmBackend}/RtmTask.cs  |    0
 .../Sqlite => Addins/SqliteBackend}/Database.cs    |    0
 .../SqliteBackend}/Properties/AssemblyInfo.cs      |   11 +-
 .../SqliteBackend}/SqliteBackend.cs                |    0
 src/Addins/SqliteBackend/SqliteBackend.csproj      |  128 ++++++++++++
 .../SqliteBackend}/SqliteCategory.cs               |    0
 .../Sqlite => Addins/SqliteBackend}/SqliteNote.cs  |    0
 .../Sqlite => Addins/SqliteBackend}/SqliteTask.cs  |    0
 src/ObservableTransformCollections                 |    2 +-
 src/RtmNet/RtmNet.csproj                           |   23 ---
 src/{tasque => Tasque.Gtk}/Application.cs          |    0
 src/{tasque => Tasque.Gtk}/CellRendererDate.cs     |    0
 src/{tasque => Tasque.Gtk}/CompletedTaskGroup.cs   |    0
 src/{tasque => Tasque.Gtk}/DateButton.cs           |    0
 src/{tasque => Tasque.Gtk}/GnomeApplication.cs     |    0
 src/{tasque => Tasque.Gtk}/GtkApplication.cs       |    0
 src/{tasque => Tasque.Gtk}/Makefile.am             |    0
 src/{tasque => Tasque.Gtk}/NoteDialog.cs           |    0
 src/{tasque => Tasque.Gtk}/NoteWidget.cs           |    0
 src/{tasque => Tasque.Gtk}/Preferences.cs          |    0
 src/{tasque => Tasque.Gtk}/PreferencesDialog.cs    |    0
 .../Properties/AssemblyInfo.cs                     |    9 +-
 src/{tasque => Tasque.Gtk}/RemoteControl.cs        |    0
 src/{tasque => Tasque.Gtk}/RemoteControlProxy.cs   |    0
 src/{tasque => Tasque.Gtk}/RtmDeveloperKey.txt     |    0
 src/{tasque => Tasque.Gtk}/TaskCalendar.cs         |    0
 src/{tasque => Tasque.Gtk}/TaskGroup.cs            |    0
 src/{tasque => Tasque.Gtk}/TaskTreeView.cs         |    0
 src/{tasque => Tasque.Gtk}/TaskWindow.cs           |    0
 .../tasque.csproj => Tasque.Gtk/Tasque.Gtk.csproj} |  100 +----------
 src/{tasque => Tasque.Gtk}/Utilities.cs            |    0
 src/Tasque.Gtk/tasque                              |    3 +
 src/{tasque => Tasque.Gtk}/tasque-mac.csproj       |    0
 src/{tasque => Tasque.Gtk}/tasque.in               |    0
 src/{tasque => Tasque.MonoMac}/OSXApplication.cs   |    0
 .../Properties/AssemblyInfo.cs                     |    9 +-
 src/Tasque.MonoMac/Tasque.MonoMac.csproj           |   59 ++++++
 src/libtasque/libtasque.csproj                     |   22 --
 .../Legacy/Commands/ComponentCommands.cs}          |   49 +++---
 .../Legacy/{ => Commands}/TaskCommands.cs          |   35 ++++
 .../Legacy/MainWindowContextMenuModel.cs}          |   28 ++-
 src/libtasqueui/Legacy/MainWindowModel.cs          |  105 ++++-------
 src/libtasqueui/Legacy/MainWindowTopPanelModel.cs  |   80 ++++++++
 src/libtasqueui/libtasqueui.csproj                 |   28 +---
 src/tasque/lib/Mono.Data.Sqlite.dll                |  Bin 139264 -> 0 bytes
 src/tasque/lib/Mono.Posix.dll                      |  Bin 179712 -> 0 bytes
 src/tasque/lib/MonoPosixHelper.dll                 |  Bin 181761 -> 0 bytes
 src/tasque/lib/ige-mac-integration-sharp.dll       |  Bin 12288 -> 0 bytes
 src/tasque/lib/sqlite3.dll                         |  Bin 491732 -> 0 bytes
 tasque.sln                                         |  205 +++++++++++++++-----
 tests/tests.csproj                                 |   14 --
 83 files changed, 993 insertions(+), 404 deletions(-)
---
diff --git a/build/build.csproj b/build/build.csproj
index aff1a86..dcad8b3 100644
--- a/build/build.csproj
+++ b/build/build.csproj
@@ -75,27 +75,6 @@
     <WarningLevel>4</WarningLevel>
     <Optimize>false</Optimize>
   </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkMacDebug|AnyCPU' ">
-    <OutputPath>lib</OutputPath>
-    <DebugType>full</DebugType>
-    <WarningLevel>4</WarningLevel>
-    <Optimize>false</Optimize>
-    <DebugSymbols>true</DebugSymbols>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkMacRelease|AnyCPU' ">
-    <OutputPath>lib</OutputPath>
-    <CustomCommands>
-      <CustomCommands>
-        <Command type="Build" command="echo &quot;building...&quot;" />
-        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
-      </CustomCommands>
-    </CustomCommands>
-    <DebugType>none</DebugType>
-    <WarningLevel>4</WarningLevel>
-    <Optimize>false</Optimize>
-  </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacDebug|AnyCPU' ">
     <OutputPath>lib</OutputPath>
     <DebugType>full</DebugType>
@@ -130,10 +109,7 @@
       <Link>libtasque.csproj</Link>
     </None>
     <None Include="..\src\RtmNet\RtmNet.csproj">
-      <Link>RtmNet.csproj</Link>
-    </None>
-    <None Include="..\src\tasque\tasque.csproj">
-      <Link>tasque.csproj</Link>
+      <Link>Libraries\RtmNet.csproj</Link>
     </None>
     <None Include="fixautotoolsbuild.sh" />
     <None Include="CommonAssemblyInfo.cs" />
@@ -147,20 +123,41 @@
       <Link>tests.csproj</Link>
     </None>
     <None Include="..\src\ObservableTransformCollections\CollectionTransform\CollectionTransform.csproj">
-      <Link>CollectionTransform.csproj</Link>
+      <Link>Libraries\ObservableCollectionTransforms\CollectionTransform.csproj</Link>
     </None>
     <None Include="..\src\ObservableTransformCollections\CollectionTransform.Tests\CollectionTransform.Tests.csproj">
-      <Link>CollectionTransform.Tests.csproj</Link>
+      <Link>Libraries\ObservableCollectionTransforms\CollectionTransform.Tests.csproj</Link>
     </None>
     <None Include="..\src\ObservableTransformCollections\CollectionView\CollectionView.csproj">
-      <Link>CollectionView.csproj</Link>
+      <Link>Libraries\ObservableCollectionTransforms\CollectionView.csproj</Link>
     </None>
     <None Include="..\src\ObservableTransformCollections\TreeModelListAdapter\TreeModelListAdapter.csproj">
-      <Link>TreeModelListAdapter.csproj</Link>
+      <Link>Libraries\ObservableCollectionTransforms\TreeModelListAdapter.csproj</Link>
     </None>
     <None Include="..\src\libtasqueui\libtasqueui.csproj">
       <Link>libtasqueui.csproj</Link>
     </None>
+    <None Include="..\.gitignore">
+      <Link>.gitignore</Link>
+    </None>
+    <None Include="..\src\Addins\DummyBackend\DummyBackend.csproj">
+      <Link>Addins\DummyBackend.csproj</Link>
+    </None>
+    <None Include="..\src\Addins\HiveminderBackend\HiveminderBackend.csproj">
+      <Link>Addins\HiveminderBackend.csproj</Link>
+    </None>
+    <None Include="..\src\Addins\RtmBackend\RtmBackend.csproj">
+      <Link>Addins\RtmBackend.csproj</Link>
+    </None>
+    <None Include="..\src\Addins\SqliteBackend\SqliteBackend.csproj">
+      <Link>Addins\SqliteBackend.csproj</Link>
+    </None>
+    <None Include="..\src\Tasque.Gtk\Tasque.Gtk.csproj">
+      <Link>Tasque.Gtk.csproj</Link>
+    </None>
+    <None Include="..\src\Tasque.MonoMac\Tasque.MonoMac.csproj">
+      <Link>Tasque.MonoMac.csproj</Link>
+    </None>
   </ItemGroup>
   <ItemGroup>
     <Compile Include="SetDataAtBuildTime.cs" />
@@ -198,4 +195,9 @@
       </Properties>
     </MonoDevelop>
   </ProjectExtensions>
+  <ItemGroup>
+    <Folder Include="Addins\" />
+    <Folder Include="Libraries\" />
+    <Folder Include="Libraries\ObservableCollectionTransforms\" />
+  </ItemGroup>
 </Project>
diff --git a/src/tasque/Backends/Dummy/DummyBackend.cs b/src/Addins/DummyBackend/DummyBackend.cs
similarity index 100%
rename from src/tasque/Backends/Dummy/DummyBackend.cs
rename to src/Addins/DummyBackend/DummyBackend.cs
diff --git a/src/Addins/DummyBackend/DummyBackend.csproj b/src/Addins/DummyBackend/DummyBackend.csproj
new file mode 100644
index 0000000..f1201c1
--- /dev/null
+++ b/src/Addins/DummyBackend/DummyBackend.csproj
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">GnomeDebug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>10.0.0</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{91F6578A-2993-40A4-BE49-64028923EB87}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>DummyBackend</RootNamespace>
+    <AssemblyName>DummyBackend</AssemblyName>
+    <ReleaseVersion>0.1.10</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GnomeDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="AfterBuild" command="mdoc update -o ${ProjectDir}/docs/sources ${TargetFile}" />
+        <Command type="AfterBuild" command="mdoc assemble -o ${TargetDir}/libtasque ${ProjectDir}/docs/sources" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GnomeRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkLinuxDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkLinuxRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkWinDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkWinRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Compile Include="Gtk\DummyPreferences.cs" />
+    <Compile Include="DummyBackend.cs" />
+    <Compile Include="DummyNote.cs" />
+    <Compile Include="DummyTask.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="..\..\..\build\CommonAssemblyInfo.cs">
+      <Link>Properties\CommonAssemblyInfo.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\build\GlobalDefines.cs">
+      <Link>Properties\GlobalDefines.cs</Link>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Properties\" />
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+  </ItemGroup>
+</Project>
diff --git a/src/tasque/Backends/Dummy/DummyNote.cs b/src/Addins/DummyBackend/DummyNote.cs
similarity index 100%
rename from src/tasque/Backends/Dummy/DummyNote.cs
rename to src/Addins/DummyBackend/DummyNote.cs
diff --git a/src/tasque/Backends/Dummy/DummyTask.cs b/src/Addins/DummyBackend/DummyTask.cs
similarity index 100%
copy from src/tasque/Backends/Dummy/DummyTask.cs
copy to src/Addins/DummyBackend/DummyTask.cs
diff --git a/src/tasque/Backends/Dummy/Gtk/DummyPreferences.cs b/src/Addins/DummyBackend/Gtk/DummyPreferences.cs
similarity index 100%
copy from src/tasque/Backends/Dummy/Gtk/DummyPreferences.cs
copy to src/Addins/DummyBackend/Gtk/DummyPreferences.cs
diff --git a/src/tasque/Properties/AssemblyInfo.cs b/src/Addins/DummyBackend/Properties/AssemblyInfo.cs
similarity index 80%
copy from src/tasque/Properties/AssemblyInfo.cs
copy to src/Addins/DummyBackend/Properties/AssemblyInfo.cs
index 542ef5e..2e703e2 100644
--- a/src/tasque/Properties/AssemblyInfo.cs
+++ b/src/Addins/DummyBackend/Properties/AssemblyInfo.cs
@@ -23,13 +23,8 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
-
 using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes. 
-// Change them to the values specific to your project.
 
-[assembly: AssemblyTitle("tasque")]
-[assembly: AssemblyDescription("Simple Tasque Management")]
-[assembly: AssemblyCopyright("MIT")]
\ No newline at end of file
+[assembly: AssemblyTitle("DummyBackend")]
+[assembly: AssemblyDescription("Dummy backend for Tasque")]
+[assembly: AssemblyCopyright("MIT")]
diff --git a/src/tasque/Backends/EDS/EDSBackends.cs b/src/Addins/EDS/EDSBackends.cs
similarity index 100%
rename from src/tasque/Backends/EDS/EDSBackends.cs
rename to src/Addins/EDS/EDSBackends.cs
diff --git a/src/tasque/Backends/EDS/EDSCategory.cs b/src/Addins/EDS/EDSCategory.cs
similarity index 100%
rename from src/tasque/Backends/EDS/EDSCategory.cs
rename to src/Addins/EDS/EDSCategory.cs
diff --git a/src/tasque/Backends/EDS/EDSNote.cs b/src/Addins/EDS/EDSNote.cs
similarity index 100%
rename from src/tasque/Backends/EDS/EDSNote.cs
rename to src/Addins/EDS/EDSNote.cs
diff --git a/src/tasque/Backends/EDS/EDSTask.cs b/src/Addins/EDS/EDSTask.cs
similarity index 100%
rename from src/tasque/Backends/EDS/EDSTask.cs
rename to src/Addins/EDS/EDSTask.cs
diff --git a/src/Addins/HiveminderBackend/HiveminderBackend.csproj b/src/Addins/HiveminderBackend/HiveminderBackend.csproj
new file mode 100644
index 0000000..eee88e3
--- /dev/null
+++ b/src/Addins/HiveminderBackend/HiveminderBackend.csproj
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">GnomeDebug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>10.0.0</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{B3107E6C-08DD-4264-A8D5-467BD96F33CA}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>HiveminderBackend</RootNamespace>
+    <AssemblyName>HiveminderBackend</AssemblyName>
+    <ReleaseVersion>0.1.10</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GnomeDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="AfterBuild" command="mdoc update -o ${ProjectDir}/docs/sources ${TargetFile}" />
+        <Command type="AfterBuild" command="mdoc assemble -o ${TargetDir}/libtasque ${ProjectDir}/docs/sources" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GnomeRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkLinuxDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkLinuxRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkWinDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkWinRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <None Include="service\Group.cs" />
+    <None Include="service\Hiveminder.cs" />
+    <None Include="service\HiveminderException.cs" />
+    <None Include="service\Task.cs" />
+    <None Include="HmBackend.cs" />
+    <None Include="HmCategory.cs" />
+    <None Include="HmNote.cs" />
+    <None Include="HmPreferencesWidget.cs" />
+    <None Include="HmTask.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="..\..\..\build\CommonAssemblyInfo.cs">
+      <Link>Properties\CommonAssemblyInfo.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\build\GlobalDefines.cs">
+      <Link>Properties\GlobalDefines.cs</Link>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+  </ItemGroup>
+</Project>
diff --git a/src/tasque/Backends/Hiveminder/HmBackend.cs b/src/Addins/HiveminderBackend/HmBackend.cs
similarity index 100%
rename from src/tasque/Backends/Hiveminder/HmBackend.cs
rename to src/Addins/HiveminderBackend/HmBackend.cs
diff --git a/src/tasque/Backends/Hiveminder/HmCategory.cs b/src/Addins/HiveminderBackend/HmCategory.cs
similarity index 100%
rename from src/tasque/Backends/Hiveminder/HmCategory.cs
rename to src/Addins/HiveminderBackend/HmCategory.cs
diff --git a/src/tasque/Backends/Hiveminder/HmNote.cs b/src/Addins/HiveminderBackend/HmNote.cs
similarity index 100%
rename from src/tasque/Backends/Hiveminder/HmNote.cs
rename to src/Addins/HiveminderBackend/HmNote.cs
diff --git a/src/tasque/Backends/Hiveminder/HmPreferencesWidget.cs b/src/Addins/HiveminderBackend/HmPreferencesWidget.cs
similarity index 100%
rename from src/tasque/Backends/Hiveminder/HmPreferencesWidget.cs
rename to src/Addins/HiveminderBackend/HmPreferencesWidget.cs
diff --git a/src/tasque/Backends/Hiveminder/HmTask.cs b/src/Addins/HiveminderBackend/HmTask.cs
similarity index 100%
rename from src/tasque/Backends/Hiveminder/HmTask.cs
rename to src/Addins/HiveminderBackend/HmTask.cs
diff --git a/src/tasque/Properties/AssemblyInfo.cs b/src/Addins/HiveminderBackend/Properties/AssemblyInfo.cs
similarity index 80%
copy from src/tasque/Properties/AssemblyInfo.cs
copy to src/Addins/HiveminderBackend/Properties/AssemblyInfo.cs
index 542ef5e..0fd8611 100644
--- a/src/tasque/Properties/AssemblyInfo.cs
+++ b/src/Addins/HiveminderBackend/Properties/AssemblyInfo.cs
@@ -23,13 +23,8 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
-
 using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes. 
-// Change them to the values specific to your project.
 
-[assembly: AssemblyTitle("tasque")]
-[assembly: AssemblyDescription("Simple Tasque Management")]
-[assembly: AssemblyCopyright("MIT")]
\ No newline at end of file
+[assembly: AssemblyTitle("HiveminderBackend")]
+[assembly: AssemblyDescription("Hiveminder backend for Tasque")]
+[assembly: AssemblyCopyright("MIT")]
diff --git a/src/tasque/Backends/Hiveminder/service/Group.cs b/src/Addins/HiveminderBackend/service/Group.cs
similarity index 100%
rename from src/tasque/Backends/Hiveminder/service/Group.cs
rename to src/Addins/HiveminderBackend/service/Group.cs
diff --git a/src/tasque/Backends/Hiveminder/service/Hiveminder.cs b/src/Addins/HiveminderBackend/service/Hiveminder.cs
similarity index 100%
rename from src/tasque/Backends/Hiveminder/service/Hiveminder.cs
rename to src/Addins/HiveminderBackend/service/Hiveminder.cs
diff --git a/src/tasque/Backends/Hiveminder/service/HiveminderException.cs b/src/Addins/HiveminderBackend/service/HiveminderException.cs
similarity index 100%
rename from src/tasque/Backends/Hiveminder/service/HiveminderException.cs
rename to src/Addins/HiveminderBackend/service/HiveminderException.cs
diff --git a/src/tasque/Backends/Hiveminder/service/Task.cs b/src/Addins/HiveminderBackend/service/Task.cs
similarity index 100%
rename from src/tasque/Backends/Hiveminder/service/Task.cs
rename to src/Addins/HiveminderBackend/service/Task.cs
diff --git a/src/tasque/Backends/IceCore/IceBackend.cs b/src/Addins/IceCore/IceBackend.cs
similarity index 100%
rename from src/tasque/Backends/IceCore/IceBackend.cs
rename to src/Addins/IceCore/IceBackend.cs
diff --git a/src/tasque/Backends/IceCore/IceCategory.cs b/src/Addins/IceCore/IceCategory.cs
similarity index 100%
rename from src/tasque/Backends/IceCore/IceCategory.cs
rename to src/Addins/IceCore/IceCategory.cs
diff --git a/src/tasque/Backends/IceCore/IceNote.cs b/src/Addins/IceCore/IceNote.cs
similarity index 100%
rename from src/tasque/Backends/IceCore/IceNote.cs
rename to src/Addins/IceCore/IceNote.cs
diff --git a/src/tasque/Backends/IceCore/IceTask.cs b/src/Addins/IceCore/IceTask.cs
similarity index 100%
rename from src/tasque/Backends/IceCore/IceTask.cs
rename to src/Addins/IceCore/IceTask.cs
diff --git a/src/tasque/Properties/AssemblyInfo.cs b/src/Addins/RtmBackend/Properties/AssemblyInfo.cs
similarity index 80%
copy from src/tasque/Properties/AssemblyInfo.cs
copy to src/Addins/RtmBackend/Properties/AssemblyInfo.cs
index 542ef5e..aafeefc 100644
--- a/src/tasque/Properties/AssemblyInfo.cs
+++ b/src/Addins/RtmBackend/Properties/AssemblyInfo.cs
@@ -23,13 +23,8 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
-
 using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes. 
-// Change them to the values specific to your project.
 
-[assembly: AssemblyTitle("tasque")]
-[assembly: AssemblyDescription("Simple Tasque Management")]
-[assembly: AssemblyCopyright("MIT")]
\ No newline at end of file
+[assembly: AssemblyTitle("RtmBackend")]
+[assembly: AssemblyDescription("Remember The Milk backend for Tasque")]
+[assembly: AssemblyCopyright("MIT")]
diff --git a/src/tasque/Backends/Rtm/RtmBackend.cs b/src/Addins/RtmBackend/RtmBackend.cs
similarity index 100%
rename from src/tasque/Backends/Rtm/RtmBackend.cs
rename to src/Addins/RtmBackend/RtmBackend.cs
diff --git a/src/Addins/RtmBackend/RtmBackend.csproj b/src/Addins/RtmBackend/RtmBackend.csproj
new file mode 100644
index 0000000..bec01b1
--- /dev/null
+++ b/src/Addins/RtmBackend/RtmBackend.csproj
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">GnomeDebug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>10.0.0</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{545C0208-DE58-42F1-B818-0B57293B7831}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>RtmBackend</RootNamespace>
+    <AssemblyName>RtmBackend</AssemblyName>
+    <ReleaseVersion>0.1.10</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GnomeDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="AfterBuild" command="mdoc update -o ${ProjectDir}/docs/sources ${TargetFile}" />
+        <Command type="AfterBuild" command="mdoc assemble -o ${TargetDir}/libtasque ${ProjectDir}/docs/sources" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GnomeRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkLinuxDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkLinuxRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkWinDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkWinRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <None Include="RtmBackend.cs" />
+    <None Include="RtmCategory.cs" />
+    <None Include="RtmNote.cs" />
+    <None Include="RtmPreferencesWidget.cs" />
+    <None Include="RtmTask.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="..\..\..\build\CommonAssemblyInfo.cs">
+      <Link>Properties\CommonAssemblyInfo.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\build\GlobalDefines.cs">
+      <Link>Properties\GlobalDefines.cs</Link>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\RtmNet\RtmNet.csproj">
+      <Project>{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}</Project>
+      <Name>RtmNet</Name>
+    </ProjectReference>
+  </ItemGroup>
+</Project>
diff --git a/src/tasque/Backends/Rtm/RtmCategory.cs b/src/Addins/RtmBackend/RtmCategory.cs
similarity index 100%
rename from src/tasque/Backends/Rtm/RtmCategory.cs
rename to src/Addins/RtmBackend/RtmCategory.cs
diff --git a/src/tasque/Backends/Rtm/RtmNote.cs b/src/Addins/RtmBackend/RtmNote.cs
similarity index 100%
rename from src/tasque/Backends/Rtm/RtmNote.cs
rename to src/Addins/RtmBackend/RtmNote.cs
diff --git a/src/tasque/Backends/Rtm/RtmPreferencesWidget.cs b/src/Addins/RtmBackend/RtmPreferencesWidget.cs
similarity index 100%
rename from src/tasque/Backends/Rtm/RtmPreferencesWidget.cs
rename to src/Addins/RtmBackend/RtmPreferencesWidget.cs
diff --git a/src/tasque/Backends/Rtm/RtmTask.cs b/src/Addins/RtmBackend/RtmTask.cs
similarity index 100%
rename from src/tasque/Backends/Rtm/RtmTask.cs
rename to src/Addins/RtmBackend/RtmTask.cs
diff --git a/src/tasque/Backends/Sqlite/Database.cs b/src/Addins/SqliteBackend/Database.cs
similarity index 100%
rename from src/tasque/Backends/Sqlite/Database.cs
rename to src/Addins/SqliteBackend/Database.cs
diff --git a/src/tasque/Properties/AssemblyInfo.cs b/src/Addins/SqliteBackend/Properties/AssemblyInfo.cs
similarity index 80%
copy from src/tasque/Properties/AssemblyInfo.cs
copy to src/Addins/SqliteBackend/Properties/AssemblyInfo.cs
index 542ef5e..4c9196a 100644
--- a/src/tasque/Properties/AssemblyInfo.cs
+++ b/src/Addins/SqliteBackend/Properties/AssemblyInfo.cs
@@ -23,13 +23,8 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
-
 using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes. 
-// Change them to the values specific to your project.
 
-[assembly: AssemblyTitle("tasque")]
-[assembly: AssemblyDescription("Simple Tasque Management")]
-[assembly: AssemblyCopyright("MIT")]
\ No newline at end of file
+[assembly: AssemblyTitle("SqliteBackend")]
+[assembly: AssemblyDescription("SQLite backend for Tasque")]
+[assembly: AssemblyCopyright("MIT")]
diff --git a/src/tasque/Backends/Sqlite/SqliteBackend.cs b/src/Addins/SqliteBackend/SqliteBackend.cs
similarity index 100%
rename from src/tasque/Backends/Sqlite/SqliteBackend.cs
rename to src/Addins/SqliteBackend/SqliteBackend.cs
diff --git a/src/Addins/SqliteBackend/SqliteBackend.csproj b/src/Addins/SqliteBackend/SqliteBackend.csproj
new file mode 100644
index 0000000..4fd0e50
--- /dev/null
+++ b/src/Addins/SqliteBackend/SqliteBackend.csproj
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">GnomeDebug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>10.0.0</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>SqliteBackend</RootNamespace>
+    <AssemblyName>SqliteBackend</AssemblyName>
+    <ReleaseVersion>0.1.10</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GnomeDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="AfterBuild" command="mdoc update -o ${ProjectDir}/docs/sources ${TargetFile}" />
+        <Command type="AfterBuild" command="mdoc assemble -o ${TargetDir}/libtasque ${ProjectDir}/docs/sources" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GnomeRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkLinuxDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkLinuxRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkWinDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkWinRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacRelease|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="Build" command="echo &quot;building...&quot;" />
+        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <None Include="Database.cs" />
+    <None Include="SqliteBackend.cs" />
+    <None Include="SqliteCategory.cs" />
+    <None Include="SqliteNote.cs" />
+    <None Include="SqliteTask.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="..\..\..\build\CommonAssemblyInfo.cs">
+      <Link>Properties\CommonAssemblyInfo.cs</Link>
+    </Compile>
+    <Compile Include="..\..\..\build\GlobalDefines.cs">
+      <Link>Properties\GlobalDefines.cs</Link>
+    </Compile>
+  </ItemGroup>
+</Project>
diff --git a/src/tasque/Backends/Sqlite/SqliteCategory.cs b/src/Addins/SqliteBackend/SqliteCategory.cs
similarity index 100%
rename from src/tasque/Backends/Sqlite/SqliteCategory.cs
rename to src/Addins/SqliteBackend/SqliteCategory.cs
diff --git a/src/tasque/Backends/Sqlite/SqliteNote.cs b/src/Addins/SqliteBackend/SqliteNote.cs
similarity index 100%
rename from src/tasque/Backends/Sqlite/SqliteNote.cs
rename to src/Addins/SqliteBackend/SqliteNote.cs
diff --git a/src/tasque/Backends/Sqlite/SqliteTask.cs b/src/Addins/SqliteBackend/SqliteTask.cs
similarity index 100%
rename from src/tasque/Backends/Sqlite/SqliteTask.cs
rename to src/Addins/SqliteBackend/SqliteTask.cs
diff --git a/src/ObservableTransformCollections b/src/ObservableTransformCollections
index 16d19a4..d664049 160000
--- a/src/ObservableTransformCollections
+++ b/src/ObservableTransformCollections
@@ -1 +1 @@
-Subproject commit 16d19a457fe17eab7aa3e2b94cd4aa426e0b715e
+Subproject commit d66404937b7dc39de8157a7e548fe9aee726d4ab
diff --git a/src/RtmNet/RtmNet.csproj b/src/RtmNet/RtmNet.csproj
index f1a64c1..13922ab 100644
--- a/src/RtmNet/RtmNet.csproj
+++ b/src/RtmNet/RtmNet.csproj
@@ -82,29 +82,6 @@
       </CustomCommands>
     </CustomCommands>
   </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkMacDebug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkMacRelease|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\LinuxRelease</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <CustomCommands>
-      <CustomCommands>
-        <Command type="Build" command="echo &quot;building...&quot;" />
-        <Command type="Clean" command="echo &quot;cleaning..&quot;" />
-      </CustomCommands>
-    </CustomCommands>
-  </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacDebug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
     <DebugType>full</DebugType>
diff --git a/src/tasque/Application.cs b/src/Tasque.Gtk/Application.cs
similarity index 100%
rename from src/tasque/Application.cs
rename to src/Tasque.Gtk/Application.cs
diff --git a/src/tasque/CellRendererDate.cs b/src/Tasque.Gtk/CellRendererDate.cs
similarity index 100%
rename from src/tasque/CellRendererDate.cs
rename to src/Tasque.Gtk/CellRendererDate.cs
diff --git a/src/tasque/CompletedTaskGroup.cs b/src/Tasque.Gtk/CompletedTaskGroup.cs
similarity index 100%
rename from src/tasque/CompletedTaskGroup.cs
rename to src/Tasque.Gtk/CompletedTaskGroup.cs
diff --git a/src/tasque/DateButton.cs b/src/Tasque.Gtk/DateButton.cs
similarity index 100%
rename from src/tasque/DateButton.cs
rename to src/Tasque.Gtk/DateButton.cs
diff --git a/src/tasque/GnomeApplication.cs b/src/Tasque.Gtk/GnomeApplication.cs
similarity index 100%
rename from src/tasque/GnomeApplication.cs
rename to src/Tasque.Gtk/GnomeApplication.cs
diff --git a/src/tasque/GtkApplication.cs b/src/Tasque.Gtk/GtkApplication.cs
similarity index 100%
rename from src/tasque/GtkApplication.cs
rename to src/Tasque.Gtk/GtkApplication.cs
diff --git a/src/tasque/Makefile.am b/src/Tasque.Gtk/Makefile.am
similarity index 100%
rename from src/tasque/Makefile.am
rename to src/Tasque.Gtk/Makefile.am
diff --git a/src/tasque/NoteDialog.cs b/src/Tasque.Gtk/NoteDialog.cs
similarity index 100%
rename from src/tasque/NoteDialog.cs
rename to src/Tasque.Gtk/NoteDialog.cs
diff --git a/src/tasque/NoteWidget.cs b/src/Tasque.Gtk/NoteWidget.cs
similarity index 100%
rename from src/tasque/NoteWidget.cs
rename to src/Tasque.Gtk/NoteWidget.cs
diff --git a/src/tasque/Preferences.cs b/src/Tasque.Gtk/Preferences.cs
similarity index 100%
rename from src/tasque/Preferences.cs
rename to src/Tasque.Gtk/Preferences.cs
diff --git a/src/tasque/PreferencesDialog.cs b/src/Tasque.Gtk/PreferencesDialog.cs
similarity index 100%
rename from src/tasque/PreferencesDialog.cs
rename to src/Tasque.Gtk/PreferencesDialog.cs
diff --git a/src/tasque/Properties/AssemblyInfo.cs b/src/Tasque.Gtk/Properties/AssemblyInfo.cs
similarity index 84%
copy from src/tasque/Properties/AssemblyInfo.cs
copy to src/Tasque.Gtk/Properties/AssemblyInfo.cs
index 542ef5e..a52ab14 100644
--- a/src/tasque/Properties/AssemblyInfo.cs
+++ b/src/Tasque.Gtk/Properties/AssemblyInfo.cs
@@ -23,13 +23,8 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
-
 using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes. 
-// Change them to the values specific to your project.
 
-[assembly: AssemblyTitle("tasque")]
+[assembly: AssemblyTitle("Tasque")]
 [assembly: AssemblyDescription("Simple Tasque Management")]
-[assembly: AssemblyCopyright("MIT")]
\ No newline at end of file
+[assembly: AssemblyCopyright("MIT")]
diff --git a/src/tasque/RemoteControl.cs b/src/Tasque.Gtk/RemoteControl.cs
similarity index 100%
rename from src/tasque/RemoteControl.cs
rename to src/Tasque.Gtk/RemoteControl.cs
diff --git a/src/tasque/RemoteControlProxy.cs b/src/Tasque.Gtk/RemoteControlProxy.cs
similarity index 100%
rename from src/tasque/RemoteControlProxy.cs
rename to src/Tasque.Gtk/RemoteControlProxy.cs
diff --git a/src/tasque/RtmDeveloperKey.txt b/src/Tasque.Gtk/RtmDeveloperKey.txt
similarity index 100%
rename from src/tasque/RtmDeveloperKey.txt
rename to src/Tasque.Gtk/RtmDeveloperKey.txt
diff --git a/src/tasque/TaskCalendar.cs b/src/Tasque.Gtk/TaskCalendar.cs
similarity index 100%
rename from src/tasque/TaskCalendar.cs
rename to src/Tasque.Gtk/TaskCalendar.cs
diff --git a/src/tasque/TaskGroup.cs b/src/Tasque.Gtk/TaskGroup.cs
similarity index 100%
rename from src/tasque/TaskGroup.cs
rename to src/Tasque.Gtk/TaskGroup.cs
diff --git a/src/tasque/TaskTreeView.cs b/src/Tasque.Gtk/TaskTreeView.cs
similarity index 100%
rename from src/tasque/TaskTreeView.cs
rename to src/Tasque.Gtk/TaskTreeView.cs
diff --git a/src/tasque/TaskWindow.cs b/src/Tasque.Gtk/TaskWindow.cs
similarity index 100%
rename from src/tasque/TaskWindow.cs
rename to src/Tasque.Gtk/TaskWindow.cs
diff --git a/src/tasque/tasque.csproj b/src/Tasque.Gtk/Tasque.Gtk.csproj
similarity index 74%
rename from src/tasque/tasque.csproj
rename to src/Tasque.Gtk/Tasque.Gtk.csproj
index 1651fe5..63dbc23 100644
--- a/src/tasque/tasque.csproj
+++ b/src/Tasque.Gtk/Tasque.Gtk.csproj
@@ -8,7 +8,7 @@
     <SchemaVersion>2.0</SchemaVersion>
     <OutputType>WinExe</OutputType>
     <NoStandardLibraries>false</NoStandardLibraries>
-    <AssemblyName>tasque</AssemblyName>
+    <AssemblyName>Tasque</AssemblyName>
     <FileAlignment>512</FileAlignment>
     <NoWin32Manifest>True</NoWin32Manifest>
     <RootNamespace>Tasque</RootNamespace>
@@ -83,52 +83,6 @@
       </CustomCommands>
     </CustomCommands>
   </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkMacDebug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE;OSX</DefineConstants>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkMacRelease|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\LinuxRelease</OutputPath>
-    <DefineConstants>TRACE;OSX</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <CustomCommands>
-      <CustomCommands>
-        <Command type="BeforeBuild" command="./autogen.sh --prefix=${SolutionDir}/build/bin/" workingdir="${SolutionDir}" externalConsole="true" />
-        <Command type="Build" command="make" workingdir="${SolutionDir}" externalConsole="true" />
-        <Command type="Clean" command="make clean" workingdir="${SolutionDir}" externalConsole="true" />
-      </CustomCommands>
-    </CustomCommands>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacDebug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacRelease|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\LinuxRelease</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <CustomCommands>
-      <CustomCommands>
-        <Command type="BeforeBuild" command="./autogen.sh --prefix=${SolutionDir}/build/bin/" workingdir="${SolutionDir}" externalConsole="true" />
-        <Command type="Build" command="make" workingdir="${SolutionDir}" externalConsole="true" />
-        <Command type="Clean" command="make clean" workingdir="${SolutionDir}" externalConsole="true" />
-      </CustomCommands>
-    </CustomCommands>
-  </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />
     <Reference Include="System.Data" />
@@ -167,37 +121,9 @@
     <Reference Include="WindowsBase" />
   </ItemGroup>
   <ItemGroup>
-    <None Include="..\..\data\osx\Contents\Info.plist">
-      <Link>data\osx\Contents\Info.plist</Link>
-    </None>
-    <None Include="..\..\data\osx\Contents\MacOS\Tasque">
-      <Link>data\osx\Contents\MacOS\Tasque</Link>
-    </None>
-    <None Include="..\..\data\osx\Contents\Resources\tasque.icns">
-      <Link>data\osx\Contents\Resources\tasque.icns</Link>
-    </None>
     <None Include="..\..\data\sounds\notify.wav">
       <Link>data\sounds\notify.wav</Link>
     </None>
-    <None Include="Backends\Hiveminder\HmBackend.cs" />
-    <None Include="Backends\Hiveminder\HmCategory.cs" />
-    <None Include="Backends\Hiveminder\HmNote.cs" />
-    <None Include="Backends\Hiveminder\HmPreferencesWidget.cs" />
-    <None Include="Backends\Hiveminder\HmTask.cs" />
-    <None Include="Backends\Hiveminder\service\Group.cs" />
-    <None Include="Backends\Hiveminder\service\Hiveminder.cs" />
-    <None Include="Backends\Hiveminder\service\HiveminderException.cs" />
-    <None Include="Backends\Hiveminder\service\Task.cs" />
-    <None Include="Backends\Sqlite\Database.cs" />
-    <None Include="Backends\Sqlite\SqliteBackend.cs" />
-    <None Include="Backends\Sqlite\SqliteCategory.cs" />
-    <None Include="Backends\Sqlite\SqliteNote.cs" />
-    <None Include="Backends\Sqlite\SqliteTask.cs" />
-    <None Include="Backends\Rtm\RtmBackend.cs" />
-    <None Include="Backends\Rtm\RtmCategory.cs" />
-    <None Include="Backends\Rtm\RtmNote.cs" />
-    <None Include="Backends\Rtm\RtmPreferencesWidget.cs" />
-    <None Include="Backends\Rtm\RtmTask.cs" />
   </ItemGroup>
   <ItemGroup>
     <Compile Include="Properties\AssemblyInfo.cs" />
@@ -208,9 +134,6 @@
       <Link>Properties\GlobalDefines.cs</Link>
     </Compile>
     <Compile Include="Application.cs" />
-    <Compile Include="Backends\Dummy\DummyBackend.cs" />
-    <Compile Include="Backends\Dummy\DummyNote.cs" />
-    <Compile Include="Backends\Dummy\DummyTask.cs" />
     <Compile Include="CellRendererDate.cs" />
     <Compile Include="CompletedTaskGroup.cs" />
     <Compile Include="DateButton.cs" />
@@ -223,7 +146,6 @@
     <Compile Include="TaskTreeView.cs" />
     <Compile Include="TaskWindow.cs" />
     <Compile Include="Utilities.cs" />
-    <Compile Include="Backends\Dummy\Gtk\DummyPreferences.cs" />
   </ItemGroup>
   <ItemGroup Condition=" '$(Configuration)' == 'GnomeDebug' or '$(Configuration)' == 'GnomeRelease' ">
     <Compile Include="GnomeApplication.cs" />
@@ -235,37 +157,17 @@
   <ItemGroup Condition=" '$(Configuration)' == 'GtkLinuxDebug' or '$(Configuration)' == 'GtkLinuxRelease' or '$(Configuration)' == 'GtkWinDebug' or '$(Configuration)' == 'GtkWinRelease' or '$(Configuration)' == 'GtkMacDebug' or '$(Configuration)' == 'GtkMacRelease' ">
     <Compile Include="GtkApplication.cs" />
   </ItemGroup>
-  <ItemGroup Condition=" '$(Configuration)' == 'GtkMacDebug' or '$(Configuration)' == 'GtkMacRelease' ">
-    <Compile Include="OSXApplication.cs" />
-  </ItemGroup>
   <ItemGroup>
     <Folder Include="Properties\" />
     <Folder Include="data\" />
     <Folder Include="data\icons\" />
-    <Folder Include="data\osx\" />
     <Folder Include="data\sounds\" />
-    <Folder Include="data\osx\Contents\" />
-    <Folder Include="data\osx\Contents\MacOS\" />
-    <Folder Include="data\osx\Contents\Resources\" />
-    <Folder Include="Backends\Dummy\Gtk\" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\libtasque\libtasque.csproj">
       <Project>{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}</Project>
       <Name>libtasque</Name>
     </ProjectReference>
-    <ProjectReference Include="..\RtmNet\RtmNet.csproj">
-      <Project>{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}</Project>
-      <Name>RtmNet</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\ObservableTransformCollections\CollectionView\CollectionView.csproj">
-      <Project>{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}</Project>
-      <Name>CollectionView</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\ObservableTransformCollections\TreeModelListAdapter\TreeModelListAdapter.csproj">
-      <Project>{95B669DC-0F9F-4C26-B31E-34CFA54112E8}</Project>
-      <Name>TreeModelListAdapter</Name>
-    </ProjectReference>
     <ProjectReference Include="..\libtasqueui\libtasqueui.csproj">
       <Project>{DB8F01D5-0161-48E0-B68A-14AEFD22328F}</Project>
       <Name>libtasqueui</Name>
diff --git a/src/tasque/Utilities.cs b/src/Tasque.Gtk/Utilities.cs
similarity index 100%
rename from src/tasque/Utilities.cs
rename to src/Tasque.Gtk/Utilities.cs
diff --git a/src/Tasque.Gtk/tasque b/src/Tasque.Gtk/tasque
new file mode 100644
index 0000000..e347342
--- /dev/null
+++ b/src/Tasque.Gtk/tasque
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+exec -a "Tasque" mono "/home/antonius/Projects/GSoC2012/Tasque/build/bin/lib/tasque/tasque.exe" "$@"
diff --git a/src/tasque/tasque-mac.csproj b/src/Tasque.Gtk/tasque-mac.csproj
similarity index 100%
rename from src/tasque/tasque-mac.csproj
rename to src/Tasque.Gtk/tasque-mac.csproj
diff --git a/src/tasque/tasque.in b/src/Tasque.Gtk/tasque.in
similarity index 100%
rename from src/tasque/tasque.in
rename to src/Tasque.Gtk/tasque.in
diff --git a/src/tasque/OSXApplication.cs b/src/Tasque.MonoMac/OSXApplication.cs
similarity index 100%
rename from src/tasque/OSXApplication.cs
rename to src/Tasque.MonoMac/OSXApplication.cs
diff --git a/src/tasque/Properties/AssemblyInfo.cs b/src/Tasque.MonoMac/Properties/AssemblyInfo.cs
similarity index 84%
rename from src/tasque/Properties/AssemblyInfo.cs
rename to src/Tasque.MonoMac/Properties/AssemblyInfo.cs
index 542ef5e..a52ab14 100644
--- a/src/tasque/Properties/AssemblyInfo.cs
+++ b/src/Tasque.MonoMac/Properties/AssemblyInfo.cs
@@ -23,13 +23,8 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
-
 using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes. 
-// Change them to the values specific to your project.
 
-[assembly: AssemblyTitle("tasque")]
+[assembly: AssemblyTitle("Tasque")]
 [assembly: AssemblyDescription("Simple Tasque Management")]
-[assembly: AssemblyCopyright("MIT")]
\ No newline at end of file
+[assembly: AssemblyCopyright("MIT")]
diff --git a/src/Tasque.MonoMac/Tasque.MonoMac.csproj b/src/Tasque.MonoMac/Tasque.MonoMac.csproj
new file mode 100644
index 0000000..65bc5fc
--- /dev/null
+++ b/src/Tasque.MonoMac/Tasque.MonoMac.csproj
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">MonoMacDebug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>10.0.0</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{1F6FC2AE-0BB5-4536-939F-1D9FE893F7DD}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <NoWin32Manifest>True</NoWin32Manifest>
+    <RootNamespace>Tasque</RootNamespace>
+    <AssemblyName>Tasque</AssemblyName>
+    <ReleaseVersion>0.1.10</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacDebug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacRelease|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\LinuxRelease</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CustomCommands>
+      <CustomCommands>
+        <Command type="BeforeBuild" command="./autogen.sh --prefix=${SolutionDir}/build/bin/" workingdir="${SolutionDir}" externalConsole="true" />
+        <Command type="Build" command="make" workingdir="${SolutionDir}" externalConsole="true" />
+        <Command type="Clean" command="make clean" workingdir="${SolutionDir}" externalConsole="true" />
+      </CustomCommands>
+    </CustomCommands>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Compile Include="OSXApplication.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\data\osx\Contents\Info.plist">
+      <Link>osx\Contents\Info.plist</Link>
+    </None>
+    <None Include="..\..\data\osx\Contents\Resources\tasque.icns">
+      <Link>osx\Contents\Resources\tasque.icns</Link>
+    </None>
+    <None Include="..\..\data\osx\Contents\MacOS\Tasque">
+      <Link>osx\Contents\MacOS\Tasque</Link>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Properties\" />
+    <Folder Include="osx\Contents\Resources\" />
+    <Folder Include="osx\Contents\MacOS\" />
+  </ItemGroup>
+</Project>
diff --git a/src/libtasque/libtasque.csproj b/src/libtasque/libtasque.csproj
index f755833..ccc5297 100644
--- a/src/libtasque/libtasque.csproj
+++ b/src/libtasque/libtasque.csproj
@@ -83,28 +83,6 @@
       </CustomCommands>
     </CustomCommands>
   </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkMacDebug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkMacRelease|AnyCPU' ">
-    <DebugType>none</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\LinuxRelease</OutputPath>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <CustomCommands>
-      <CustomCommands>
-        <Command type="Build" command="echo &quot;building...&quot;" />
-        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
-      </CustomCommands>
-    </CustomCommands>
-  </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacDebug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
     <DebugType>full</DebugType>
diff --git a/src/tasque/Backends/Dummy/DummyTask.cs b/src/libtasqueui/Legacy/Commands/ComponentCommands.cs
similarity index 64%
rename from src/tasque/Backends/Dummy/DummyTask.cs
rename to src/libtasqueui/Legacy/Commands/ComponentCommands.cs
index 3f7f5f0..7fa3b64 100644
--- a/src/tasque/Backends/Dummy/DummyTask.cs
+++ b/src/libtasqueui/Legacy/Commands/ComponentCommands.cs
@@ -1,7 +1,5 @@
-// DummyTask.cs created with MonoDevelop
-// User: boyd at 8:50 PMÂ2/10/2008
 // 
-// DummyTask.cs
+// ComponentCommands.cs
 //  
 // Author:
 //       Antonius Riha <antoniusriha gmail com>
@@ -26,34 +24,39 @@
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 using System;
-using Tasque;
 
-namespace Tasque.Backends.Dummy
+namespace Tasque.UIModel.Legacy
 {
-	public class DummyTask : Task
+	class ShowTaskContextMenuCommand : CommandBase
 	{
-		public DummyTask(string name) : base (name, TaskNoteSupport.Multiple) {}
-		
-		#region Public Methods
-		public override void Activate ()
+		public ShowTaskContextMenuCommand (MainWindowContextMenuModel contextMenu)
 		{
-			Logger.Debug ("DummyTask.Activate ()");
-			CompletionDate = DateTime.MinValue;
-			State = TaskState.Active;
+			if (contextMenu == null)
+				throw new ArgumentNullException ("contextMenu");
+			this.contextMenu = contextMenu;
 		}
 		
-		public override void Complete ()
-		{
-			Logger.Debug ("DummyTask.Complete ()");
-			CompletionDate = DateTime.Now;
-			State = TaskState.Completed;
-		}
+		public Task Task {
+			get { return task; }
+			set {
+				if (value == task)
+					return;
+				
+				task = value;
+				if (value == null)
+					UnsetCanExecute ("Task can't be null.");
+				else
+					SetCanExecute ();
+			}
+		}		
 		
-		public override void Delete ()
+		public override void Execute ()
 		{
-			Logger.Debug ("DummyTask.Delete ()");
-			State = TaskState.Deleted;
+			if (CanExecute)
+				contextMenu.Show (task);
 		}
-		#endregion
+		
+		Task task;
+		MainWindowContextMenuModel contextMenu;
 	}
 }
diff --git a/src/libtasqueui/Legacy/TaskCommands.cs b/src/libtasqueui/Legacy/Commands/TaskCommands.cs
similarity index 87%
rename from src/libtasqueui/Legacy/TaskCommands.cs
rename to src/libtasqueui/Legacy/Commands/TaskCommands.cs
index c23e071..51a3bbf 100644
--- a/src/libtasqueui/Legacy/TaskCommands.cs
+++ b/src/libtasqueui/Legacy/Commands/TaskCommands.cs
@@ -120,4 +120,39 @@ namespace Tasque.UIModel.Legacy
 		Backend backend;
 		Task task;
 	}
+	
+	class EditTaskNameCommand : CommandBase
+	{
+		public string Name {
+			get { return name; }
+			set {
+				if (value != name) {
+					
+				}
+			}
+		}
+		
+		public Task Task {
+			get { return task; }
+			set {
+				if (value == task)
+					return;
+				
+				task = value;
+				if (value == null)
+					UnsetCanExecute ("Task can't be null.");
+				else
+					SetCanExecute ();
+			}
+		}
+		
+		public override void Execute ()
+		{
+			if (CanExecute)
+				;
+		}
+		
+		string name;
+		Task task;
+	}
 }
diff --git a/src/tasque/Backends/Dummy/Gtk/DummyPreferences.cs b/src/libtasqueui/Legacy/MainWindowContextMenuModel.cs
similarity index 66%
rename from src/tasque/Backends/Dummy/Gtk/DummyPreferences.cs
rename to src/libtasqueui/Legacy/MainWindowContextMenuModel.cs
index 1a33a58..6b0a03f 100644
--- a/src/tasque/Backends/Dummy/Gtk/DummyPreferences.cs
+++ b/src/libtasqueui/Legacy/MainWindowContextMenuModel.cs
@@ -1,5 +1,5 @@
 // 
-// DummyPreferences.cs
+// MainWindowContextMenuModel.cs
 //  
 // Author:
 //       Antonius Riha <antoniusriha gmail com>
@@ -23,18 +23,28 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
-using Gtk;
+using System;
 
-namespace Tasque.Backends.Dummy.Gtk
+namespace Tasque.UIModel.Legacy
 {
-	public class DummyPreferences : Box, IBackendPreferences
+	public class MainWindowContextMenuModel : ViewModelBase
 	{
-		public DummyPreferences () : base ()
+		public MainWindowContextMenuModel (MainWindowModel mainWindowModel)
 		{
-			var lbl = new Label ("Debugging System (this message is a test)");
-			PackStart (lbl, true, true, 0);
-			ShowAll ();
+			removeTaskCommand = new RemoveTaskCommand (Backend);
 		}
+		
+		public ICommand EditTask { get; private set; }
+		
+		public ICommand RemoveTask { get { return removeTaskCommand; } }
+		
+		public void Show (Task selectedTask)
+		{
+			if (selectedTask == null)
+				throw new ArgumentNullException ("selectedTask");
+			removeTaskCommand.Task = selectedTask;
+		}
+		
+		RemoveTaskCommand removeTaskCommand;
 	}
 }
-
diff --git a/src/libtasqueui/Legacy/MainWindowModel.cs b/src/libtasqueui/Legacy/MainWindowModel.cs
index 085c5c5..280e5af 100644
--- a/src/libtasqueui/Legacy/MainWindowModel.cs
+++ b/src/libtasqueui/Legacy/MainWindowModel.cs
@@ -30,79 +30,37 @@ namespace Tasque.UIModel.Legacy
 {
 	public class MainWindowModel : ViewModelBase, ITimeAware
 	{
-		public MainWindowModel (Backend backend, Preferences preferences)
+		internal MainWindowModel ()
 		{
-			if (backend == null)
+			if (Backend == null)
 				throw new ArgumentNullException ("backend");
-			if (preferences == null)
+			if (Preferences == null)
 				throw new ArgumentNullException ("preferences");
 			
 			UpdateCompletionDateRangeCompareDates ();
 			
-			this.backend = backend;
-			this.preferences = preferences;
+			this.Backend = Backend;
+			this.Preferences = Preferences;
 			
-			Categories = new ReadOnlySortedNotifyCollection<Category> (backend.Categories);
-			
-			tasks = new ListCollectionView<Task> (backend.Tasks);
-			tasks.Filter = Filter;
-			tasks.GroupDescriptions.Add (new PropertyGroupDescription ("IsComplete"));
+			Tasks = new ListCollectionView<Task> (Backend.Tasks);
+			Tasks.Filter = Filter;
+			Tasks.GroupDescriptions.Add (new PropertyGroupDescription ("IsComplete"));
 			var dueDateDesc = new PropertyGroupDescription("DueDate");
             dueDateDesc.Converter = new DueDateConverter();
-            tasks.GroupDescriptions.Add(dueDateDesc);
-			tasks.CustomSort = new TaskComparer(new TaskCompletionDateComparer());
-			
-			addTaskCommand = new AddTaskCommand (backend);
+            Tasks.GroupDescriptions.Add(dueDateDesc);
+			Tasks.CustomSort = new TaskComparer(new TaskCompletionDateComparer());
 			
+			topPanel = new MainWindowTopPanelModel (this);
 		}
 		
 		public CompletionDateRange CompletionDateRange {
-			get { return preferences.CompletionDateRange; }
-			set {
-				preferences.CompletionDateRange = value;
-				tasks.Refresh ();
-			}
-		}
-		
-		public ReadOnlySortedNotifyCollection<Category> Categories { get; private set; }
-		
-		public Category SelectedCategory {
-			get { return preferences.SelectedCategory; }
+			get { return Preferences.CompletionDateRange; }
 			set {
-				if (value != null && !Categories.Contains (value))
-					value = null;
-				preferences.SelectedCategory = value;
-				tasks.Refresh ();
-				OnPropertyChanged ("SelectedCategory");
+				Preferences.CompletionDateRange = value;
+				Tasks.Refresh ();
 			}
 		}
 		
-		public ICommand AddTask { get { return addTaskCommand; } }
-		
-		public string NewTaskName {
-			get { return newTaskName; }
-			set {
-				if (value != newTaskName) {
-					newTaskName = value;
-					addTaskCommand.TaskName = value;
-					OnPropertyChanged ("NewTaskName");
-				}
-			}
-		}
-		
-		public Category NewTaskCategory {
-			get { return newTaskCategory; }
-			set {
-				if (value != newTaskCategory) {
-					newTaskCategory = value;
-					addTaskCommand.Category = value;
-					OnPropertyChanged ("NewTaskCategory");
-				}
-			}
-		}
-		
-		public ICommand RemoveTask { get { throw new NotImplementedException (); } }
-		
 		public string Status {
 			get { return status; }
 			private set {
@@ -113,16 +71,34 @@ namespace Tasque.UIModel.Legacy
 			}
 		}
 		
+		public Task SelectedTask {
+			get { return selectedTask; }
+			set {
+				if (value != selectedTask) {
+					selectedTask = value;
+					OnPropertyChanged ("SelectedTask");
+				}
+			}
+		}
+		
+		public ICommand ShowContextMenu { get { throw new NotImplementedException (); } }
+		
 		public void OnDayChanged ()
 		{
 			UpdateCompletionDateRangeCompareDates ();
-			tasks.Refresh ();
+			Tasks.Refresh ();
 		}
 		
+		internal Backend Backend { get; private set; }
+		
+		internal Preferences Preferences { get; private set; }
+		
+		internal ListCollectionView<Task> Tasks { get; private set; }
+		
 		bool Filter (Task task)
 		{
 			// account for selected category
-			var selectedCategory = SelectedCategory;
+			var selectedCategory = topPanel.SelectedCategory;
 			if (selectedCategory != null && !selectedCategory.Contains (task))
 				return false;
 			
@@ -130,7 +106,7 @@ namespace Tasque.UIModel.Legacy
 			if (!task.IsComplete)
 				return true;
 			
-			if (!preferences.ShowCompletedTasks)
+			if (!Preferences.ShowCompletedTasks)
 				return false;
 			
 			// account for completion date range setting
@@ -160,10 +136,6 @@ namespace Tasque.UIModel.Legacy
 			yesterday = today.AddDays (-1);
 		}
 		
-		Backend backend;
-		Preferences preferences;
-		ListCollectionView<Task> tasks;
-		
 		DateTime aYearAgo;
 		DateTime aMonthAgo;
 		DateTime aWeekAgo;
@@ -171,10 +143,9 @@ namespace Tasque.UIModel.Legacy
 		
 		string status;
 		
-		AddTaskCommand addTaskCommand;
-		string newTaskName;
-		Category newTaskCategory;
+		MainWindowTopPanelModel topPanel;
+		MainWindowContextMenuModel contextMenu;
 		
-		RemoveTaskCommand removeTaskCommand;
+		Task selectedTask;
 	}
 }
diff --git a/src/libtasqueui/Legacy/MainWindowTopPanelModel.cs b/src/libtasqueui/Legacy/MainWindowTopPanelModel.cs
new file mode 100644
index 0000000..26c8395
--- /dev/null
+++ b/src/libtasqueui/Legacy/MainWindowTopPanelModel.cs
@@ -0,0 +1,80 @@
+// 
+// MainWindowTopPanelModel.cs
+//  
+// Author:
+//       Antonius Riha <antoniusriha gmail com>
+// 
+// Copyright (c) 2012 Antonius Riha
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+// 
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using CollectionTransforms;
+
+namespace Tasque.UIModel.Legacy
+{
+	public class MainWindowTopPanelModel : ViewModelBase
+	{
+		internal MainWindowTopPanelModel (MainWindowModel mainWindowModel)
+		{
+			tasks = mainWindowModel.Tasks;
+			preferences = mainWindowModel.Preferences;
+			Categories = new ReadOnlySortedNotifyCollection<Category> (mainWindowModel.Backend.Categories);
+			addTaskCommand = new AddTaskCommand (mainWindowModel.Backend);
+		}
+		
+		public ReadOnlySortedNotifyCollection<Category> Categories { get; private set; }
+		
+		public Category SelectedCategory {
+			get { return preferences.SelectedCategory; }
+			set {
+				if (value != null && !Categories.Contains (value))
+					value = null;
+				preferences.SelectedCategory = value;
+				tasks.Refresh ();
+				OnPropertyChanged ("SelectedCategory");
+			}
+		}
+		
+		public ICommand AddTask { get { return addTaskCommand; } }
+		
+		public string NewTaskName {
+			get { return addTaskCommand.TaskName; }
+			set {
+				if (value != addTaskCommand.TaskName) {
+					addTaskCommand.TaskName = value;
+					OnPropertyChanged ("NewTaskName");
+				}
+			}
+		}
+		
+		public Category NewTaskCategory {
+			get { return addTaskCommand.Category; }
+			set {
+				if (value != addTaskCommand.Category) {
+					addTaskCommand.Category = value;
+					OnPropertyChanged ("NewTaskCategory");
+				}
+			}
+		}
+		
+		Preferences preferences;
+		ListCollectionView<Task> tasks;
+		
+		AddTaskCommand addTaskCommand;
+	}
+}
diff --git a/src/libtasqueui/libtasqueui.csproj b/src/libtasqueui/libtasqueui.csproj
index 2d6972b..560c287 100644
--- a/src/libtasqueui/libtasqueui.csproj
+++ b/src/libtasqueui/libtasqueui.csproj
@@ -83,28 +83,6 @@
       </CustomCommands>
     </CustomCommands>
   </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkMacDebug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkMacRelease|AnyCPU' ">
-    <DebugType>none</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\LinuxRelease</OutputPath>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <CustomCommands>
-      <CustomCommands>
-        <Command type="Build" command="echo &quot;building...&quot;" />
-        <Command type="Clean" command="echo &quot;cleaning...&quot;" />
-      </CustomCommands>
-    </CustomCommands>
-  </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacDebug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
     <DebugType>full</DebugType>
@@ -156,12 +134,16 @@
     <Compile Include="ITimeAware.cs" />
     <Compile Include="ICommand.cs" />
     <Compile Include="CommandBase.cs" />
-    <Compile Include="Legacy\TaskCommands.cs" />
+    <Compile Include="Legacy\MainWindowTopPanelModel.cs" />
+    <Compile Include="Legacy\MainWindowContextMenuModel.cs" />
+    <Compile Include="Legacy\Commands\ComponentCommands.cs" />
+    <Compile Include="Legacy\Commands\TaskCommands.cs" />
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <ItemGroup>
     <Folder Include="Properties\" />
     <Folder Include="Legacy\" />
+    <Folder Include="Legacy\Commands\" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\libtasque\libtasque.csproj">
diff --git a/tasque.sln b/tasque.sln
index c447482..b7bf9c1 100644
--- a/tasque.sln
+++ b/tasque.sln
@@ -3,32 +3,41 @@ Microsoft Visual Studio Solution File, Format Version 11.00
 # Visual Studio 2010
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "build", "build\build.csproj", "{7B2BA3AC-B9C7-4734-AF59-2750B5C3672B}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "tasque", "src\tasque\tasque.csproj", "{B19B9840-669D-4984-9772-E1F55193A67F}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasque.Gtk", "src\Tasque.Gtk\Tasque.Gtk.csproj", "{B19B9840-669D-4984-9772-E1F55193A67F}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "libtasque", "src\libtasque\libtasque.csproj", "{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RtmNet", "src\RtmNet\RtmNet.csproj", "{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "tests", "tests\tests.csproj", "{6DC908EC-E7C2-46CD-A21D-832C0D81D946}"
 EndProject
 Project("{9344bdbb-3e7f-41fc-a0dd-8665d75ee146}") = "translation", "po\translation.mdproj", "{A8D75EEC-63FE-4A18-8ACF-120870056E4E}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{D8032D6D-255B-422E-A98D-78F30B74336E}"
-	ProjectSection(SolutionItems) = preProject
-		.gitignore = .gitignore
-	EndProjectSection
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "libtasqueui", "src\libtasqueui\libtasqueui.csproj", "{DB8F01D5-0161-48E0-B68A-14AEFD22328F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasque.MonoMac", "src\Tasque.MonoMac\Tasque.MonoMac.csproj", "{1F6FC2AE-0BB5-4536-939F-1D9FE893F7DD}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Addins", "Addins", "{EECEC2EF-0F00-49F1-814F-3140F45C4F71}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DummyBackend", "src\Addins\DummyBackend\DummyBackend.csproj", "{91F6578A-2993-40A4-BE49-64028923EB87}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RtmBackend", "src\Addins\RtmBackend\RtmBackend.csproj", "{545C0208-DE58-42F1-B818-0B57293B7831}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SqliteBackend", "src\Addins\SqliteBackend\SqliteBackend.csproj", "{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ObservableTransformCollections", "ObservableTransformCollections", "{69B26AD3-1E26-4C96-84AA-F525297377FF}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HiveminderBackend", "src\Addins\HiveminderBackend\HiveminderBackend.csproj", "{B3107E6C-08DD-4264-A8D5-467BD96F33CA}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{8F06BE43-859E-4A2D-B620-7CEDFF408F39}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ObservableCollectionTransforms", "ObservableCollectionTransforms", "{575AA970-031A-4E4A-8409-75D749D3C23E}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CollectionTransform", "src\ObservableTransformCollections\CollectionTransform\CollectionTransform.csproj", "{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CollectionTransform.Tests", "src\ObservableTransformCollections\CollectionTransform.Tests\CollectionTransform.Tests.csproj", "{0EFB56A9-B582-465B-AC9D-7609ABC121EB}"
+EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CollectionView", "src\ObservableTransformCollections\CollectionView\CollectionView.csproj", "{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TreeModelListAdapter", "src\ObservableTransformCollections\TreeModelListAdapter\TreeModelListAdapter.csproj", "{95B669DC-0F9F-4C26-B31E-34CFA54112E8}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CollectionTransform.Tests", "src\ObservableTransformCollections\CollectionTransform.Tests\CollectionTransform.Tests.csproj", "{0EFB56A9-B582-465B-AC9D-7609ABC121EB}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "libtasqueui", "src\libtasqueui\libtasqueui.csproj", "{DB8F01D5-0161-48E0-B68A-14AEFD22328F}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RtmNet", "src\RtmNet\RtmNet.csproj", "{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -38,8 +47,6 @@ Global
 		GtkLinuxRelease|Any CPU = GtkLinuxRelease|Any CPU
 		GtkWinDebug|Any CPU = GtkWinDebug|Any CPU
 		GtkWinRelease|Any CPU = GtkWinRelease|Any CPU
-		GtkMacDebug|Any CPU = GtkMacDebug|Any CPU
-		GtkMacRelease|Any CPU = GtkMacRelease|Any CPU
 		MonoMacDebug|Any CPU = MonoMacDebug|Any CPU
 		MonoMacRelease|Any CPU = MonoMacRelease|Any CPU
 	EndGlobalSection
@@ -52,10 +59,6 @@ Global
 		{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.GtkLinuxDebug|Any CPU.Build.0 = GtkLinuxDebug|Any CPU
 		{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.GtkLinuxRelease|Any CPU.ActiveCfg = GtkLinuxRelease|Any CPU
 		{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.GtkLinuxRelease|Any CPU.Build.0 = GtkLinuxRelease|Any CPU
-		{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.GtkMacDebug|Any CPU.ActiveCfg = GtkMacDebug|Any CPU
-		{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.GtkMacDebug|Any CPU.Build.0 = GtkMacDebug|Any CPU
-		{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.GtkMacRelease|Any CPU.ActiveCfg = GtkMacRelease|Any CPU
-		{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.GtkMacRelease|Any CPU.Build.0 = GtkMacRelease|Any CPU
 		{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.GtkWinDebug|Any CPU.ActiveCfg = GtkWinDebug|Any CPU
 		{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.GtkWinDebug|Any CPU.Build.0 = GtkWinDebug|Any CPU
 		{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.GtkWinRelease|Any CPU.ActiveCfg = GtkWinRelease|Any CPU
@@ -64,10 +67,64 @@ Global
 		{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.MonoMacDebug|Any CPU.Build.0 = MonoMacDebug|Any CPU
 		{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.MonoMacRelease|Any CPU.ActiveCfg = MonoMacRelease|Any CPU
 		{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.MonoMacRelease|Any CPU.Build.0 = MonoMacRelease|Any CPU
+		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.GnomeDebug|Any CPU.ActiveCfg = GnomeDebug|Any CPU
+		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.GnomeDebug|Any CPU.Build.0 = GnomeDebug|Any CPU
+		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.GnomeRelease|Any CPU.ActiveCfg = GnomeRelease|Any CPU
+		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.GnomeRelease|Any CPU.Build.0 = GnomeRelease|Any CPU
 		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.GtkLinuxDebug|Any CPU.ActiveCfg = GtkLinuxDebug|Any CPU
 		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.GtkLinuxDebug|Any CPU.Build.0 = GtkLinuxDebug|Any CPU
+		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.GtkLinuxRelease|Any CPU.ActiveCfg = GtkLinuxRelease|Any CPU
+		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.GtkLinuxRelease|Any CPU.Build.0 = GtkLinuxRelease|Any CPU
+		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.GtkWinDebug|Any CPU.ActiveCfg = GtkWinDebug|Any CPU
+		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.GtkWinDebug|Any CPU.Build.0 = GtkWinDebug|Any CPU
+		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.GtkWinRelease|Any CPU.ActiveCfg = GtkWinRelease|Any CPU
+		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.GtkWinRelease|Any CPU.Build.0 = GtkWinRelease|Any CPU
+		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.MonoMacDebug|Any CPU.ActiveCfg = MonoMacDebug|Any CPU
+		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.MonoMacDebug|Any CPU.Build.0 = MonoMacDebug|Any CPU
+		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.MonoMacRelease|Any CPU.ActiveCfg = MonoMacRelease|Any CPU
+		{0EFB56A9-B582-465B-AC9D-7609ABC121EB}.MonoMacRelease|Any CPU.Build.0 = MonoMacRelease|Any CPU
+		{1F6FC2AE-0BB5-4536-939F-1D9FE893F7DD}.GnomeDebug|Any CPU.ActiveCfg = MonoMacDebug|Any CPU
+		{1F6FC2AE-0BB5-4536-939F-1D9FE893F7DD}.GnomeRelease|Any CPU.ActiveCfg = MonoMacRelease|Any CPU
+		{1F6FC2AE-0BB5-4536-939F-1D9FE893F7DD}.GtkLinuxDebug|Any CPU.ActiveCfg = MonoMacDebug|Any CPU
+		{1F6FC2AE-0BB5-4536-939F-1D9FE893F7DD}.GtkLinuxRelease|Any CPU.ActiveCfg = MonoMacRelease|Any CPU
+		{1F6FC2AE-0BB5-4536-939F-1D9FE893F7DD}.GtkWinDebug|Any CPU.ActiveCfg = MonoMacDebug|Any CPU
+		{1F6FC2AE-0BB5-4536-939F-1D9FE893F7DD}.GtkWinRelease|Any CPU.ActiveCfg = MonoMacRelease|Any CPU
+		{1F6FC2AE-0BB5-4536-939F-1D9FE893F7DD}.MonoMacDebug|Any CPU.ActiveCfg = MonoMacDebug|Any CPU
+		{1F6FC2AE-0BB5-4536-939F-1D9FE893F7DD}.MonoMacDebug|Any CPU.Build.0 = MonoMacDebug|Any CPU
+		{1F6FC2AE-0BB5-4536-939F-1D9FE893F7DD}.MonoMacRelease|Any CPU.ActiveCfg = MonoMacRelease|Any CPU
+		{1F6FC2AE-0BB5-4536-939F-1D9FE893F7DD}.MonoMacRelease|Any CPU.Build.0 = MonoMacRelease|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.GnomeDebug|Any CPU.ActiveCfg = GnomeDebug|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.GnomeDebug|Any CPU.Build.0 = GnomeDebug|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.GnomeRelease|Any CPU.ActiveCfg = GnomeRelease|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.GnomeRelease|Any CPU.Build.0 = GnomeRelease|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.GtkLinuxDebug|Any CPU.ActiveCfg = GtkLinuxDebug|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.GtkLinuxDebug|Any CPU.Build.0 = GtkLinuxDebug|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.GtkLinuxRelease|Any CPU.ActiveCfg = GtkLinuxRelease|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.GtkLinuxRelease|Any CPU.Build.0 = GtkLinuxRelease|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.GtkWinDebug|Any CPU.ActiveCfg = GtkWinDebug|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.GtkWinDebug|Any CPU.Build.0 = GtkWinDebug|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.GtkWinRelease|Any CPU.ActiveCfg = GtkWinRelease|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.GtkWinRelease|Any CPU.Build.0 = GtkWinRelease|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.MonoMacDebug|Any CPU.ActiveCfg = MonoMacDebug|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.MonoMacDebug|Any CPU.Build.0 = MonoMacDebug|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.MonoMacRelease|Any CPU.ActiveCfg = MonoMacRelease|Any CPU
+		{545C0208-DE58-42F1-B818-0B57293B7831}.MonoMacRelease|Any CPU.Build.0 = MonoMacRelease|Any CPU
+		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.GnomeDebug|Any CPU.ActiveCfg = GnomeDebug|Any CPU
+		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.GnomeDebug|Any CPU.Build.0 = GnomeDebug|Any CPU
+		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.GnomeRelease|Any CPU.ActiveCfg = GnomeRelease|Any CPU
+		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.GnomeRelease|Any CPU.Build.0 = GnomeRelease|Any CPU
 		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.GtkLinuxDebug|Any CPU.ActiveCfg = GtkLinuxDebug|Any CPU
 		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.GtkLinuxDebug|Any CPU.Build.0 = GtkLinuxDebug|Any CPU
+		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.GtkLinuxRelease|Any CPU.ActiveCfg = GtkLinuxRelease|Any CPU
+		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.GtkLinuxRelease|Any CPU.Build.0 = GtkLinuxRelease|Any CPU
+		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.GtkWinDebug|Any CPU.ActiveCfg = GtkWinDebug|Any CPU
+		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.GtkWinDebug|Any CPU.Build.0 = GtkWinDebug|Any CPU
+		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.GtkWinRelease|Any CPU.ActiveCfg = GtkWinRelease|Any CPU
+		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.GtkWinRelease|Any CPU.Build.0 = GtkWinRelease|Any CPU
+		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.MonoMacDebug|Any CPU.ActiveCfg = MonoMacDebug|Any CPU
+		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.MonoMacDebug|Any CPU.Build.0 = MonoMacDebug|Any CPU
+		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.MonoMacRelease|Any CPU.ActiveCfg = MonoMacRelease|Any CPU
+		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF}.MonoMacRelease|Any CPU.Build.0 = MonoMacRelease|Any CPU
 		{6DC908EC-E7C2-46CD-A21D-832C0D81D946}.GnomeDebug|Any CPU.ActiveCfg = GnomeDebug|Any CPU
 		{6DC908EC-E7C2-46CD-A21D-832C0D81D946}.GnomeDebug|Any CPU.Build.0 = GnomeDebug|Any CPU
 		{6DC908EC-E7C2-46CD-A21D-832C0D81D946}.GnomeRelease|Any CPU.ActiveCfg = GnomeRelease|Any CPU
@@ -76,10 +133,6 @@ Global
 		{6DC908EC-E7C2-46CD-A21D-832C0D81D946}.GtkLinuxDebug|Any CPU.Build.0 = GtkLinuxDebug|Any CPU
 		{6DC908EC-E7C2-46CD-A21D-832C0D81D946}.GtkLinuxRelease|Any CPU.ActiveCfg = GtkLinuxRelease|Any CPU
 		{6DC908EC-E7C2-46CD-A21D-832C0D81D946}.GtkLinuxRelease|Any CPU.Build.0 = GtkLinuxRelease|Any CPU
-		{6DC908EC-E7C2-46CD-A21D-832C0D81D946}.GtkMacDebug|Any CPU.ActiveCfg = GtkMacDebug|Any CPU
-		{6DC908EC-E7C2-46CD-A21D-832C0D81D946}.GtkMacDebug|Any CPU.Build.0 = GtkMacDebug|Any CPU
-		{6DC908EC-E7C2-46CD-A21D-832C0D81D946}.GtkMacRelease|Any CPU.ActiveCfg = GtkMacRelease|Any CPU
-		{6DC908EC-E7C2-46CD-A21D-832C0D81D946}.GtkMacRelease|Any CPU.Build.0 = GtkMacRelease|Any CPU
 		{6DC908EC-E7C2-46CD-A21D-832C0D81D946}.GtkWinDebug|Any CPU.ActiveCfg = GtkWinDebug|Any CPU
 		{6DC908EC-E7C2-46CD-A21D-832C0D81D946}.GtkWinDebug|Any CPU.Build.0 = GtkWinDebug|Any CPU
 		{6DC908EC-E7C2-46CD-A21D-832C0D81D946}.GtkWinRelease|Any CPU.ActiveCfg = GtkWinRelease|Any CPU
@@ -96,10 +149,6 @@ Global
 		{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}.GtkLinuxDebug|Any CPU.Build.0 = GtkLinuxDebug|Any CPU
 		{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}.GtkLinuxRelease|Any CPU.ActiveCfg = GtkLinuxRelease|Any CPU
 		{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}.GtkLinuxRelease|Any CPU.Build.0 = GtkLinuxRelease|Any CPU
-		{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}.GtkMacDebug|Any CPU.ActiveCfg = GtkMacDebug|Any CPU
-		{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}.GtkMacDebug|Any CPU.Build.0 = GtkMacDebug|Any CPU
-		{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}.GtkMacRelease|Any CPU.ActiveCfg = GtkMacRelease|Any CPU
-		{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}.GtkMacRelease|Any CPU.Build.0 = GtkMacRelease|Any CPU
 		{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}.GtkWinDebug|Any CPU.ActiveCfg = GtkWinDebug|Any CPU
 		{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}.GtkWinDebug|Any CPU.Build.0 = GtkWinDebug|Any CPU
 		{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}.GtkWinRelease|Any CPU.ActiveCfg = GtkWinRelease|Any CPU
@@ -116,10 +165,6 @@ Global
 		{7B2BA3AC-B9C7-4734-AF59-2750B5C3672B}.GtkLinuxDebug|Any CPU.Build.0 = GtkLinuxDebug|Any CPU
 		{7B2BA3AC-B9C7-4734-AF59-2750B5C3672B}.GtkLinuxRelease|Any CPU.ActiveCfg = GtkLinuxRelease|Any CPU
 		{7B2BA3AC-B9C7-4734-AF59-2750B5C3672B}.GtkLinuxRelease|Any CPU.Build.0 = GtkLinuxRelease|Any CPU
-		{7B2BA3AC-B9C7-4734-AF59-2750B5C3672B}.GtkMacDebug|Any CPU.ActiveCfg = GtkMacDebug|Any CPU
-		{7B2BA3AC-B9C7-4734-AF59-2750B5C3672B}.GtkMacDebug|Any CPU.Build.0 = GtkMacDebug|Any CPU
-		{7B2BA3AC-B9C7-4734-AF59-2750B5C3672B}.GtkMacRelease|Any CPU.ActiveCfg = GtkMacRelease|Any CPU
-		{7B2BA3AC-B9C7-4734-AF59-2750B5C3672B}.GtkMacRelease|Any CPU.Build.0 = GtkMacRelease|Any CPU
 		{7B2BA3AC-B9C7-4734-AF59-2750B5C3672B}.GtkWinDebug|Any CPU.ActiveCfg = GtkWinDebug|Any CPU
 		{7B2BA3AC-B9C7-4734-AF59-2750B5C3672B}.GtkWinDebug|Any CPU.Build.0 = GtkWinDebug|Any CPU
 		{7B2BA3AC-B9C7-4734-AF59-2750B5C3672B}.GtkWinRelease|Any CPU.ActiveCfg = GtkWinRelease|Any CPU
@@ -128,10 +173,66 @@ Global
 		{7B2BA3AC-B9C7-4734-AF59-2750B5C3672B}.MonoMacDebug|Any CPU.Build.0 = MonoMacDebug|Any CPU
 		{7B2BA3AC-B9C7-4734-AF59-2750B5C3672B}.MonoMacRelease|Any CPU.ActiveCfg = MonoMacRelease|Any CPU
 		{7B2BA3AC-B9C7-4734-AF59-2750B5C3672B}.MonoMacRelease|Any CPU.Build.0 = MonoMacRelease|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.GnomeDebug|Any CPU.ActiveCfg = GnomeDebug|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.GnomeDebug|Any CPU.Build.0 = GnomeDebug|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.GnomeRelease|Any CPU.ActiveCfg = GnomeRelease|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.GnomeRelease|Any CPU.Build.0 = GnomeRelease|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.GtkLinuxDebug|Any CPU.ActiveCfg = GtkLinuxDebug|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.GtkLinuxDebug|Any CPU.Build.0 = GtkLinuxDebug|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.GtkLinuxRelease|Any CPU.ActiveCfg = GtkLinuxRelease|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.GtkLinuxRelease|Any CPU.Build.0 = GtkLinuxRelease|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.GtkWinDebug|Any CPU.ActiveCfg = GtkWinDebug|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.GtkWinDebug|Any CPU.Build.0 = GtkWinDebug|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.GtkWinRelease|Any CPU.ActiveCfg = GtkWinRelease|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.GtkWinRelease|Any CPU.Build.0 = GtkWinRelease|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.MonoMacDebug|Any CPU.ActiveCfg = MonoMacDebug|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.MonoMacDebug|Any CPU.Build.0 = MonoMacDebug|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.MonoMacRelease|Any CPU.ActiveCfg = MonoMacRelease|Any CPU
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A}.MonoMacRelease|Any CPU.Build.0 = MonoMacRelease|Any CPU
+		{91F6578A-2993-40A4-BE49-64028923EB87}.GnomeDebug|Any CPU.ActiveCfg = GnomeDebug|Any CPU
+		{91F6578A-2993-40A4-BE49-64028923EB87}.GnomeDebug|Any CPU.Build.0 = GnomeDebug|Any CPU
+		{91F6578A-2993-40A4-BE49-64028923EB87}.GnomeRelease|Any CPU.ActiveCfg = GnomeRelease|Any CPU
+		{91F6578A-2993-40A4-BE49-64028923EB87}.GtkLinuxDebug|Any CPU.ActiveCfg = GtkLinuxDebug|Any CPU
+		{91F6578A-2993-40A4-BE49-64028923EB87}.GtkLinuxDebug|Any CPU.Build.0 = GtkLinuxDebug|Any CPU
+		{91F6578A-2993-40A4-BE49-64028923EB87}.GtkLinuxRelease|Any CPU.ActiveCfg = GtkLinuxRelease|Any CPU
+		{91F6578A-2993-40A4-BE49-64028923EB87}.GtkWinDebug|Any CPU.ActiveCfg = GtkWinDebug|Any CPU
+		{91F6578A-2993-40A4-BE49-64028923EB87}.GtkWinDebug|Any CPU.Build.0 = GtkWinDebug|Any CPU
+		{91F6578A-2993-40A4-BE49-64028923EB87}.GtkWinRelease|Any CPU.ActiveCfg = GtkWinRelease|Any CPU
+		{91F6578A-2993-40A4-BE49-64028923EB87}.MonoMacDebug|Any CPU.ActiveCfg = MonoMacDebug|Any CPU
+		{91F6578A-2993-40A4-BE49-64028923EB87}.MonoMacDebug|Any CPU.Build.0 = MonoMacDebug|Any CPU
+		{91F6578A-2993-40A4-BE49-64028923EB87}.MonoMacRelease|Any CPU.ActiveCfg = MonoMacRelease|Any CPU
+		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.GnomeDebug|Any CPU.ActiveCfg = GnomeDebug|Any CPU
+		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.GnomeDebug|Any CPU.Build.0 = GnomeDebug|Any CPU
+		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.GnomeRelease|Any CPU.ActiveCfg = GnomeRelease|Any CPU
+		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.GnomeRelease|Any CPU.Build.0 = GnomeRelease|Any CPU
 		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.GtkLinuxDebug|Any CPU.ActiveCfg = GtkLinuxDebug|Any CPU
 		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.GtkLinuxDebug|Any CPU.Build.0 = GtkLinuxDebug|Any CPU
+		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.GtkLinuxRelease|Any CPU.ActiveCfg = GtkLinuxRelease|Any CPU
+		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.GtkLinuxRelease|Any CPU.Build.0 = GtkLinuxRelease|Any CPU
+		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.GtkWinDebug|Any CPU.ActiveCfg = GtkWinDebug|Any CPU
+		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.GtkWinDebug|Any CPU.Build.0 = GtkWinDebug|Any CPU
+		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.GtkWinRelease|Any CPU.ActiveCfg = GtkWinRelease|Any CPU
+		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.GtkWinRelease|Any CPU.Build.0 = GtkWinRelease|Any CPU
+		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.MonoMacDebug|Any CPU.ActiveCfg = MonoMacDebug|Any CPU
+		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.MonoMacDebug|Any CPU.Build.0 = MonoMacDebug|Any CPU
+		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.MonoMacRelease|Any CPU.ActiveCfg = MonoMacRelease|Any CPU
+		{95B669DC-0F9F-4C26-B31E-34CFA54112E8}.MonoMacRelease|Any CPU.Build.0 = MonoMacRelease|Any CPU
+		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.GnomeDebug|Any CPU.ActiveCfg = GnomeDebug|Any CPU
+		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.GnomeDebug|Any CPU.Build.0 = GnomeDebug|Any CPU
+		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.GnomeRelease|Any CPU.ActiveCfg = GnomeRelease|Any CPU
+		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.GnomeRelease|Any CPU.Build.0 = GnomeRelease|Any CPU
 		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.GtkLinuxDebug|Any CPU.ActiveCfg = GtkLinuxDebug|Any CPU
 		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.GtkLinuxDebug|Any CPU.Build.0 = GtkLinuxDebug|Any CPU
+		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.GtkLinuxRelease|Any CPU.ActiveCfg = GtkLinuxRelease|Any CPU
+		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.GtkLinuxRelease|Any CPU.Build.0 = GtkLinuxRelease|Any CPU
+		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.GtkWinDebug|Any CPU.ActiveCfg = GtkWinDebug|Any CPU
+		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.GtkWinDebug|Any CPU.Build.0 = GtkWinDebug|Any CPU
+		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.GtkWinRelease|Any CPU.ActiveCfg = GtkWinRelease|Any CPU
+		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.GtkWinRelease|Any CPU.Build.0 = GtkWinRelease|Any CPU
+		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.MonoMacDebug|Any CPU.ActiveCfg = MonoMacDebug|Any CPU
+		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.MonoMacDebug|Any CPU.Build.0 = MonoMacDebug|Any CPU
+		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.MonoMacRelease|Any CPU.ActiveCfg = MonoMacRelease|Any CPU
+		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92}.MonoMacRelease|Any CPU.Build.0 = MonoMacRelease|Any CPU
 		{A8D75EEC-63FE-4A18-8ACF-120870056E4E}.GnomeDebug|Any CPU.ActiveCfg = GnomeDebug|Any CPU
 		{A8D75EEC-63FE-4A18-8ACF-120870056E4E}.GnomeDebug|Any CPU.Build.0 = GnomeDebug|Any CPU
 		{A8D75EEC-63FE-4A18-8ACF-120870056E4E}.GnomeRelease|Any CPU.ActiveCfg = GnomeRelease|Any CPU
@@ -140,10 +241,6 @@ Global
 		{A8D75EEC-63FE-4A18-8ACF-120870056E4E}.GtkLinuxDebug|Any CPU.Build.0 = GtkLinuxDebug|Any CPU
 		{A8D75EEC-63FE-4A18-8ACF-120870056E4E}.GtkLinuxRelease|Any CPU.ActiveCfg = GtkLinuxRelease|Any CPU
 		{A8D75EEC-63FE-4A18-8ACF-120870056E4E}.GtkLinuxRelease|Any CPU.Build.0 = GtkLinuxRelease|Any CPU
-		{A8D75EEC-63FE-4A18-8ACF-120870056E4E}.GtkMacDebug|Any CPU.ActiveCfg = GtkMacDebug|Any CPU
-		{A8D75EEC-63FE-4A18-8ACF-120870056E4E}.GtkMacDebug|Any CPU.Build.0 = GtkMacDebug|Any CPU
-		{A8D75EEC-63FE-4A18-8ACF-120870056E4E}.GtkMacRelease|Any CPU.ActiveCfg = GtkMacRelease|Any CPU
-		{A8D75EEC-63FE-4A18-8ACF-120870056E4E}.GtkMacRelease|Any CPU.Build.0 = GtkMacRelease|Any CPU
 		{A8D75EEC-63FE-4A18-8ACF-120870056E4E}.GtkWinDebug|Any CPU.ActiveCfg = GtkWinDebug|Any CPU
 		{A8D75EEC-63FE-4A18-8ACF-120870056E4E}.GtkWinDebug|Any CPU.Build.0 = GtkWinDebug|Any CPU
 		{A8D75EEC-63FE-4A18-8ACF-120870056E4E}.GtkWinRelease|Any CPU.ActiveCfg = GtkWinRelease|Any CPU
@@ -160,18 +257,28 @@ Global
 		{B19B9840-669D-4984-9772-E1F55193A67F}.GtkLinuxDebug|Any CPU.Build.0 = GtkLinuxDebug|Any CPU
 		{B19B9840-669D-4984-9772-E1F55193A67F}.GtkLinuxRelease|Any CPU.ActiveCfg = GtkLinuxRelease|Any CPU
 		{B19B9840-669D-4984-9772-E1F55193A67F}.GtkLinuxRelease|Any CPU.Build.0 = GtkLinuxRelease|Any CPU
-		{B19B9840-669D-4984-9772-E1F55193A67F}.GtkMacDebug|Any CPU.ActiveCfg = GtkMacDebug|Any CPU
-		{B19B9840-669D-4984-9772-E1F55193A67F}.GtkMacDebug|Any CPU.Build.0 = GtkMacDebug|Any CPU
-		{B19B9840-669D-4984-9772-E1F55193A67F}.GtkMacRelease|Any CPU.ActiveCfg = GtkMacRelease|Any CPU
-		{B19B9840-669D-4984-9772-E1F55193A67F}.GtkMacRelease|Any CPU.Build.0 = GtkMacRelease|Any CPU
 		{B19B9840-669D-4984-9772-E1F55193A67F}.GtkWinDebug|Any CPU.ActiveCfg = GtkWinDebug|Any CPU
 		{B19B9840-669D-4984-9772-E1F55193A67F}.GtkWinDebug|Any CPU.Build.0 = GtkWinDebug|Any CPU
 		{B19B9840-669D-4984-9772-E1F55193A67F}.GtkWinRelease|Any CPU.ActiveCfg = GtkWinRelease|Any CPU
 		{B19B9840-669D-4984-9772-E1F55193A67F}.GtkWinRelease|Any CPU.Build.0 = GtkWinRelease|Any CPU
 		{B19B9840-669D-4984-9772-E1F55193A67F}.MonoMacDebug|Any CPU.ActiveCfg = MonoMacDebug|Any CPU
-		{B19B9840-669D-4984-9772-E1F55193A67F}.MonoMacDebug|Any CPU.Build.0 = MonoMacDebug|Any CPU
 		{B19B9840-669D-4984-9772-E1F55193A67F}.MonoMacRelease|Any CPU.ActiveCfg = MonoMacRelease|Any CPU
-		{B19B9840-669D-4984-9772-E1F55193A67F}.MonoMacRelease|Any CPU.Build.0 = MonoMacRelease|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.GnomeDebug|Any CPU.ActiveCfg = GnomeDebug|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.GnomeDebug|Any CPU.Build.0 = GnomeDebug|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.GnomeRelease|Any CPU.ActiveCfg = GnomeRelease|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.GnomeRelease|Any CPU.Build.0 = GnomeRelease|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.GtkLinuxDebug|Any CPU.ActiveCfg = GtkLinuxDebug|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.GtkLinuxDebug|Any CPU.Build.0 = GtkLinuxDebug|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.GtkLinuxRelease|Any CPU.ActiveCfg = GtkLinuxRelease|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.GtkLinuxRelease|Any CPU.Build.0 = GtkLinuxRelease|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.GtkWinDebug|Any CPU.ActiveCfg = GtkWinDebug|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.GtkWinDebug|Any CPU.Build.0 = GtkWinDebug|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.GtkWinRelease|Any CPU.ActiveCfg = GtkWinRelease|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.GtkWinRelease|Any CPU.Build.0 = GtkWinRelease|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.MonoMacDebug|Any CPU.ActiveCfg = MonoMacDebug|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.MonoMacDebug|Any CPU.Build.0 = MonoMacDebug|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.MonoMacRelease|Any CPU.ActiveCfg = MonoMacRelease|Any CPU
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA}.MonoMacRelease|Any CPU.Build.0 = MonoMacRelease|Any CPU
 		{DB8F01D5-0161-48E0-B68A-14AEFD22328F}.GnomeDebug|Any CPU.ActiveCfg = GnomeDebug|Any CPU
 		{DB8F01D5-0161-48E0-B68A-14AEFD22328F}.GnomeDebug|Any CPU.Build.0 = GnomeDebug|Any CPU
 		{DB8F01D5-0161-48E0-B68A-14AEFD22328F}.GnomeRelease|Any CPU.ActiveCfg = GnomeRelease|Any CPU
@@ -180,10 +287,6 @@ Global
 		{DB8F01D5-0161-48E0-B68A-14AEFD22328F}.GtkLinuxDebug|Any CPU.Build.0 = GtkLinuxDebug|Any CPU
 		{DB8F01D5-0161-48E0-B68A-14AEFD22328F}.GtkLinuxRelease|Any CPU.ActiveCfg = GtkLinuxRelease|Any CPU
 		{DB8F01D5-0161-48E0-B68A-14AEFD22328F}.GtkLinuxRelease|Any CPU.Build.0 = GtkLinuxRelease|Any CPU
-		{DB8F01D5-0161-48E0-B68A-14AEFD22328F}.GtkMacDebug|Any CPU.ActiveCfg = GtkMacDebug|Any CPU
-		{DB8F01D5-0161-48E0-B68A-14AEFD22328F}.GtkMacDebug|Any CPU.Build.0 = GtkMacDebug|Any CPU
-		{DB8F01D5-0161-48E0-B68A-14AEFD22328F}.GtkMacRelease|Any CPU.ActiveCfg = GtkMacRelease|Any CPU
-		{DB8F01D5-0161-48E0-B68A-14AEFD22328F}.GtkMacRelease|Any CPU.Build.0 = GtkMacRelease|Any CPU
 		{DB8F01D5-0161-48E0-B68A-14AEFD22328F}.GtkWinDebug|Any CPU.ActiveCfg = GtkWinDebug|Any CPU
 		{DB8F01D5-0161-48E0-B68A-14AEFD22328F}.GtkWinDebug|Any CPU.Build.0 = GtkWinDebug|Any CPU
 		{DB8F01D5-0161-48E0-B68A-14AEFD22328F}.GtkWinRelease|Any CPU.ActiveCfg = GtkWinRelease|Any CPU
@@ -194,13 +297,19 @@ Global
 		{DB8F01D5-0161-48E0-B68A-14AEFD22328F}.MonoMacRelease|Any CPU.Build.0 = MonoMacRelease|Any CPU
 	EndGlobalSection
 	GlobalSection(NestedProjects) = preSolution
-		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF} = {69B26AD3-1E26-4C96-84AA-F525297377FF}
-		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92} = {69B26AD3-1E26-4C96-84AA-F525297377FF}
-		{95B669DC-0F9F-4C26-B31E-34CFA54112E8} = {69B26AD3-1E26-4C96-84AA-F525297377FF}
-		{0EFB56A9-B582-465B-AC9D-7609ABC121EB} = {69B26AD3-1E26-4C96-84AA-F525297377FF}
+		{91F6578A-2993-40A4-BE49-64028923EB87} = {EECEC2EF-0F00-49F1-814F-3140F45C4F71}
+		{545C0208-DE58-42F1-B818-0B57293B7831} = {EECEC2EF-0F00-49F1-814F-3140F45C4F71}
+		{89054FCE-E9A3-47E5-8DEF-75FDB000F82A} = {EECEC2EF-0F00-49F1-814F-3140F45C4F71}
+		{B3107E6C-08DD-4264-A8D5-467BD96F33CA} = {EECEC2EF-0F00-49F1-814F-3140F45C4F71}
+		{575AA970-031A-4E4A-8409-75D749D3C23E} = {8F06BE43-859E-4A2D-B620-7CEDFF408F39}
+		{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7} = {8F06BE43-859E-4A2D-B620-7CEDFF408F39}
+		{6CAD6147-9A67-42B7-BEAA-CAF4100B48CF} = {575AA970-031A-4E4A-8409-75D749D3C23E}
+		{0EFB56A9-B582-465B-AC9D-7609ABC121EB} = {575AA970-031A-4E4A-8409-75D749D3C23E}
+		{A5AAD70F-F4E8-4CAE-A000-01C2D0A10B92} = {575AA970-031A-4E4A-8409-75D749D3C23E}
+		{95B669DC-0F9F-4C26-B31E-34CFA54112E8} = {575AA970-031A-4E4A-8409-75D749D3C23E}
 	EndGlobalSection
 	GlobalSection(MonoDevelopProperties) = preSolution
-		StartupItem = src\tasque\tasque.csproj
+		StartupItem = src\Tasque.Gtk\Tasque.Gtk.csproj
 		Policies = $0
 		$0.StandardHeader = $1
 		$1.Text = @\n${FileName}\n \nAuthor:\n      ${AuthorName} <${AuthorEmail}>\n\nCopyright (c) ${Year} ${CopyrightHolder}\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the "Software"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR O
 THER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.
diff --git a/tests/tests.csproj b/tests/tests.csproj
index e47ddf5..45be03d 100644
--- a/tests/tests.csproj
+++ b/tests/tests.csproj
@@ -53,20 +53,6 @@
     <OutputPath>bin\LinuxRelease</OutputPath>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkMacDebug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'GtkMacRelease|AnyCPU' ">
-    <DebugType>none</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\LinuxRelease</OutputPath>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MonoMacDebug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
     <DebugType>full</DebugType>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]