From d03d6e606b40157d910ddf99ab018156abeb8ef0 Mon Sep 17 00:00:00 2001 From: "berkeviktor@aol.com" Date: Mon, 28 Feb 2011 18:59:32 +0100 Subject: add wdk changes to named branch --- src/fe-gtk/xchat.rc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/fe-gtk/xchat.rc (limited to 'src/fe-gtk/xchat.rc') diff --git a/src/fe-gtk/xchat.rc b/src/fe-gtk/xchat.rc new file mode 100644 index 00000000..18c209c1 --- /dev/null +++ b/src/fe-gtk/xchat.rc @@ -0,0 +1,22 @@ +#include +#include "../../config.h" + +XC_ICON ICON "../../xchat.ico" + +VS_VERSION_INFO VERSIONINFO + BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" + BEGIN + + VALUE "FileDescription", "XChat-WDK IRC Client" + VALUE "ProductName", "XChat-WDK" + VALUE "ProductVersion", PACKAGE_VERSION + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 0x04B0 + END + END -- cgit 1.4.1 From 9a4907e28a1e446e9dff89c6612f18e32f20b3fb Mon Sep 17 00:00:00 2001 From: Berke Viktor Date: Thu, 11 Aug 2011 03:58:30 +0200 Subject: add manifest file so that visual styles are applied to xtray (XhmikosR) --- src/fe-gtk/xchat.exe.manifest | 22 ++++++++++++++++++++++ src/fe-gtk/xchat.rc | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 src/fe-gtk/xchat.exe.manifest (limited to 'src/fe-gtk/xchat.rc') diff --git a/src/fe-gtk/xchat.exe.manifest b/src/fe-gtk/xchat.exe.manifest new file mode 100644 index 00000000..13685d98 --- /dev/null +++ b/src/fe-gtk/xchat.exe.manifest @@ -0,0 +1,22 @@ + + + + XChat IRC client + + + + + + diff --git a/src/fe-gtk/xchat.rc b/src/fe-gtk/xchat.rc index 18c209c1..0588b525 100644 --- a/src/fe-gtk/xchat.rc +++ b/src/fe-gtk/xchat.rc @@ -1,6 +1,8 @@ #include #include "../../config.h" +1 24 "xchat.exe.manifest" + XC_ICON ICON "../../xchat.ico" VS_VERSION_INFO VERSIONINFO -- cgit 1.4.1 From 2db80fa59981217fcdc9c58e4163155cc0af669c Mon Sep 17 00:00:00 2001 From: Berke Viktor Date: Thu, 11 Aug 2011 08:11:57 +0200 Subject: VersionInfo enhancements (XhmikosR) --- src/fe-gtk/xchat.rc | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/fe-gtk/xchat.rc') diff --git a/src/fe-gtk/xchat.rc b/src/fe-gtk/xchat.rc index 0588b525..28676b83 100644 --- a/src/fe-gtk/xchat.rc +++ b/src/fe-gtk/xchat.rc @@ -1,11 +1,14 @@ #include #include "../../config.h" +#include "../../resource.h" 1 24 "xchat.exe.manifest" XC_ICON ICON "../../xchat.ico" VS_VERSION_INFO VERSIONINFO + FILEVERSION COMMA_VERSION + PRODUCTVERSION COMMA_VERSION BEGIN BLOCK "StringFileInfo" BEGIN @@ -15,6 +18,7 @@ VS_VERSION_INFO VERSIONINFO VALUE "FileDescription", "XChat-WDK IRC Client" VALUE "ProductName", "XChat-WDK" VALUE "ProductVersion", PACKAGE_VERSION + VALUE "FileVersion", PACKAGE_VERSION END END BLOCK "VarFileInfo" -- cgit 1.4.1 From 39422d5503281030d712c39af25317b5e3ece0fe Mon Sep 17 00:00:00 2001 From: Berke Viktor Date: Sun, 3 Jun 2012 12:06:06 +0200 Subject: Initial Visual Studio solution --- src/common/dirent-win32.c | 199 ---------------------- src/common/dirent-win32.h | 28 --- src/common/util.c | 4 +- src/common/xchat.h | 6 +- src/dirent-win32/dirent-win32.c | 199 ++++++++++++++++++++++ src/dirent-win32/dirent-win32.h | 28 +++ src/fe-gtk/custom-list.c | 2 +- src/fe-gtk/xchat.rc | 2 - win32/common/common.vcxproj | 148 ++++++++++++++++ win32/common/common.vcxproj.filters | 197 +++++++++++++++++++++ win32/dirent-win32/dirent-win32.vcxproj | 88 ++++++++++ win32/dirent-win32/dirent-win32.vcxproj.filters | 23 +++ win32/fe-gtk/fe-gtk.vcxproj | 164 ++++++++++++++++++ win32/fe-gtk/fe-gtk.vcxproj.filters | 216 ++++++++++++++++++++++++ win32/pixmaps/pixmaps.vcxproj | 105 ++++++++++++ win32/pixmaps/pixmaps.vcxproj.filters | 41 +++++ win32/version/version.c | 144 ++++++++++++++++ win32/version/version.vcxproj | 93 ++++++++++ win32/version/version.vcxproj.filters | 14 ++ win32/xchat.props | 14 ++ win32/xchat.sln | 50 ++++++ 21 files changed, 1530 insertions(+), 235 deletions(-) delete mode 100644 src/common/dirent-win32.c delete mode 100644 src/common/dirent-win32.h create mode 100644 src/dirent-win32/dirent-win32.c create mode 100644 src/dirent-win32/dirent-win32.h create mode 100644 win32/common/common.vcxproj create mode 100644 win32/common/common.vcxproj.filters create mode 100644 win32/dirent-win32/dirent-win32.vcxproj create mode 100644 win32/dirent-win32/dirent-win32.vcxproj.filters create mode 100644 win32/fe-gtk/fe-gtk.vcxproj create mode 100644 win32/fe-gtk/fe-gtk.vcxproj.filters create mode 100644 win32/pixmaps/pixmaps.vcxproj create mode 100644 win32/pixmaps/pixmaps.vcxproj.filters create mode 100644 win32/version/version.c create mode 100644 win32/version/version.vcxproj create mode 100644 win32/version/version.vcxproj.filters create mode 100644 win32/xchat.props create mode 100644 win32/xchat.sln (limited to 'src/fe-gtk/xchat.rc') diff --git a/src/common/dirent-win32.c b/src/common/dirent-win32.c deleted file mode 100644 index 273c6732..00000000 --- a/src/common/dirent-win32.c +++ /dev/null @@ -1,199 +0,0 @@ -/***************************************************************************** - * dirent.h - dirent API for Microsoft Visual Studio - * - * Copyright (C) 2006 Toni Ronkko - * - * 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 TONI RONKKO 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. - * - * Dec 15, 2009, John Cunningham - * Added rewinddir member function - * - * Jan 18, 2008, Toni Ronkko - * Using FindFirstFileA and WIN32_FIND_DATAA to avoid converting string - * between multi-byte and unicode representations. This makes the - * code simpler and also allows the code to be compiled under MingW. Thanks - * to Azriel Fasten for the suggestion. - * - * Mar 4, 2007, Toni Ronkko - * Bug fix: due to the strncpy_s() function this file only compiled in - * Visual Studio 2005. Using the new string functions only when the - * compiler version allows. - * - * Nov 2, 2006, Toni Ronkko - * Major update: removed support for Watcom C, MS-DOS and Turbo C to - * simplify the file, updated the code to compile cleanly on Visual - * Studio 2005 with both unicode and multi-byte character strings, - * removed rewinddir() as it had a bug. - * - * Aug 20, 2006, Toni Ronkko - * Removed all remarks about MSVC 1.0, which is antiqued now. Simplified - * comments by removing SGML tags. - * - * May 14 2002, Toni Ronkko - * Embedded the function definitions directly to the header so that no - * source modules need to be included in the Visual Studio project. Removed - * all the dependencies to other projects so that this very header can be - * used independently. - * - * May 28 1998, Toni Ronkko - * First version. - *****************************************************************************/ - -#include "dirent-win32.h" - -/* Use the new safe string functions introduced in Visual Studio 2005 */ -#if defined(_MSC_VER) && _MSC_VER >= 1400 -# define STRNCPY(dest,src,size) strncpy_s((dest),(size),(src),_TRUNCATE) -#else -# define STRNCPY(dest,src,size) strncpy((dest),(src),(size)) -#endif - - -/***************************************************************************** - * Open directory stream DIRNAME for read and return a pointer to the - * internal working area that is used to retrieve individual directory - * entries. - */ -DIR *opendir(const char *dirname) -{ - DIR *dirp; - assert (dirname != NULL); - assert (strlen (dirname) < MAX_PATH); - - /* construct new DIR structure */ - dirp = (DIR*) malloc (sizeof (struct DIR)); - if (dirp != NULL) { - char *p; - - /* take directory name... */ - STRNCPY (dirp->patt, dirname, sizeof(dirp->patt)); - dirp->patt[MAX_PATH] = '\0'; - - /* ... and append search pattern to it */ - p = strchr (dirp->patt, '\0'); - if (dirp->patt < p && *(p-1) != '\\' && *(p-1) != ':') { - *p++ = '\\'; - } - *p++ = '*'; - *p = '\0'; - - /* open stream and retrieve first file */ - dirp->search_handle = FindFirstFileA (dirp->patt, &dirp->current.data); - if (dirp->search_handle == INVALID_HANDLE_VALUE) { - /* invalid search pattern? */ - free (dirp); - return NULL; - } - - /* there is an un-processed directory entry in memory now */ - dirp->cached = 1; - } - - return dirp; -} - - -/***************************************************************************** - * Read a directory entry, and return a pointer to a dirent structure - * containing the name of the entry in d_name field. Individual directory - * entries returned by this very function include regular files, - * sub-directories, pseudo-directories "." and "..", but also volume labels, - * hidden files and system files may be returned. - */ -struct dirent *readdir(DIR *dirp) -{ - assert (dirp != NULL); - - if (dirp->search_handle == INVALID_HANDLE_VALUE) { - /* directory stream was opened/rewound incorrectly or ended normally */ - return NULL; - } - - /* get next directory entry */ - if (dirp->cached != 0) { - /* a valid directory entry already in memory */ - dirp->cached = 0; - } else { - /* read next directory entry from disk */ - if (FindNextFileA (dirp->search_handle, &dirp->current.data) == FALSE) { - /* the very last file has been processed or an error occured */ - FindClose (dirp->search_handle); - dirp->search_handle = INVALID_HANDLE_VALUE; - return NULL; - } - } - - /* copy as a multibyte character string */ - STRNCPY ( dirp->current.d_name, - dirp->current.data.cFileName, - sizeof(dirp->current.d_name) ); - dirp->current.d_name[MAX_PATH] = '\0'; - - return &dirp->current; -} - - -/***************************************************************************** - * Close directory stream opened by opendir() function. Close of the - * directory stream invalidates the DIR structure as well as any previously - * read directory entry. - */ -int closedir(DIR *dirp) -{ - assert (dirp != NULL); - - /* release search handle */ - if (dirp->search_handle != INVALID_HANDLE_VALUE) { - FindClose (dirp->search_handle); - dirp->search_handle = INVALID_HANDLE_VALUE; - } - - /* release directory handle */ - free (dirp); - return 0; -} - - -/***************************************************************************** - * Resets the position of the directory stream to which dirp refers to the - * beginning of the directory. It also causes the directory stream to refer - * to the current state of the corresponding directory, as a call to opendir() - * would have done. If dirp does not refer to a directory stream, the effect - * is undefined. - */ -void rewinddir(DIR* dirp) -{ - /* release search handle */ - if (dirp->search_handle != INVALID_HANDLE_VALUE) { - FindClose (dirp->search_handle); - dirp->search_handle = INVALID_HANDLE_VALUE; - } - - /* open new search handle and retrieve first file */ - dirp->search_handle = FindFirstFileA (dirp->patt, &dirp->current.data); - if (dirp->search_handle == INVALID_HANDLE_VALUE) { - /* invalid search pattern? */ - free (dirp); - return; - } - - /* there is an un-processed directory entry in memory now */ - dirp->cached = 1; -} diff --git a/src/common/dirent-win32.h b/src/common/dirent-win32.h deleted file mode 100644 index cbb753e6..00000000 --- a/src/common/dirent-win32.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef DIRENT_H -#define DIRENT_H - -#include -#include -#include - -typedef struct dirent -{ - char d_name[MAX_PATH + 1]; /* current dir entry (multi-byte char string) */ - WIN32_FIND_DATAA data; /* file attributes */ -} dirent; - -typedef struct DIR -{ - dirent current; /* Current directory entry */ - int cached; /* Indicates un-processed entry in memory */ - HANDLE search_handle; /* File search handle */ - char patt[MAX_PATH + 3]; /* search pattern (3 = pattern + "\\*\0") */ -} DIR; - -/* Forward declarations */ -DIR *opendir (const char *dirname); -struct dirent *readdir (DIR *dirp); -int closedir (DIR *dirp); -void rewinddir(DIR* dirp); - -#endif /*DIRENT_H*/ diff --git a/src/common/util.c b/src/common/util.c index 9d9c2cff..a79e343b 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -32,7 +32,7 @@ #include #include #include -#include "dirent-win32.h" +#include "../dirent-win32/dirent-win32.h" #else #include #include @@ -57,11 +57,9 @@ #include #endif -#ifndef ENABLE_NLS #ifndef HAVE_SNPRINTF #define snprintf g_snprintf #endif -#endif #ifdef USE_DEBUG diff --git a/src/common/xchat.h b/src/common/xchat.h index 9db44c3f..b4e652c9 100644 --- a/src/common/xchat.h +++ b/src/common/xchat.h @@ -8,7 +8,6 @@ #include "history.h" -#ifndef ENABLE_NLS #ifndef HAVE_SNPRINTF #define snprintf g_snprintf #endif @@ -16,7 +15,6 @@ #ifndef HAVE_VSNPRINTF #define vsnprintf _vsnprintf #endif -#endif #ifdef USE_DEBUG #define malloc(n) xchat_malloc(n, __FILE__, __LINE__) @@ -79,6 +77,10 @@ void *xchat_realloc (char *old, int len, char *file, int line); #define USERNAMELEN 10 #define HIDDEN_CHAR 8 /* invisible character for xtext */ +#ifdef __cplusplus +#define asdfasdf +#endif + #if defined(ENABLE_NLS) && !defined(_) # include # define _(x) gettext(x) diff --git a/src/dirent-win32/dirent-win32.c b/src/dirent-win32/dirent-win32.c new file mode 100644 index 00000000..273c6732 --- /dev/null +++ b/src/dirent-win32/dirent-win32.c @@ -0,0 +1,199 @@ +/***************************************************************************** + * dirent.h - dirent API for Microsoft Visual Studio + * + * Copyright (C) 2006 Toni Ronkko + * + * 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 TONI RONKKO 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. + * + * Dec 15, 2009, John Cunningham + * Added rewinddir member function + * + * Jan 18, 2008, Toni Ronkko + * Using FindFirstFileA and WIN32_FIND_DATAA to avoid converting string + * between multi-byte and unicode representations. This makes the + * code simpler and also allows the code to be compiled under MingW. Thanks + * to Azriel Fasten for the suggestion. + * + * Mar 4, 2007, Toni Ronkko + * Bug fix: due to the strncpy_s() function this file only compiled in + * Visual Studio 2005. Using the new string functions only when the + * compiler version allows. + * + * Nov 2, 2006, Toni Ronkko + * Major update: removed support for Watcom C, MS-DOS and Turbo C to + * simplify the file, updated the code to compile cleanly on Visual + * Studio 2005 with both unicode and multi-byte character strings, + * removed rewinddir() as it had a bug. + * + * Aug 20, 2006, Toni Ronkko + * Removed all remarks about MSVC 1.0, which is antiqued now. Simplified + * comments by removing SGML tags. + * + * May 14 2002, Toni Ronkko + * Embedded the function definitions directly to the header so that no + * source modules need to be included in the Visual Studio project. Removed + * all the dependencies to other projects so that this very header can be + * used independently. + * + * May 28 1998, Toni Ronkko + * First version. + *****************************************************************************/ + +#include "dirent-win32.h" + +/* Use the new safe string functions introduced in Visual Studio 2005 */ +#if defined(_MSC_VER) && _MSC_VER >= 1400 +# define STRNCPY(dest,src,size) strncpy_s((dest),(size),(src),_TRUNCATE) +#else +# define STRNCPY(dest,src,size) strncpy((dest),(src),(size)) +#endif + + +/***************************************************************************** + * Open directory stream DIRNAME for read and return a pointer to the + * internal working area that is used to retrieve individual directory + * entries. + */ +DIR *opendir(const char *dirname) +{ + DIR *dirp; + assert (dirname != NULL); + assert (strlen (dirname) < MAX_PATH); + + /* construct new DIR structure */ + dirp = (DIR*) malloc (sizeof (struct DIR)); + if (dirp != NULL) { + char *p; + + /* take directory name... */ + STRNCPY (dirp->patt, dirname, sizeof(dirp->patt)); + dirp->patt[MAX_PATH] = '\0'; + + /* ... and append search pattern to it */ + p = strchr (dirp->patt, '\0'); + if (dirp->patt < p && *(p-1) != '\\' && *(p-1) != ':') { + *p++ = '\\'; + } + *p++ = '*'; + *p = '\0'; + + /* open stream and retrieve first file */ + dirp->search_handle = FindFirstFileA (dirp->patt, &dirp->current.data); + if (dirp->search_handle == INVALID_HANDLE_VALUE) { + /* invalid search pattern? */ + free (dirp); + return NULL; + } + + /* there is an un-processed directory entry in memory now */ + dirp->cached = 1; + } + + return dirp; +} + + +/***************************************************************************** + * Read a directory entry, and return a pointer to a dirent structure + * containing the name of the entry in d_name field. Individual directory + * entries returned by this very function include regular files, + * sub-directories, pseudo-directories "." and "..", but also volume labels, + * hidden files and system files may be returned. + */ +struct dirent *readdir(DIR *dirp) +{ + assert (dirp != NULL); + + if (dirp->search_handle == INVALID_HANDLE_VALUE) { + /* directory stream was opened/rewound incorrectly or ended normally */ + return NULL; + } + + /* get next directory entry */ + if (dirp->cached != 0) { + /* a valid directory entry already in memory */ + dirp->cached = 0; + } else { + /* read next directory entry from disk */ + if (FindNextFileA (dirp->search_handle, &dirp->current.data) == FALSE) { + /* the very last file has been processed or an error occured */ + FindClose (dirp->search_handle); + dirp->search_handle = INVALID_HANDLE_VALUE; + return NULL; + } + } + + /* copy as a multibyte character string */ + STRNCPY ( dirp->current.d_name, + dirp->current.data.cFileName, + sizeof(dirp->current.d_name) ); + dirp->current.d_name[MAX_PATH] = '\0'; + + return &dirp->current; +} + + +/***************************************************************************** + * Close directory stream opened by opendir() function. Close of the + * directory stream invalidates the DIR structure as well as any previously + * read directory entry. + */ +int closedir(DIR *dirp) +{ + assert (dirp != NULL); + + /* release search handle */ + if (dirp->search_handle != INVALID_HANDLE_VALUE) { + FindClose (dirp->search_handle); + dirp->search_handle = INVALID_HANDLE_VALUE; + } + + /* release directory handle */ + free (dirp); + return 0; +} + + +/***************************************************************************** + * Resets the position of the directory stream to which dirp refers to the + * beginning of the directory. It also causes the directory stream to refer + * to the current state of the corresponding directory, as a call to opendir() + * would have done. If dirp does not refer to a directory stream, the effect + * is undefined. + */ +void rewinddir(DIR* dirp) +{ + /* release search handle */ + if (dirp->search_handle != INVALID_HANDLE_VALUE) { + FindClose (dirp->search_handle); + dirp->search_handle = INVALID_HANDLE_VALUE; + } + + /* open new search handle and retrieve first file */ + dirp->search_handle = FindFirstFileA (dirp->patt, &dirp->current.data); + if (dirp->search_handle == INVALID_HANDLE_VALUE) { + /* invalid search pattern? */ + free (dirp); + return; + } + + /* there is an un-processed directory entry in memory now */ + dirp->cached = 1; +} diff --git a/src/dirent-win32/dirent-win32.h b/src/dirent-win32/dirent-win32.h new file mode 100644 index 00000000..cbb753e6 --- /dev/null +++ b/src/dirent-win32/dirent-win32.h @@ -0,0 +1,28 @@ +#ifndef DIRENT_H +#define DIRENT_H + +#include +#include +#include + +typedef struct dirent +{ + char d_name[MAX_PATH + 1]; /* current dir entry (multi-byte char string) */ + WIN32_FIND_DATAA data; /* file attributes */ +} dirent; + +typedef struct DIR +{ + dirent current; /* Current directory entry */ + int cached; /* Indicates un-processed entry in memory */ + HANDLE search_handle; /* File search handle */ + char patt[MAX_PATH + 3]; /* search pattern (3 = pattern + "\\*\0") */ +} DIR; + +/* Forward declarations */ +DIR *opendir (const char *dirname); +struct dirent *readdir (DIR *dirp); +int closedir (DIR *dirp); +void rewinddir(DIR* dirp); + +#endif /*DIRENT_H*/ diff --git a/src/fe-gtk/custom-list.c b/src/fe-gtk/custom-list.c index ac20e0ff..0c3c40b5 100644 --- a/src/fe-gtk/custom-list.c +++ b/src/fe-gtk/custom-list.c @@ -106,7 +106,7 @@ custom_list_sortable_init (GtkTreeSortableIface * iface) * *****************************************************************************/ -static GType +GType custom_list_get_type (void) { static GType custom_list_type = 0; diff --git a/src/fe-gtk/xchat.rc b/src/fe-gtk/xchat.rc index 28676b83..f63b70e7 100644 --- a/src/fe-gtk/xchat.rc +++ b/src/fe-gtk/xchat.rc @@ -2,8 +2,6 @@ #include "../../config.h" #include "../../resource.h" -1 24 "xchat.exe.manifest" - XC_ICON ICON "../../xchat.ico" VS_VERSION_INFO VERSIONINFO diff --git a/win32/common/common.vcxproj b/win32/common/common.vcxproj new file mode 100644 index 00000000..17116886 --- /dev/null +++ b/win32/common/common.vcxproj @@ -0,0 +1,148 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $(VCTargetsPath11) + + + {0F863741-E1CE-4625-84DC-7AD205A63B6B} + Win32Proj + common + + + + StaticLibrary + true + v110 + Unicode + + + StaticLibrary + false + v110 + true + MultiByte + + + + + + + + + + + + + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + + + Windows + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;$(OwnFlags);%(PreprocessorDefinitions) + $(DepsRoot)\include;$(Glib);%(AdditionalIncludeDirectories) + true + CompileAsC + + + Windows + true + true + true + + + + + + \ No newline at end of file diff --git a/win32/common/common.vcxproj.filters b/win32/common/common.vcxproj.filters new file mode 100644 index 00000000..b4079efe --- /dev/null +++ b/win32/common/common.vcxproj.filters @@ -0,0 +1,197 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/win32/dirent-win32/dirent-win32.vcxproj b/win32/dirent-win32/dirent-win32.vcxproj new file mode 100644 index 00000000..c9223bef --- /dev/null +++ b/win32/dirent-win32/dirent-win32.vcxproj @@ -0,0 +1,88 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + $(VCTargetsPath11) + + + {969AA8C5-1655-4CAC-A83F-F651959CAA2F} + Win32Proj + direntwin32 + + + + StaticLibrary + true + v110 + Unicode + + + StaticLibrary + false + v110 + true + MultiByte + + + + + + + + + + + + + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + + + Windows + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + CompileAsC + + + Windows + true + true + true + + + + + + \ No newline at end of file diff --git a/win32/dirent-win32/dirent-win32.vcxproj.filters b/win32/dirent-win32/dirent-win32.vcxproj.filters new file mode 100644 index 00000000..d4d7e628 --- /dev/null +++ b/win32/dirent-win32/dirent-win32.vcxproj.filters @@ -0,0 +1,23 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + + + Source Files + + + + + Header Files + + + \ No newline at end of file diff --git a/win32/fe-gtk/fe-gtk.vcxproj b/win32/fe-gtk/fe-gtk.vcxproj new file mode 100644 index 00000000..0850e2fc --- /dev/null +++ b/win32/fe-gtk/fe-gtk.vcxproj @@ -0,0 +1,164 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $(VCTargetsPath11) + + + {BFC7E652-7E90-441C-9BE5-F238B1912BFB} + Win32Proj + fegtk + + + + Application + true + v110 + Unicode + + + Application + false + v110 + true + MultiByte + + + + + + + + + + + + + + + true + + + false + + + + Use + Level3 + Disabled + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + + + Windows + true + + + + + Level3 + NotUsing + MaxSpeed + true + true + WIN32;NDEBUG;_WINDOWS;$(OwnFlags);%(PreprocessorDefinitions) + $(DepsRoot)\include;$(Glib);$(Gtk) + true + CompileAsC + + + Windows + true + true + true + $(DepLibs);"$(OutDir)\common.lib";"$(OutDir)\dirent-win32.lib";%(AdditionalDependencies) + "$(DepsRoot)\lib";%(AdditionalLibraryDirectories) + mainCRTStartup + false + + + + + + \ No newline at end of file diff --git a/win32/fe-gtk/fe-gtk.vcxproj.filters b/win32/fe-gtk/fe-gtk.vcxproj.filters new file mode 100644 index 00000000..a99aa4de --- /dev/null +++ b/win32/fe-gtk/fe-gtk.vcxproj.filters @@ -0,0 +1,216 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Resource Files + + + + + Resource Files + + + + + Resource Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/win32/pixmaps/pixmaps.vcxproj b/win32/pixmaps/pixmaps.vcxproj new file mode 100644 index 00000000..78f86c1c --- /dev/null +++ b/win32/pixmaps/pixmaps.vcxproj @@ -0,0 +1,105 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + $(VCTargetsPath11) + + + {BBEA966D-9722-4CE3-B773-1AEC6E0234C3} + Win32Proj + pixmaps + + + + Application + true + v110 + Unicode + + + Application + false + v110 + true + MultiByte + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + + + Windows + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + + + Windows + true + true + true + + + + + + + "$(DepsRoot)\bin\gdk-pixbuf-csource" --build-list $(Pixmaps) > "$(SolutionDir)\..\src\pixmaps\inline_pngs.h" + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/win32/pixmaps/pixmaps.vcxproj.filters b/win32/pixmaps/pixmaps.vcxproj.filters new file mode 100644 index 00000000..624f1ab6 --- /dev/null +++ b/win32/pixmaps/pixmaps.vcxproj.filters @@ -0,0 +1,41 @@ + + + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + \ No newline at end of file diff --git a/win32/version/version.c b/win32/version/version.c new file mode 100644 index 00000000..d9e1ef9f --- /dev/null +++ b/win32/version/version.c @@ -0,0 +1,144 @@ +/* XChat-WDK + * Copyright (c) 2011 Berke Viktor. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include "../../config.h" + +char * +comma () +{ + int major, minor; + char *version_string; /* nnnn,n,n,n format */ + + version_string = (char*) malloc (11); + + if (sscanf (PACKAGE_VERSION, "%d-%d", &major, &minor) > 1) + { + sprintf (version_string, "%d,%d,0,0", major, minor); + } else + { + sprintf (version_string, "%d,0,0,0", major); + } + + return version_string; +} + +char * +point () +{ + int major1, major2, major3, major4, minor; + char *version_string; /* nn.nn.nn.nn format */ + + version_string = (char*) malloc (12); + + if (sscanf (PACKAGE_VERSION, "%c%c%c%c-%d", &major1, &major2, &major3, &major4, &minor) > 4) + { + sprintf (version_string, "%c%c.%c%c.%d.0", major1, major2, major3, major4, minor); + } else + { + sprintf (version_string, "%c%c.%c%c.0.0", major1, major2, major3, major4); + } + + return version_string; +} + +int +main (int argc, char *argv[]) +{ + if (argc > 1) + { + if (!strcmp (argv[1], "-r")) /* xchat.rc/FILEVERSION, PRODUCTVERSION */ + { + printf ("#define COMMA_VERSION %s\n", comma ()); + } + else if (!strcmp (argv[1], "-a32")) /* xchat-wdk.iss/AppVerName */ + { + printf ("AppVerName=XChat-WDK %s (x86)\n", PACKAGE_VERSION); + } + else if (!strcmp (argv[1], "-a64")) /* xchat-wdk.iss/AppVerName */ + { + printf ("AppVerName=XChat-WDK %s (x64)\n", PACKAGE_VERSION); + } + else if (!strcmp (argv[1], "-v")) /* xchat-wdk.iss/AppVersion */ + { + printf ("AppVersion=%s\n", point ()); + } + else if (!strcmp (argv[1], "-i")) /* xchat-wdk.iss/VersionInfoVersion */ + { + printf ("VersionInfoVersion=%s\n", point ()); + } + else if (!strcmp (argv[1], "-o32")) /* xchat-wdk.iss/OutputBaseFilename */ + { + printf ("OutputBaseFilename=XChat-WDK %s x86\n", PACKAGE_VERSION); + } + else if (!strcmp (argv[1], "-o64")) /* xchat-wdk.iss/OutputBaseFilename */ + { + printf ("OutputBaseFilename=XChat-WDK %s x64\n", PACKAGE_VERSION); + } + else if (!strcmp (argv[1], "-v")) /* version.txt */ + { + printf ("%s", PACKAGE_VERSION); + } else + { + printf ("usage:\n\t-a\txchat-wdk.iss/AppVerName\n\t-i\txchat-wdk.iss/VersionInfoVersion\n\t-o\txchat-wdk.iss/OutputBaseFilename\n\t-r\txchat.rc/FILEVERSION, PRODUCTVERSION\n\t-v\txchat-wdk.iss/AppVersion\n"); + } + } else + { + printf ("usage:\n\t-a\txchat-wdk.iss/AppVerName\n\t-i\txchat-wdk.iss/VersionInfoVersion\n\t-o\txchat-wdk.iss/OutputBaseFilename\n\t-r\txchat.rc/FILEVERSION, PRODUCTVERSION\n\t-v\txchat-wdk.iss/AppVersion\n"); + } + +#if 0 /* ugly hack */ + switch ((int) argv[1][0]) + { + case 'r': /* xchat.rc/FILEVERSION, PRODUCTVERSION*/ + printf ("#define COMMA_VERSION \"%s\"\n", comma ()); + break; + case 'a': /* xchat-wdk.iss/AppVerName */ + printf ("AppVerName=XChat-WDK %s\n", PACKAGE_VERSION); + break; + case 'v': /* xchat-wdk.iss/AppVersion */ + printf ("AppVersion=%s\n", point ()); + break; + case 'i': /* xchat-wdk.iss/VersionInfoVersion */ + printf ("VersionInfoVersion=%s\n", point ()); + break; + case 'o': /* xchat-wdk.iss/OutputBaseFilename */ + printf ("OutputBaseFilename=XChat-WDK %s\n", PACKAGE_VERSION); + break; + case 'u': /* version.txt */ + printf ("%s", PACKAGE_VERSION); + break; + default: + printf ("use a, i, o, r or v.\n"); + break; + } +#endif + + return 0; +} diff --git a/win32/version/version.vcxproj b/win32/version/version.vcxproj new file mode 100644 index 00000000..0498c72f --- /dev/null +++ b/win32/version/version.vcxproj @@ -0,0 +1,93 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + $(VCTargetsPath11) + + + {B724C127-7151-421A-8CA0-3FBA6D96D8CE} + Win32Proj + version + + + + Application + true + v110 + Unicode + + + Application + false + v110 + true + MultiByte + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + CompileAsC + + + Console + true + true + true + + + "$(OutputPath)\$(TargetName)$(TargetExt)" -r > "$(SolutionDir)\..\resource.h" + + + + + + \ No newline at end of file diff --git a/win32/version/version.vcxproj.filters b/win32/version/version.vcxproj.filters new file mode 100644 index 00000000..decec7d0 --- /dev/null +++ b/win32/version/version.vcxproj.filters @@ -0,0 +1,14 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + + + Source Files + + + \ No newline at end of file diff --git a/win32/xchat.props b/win32/xchat.props new file mode 100644 index 00000000..b322a088 --- /dev/null +++ b/win32/xchat.props @@ -0,0 +1,14 @@ + + + + + _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;G_DISABLE_CAST_CHECKS;G_DISABLE_DEPRECATED;GDK_PIXBUF_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;HAVE_STRTOULL;strtoull=_strtoui64;strcasecmp=stricmp;strncasecmp=strnicmp + c:\mozilla-build\deps-root\$(PlatformName) + $(DepsRoot)\include\glib-2.0;$(DepsRoot)\lib\glib-2.0\include;$(DepsRoot)\include\libxml2 + $(DepsRoot)\include\gtk-2.0;$(DepsRoot)\lib\gtk-2.0\include;$(DepsRoot)\include\atk-1.0;$(DepsRoot)\include\cairo;$(DepsRoot)\include\pango-1.0;$(DepsRoot)\include\gdk-pixbuf-2.0 + bookpng "$(SolutionDir)\..\src\pixmaps\book.png" hoppng "$(SolutionDir)\..\src\pixmaps\hop.png" oppng "$(SolutionDir)\..\src\pixmaps\op.png" purplepng "$(SolutionDir)\..\src\pixmaps\purple.png" redpng "$(SolutionDir)\..\src\pixmaps\red.png" trayfilepng "$(SolutionDir)\..\src\pixmaps\fileoffer.png" trayhilightpng "$(SolutionDir)\..\src\pixmaps\highlight.png" traymsgpng "$(SolutionDir)\..\src\pixmaps\message.png" voicepng "$(SolutionDir)\..\src\pixmaps\voice.png" xchatpng "$(SolutionDir)\..\xchat.png" + gtk-win32-2.0.lib;gdk-win32-2.0.lib;atk-1.0.lib;gio-2.0.lib;gdk_pixbuf-2.0.lib;pangowin32-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo.lib;gobject-2.0.lib;gmodule-2.0.lib;glib-2.0.lib;intl.lib;libxml2.lib;libeay32.lib;ssleay32.lib;wininet.lib;winmm.lib;ws2_32.lib + + + + diff --git a/win32/xchat.sln b/win32/xchat.sln new file mode 100644 index 00000000..be2bc8f4 --- /dev/null +++ b/win32/xchat.sln @@ -0,0 +1,50 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dirent-win32", "dirent-win32\dirent-win32.vcxproj", "{969AA8C5-1655-4CAC-A83F-F651959CAA2F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "common\common.vcxproj", "{0F863741-E1CE-4625-84DC-7AD205A63B6B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fe-gtk", "fe-gtk\fe-gtk.vcxproj", "{BFC7E652-7E90-441C-9BE5-F238B1912BFB}" + ProjectSection(ProjectDependencies) = postProject + {0F863741-E1CE-4625-84DC-7AD205A63B6B} = {0F863741-E1CE-4625-84DC-7AD205A63B6B} + {969AA8C5-1655-4CAC-A83F-F651959CAA2F} = {969AA8C5-1655-4CAC-A83F-F651959CAA2F} + {B724C127-7151-421A-8CA0-3FBA6D96D8CE} = {B724C127-7151-421A-8CA0-3FBA6D96D8CE} + {BBEA966D-9722-4CE3-B773-1AEC6E0234C3} = {BBEA966D-9722-4CE3-B773-1AEC6E0234C3} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pixmaps", "pixmaps\pixmaps.vcxproj", "{BBEA966D-9722-4CE3-B773-1AEC6E0234C3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "version", "version\version.vcxproj", "{B724C127-7151-421A-8CA0-3FBA6D96D8CE}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0F863741-E1CE-4625-84DC-7AD205A63B6B}.Debug|Win32.ActiveCfg = Debug|Win32 + {0F863741-E1CE-4625-84DC-7AD205A63B6B}.Debug|Win32.Build.0 = Debug|Win32 + {0F863741-E1CE-4625-84DC-7AD205A63B6B}.Release|Win32.ActiveCfg = Release|Win32 + {0F863741-E1CE-4625-84DC-7AD205A63B6B}.Release|Win32.Build.0 = Release|Win32 + {969AA8C5-1655-4CAC-A83F-F651959CAA2F}.Debug|Win32.ActiveCfg = Debug|Win32 + {969AA8C5-1655-4CAC-A83F-F651959CAA2F}.Debug|Win32.Build.0 = Debug|Win32 + {969AA8C5-1655-4CAC-A83F-F651959CAA2F}.Release|Win32.ActiveCfg = Release|Win32 + {969AA8C5-1655-4CAC-A83F-F651959CAA2F}.Release|Win32.Build.0 = Release|Win32 + {B724C127-7151-421A-8CA0-3FBA6D96D8CE}.Debug|Win32.ActiveCfg = Debug|Win32 + {B724C127-7151-421A-8CA0-3FBA6D96D8CE}.Debug|Win32.Build.0 = Debug|Win32 + {B724C127-7151-421A-8CA0-3FBA6D96D8CE}.Release|Win32.ActiveCfg = Release|Win32 + {B724C127-7151-421A-8CA0-3FBA6D96D8CE}.Release|Win32.Build.0 = Release|Win32 + {BBEA966D-9722-4CE3-B773-1AEC6E0234C3}.Debug|Win32.ActiveCfg = Debug|Win32 + {BBEA966D-9722-4CE3-B773-1AEC6E0234C3}.Debug|Win32.Build.0 = Debug|Win32 + {BBEA966D-9722-4CE3-B773-1AEC6E0234C3}.Release|Win32.ActiveCfg = Release|Win32 + {BBEA966D-9722-4CE3-B773-1AEC6E0234C3}.Release|Win32.Build.0 = Release|Win32 + {BFC7E652-7E90-441C-9BE5-F238B1912BFB}.Debug|Win32.ActiveCfg = Debug|Win32 + {BFC7E652-7E90-441C-9BE5-F238B1912BFB}.Debug|Win32.Build.0 = Debug|Win32 + {BFC7E652-7E90-441C-9BE5-F238B1912BFB}.Release|Win32.ActiveCfg = Release|Win32 + {BFC7E652-7E90-441C-9BE5-F238B1912BFB}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal -- cgit 1.4.1