dasher r3517 - in branches/experimental_win_gtk/Src: . DasherCore Gtk2 Win32



Author: pcowans
Date: Wed Apr 23 20:06:15 2008
New Revision: 3517
URL: http://svn.gnome.org/viewvc/dasher?rev=3517&view=rev

Log:
* GTK Dasher builds on Windows!

Added:
   branches/experimental_win_gtk/Src/Gtk2/Dasher.vcproj
   branches/experimental_win_gtk/Src/Gtk2/GtkDasherControl.vcproj
   branches/experimental_win_gtk/Src/Gtk2/dasher.def
Modified:
   branches/experimental_win_gtk/Src/DasherCore/DasherModel.h
   branches/experimental_win_gtk/Src/DasherCore/GnomeSettingsStore.cpp
   branches/experimental_win_gtk/Src/DasherCore/GnomeSettingsStore.h
   branches/experimental_win_gtk/Src/Gtk2/Canvas.cpp
   branches/experimental_win_gtk/Src/Gtk2/DasherAppSettings.cpp
   branches/experimental_win_gtk/Src/Gtk2/DasherControl.cpp
   branches/experimental_win_gtk/Src/Gtk2/DasherControl.h
   branches/experimental_win_gtk/Src/Gtk2/GtkDasherControl.cpp
   branches/experimental_win_gtk/Src/Gtk2/PangoCache.cpp
   branches/experimental_win_gtk/Src/Gtk2/Preferences.cpp
   branches/experimental_win_gtk/Src/Gtk2/Timer.cpp
   branches/experimental_win_gtk/Src/Gtk2/dasher_editor.cpp
   branches/experimental_win_gtk/Src/Gtk2/dasher_editor_internal.cpp
   branches/experimental_win_gtk/Src/Gtk2/dasher_lock_dialogue.cpp
   branches/experimental_win_gtk/Src/Gtk2/dasher_main.cpp
   branches/experimental_win_gtk/Src/Gtk2/module_settings_window.cpp
   branches/experimental_win_gtk/Src/Win32/Dasher_vc80.sln
   branches/experimental_win_gtk/Src/main.cc

Modified: branches/experimental_win_gtk/Src/DasherCore/DasherModel.h
==============================================================================
--- branches/experimental_win_gtk/Src/DasherCore/DasherModel.h	(original)
+++ branches/experimental_win_gtk/Src/DasherCore/DasherModel.h	Wed Apr 23 20:06:15 2008
@@ -21,7 +21,7 @@
 #ifndef __DasherModel_h__
 #define __DasherModel_h__
 
-#ifndef WIN32
+#ifndef DASHER_WIN32
 #include "config.h"
 #endif
 

Modified: branches/experimental_win_gtk/Src/DasherCore/GnomeSettingsStore.cpp
==============================================================================
--- branches/experimental_win_gtk/Src/DasherCore/GnomeSettingsStore.cpp	(original)
+++ branches/experimental_win_gtk/Src/DasherCore/GnomeSettingsStore.cpp	Wed Apr 23 20:06:15 2008
@@ -1,4 +1,6 @@
+#ifndef DASHER_WIN32
 #include "../../config.h"
+#endif
 
 #include "../Common/Common.h"
 

Modified: branches/experimental_win_gtk/Src/DasherCore/GnomeSettingsStore.h
==============================================================================
--- branches/experimental_win_gtk/Src/DasherCore/GnomeSettingsStore.h	(original)
+++ branches/experimental_win_gtk/Src/DasherCore/GnomeSettingsStore.h	Wed Apr 23 20:06:15 2008
@@ -1,7 +1,9 @@
 #ifndef __gnomesettingsstore_h__
 #define __gnomesettingsstore_h__
 
+#ifndef DASHER_WIN32
 #include "config.h"
+#endif
 
 #include <string>
 

Modified: branches/experimental_win_gtk/Src/Gtk2/Canvas.cpp
==============================================================================
--- branches/experimental_win_gtk/Src/Gtk2/Canvas.cpp	(original)
+++ branches/experimental_win_gtk/Src/Gtk2/Canvas.cpp	Wed Apr 23 20:06:15 2008
@@ -1,6 +1,6 @@
 #include "../Common/Common.h"
 
-#include "Canvas.h"
+#include "./Canvas.h"
 #include "DasherControl.h"
 
 #include "../DasherCore/DasherTypes.h"
@@ -189,7 +189,7 @@
   // gtk_main_iteration_do(0);
 }
 
-void CCanvas::DrawRectangle(int x1, int y1, int x2, int y2, int Color, int iOutlineColour, Opts::ColorSchemes ColorScheme, bool bDrawOutline, bool bFill, int iThickness) {
+void CCanvas::DrawRectangle(screenint x1, screenint y1, screenint x2, screenint y2, int Color, int iOutlineColour, Opts::ColorSchemes ColorScheme, bool bDrawOutline, bool bFill, int iThickness) {
 
   //  std::cout << "Raw Rectangle, (" << x1 << ", " << y1 << ") - (" << x2 << ", " << y2 << ")" << std::endl;
 
@@ -383,7 +383,7 @@
   END_DRAWING;
 }
 
-void CCanvas::DrawString(const std::string &String, int x1, int y1, int size) {
+void CCanvas::DrawString(const std::string &String, screenint x1, screenint y1, int size) {
   
 #if WITH_CAIRO
 #else
@@ -415,7 +415,7 @@
   END_DRAWING;
 }
 
-void CCanvas::TextSize(const std::string &String, int *Width, int *Height, int size) {
+void CCanvas::TextSize(const std::string &String, screenint *Width, screenint *Height, int size) {
 
 #if WITH_CAIRO
   PangoLayout *pLayout(m_pPangoCache->GetLayout(cr, String, size));

Added: branches/experimental_win_gtk/Src/Gtk2/Dasher.vcproj
==============================================================================
--- (empty file)
+++ branches/experimental_win_gtk/Src/Gtk2/Dasher.vcproj	Wed Apr 23 20:06:15 2008
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="Dasher"
+	ProjectGUID="{6207BD26-DB92-4034-A33D-FCC97B9FEF75}"
+	RootNamespace="Dasher"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="&quot;C:\Program Files\GnuWin32\include&quot;;&quot;C:\Program Files\GladeWin32\include\gtk-2.0&quot;;&quot;C:\Program Files\GladeWin32\lib\gtk-2.0\include&quot;;&quot;C:\Program Files\GladeWin32\include\libglade-2.0&quot;;&quot;C:\Program Files\GladeWin32\include\atk-1.0&quot;;&quot;C:\Program Files\GladeWin32\include\pango-1.0&quot;;&quot;C:\Program Files\GladeWin32\include\glib-2.0&quot;;&quot;C:\Program Files\GladeWin32\lib\glib-2.0\include&quot;;&quot;C:\Program Files\GladeWin32\include\cairo&quot;;&quot;$(EXPAT)\Source\lib&quot;;&quot;C:\Users\Phil Cowans\Development\Dasher\Experimental Win Gtk\Src\DasherCore&quot;"
+				PreprocessorDefinitions="DASHER_WIN32;PACKAGE=\&quot;dasher\&quot;;GETTEXT_PACKAGE=\&quot;dasher\&quot;;LOCALEDIR=\&quot;C:\Program Files\GnuWin32\share\&quot;;PROGDATA=\&quot;C:\\\\Users\\\\Phil Cowans\\\\Development\\\\Dasher\\\\Experimental Win Gtk\\\\Data\\\\glade\&quot;;VERSION=\&quot;4.9.1\&quot;"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="1"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="libintl.lib libgettextlib.lib glib-2.0.lib gdk-win32-2.0.lib gtk-win32-2.0.lib gobject-2.0.lib glade-2.0.lib pango-1.0.lib GtkDasherControl.lib"
+				AdditionalLibraryDirectories="&quot;C:\Users\Phil Cowans\Development\Dasher\Experimental Win Gtk\Src\Win32\debug&quot;;&quot;C:\Program Files\GladeWin32\lib&quot;;&quot;C:\Program Files\GnuWin32\lib&quot;"
+				ModuleDefinitionFile="dasher.def"
+				GenerateDebugInformation="true"
+				MapExports="false"
+				OptimizeReferences="1"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				RuntimeLibrary="2"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				GenerateDebugInformation="true"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath=".\dasher.def"
+				>
+			</File>
+			<File
+				RelativePath=".\dasher_action.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\dasher_buffer_set.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\dasher_editor.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\dasher_editor_internal.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\dasher_internal_buffer.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\dasher_lock_dialogue.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\dasher_main.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\DasherAppSettings.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\game_mode_helper.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\main.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\module_settings_window.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\Preferences.cpp"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File
+				RelativePath=".\dasher.h"
+				>
+			</File>
+			<File
+				RelativePath=".\dasher_action.h"
+				>
+			</File>
+			<File
+				RelativePath=".\dasher_buffer_set.h"
+				>
+			</File>
+			<File
+				RelativePath=".\dasher_editor.h"
+				>
+			</File>
+			<File
+				RelativePath=".\dasher_editor_internal.h"
+				>
+			</File>
+			<File
+				RelativePath=".\dasher_internal_buffer.h"
+				>
+			</File>
+			<File
+				RelativePath=".\dasher_lock_dialogue.h"
+				>
+			</File>
+			<File
+				RelativePath=".\dasher_main.h"
+				>
+			</File>
+			<File
+				RelativePath=".\DasherAppSettings.h"
+				>
+			</File>
+			<File
+				RelativePath=".\game_mode_helper.h"
+				>
+			</File>
+			<File
+				RelativePath=".\module_settings_window.h"
+				>
+			</File>
+			<File
+				RelativePath=".\Preferences.h"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>

Modified: branches/experimental_win_gtk/Src/Gtk2/DasherAppSettings.cpp
==============================================================================
--- branches/experimental_win_gtk/Src/Gtk2/DasherAppSettings.cpp	(original)
+++ branches/experimental_win_gtk/Src/Gtk2/DasherAppSettings.cpp	Wed Apr 23 20:06:15 2008
@@ -1,4 +1,6 @@
+#ifndef DASHER_WIN32
 #include "config.h"
+#endif
 
 #ifdef WITH_GCONF
 #include <gconf/gconf.h>
@@ -341,6 +343,9 @@
 }
 
 gboolean dasher_app_settings_get_free_long(DasherAppSettings *pSelf, const gchar *szName, gint &iValue) {
+#ifdef DASHER_WIN32
+  return false;
+#else
   DasherAppSettingsPrivate *pPrivate = (DasherAppSettingsPrivate *)(pSelf->private_data);
 
   gchar szFullName[256];
@@ -361,9 +366,11 @@
   else {
     return false;
   }
+#endif
 }
 
 void dasher_app_settings_set_free_long(DasherAppSettings *pSelf, const gchar *szName, gint iValue) {   
+#ifndef DASHER_WIN32
   DasherAppSettingsPrivate *pPrivate = (DasherAppSettingsPrivate *)(pSelf->private_data);
 
   gchar szFullName[256];
@@ -373,6 +380,7 @@
 
   GError *pGConfError = NULL;
   gconf_client_set_int(pPrivate->pGConfClient, szFullName, iValue, &pGConfError);
+#endif
 }
 
 const gchar *dasher_app_settings_get_string(DasherAppSettings *pSelf, int iParameter) {

Modified: branches/experimental_win_gtk/Src/Gtk2/DasherControl.cpp
==============================================================================
--- branches/experimental_win_gtk/Src/Gtk2/DasherControl.cpp	(original)
+++ branches/experimental_win_gtk/Src/Gtk2/DasherControl.cpp	Wed Apr 23 20:06:15 2008
@@ -1,5 +1,10 @@
 #include "../Common/Common.h"
+#ifndef DASHER_WIN32
 #include "../../config.h"
+#endif
+
+#include "../DasherCore/GnomeSettingsStore.h"
+
 
 #include <cstring>
 #include <iostream>
@@ -14,7 +19,9 @@
 #include <gdk/gdk.h>
 #include <gdk/gdkkeysyms.h>
 #include <sys/stat.h>
+#ifndef DASHER_WIN32
 #include <unistd.h>
+#endif
 using namespace std;
 
 // 'Private' methods (only used in this file)
@@ -45,7 +52,9 @@
 
 void CDasherControl::CreateLocalFactories() {
   RegisterFactory(new CWrapperFactory(m_pEventHandler, m_pSettingsStore, new CDasherMouseInput(m_pEventHandler, m_pSettingsStore)));
+#ifndef DASHER_WIN32
   RegisterFactory(new CWrapperFactory(m_pEventHandler, m_pSettingsStore, new CSocketInput(m_pEventHandler, m_pSettingsStore)));
+#endif
   RegisterFactory(new CWrapperFactory(m_pEventHandler, m_pSettingsStore, new CDasher1DMouseInput(m_pEventHandler, m_pSettingsStore)));
 
 #ifdef JOYSTICK
@@ -109,6 +118,7 @@
 
 
 void CDasherControl::SetupPaths() {
+#ifndef DASHER_WIN32
   char *home_dir;
   char *user_data_dir;
   char *system_data_dir;
@@ -119,15 +129,18 @@
 
   mkdir(user_data_dir, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH);
 
+  // FIXME - this isn't going to work in VS
   // PROGDATA is provided by the makefile
   system_data_dir = PROGDATA "/";
 
   SetStringParameter(SP_SYSTEM_LOC, system_data_dir);
   SetStringParameter(SP_USER_LOC, user_data_dir);
   delete[] user_data_dir;
+#endif
 }
 
 void CDasherControl::CreateSettingsStore() {
+  // FIXME - this needs to be reimplemented
   m_pSettingsStore = new CGnomeSettingsStore(m_pEventHandler);
 }
 
@@ -354,6 +367,7 @@
 };
 
 void CDasherControl::WriteTrainFile(const std::string &strNewText) {
+#ifndef DASHER_WIN32
   if(strNewText.length() == 0)
     return;
 
@@ -362,6 +376,7 @@
   int fd=open(strFilename.c_str(),O_CREAT|O_WRONLY|O_APPEND,S_IRUSR|S_IWUSR);
   write(fd,strNewText.c_str(),strNewText.length());
   close(fd);
+#endif
 }
 
 // TODO: Sort these methods out

Modified: branches/experimental_win_gtk/Src/Gtk2/DasherControl.h
==============================================================================
--- branches/experimental_win_gtk/Src/Gtk2/DasherControl.h	(original)
+++ branches/experimental_win_gtk/Src/Gtk2/DasherControl.h	Wed Apr 23 20:06:15 2008
@@ -1,11 +1,16 @@
 #ifndef __dashercontrol_h__
 #define __dashercontrol_h__
-
+#ifndef DASHER_WIN32
 #include "../../config.h"
+#endif
 
 #include "PangoCache.h"
 #include "Canvas.h"
+
+// Otherwise we need threading, and sockets work differently on Windows anyway
+#ifndef DASHER_WIN32
 #include "../DasherCore/SocketInput.h"
+#endif
 
 #ifdef JOYSTICK
 #include "joystick_input.h"
@@ -22,7 +27,7 @@
 
 //#include "../DasherCore/DasherSettingsInterface.h"
 #include "../DasherCore/DasherInterfaceBase.h"
-#include "../DasherCore/GnomeSettingsStore.h"
+//#include "../DasherCore/GnomeSettingsStore.h"
 #include "../DasherCore/UserLog.h"
 
 ///

Modified: branches/experimental_win_gtk/Src/Gtk2/GtkDasherControl.cpp
==============================================================================
--- branches/experimental_win_gtk/Src/Gtk2/GtkDasherControl.cpp	(original)
+++ branches/experimental_win_gtk/Src/Gtk2/GtkDasherControl.cpp	Wed Apr 23 20:06:15 2008
@@ -23,7 +23,10 @@
 #include "DasherControl.h"
 #include "GtkDasherControl.h"
 #include "custom_marshal.h"
+
+#ifndef DASHER_WIN32
 #include "game_mode_helper.h"
+#endif
 
 #include <gtk/gtkmarshal.h>
 
@@ -309,10 +312,12 @@
 
 void 
 gtk_dasher_control_game_messageout(GtkDasherControl *pControl, int message, const void* messagedata) {
+#ifndef DASHER_WIN32
   GtkDasherControlPrivate *pPrivate = GTK_DASHER_CONTROL_GET_PRIVATE(pControl);
   GameModeHelper* pHelper = GAME_MODE_HELPER(pPrivate->pGameHelper);
   if(pHelper)
     game_mode_helper_message(pHelper, message, messagedata);
+#endif
 }
 
 void 

Added: branches/experimental_win_gtk/Src/Gtk2/GtkDasherControl.vcproj
==============================================================================
--- (empty file)
+++ branches/experimental_win_gtk/Src/Gtk2/GtkDasherControl.vcproj	Wed Apr 23 20:06:15 2008
@@ -0,0 +1,233 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="GtkDasherControl"
+	ProjectGUID="{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}"
+	RootNamespace="GtkDasherControl"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="4"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="&quot;C:\Program Files\GladeWin32\include\gtk-2.0&quot;;&quot;C:\Program Files\GladeWin32\lib\gtk-2.0\include&quot;;&quot;C:\Program Files\GladeWin32\include\atk-1.0&quot;;&quot;C:\Program Files\GladeWin32\include\pango-1.0&quot;;&quot;C:\Program Files\GladeWin32\include\glib-2.0&quot;;&quot;C:\Program Files\GladeWin32\lib\glib-2.0\include&quot;;&quot;C:\Program Files\GladeWin32\include\cairo&quot;;&quot;$(EXPAT)\Source\lib&quot;;&quot;C:\Users\Phil Cowans\Development\Dasher\Experimental Win Gtk\Src\DasherCore&quot;"
+				PreprocessorDefinitions="DASHER_WIN32"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="1"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLibrarianTool"
+				AdditionalDependencies="libexpat.lib DasherCore.lib libgettextlib.lib glib-2.0.lib gdk-win32-2.0.lib gtk-win32-2.0.lib gobject-2.0.lib glade-2.0.lib pango-1.0.lib"
+				AdditionalLibraryDirectories="&quot;C:\Program Files\Expat 2.0.1\Bin&quot;;&quot;C:\Users\Phil Cowans\Development\Dasher\Experimental Win Gtk\Src\DasherCore\Target\Debug&quot;;&quot;C:\Program Files\GladeWin32\lib&quot;;&quot;C:\Program Files\GnuWin32\lib&quot;"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				RuntimeLibrary="2"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				GenerateDebugInformation="true"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath=".\Canvas.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\custom_marshal.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\DasherControl.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\DasherCore\GnomeSettingsStore.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\GtkDasherControl.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\PangoCache.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\Timer.cpp"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File
+				RelativePath=".\Canvas.h"
+				>
+			</File>
+			<File
+				RelativePath=".\custom_marshal.h"
+				>
+			</File>
+			<File
+				RelativePath=".\DasherControl.h"
+				>
+			</File>
+			<File
+				RelativePath="..\DasherCore\GnomeSettingsStore.h"
+				>
+			</File>
+			<File
+				RelativePath=".\GtkDasherControl.h"
+				>
+			</File>
+			<File
+				RelativePath=".\PangoCache.h"
+				>
+			</File>
+			<File
+				RelativePath=".\Timer.h"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>

Modified: branches/experimental_win_gtk/Src/Gtk2/PangoCache.cpp
==============================================================================
--- branches/experimental_win_gtk/Src/Gtk2/PangoCache.cpp	(original)
+++ branches/experimental_win_gtk/Src/Gtk2/PangoCache.cpp	Wed Apr 23 20:06:15 2008
@@ -26,8 +26,11 @@
   // includes the display text and the size.
 
    char buffer[128];             // FIXME - what if we exceed this?
-
+#ifdef DASHER_WIN32
+   sprintf_s(buffer, 128, "%d_%s", iSize, sDisplayText.c_str());
+#else
    snprintf(buffer, 128, "%d_%s", iSize, sDisplayText.c_str());
+#endif
 //   //  std::stringstream sCacheName;
 //   //sCacheName << iSize << "_" << sDisplayText;
 

Modified: branches/experimental_win_gtk/Src/Gtk2/Preferences.cpp
==============================================================================
--- branches/experimental_win_gtk/Src/Gtk2/Preferences.cpp	(original)
+++ branches/experimental_win_gtk/Src/Gtk2/Preferences.cpp	Wed Apr 23 20:06:15 2008
@@ -1,4 +1,6 @@
-#include "../../config.h"
+#ifndef DASHER_WIN32
+#include "config.h"
+#endif
 
 #include <glib/gi18n.h>
 #include <libintl.h>
@@ -344,7 +346,7 @@
     return true;
   }
 
-  free(szComparison);
+  //free(szComparison);
   
   return false;
 }
@@ -784,11 +786,13 @@
 }
 
 extern "C" void PrefsSpeedSliderChanged(GtkHScale *hscale, gpointer user_data) {
+#ifndef DASHER_WIN32
   //  DasherPreferencesDialoguePrivate *pPrivate = DASHER_PREFERENCES_DIALOGUE_PRIVATE(pSelf);
   DasherPreferencesDialoguePrivate *pPrivate = DASHER_PREFERENCES_DIALOGUE_PRIVATE(g_pPreferencesDialogue); // TODO: Fix NULL
   
   long iNewValue = long(round(gtk_range_get_value(GTK_RANGE(hscale)) * 100));
   dasher_app_settings_set_long(pPrivate->pAppSettings, LP_MAX_BITRATE, iNewValue);
+#endif
 }
 
 extern "C" void orientation(GtkRadioButton *widget, gpointer user_data) {

Modified: branches/experimental_win_gtk/Src/Gtk2/Timer.cpp
==============================================================================
--- branches/experimental_win_gtk/Src/Gtk2/Timer.cpp	(original)
+++ branches/experimental_win_gtk/Src/Gtk2/Timer.cpp	Wed Apr 23 20:06:15 2008
@@ -3,8 +3,11 @@
 #include "Timer.h"
 #include "DasherControl.h"
 
+#ifndef DASHER_WIN32
 #include <sys/time.h>
+#endif
 
+// FIXME - figure out what calls this
 gint timer_callback(gpointer data) {
   return static_cast < CDasherControl * >(data)->TimerEvent();
 }
@@ -14,6 +17,9 @@
 }
 
 long get_time() {
+#ifdef DASHER_WIN32
+  return 0;
+#else
   // We need to provide a monotonic time source that ticks every millisecond
   long s_now;
   long ms_now;
@@ -27,4 +33,5 @@
   ms_now = tv.tv_usec / 1000;
 
   return (s_now * 1000 + ms_now);
+#endif
 }

Added: branches/experimental_win_gtk/Src/Gtk2/dasher.def
==============================================================================
--- (empty file)
+++ branches/experimental_win_gtk/Src/Gtk2/dasher.def	Wed Apr 23 20:06:15 2008
@@ -0,0 +1,38 @@
+EXPORTS
+create_dasher_control
+create_dasher_editor
+dasher_main_cb_window_close
+dasher_main_cb_context_changed
+convert_cb
+protect_cb
+on_command
+handle_context_request
+alphabet_combo_changed
+on_lock_info
+on_message
+speed_changed
+parameter_notification
+handle_control_event
+handle_request_settings
+dasher_main_cb_buffer_changed
+test_focus_handler
+handle_start_event
+gtk2_edit_output_callback
+focus_in_event
+handle_stop_event
+gtk2_edit_delete_callback
+dasher_main_cb_filename_changed
+on_edit_font_changed
+ThickLineClicked
+autocolour_clicked
+preferences_hide
+uniform_changed
+PrefsSpeedSliderChanged
+startonmousepos
+OnMousePosStyleChanged
+languagemodel
+generic_bool_changed
+set_dasher_fontsize
+on_dasher_font_changed
+orientation
+on_appstyle_changed
\ No newline at end of file

Modified: branches/experimental_win_gtk/Src/Gtk2/dasher_editor.cpp
==============================================================================
--- branches/experimental_win_gtk/Src/Gtk2/dasher_editor.cpp	(original)
+++ branches/experimental_win_gtk/Src/Gtk2/dasher_editor.cpp	Wed Apr 23 20:06:15 2008
@@ -18,7 +18,9 @@
 // along with Dasher; if not, write to the Free Software 
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
+#ifndef DASHER_WIN32
 #include "config.h"
+#endif
 
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>

Modified: branches/experimental_win_gtk/Src/Gtk2/dasher_editor_internal.cpp
==============================================================================
--- branches/experimental_win_gtk/Src/Gtk2/dasher_editor_internal.cpp	(original)
+++ branches/experimental_win_gtk/Src/Gtk2/dasher_editor_internal.cpp	Wed Apr 23 20:06:15 2008
@@ -1,4 +1,6 @@
+#ifndef DASHER_WIN32
 #include "config.h"
+#endif
 
 #include <cstring>
 
@@ -24,7 +26,9 @@
 #endif 
 
 #include "dasher_editor_internal.h"
+#ifndef DASHER_WIN32
 #include "dasher_external_buffer.h"
+#endif
 #include "dasher_internal_buffer.h"
 #include "dasher_lock_dialogue.h"
 #include "dasher_main.h"
@@ -602,10 +606,12 @@
 dasher_editor_internal_create_buffer(DasherEditor *pSelf) {
   DasherEditorInternalPrivate *pPrivate = DASHER_EDITOR_INTERNAL_GET_PRIVATE(pSelf);
 
+#ifndef DASHER_WIN32
   /* Make an external buffer anyway, for keyboard command */
   /* TODO: Review this */
   if(!(pPrivate->pExternalBuffer))
     pPrivate->pExternalBuffer = IDASHER_BUFFER_SET(dasher_external_buffer_new());
+#endif
     
   if(!(pPrivate->pBufferSet))
     pPrivate->pBufferSet = IDASHER_BUFFER_SET(dasher_internal_buffer_new(pPrivate->pTextView));
@@ -690,6 +696,7 @@
   gchar *szNewFilename = NULL;
 
   if( dasher_app_settings_get_bool(pPrivate->pAppSettings,  APP_BP_TIME_STAMP )) {
+#ifndef DASHER_WIN32
     // Build a filename based on the current time and date
     tm *t_struct;
     time_t ctime;
@@ -704,6 +711,9 @@
     snprintf(tbuffer, 200, "dasher-%04d%02d%02d-%02d%02d.txt", (t_struct->tm_year + 1900), (t_struct->tm_mon + 1), t_struct->tm_mday, t_struct->tm_hour, t_struct->tm_min);
 
     szNewFilename = g_build_path("/", cwd, tbuffer, NULL);
+#else
+    szNewFilename = "TIMESTAMP_NOT_SUPPORTED";
+#endif
   }
 
   dasher_editor_internal_set_filename(pSelf, szNewFilename);
@@ -1064,17 +1074,19 @@
   dasher_editor_internal_add_action(pSelf, DASHER_ACTION(dasher_action_speech_new()));
 #endif
 
+#ifndef DASHER_WIN32
   dasher_editor_internal_add_action(pSelf, DASHER_ACTION(dasher_action_keyboard_new(pPrivate->pExternalBuffer)));
+#endif
 
 #ifdef WITH_MAEMO
   dasher_editor_internal_add_action(pSelf, DASHER_ACTION(dasher_action_keyboard_maemo_new()));
 #else
   //  dasher_editor_internal_add_action(pSelf, DASHER_ACTION(dasher_action_copy_new(pSelf)));
 
+#ifndef DASHER_WIN32
   GDir *pDirectory;
   G_CONST_RETURN gchar *szFilename;
 
-
   gchar *szUserScriptDir = new gchar[strlen(dasher_app_settings_get_string(pPrivate->pAppSettings, SP_USER_LOC))+9];
   strcpy(szUserScriptDir, dasher_app_settings_get_string(pPrivate->pAppSettings, SP_USER_LOC));
   strcat(szUserScriptDir, "scripts/");
@@ -1107,6 +1119,7 @@
 
   delete[] szSystemScriptDir;
 #endif
+#endif
 
   // TODO: Reimplement
 
@@ -1525,6 +1538,7 @@
 
 static gboolean 
 dasher_editor_internal_unix_vfs_open_file(DasherEditor *pSelf, const char *myfilename, gchar **buffer, unsigned long long *size) {
+#ifndef DASHER_WIN32
   GtkWidget *error_dialog;
 
   struct stat file_stat;
@@ -1547,11 +1561,13 @@
   *buffer = (gchar *) g_malloc(*size);
   fread(*buffer, *size, 1, fp);
   fclose(fp);
+#endif
   return TRUE;
 }
 
 static gboolean 
 dasher_editor_internal_unix_vfs_save_file(DasherEditor *pSelf, const char *myfilename, gchar *buffer, unsigned long long length, bool append) {
+#ifndef DASHER_WIN32
   int opened = 1;
   GtkWidget *error_dialog;
 
@@ -1583,6 +1599,7 @@
 
   fwrite(buffer, 1, length, fp);
   fclose(fp);
+#endif
   return true;
 }
 #endif
@@ -1658,8 +1675,11 @@
 
 extern "C" void 
 action_button_callback(GtkWidget *pWidget, gpointer pUserData) { 
+// FIXME - REIMPLEMENT
+#ifndef DASHER_WIN32
   void **pPointers((void **)pUserData);
   dasher_editor_internal_action_button((DasherEditor *)pPointers[0], (DasherAction *)pPointers[1]);
+#endif
 }
 
 extern "C" void 

Modified: branches/experimental_win_gtk/Src/Gtk2/dasher_lock_dialogue.cpp
==============================================================================
--- branches/experimental_win_gtk/Src/Gtk2/dasher_lock_dialogue.cpp	(original)
+++ branches/experimental_win_gtk/Src/Gtk2/dasher_lock_dialogue.cpp	Wed Apr 23 20:06:15 2008
@@ -1,4 +1,6 @@
-#include "../../config.h"
+#ifndef DASHER_WIN32
+#include "config.h"
+#endif
 
 #include "GtkDasherControl.h"
 #include "dasher.h"

Modified: branches/experimental_win_gtk/Src/Gtk2/dasher_main.cpp
==============================================================================
--- branches/experimental_win_gtk/Src/Gtk2/dasher_main.cpp	(original)
+++ branches/experimental_win_gtk/Src/Gtk2/dasher_main.cpp	Wed Apr 23 20:06:15 2008
@@ -1,9 +1,16 @@
+#ifndef DASHER_WIN32
 #include "config.h"
+#endif
 
 #include <cstring>
 
 #include <gdk/gdk.h>
+
+// Obviously we can't do low level X11 stuff on Windows!
+#ifndef DASHER_WIN32
 #include <gdk/gdkx.h>
+#endif
+
 #include <glade/glade.h>
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
@@ -13,10 +20,14 @@
 #ifdef GNOME_LIBS
 #include <libgnome/libgnome.h>
 #endif
+#ifndef DASHER_WIN32
 #include <unistd.h>
+#endif
 
 #include "GtkDasherControl.h"
+#ifndef DASHER_WIN32
 #include "KeyboardHelper.h"
+#endif
 #include "Preferences.h"
 #include "dasher_lock_dialogue.h"
 #ifdef WITH_MAEMO
@@ -43,8 +54,9 @@
   DasherAppSettings *pAppSettings;
   DasherPreferencesDialogue *pPreferencesDialogue;
   DasherEditor *pEditor;
-
+#ifndef DASHER_WIN32
   CKeyboardHelper *pKeyboardHelper;
+#endif
 
   // Various widgets which need to be cached:
   GtkWidget *pBufferView;
@@ -227,7 +239,9 @@
   pPrivate->pEditor = NULL;
   pPrivate->pPreferencesDialogue = NULL;
 
+#ifndef DASHER_WIN32
   pPrivate->pKeyboardHelper = new CKeyboardHelper(NULL);
+#endif
 
   pPrivate->bWidgetsInitialised = false;
 }
@@ -345,6 +359,7 @@
     /* Create the editor */
     gchar *szFullPath = NULL;
 
+#ifndef DASHER_WIN32
     if(pCommandLine) {
       if(pCommandLine->szFilename) {
 	if(!g_path_is_absolute(pCommandLine->szFilename)) {
@@ -358,6 +373,7 @@
 	}
       }
     }
+#endif
 
     // TODO: Fix this
 //     pPrivate->pEditor = GTK_EDITOR(
@@ -998,9 +1014,16 @@
     // program as it appears in a window, %s will be the filename.
     gchar * titleFormat = _("Dasher - %s");
     int len = strlen(szFilename);
-    gchar title[len+strlen(titleFormat)];
-    snprintf(title, sizeof(title), titleFormat, szFilename);
+    int iFullLen = len + strlen(titleFormat);
+
+    gchar *title = (gchar *)g_malloc(iFullLen);
+#ifdef DASHER_WIN32
+    sprintf_s(title, iFullLen, titleFormat, szFilename);
+#else
+    snprintf(title, iFullLen, titleFormat, szFilename);
+#endif
     gtk_window_set_title(GTK_WINDOW(pPrivate->pMainWindow), title);
+    g_free(title);
   }
 }
 
@@ -1258,13 +1281,14 @@
 
 static gboolean 
 dasher_main_speed_changed(DasherMain *pSelf) {
+#ifndef DASHER_WIN32
   DasherMainPrivate *pPrivate = DASHER_MAIN_GET_PRIVATE(pSelf);
   
   int iNewValue( static_cast<int>(round(gtk_spin_button_get_value_as_float(GTK_SPIN_BUTTON(pPrivate->pSpeedBox)) * 100)));
   
   if(dasher_app_settings_get_long(pPrivate->pAppSettings, LP_MAX_BITRATE) != iNewValue)
     dasher_app_settings_set_long(pPrivate->pAppSettings, LP_MAX_BITRATE, iNewValue);
-
+#endif
   return true;
 }
 
@@ -1350,10 +1374,14 @@
 dasher_main_lookup_key(DasherMain *pSelf, guint iKeyVal) {
   DasherMainPrivate *pPrivate = DASHER_MAIN_GET_PRIVATE(pSelf);
 
+#ifndef DASHER_WIN32
   if(pPrivate->pKeyboardHelper)
     return pPrivate->pKeyboardHelper->ConvertKeycode(iKeyVal);
   else
     return -1;
+#else
+return -1;
+#endif
 }
 
 
@@ -1387,10 +1415,14 @@
   DasherMain *pDasherMain = DASHER_MAIN(g_pDasherMain);
   DasherMainPrivate *pPrivate = DASHER_MAIN_GET_PRIVATE(pDasherMain);
 
+#ifndef DASHER_WIN32
   if(dasher_app_settings_get_long(pPrivate->pAppSettings, APP_LP_STYLE) == APP_STYLE_DIRECT)
     return GTK_WIDGET(dasher_editor_external_new());
   else
     return GTK_WIDGET(dasher_editor_internal_new());
+#else
+    return GTK_WIDGET(dasher_editor_internal_new());
+#endif
 }
 
 extern "C" gboolean 

Modified: branches/experimental_win_gtk/Src/Gtk2/module_settings_window.cpp
==============================================================================
--- branches/experimental_win_gtk/Src/Gtk2/module_settings_window.cpp	(original)
+++ branches/experimental_win_gtk/Src/Gtk2/module_settings_window.cpp	Wed Apr 23 20:06:15 2008
@@ -18,7 +18,10 @@
 // along with Dasher; if not, write to the Free Software 
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
+#ifndef DASHER_WIN32
 #include "config.h"
+#endif 
+
 #include <glib/gi18n.h>
 
 #include "module_settings_window.h"
@@ -93,7 +96,7 @@
   
   GtkWidget *pFrame = gtk_frame_new(szFrameTitle);
 
-  free(szFrameTitle);
+  g_free(szFrameTitle);
 
   gtk_container_add(GTK_CONTAINER(pDasherControl->window.vbox), pFrame);
   g_object_set(G_OBJECT(pFrame), "border-width", 8, NULL);

Modified: branches/experimental_win_gtk/Src/Win32/Dasher_vc80.sln
==============================================================================
--- branches/experimental_win_gtk/Src/Win32/Dasher_vc80.sln	(original)
+++ branches/experimental_win_gtk/Src/Win32/Dasher_vc80.sln	Wed Apr 23 20:06:15 2008
@@ -17,27 +17,6 @@
 		Release.AspNetCompiler.Debug = "False"
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Dasher", "Dasher_vc80.vcproj", "{752501D3-5B04-4F3C-A141-DE426E354D23}"
-	ProjectSection(ProjectDependencies) = postProject
-		{4A4CEB83-FBC8-4E93-831E-009875E54794} = {4A4CEB83-FBC8-4E93-831E-009875E54794}
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD} = {3998D966-9B9E-4214-ACEA-B777985AF4DD}
-		{192C1E5C-2D1E-4AA3-91C3-FF2D7ABD67F8} = {192C1E5C-2D1E-4AA3-91C3-FF2D7ABD67F8}
-	EndProjectSection
-	ProjectSection(WebsiteProperties) = preProject
-		Debug.AspNetCompiler.Debug = "True"
-		Release.AspNetCompiler.Debug = "False"
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DasherControl", "DasherControl_vc80.vcproj", "{3998D966-9B9E-4214-ACEA-B777985AF4DD}"
-	ProjectSection(ProjectDependencies) = postProject
-		{4A4CEB83-FBC8-4E93-831E-009875E54794} = {4A4CEB83-FBC8-4E93-831E-009875E54794}
-		{192C1E5C-2D1E-4AA3-91C3-FF2D7ABD67F8} = {192C1E5C-2D1E-4AA3-91C3-FF2D7ABD67F8}
-	EndProjectSection
-	ProjectSection(WebsiteProperties) = preProject
-		Debug.AspNetCompiler.Debug = "True"
-		Release.AspNetCompiler.Debug = "False"
-	EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DasherCore", "..\DasherCore\DasherCore_vc80.vcproj", "{192C1E5C-2D1E-4AA3-91C3-FF2D7ABD67F8}"
 	ProjectSection(ProjectDependencies) = postProject
 		{4A4CEB83-FBC8-4E93-831E-009875E54794} = {4A4CEB83-FBC8-4E93-831E-009875E54794}
@@ -48,27 +27,18 @@
 	EndProjectSection
 EndProject
 Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Installer", "..\Installer\Installer.wixproj", "{BBE9E817-E2C5-4081-9612-0738E27CF55A}"
-	ProjectSection(ProjectDependencies) = postProject
-		{752501D3-5B04-4F3C-A141-DE426E354D23} = {752501D3-5B04-4F3C-A141-DE426E354D23}
-	EndProjectSection
 	ProjectSection(WebsiteProperties) = preProject
 		Debug.AspNetCompiler.Debug = "True"
 		Release.AspNetCompiler.Debug = "False"
 	EndProjectSection
 EndProject
 Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "InstallerTobii", "..\InstallerTobii\InstallerTobii.wixproj", "{C4BFC988-DA68-4F51-BAB0-DB5B7D5CD53B}"
-	ProjectSection(ProjectDependencies) = postProject
-		{752501D3-5B04-4F3C-A141-DE426E354D23} = {752501D3-5B04-4F3C-A141-DE426E354D23}
-	EndProjectSection
 	ProjectSection(WebsiteProperties) = preProject
 		Debug.AspNetCompiler.Debug = "True"
 		Release.AspNetCompiler.Debug = "False"
 	EndProjectSection
 EndProject
 Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "InstallerW2K", "..\InstallerW2K\InstallerW2K.wixproj", "{C2E1F683-E2B1-4445-9748-E67E1D5156FD}"
-	ProjectSection(ProjectDependencies) = postProject
-		{752501D3-5B04-4F3C-A141-DE426E354D23} = {752501D3-5B04-4F3C-A141-DE426E354D23}
-	EndProjectSection
 	ProjectSection(WebsiteProperties) = preProject
 		Debug.AspNetCompiler.Debug = "True"
 		Release.AspNetCompiler.Debug = "False"
@@ -76,6 +46,19 @@
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Manual", "..\..\Data\Help\Manual.vcproj", "{C356A954-2E47-4F1E-AE4A-E22B598514F9}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GtkDasherControl", "..\Gtk2\GtkDasherControl.vcproj", "{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}"
+	ProjectSection(ProjectDependencies) = postProject
+		{4A4CEB83-FBC8-4E93-831E-009875E54794} = {4A4CEB83-FBC8-4E93-831E-009875E54794}
+		{192C1E5C-2D1E-4AA3-91C3-FF2D7ABD67F8} = {192C1E5C-2D1E-4AA3-91C3-FF2D7ABD67F8}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Dasher", "..\Gtk2\Dasher.vcproj", "{6207BD26-DB92-4034-A33D-FCC97B9FEF75}"
+	ProjectSection(ProjectDependencies) = postProject
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB} = {3390D33B-03C3-4AB4-99CB-4D562A45E3FB}
+		{192C1E5C-2D1E-4AA3-91C3-FF2D7ABD67F8} = {192C1E5C-2D1E-4AA3-91C3-FF2D7ABD67F8}
+		{4A4CEB83-FBC8-4E93-831E-009875E54794} = {4A4CEB83-FBC8-4E93-831E-009875E54794}
+	EndProjectSection
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -147,98 +130,6 @@
 		{4A4CEB83-FBC8-4E93-831E-009875E54794}.Release|Win32.Build.0 = Release|Win32
 		{4A4CEB83-FBC8-4E93-831E-009875E54794}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
 		{4A4CEB83-FBC8-4E93-831E-009875E54794}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Debug|Any CPU.Build.0 = Debug|Win32
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Debug|Mixed Platforms.ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Debug|Mixed Platforms.Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Debug|Mixed Platforms.Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Debug|Win32.ActiveCfg = Debug|Win32
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Debug|Win32.Build.0 = Debug|Win32
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Mobile Debug|Any CPU.ActiveCfg = Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Mobile Debug|Mixed Platforms.ActiveCfg = Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Mobile Debug|Mixed Platforms.Build.0 = Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Mobile Debug|Mixed Platforms.Deploy.0 = Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Mobile Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Mobile Debug|Pocket PC 2003 (ARMV4)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Mobile Debug|Pocket PC 2003 (ARMV4).Build.0 = Mobile Debug|Pocket PC 2003 (ARMV4)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Mobile Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Mobile Debug|Pocket PC 2003 (ARMV4)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Mobile Debug|Win32.ActiveCfg = Mobile Debug|Win32
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Mobile Debug|Win32.Build.0 = Mobile Debug|Win32
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release (W2K)|Any CPU.ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release (W2K)|Mixed Platforms.ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release (W2K)|Mixed Platforms.Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release (W2K)|Mixed Platforms.Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release (W2K)|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release (W2K)|Win32.ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release (W2K)|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release (W2K)|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release (W2K)|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release|Any CPU.ActiveCfg = Release|Win32
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release|Any CPU.Build.0 = Release|Win32
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release|Mixed Platforms.ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release|Mixed Platforms.Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release|Mixed Platforms.Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release|Win32.ActiveCfg = Release|Win32
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release|Win32.Build.0 = Release|Win32
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{752501D3-5B04-4F3C-A141-DE426E354D23}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Debug|Any CPU.Build.0 = Debug|Win32
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Debug|Mixed Platforms.ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Debug|Mixed Platforms.Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Debug|Mixed Platforms.Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Debug|Win32.ActiveCfg = Debug|Win32
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Debug|Win32.Build.0 = Debug|Win32
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Mobile Debug|Any CPU.ActiveCfg = Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Mobile Debug|Mixed Platforms.ActiveCfg = Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Mobile Debug|Mixed Platforms.Build.0 = Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Mobile Debug|Mixed Platforms.Deploy.0 = Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Mobile Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Mobile Debug|Pocket PC 2003 (ARMV4)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Mobile Debug|Pocket PC 2003 (ARMV4).Build.0 = Mobile Debug|Pocket PC 2003 (ARMV4)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Mobile Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Mobile Debug|Pocket PC 2003 (ARMV4)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Mobile Debug|Win32.ActiveCfg = Mobile Debug|Win32
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Mobile Debug|Win32.Build.0 = Mobile Debug|Win32
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release (W2K)|Any CPU.ActiveCfg = Release (W2K)|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release (W2K)|Mixed Platforms.ActiveCfg = Release (W2K)|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release (W2K)|Mixed Platforms.Build.0 = Release (W2K)|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release (W2K)|Mixed Platforms.Deploy.0 = Release (W2K)|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release (W2K)|Pocket PC 2003 (ARMV4).ActiveCfg = Release (W2K)|Pocket PC 2003 (ARMV4)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release (W2K)|Pocket PC 2003 (ARMV4).Build.0 = Release (W2K)|Pocket PC 2003 (ARMV4)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release (W2K)|Pocket PC 2003 (ARMV4).Deploy.0 = Release (W2K)|Pocket PC 2003 (ARMV4)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release (W2K)|Win32.ActiveCfg = Release (W2K)|Win32
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release (W2K)|Win32.Build.0 = Release (W2K)|Win32
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release (W2K)|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release (W2K)|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release (W2K)|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release (W2K)|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release (W2K)|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release (W2K)|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release|Any CPU.ActiveCfg = Release|Win32
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release|Any CPU.Build.0 = Release|Win32
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release|Mixed Platforms.ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release|Mixed Platforms.Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release|Mixed Platforms.Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release|Win32.ActiveCfg = Release|Win32
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release|Win32.Build.0 = Release|Win32
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
-		{3998D966-9B9E-4214-ACEA-B777985AF4DD}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
 		{192C1E5C-2D1E-4AA3-91C3-FF2D7ABD67F8}.Debug|Any CPU.ActiveCfg = Debug|Win32
 		{192C1E5C-2D1E-4AA3-91C3-FF2D7ABD67F8}.Debug|Any CPU.Build.0 = Debug|Win32
 		{192C1E5C-2D1E-4AA3-91C3-FF2D7ABD67F8}.Debug|Mixed Platforms.ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
@@ -399,6 +290,62 @@
 		{C356A954-2E47-4F1E-AE4A-E22B598514F9}.Release|Win32.ActiveCfg = Release|Win32
 		{C356A954-2E47-4F1E-AE4A-E22B598514F9}.Release|Win32.Build.0 = Release|Win32
 		{C356A954-2E47-4F1E-AE4A-E22B598514F9}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Debug|Any CPU.ActiveCfg = Debug|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Debug|Win32.ActiveCfg = Debug|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Debug|Win32.Build.0 = Debug|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Mobile Debug|Any CPU.ActiveCfg = Debug|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Mobile Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Mobile Debug|Mixed Platforms.Build.0 = Debug|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Mobile Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Mobile Debug|Win32.ActiveCfg = Debug|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Mobile Debug|Win32.Build.0 = Debug|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Release (W2K)|Any CPU.ActiveCfg = Release|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Release (W2K)|Mixed Platforms.ActiveCfg = Release|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Release (W2K)|Mixed Platforms.Build.0 = Release|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Release (W2K)|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Release (W2K)|Win32.ActiveCfg = Release|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Release (W2K)|Win32.Build.0 = Release|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Release (W2K)|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Release|Any CPU.ActiveCfg = Release|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Release|Mixed Platforms.Build.0 = Release|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Release|Win32.ActiveCfg = Release|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Release|Win32.Build.0 = Release|Win32
+		{3390D33B-03C3-4AB4-99CB-4D562A45E3FB}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Debug|Any CPU.ActiveCfg = Debug|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Debug|Win32.ActiveCfg = Debug|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Debug|Win32.Build.0 = Debug|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Mobile Debug|Any CPU.ActiveCfg = Debug|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Mobile Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Mobile Debug|Mixed Platforms.Build.0 = Debug|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Mobile Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Mobile Debug|Win32.ActiveCfg = Debug|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Mobile Debug|Win32.Build.0 = Debug|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Mobile Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Release (W2K)|Any CPU.ActiveCfg = Release|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Release (W2K)|Mixed Platforms.ActiveCfg = Release|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Release (W2K)|Mixed Platforms.Build.0 = Release|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Release (W2K)|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Release (W2K)|Win32.ActiveCfg = Release|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Release (W2K)|Win32.Build.0 = Release|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Release (W2K)|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Release|Any CPU.ActiveCfg = Release|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Release|Mixed Platforms.Build.0 = Release|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Release|Win32.ActiveCfg = Release|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Release|Win32.Build.0 = Release|Win32
+		{6207BD26-DB92-4034-A33D-FCC97B9FEF75}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

Modified: branches/experimental_win_gtk/Src/main.cc
==============================================================================
--- branches/experimental_win_gtk/Src/main.cc	(original)
+++ branches/experimental_win_gtk/Src/main.cc	Wed Apr 23 20:06:15 2008
@@ -1,4 +1,7 @@
+#ifndef DASHER_WIN32
 #include "config.h"
+#endif 
+
 #ifdef GNOME_LIBS
 #include <glib/gi18n.h>
 #endif
@@ -7,11 +10,13 @@
 
 #include <gdk/gdk.h>
 #include <gtk/gtk.h>
+#ifndef DASHER_WIN32
 #include <gdk/gdkx.h>
+#endif
 #include <glade/glade.h>
 #include <signal.h>
 #if GLIB_CHECK_VERSION(2,6,0)
-#include <Gtk2/DasherAppSettings.h>
+#include "Gtk2/DasherAppSettings.h"
 #endif
 
 #ifdef WITH_MAEMO
@@ -34,16 +39,17 @@
 #include <libgnomevfs/gnome-vfs.h>
 #endif
 
-// #include <libintl.h>
+//#include <libintl.h>
+#include <glib/gi18n.h>
 // #include <locale.h>
 // #include <stdio.h>
 // #include <stdlib.h>
 // #include <iostream>
 
-#include "dasher.h"
+#include "Gtk2/dasher.h"
 //#include "DasherControl.h"
-#include "dasher_lock_dialogue.h"
-#include "dasher_main.h"
+#include "Gtk2/dasher_lock_dialogue.h"
+#include "Gtk2/dasher_main.h"
 
 #ifdef WITH_GPE
 #include "gpesettings_store.h"



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