mirror of
https://github.com/hexchat/hexchat.git
synced 2024-11-10 05:02:50 +01:00
split dirent.h and more xtray support
This commit is contained in:
parent
1effb26d5f
commit
e26a1c5f7a
@ -61,7 +61,7 @@ copy ..\plugins\python\xcpython.dll %XCHAT_DEST%\plugins
|
||||
copy ..\plugins\tcl\xctcl.dll %XCHAT_DEST%\plugins
|
||||
copy ..\plugins\upd\xcupd.dll %XCHAT_DEST%\plugins
|
||||
::copy ..\plugins\xdcc\xcxdcc.dll %XCHAT_DEST%\plugins
|
||||
::copy ..\plugins\xtray\xtray.dll %XCHAT_DEST%\plugins
|
||||
copy ..\plugins\xtray\xtray.dll %XCHAT_DEST%\plugins
|
||||
copy ..\plugins\winamp\xcwinamp.dll %XCHAT_DEST%\plugins
|
||||
copy %DEPS_ROOT%\bin\lua51.dll %XCHAT_DEST%
|
||||
pause
|
||||
|
@ -1,7 +1,9 @@
|
||||
include "..\..\src\makeinc.mak"
|
||||
|
||||
DIRENTLIB = ..\..\src\common\dirent.lib
|
||||
|
||||
all: lua.obj lua.def
|
||||
link $(LDFLAGS) $(LIBS) /dll /out:xclua.dll $(LUALIB).lib /def:lua.def lua.obj
|
||||
link $(LDFLAGS) $(LIBS) /dll /out:xclua.dll $(LUALIB).lib $(DIRENTLIB) /def:lua.def lua.obj
|
||||
|
||||
lua.def:
|
||||
echo EXPORTS > lua.def
|
||||
|
@ -1,5 +1,6 @@
|
||||
include "..\..\src\makeinc.mak"
|
||||
|
||||
DIRENTLIB = ..\..\src\common\dirent.lib
|
||||
TARGET = $(PYTHONOUTPUT)
|
||||
|
||||
all: $(TARGET)
|
||||
@ -14,7 +15,7 @@ python.obj: python.c
|
||||
$(CC) $(CFLAGS) /I.. /Dusleep=_sleep /DPATH_MAX=255 python.c $(GLIB) /I$(PYTHONPATH)\include /DPYTHON_DLL=\"$(PYTHONLIB).dll\"
|
||||
|
||||
$(TARGET): python.obj python.def
|
||||
$(LINK) /dll /out:$(TARGET) $(LDFLAGS) python.obj /libpath:$(PYTHONPATH)\libs $(PYTHONLIB).lib $(LIBS) /def:python.def
|
||||
$(LINK) /dll /out:$(TARGET) $(LDFLAGS) python.obj /libpath:$(PYTHONPATH)\libs $(PYTHONLIB).lib $(DIRENTLIB) $(LIBS) /def:python.def
|
||||
|
||||
clean:
|
||||
del $(TARGET)
|
||||
|
199
src/common/dirent.c
Normal file
199
src/common/dirent.c
Normal file
@ -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.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;
|
||||
}
|
@ -1,60 +1,3 @@
|
||||
/*****************************************************************************
|
||||
* 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.
|
||||
*****************************************************************************/
|
||||
#ifndef DIRENT_H
|
||||
#define DIRENT_H
|
||||
|
||||
@ -62,14 +5,12 @@
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
|
||||
|
||||
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 */
|
||||
@ -78,153 +19,10 @@ typedef struct DIR
|
||||
char patt[MAX_PATH + 3]; /* search pattern (3 = pattern + "\\*\0") */
|
||||
} DIR;
|
||||
|
||||
|
||||
/* Forward declarations */
|
||||
static DIR *opendir (const char *dirname);
|
||||
static struct dirent *readdir (DIR *dirp);
|
||||
static int closedir (DIR *dirp);
|
||||
static void rewinddir(DIR* dirp);
|
||||
|
||||
|
||||
/* 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.
|
||||
*/
|
||||
static 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.
|
||||
*/
|
||||
static 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.
|
||||
*/
|
||||
static 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.
|
||||
*/
|
||||
static 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;
|
||||
}
|
||||
|
||||
DIR *opendir (const char *dirname);
|
||||
struct dirent *readdir (DIR *dirp);
|
||||
int closedir (DIR *dirp);
|
||||
void rewinddir(DIR* dirp);
|
||||
|
||||
#endif /*DIRENT_H*/
|
||||
|
@ -5,6 +5,7 @@ cfgfiles.obj \
|
||||
chanopt.obj \
|
||||
ctcp.obj \
|
||||
dcc.obj \
|
||||
dirent.obj \
|
||||
history.obj \
|
||||
ignore.obj \
|
||||
inbound.obj \
|
||||
@ -14,7 +15,6 @@ notify.obj \
|
||||
outbound.obj \
|
||||
plugin.obj \
|
||||
plugin-timer.obj \
|
||||
portable.obj \
|
||||
proto-irc.obj \
|
||||
server.obj \
|
||||
servlist.obj \
|
||||
@ -25,16 +25,21 @@ tree.obj \
|
||||
url.obj \
|
||||
userlist.obj \
|
||||
util.obj \
|
||||
wdkutil.obj \
|
||||
xchat.obj
|
||||
|
||||
all: $(COMMON_OBJECTS) xchatcommon.lib
|
||||
all: $(COMMON_OBJECTS) xchatcommon.lib dirent.lib
|
||||
|
||||
xchatcommon.lib: $(COMMON_OBJECTS)
|
||||
lib /nologo /out:xchatcommon.lib $(COMMON_OBJECTS)
|
||||
|
||||
dirent.lib: dirent.obj
|
||||
lib /nologo /out:dirent.lib dirent.obj
|
||||
|
||||
.c.obj::
|
||||
$(CC) $(CFLAGS) $(GLIB) $<
|
||||
|
||||
clean:
|
||||
@del *.obj
|
||||
@del xchatcommon.lib
|
||||
@del dirent.lib
|
||||
|
@ -12,3 +12,16 @@ portable_mode ()
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
xtray_mode ()
|
||||
{
|
||||
if ((_access( "plugins/xtray.dll", 0 )) != -1)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
@ -1 +1,2 @@
|
||||
int portable_mode ();
|
||||
int xtray_mode ();
|
130
xchat-wdk.patch
130
xchat-wdk.patch
@ -103,7 +103,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/plugins/xdcc/xdcc.c xchat-wdk/plugi
|
||||
|
||||
diff -ruN --strip-trailing-cr xchat-wdk.orig/src/common/cfgfiles.c xchat-wdk/src/common/cfgfiles.c
|
||||
--- xchat-wdk.orig/src/common/cfgfiles.c 2010-08-07 09:14:45 +0200
|
||||
+++ xchat-wdk/src/common/cfgfiles.c 2011-01-09 22:15:18 +0100
|
||||
+++ xchat-wdk/src/common/cfgfiles.c 2011-01-14 05:44:35 +0100
|
||||
@@ -17,7 +17,6 @@
|
||||
*/
|
||||
|
||||
@ -116,7 +116,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/common/cfgfiles.c xchat-wdk/src
|
||||
#include "fe.h"
|
||||
#include "text.h"
|
||||
#include "xchatc.h"
|
||||
+#include "portable.h"
|
||||
+#include "wdkutil.h"
|
||||
|
||||
-#ifdef WIN32
|
||||
-#define XCHAT_DIR "X-Chat 2"
|
||||
@ -844,12 +844,12 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/common/xchat.h xchat-wdk/src/co
|
||||
unsigned int ctcp_time_limit; /*seconds of floods */
|
||||
diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/about.c xchat-wdk/src/fe-gtk/about.c
|
||||
--- xchat-wdk.orig/src/fe-gtk/about.c 2010-05-16 09:43:49 +0200
|
||||
+++ xchat-wdk/src/fe-gtk/about.c 2011-01-13 02:40:11 +0100
|
||||
+++ xchat-wdk/src/fe-gtk/about.c 2011-01-14 05:44:48 +0100
|
||||
@@ -39,6 +39,7 @@
|
||||
|
||||
#include "../common/xchat.h"
|
||||
#include "../common/util.h"
|
||||
+#include "../common/portable.h"
|
||||
+#include "../common/wdkutil.h"
|
||||
#include "palette.h"
|
||||
#include "pixmaps.h"
|
||||
#include "gtkutil.h"
|
||||
@ -1491,8 +1491,16 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/joind.c xchat-wdk/src/fe
|
||||
|
||||
diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/maingui.c xchat-wdk/src/fe-gtk/maingui.c
|
||||
--- xchat-wdk.orig/src/fe-gtk/maingui.c 2010-12-28 04:16:34 +0100
|
||||
+++ xchat-wdk/src/fe-gtk/maingui.c 2010-12-28 14:57:33 +0100
|
||||
@@ -214,60 +214,10 @@
|
||||
+++ xchat-wdk/src/fe-gtk/maingui.c 2011-01-14 06:24:27 +0100
|
||||
@@ -53,6 +53,7 @@
|
||||
#include "../common/plugin.h"
|
||||
#include "../common/modes.h"
|
||||
#include "../common/url.h"
|
||||
+#include "../common/wdkutil.h"
|
||||
#include "fe-gtk.h"
|
||||
#include "banlist.h"
|
||||
#include "gtkutil.h"
|
||||
@@ -214,60 +215,10 @@
|
||||
away_list = mg_attr_list_create (&colors[COL_AWAY], FALSE);
|
||||
}
|
||||
|
||||
@ -1554,7 +1562,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/maingui.c xchat-wdk/src/
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -281,18 +231,14 @@
|
||||
@@ -281,18 +232,14 @@
|
||||
{
|
||||
set_window_urgency (win, FALSE);
|
||||
}
|
||||
@ -1573,7 +1581,16 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/maingui.c xchat-wdk/src/
|
||||
}
|
||||
|
||||
/* set a tab plain, red, light-red, or blue */
|
||||
@@ -2972,11 +2918,7 @@
|
||||
@@ -1334,7 +1281,7 @@
|
||||
gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1),
|
||||
GTK_BUTTONBOX_END);
|
||||
|
||||
- if (minimize_button)
|
||||
+ if (minimize_button && !xtray_mode ())
|
||||
{
|
||||
button = gtk_button_new_with_mnemonic (_("_Minimize to Tray"));
|
||||
gtk_widget_show (button);
|
||||
@@ -2972,11 +2919,7 @@
|
||||
gtk_xtext_check_marker_visibility (GTK_XTEXT (current_sess->gui->xtext));
|
||||
plugin_emit_dummy_print (current_sess, "Focus Window");
|
||||
}
|
||||
@ -1585,7 +1602,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/maingui.c xchat-wdk/src/
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -2987,11 +2929,7 @@
|
||||
@@ -2987,11 +2930,7 @@
|
||||
if (!sess->server->server_session)
|
||||
sess->server->server_session = sess;
|
||||
gtk_xtext_check_marker_visibility(GTK_XTEXT (current_sess->gui->xtext));
|
||||
@ -1653,8 +1670,8 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/palette.c xchat-wdk/src/
|
||||
#include <fcntl.h>
|
||||
diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/plugin-tray.c xchat-wdk/src/fe-gtk/plugin-tray.c
|
||||
--- xchat-wdk.orig/src/fe-gtk/plugin-tray.c 2010-11-16 09:26:23 +0100
|
||||
+++ xchat-wdk/src/fe-gtk/plugin-tray.c 2011-01-11 00:16:30 +0100
|
||||
@@ -1,8 +1,7 @@
|
||||
+++ xchat-wdk/src/fe-gtk/plugin-tray.c 2011-01-14 05:52:36 +0100
|
||||
@@ -1,14 +1,14 @@
|
||||
/* Copyright (C) 2006-2007 Peter Zelezny. */
|
||||
|
||||
#include <string.h>
|
||||
@ -1664,7 +1681,14 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/plugin-tray.c xchat-wdk/
|
||||
#include "../common/xchat.h"
|
||||
#include "../common/xchatc.h"
|
||||
#include "../common/inbound.h"
|
||||
@@ -297,10 +296,10 @@
|
||||
#include "../common/server.h"
|
||||
#include "../common/fe.h"
|
||||
#include "../common/util.h"
|
||||
+#include "../common/wdkutil.h"
|
||||
#include "fe-gtk.h"
|
||||
#include "pixmaps.h"
|
||||
#include "maingui.h"
|
||||
@@ -297,10 +297,10 @@
|
||||
nets = tray_count_networks ();
|
||||
chans = tray_count_channels ();
|
||||
if (nets)
|
||||
@ -1677,7 +1701,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/plugin-tray.c xchat-wdk/
|
||||
}
|
||||
|
||||
if (custom_icon1)
|
||||
@@ -450,7 +449,7 @@
|
||||
@@ -450,7 +450,7 @@
|
||||
/* ph may have an invalid context now */
|
||||
xchat_set_context (ph, xchat_find_context (ph, NULL, NULL));
|
||||
|
||||
@ -1686,7 +1710,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/plugin-tray.c xchat-wdk/
|
||||
|
||||
tray_stop_flash ();
|
||||
tray_reset_counts ();
|
||||
@@ -585,11 +584,12 @@
|
||||
@@ -585,11 +585,12 @@
|
||||
/*gtk_menu_set_screen (GTK_MENU (menu), gtk_widget_get_screen (widget));*/
|
||||
|
||||
if (tray_get_window_status () == WS_HIDDEN)
|
||||
@ -1701,7 +1725,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/plugin-tray.c xchat-wdk/
|
||||
submenu = mg_submenu (menu, _("_Blink on"));
|
||||
blink_item (&prefs.input_tray_chans, submenu, _("Channel Message"));
|
||||
blink_item (&prefs.input_tray_priv, submenu, _("Private Message"));
|
||||
@@ -606,6 +606,7 @@
|
||||
@@ -606,6 +607,7 @@
|
||||
gtk_widget_set_sensitive (item, FALSE);
|
||||
|
||||
tray_make_item (menu, NULL, tray_menu_quit_cb, NULL);
|
||||
@ -1709,7 +1733,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/plugin-tray.c xchat-wdk/
|
||||
mg_create_icon_item (_("_Quit"), GTK_STOCK_QUIT, menu, tray_menu_quit_cb, NULL);
|
||||
|
||||
menu_add_plugin_items (menu, "\x5$TRAY", NULL);
|
||||
@@ -631,8 +632,8 @@
|
||||
@@ -631,8 +633,8 @@
|
||||
sticon = gtk_status_icon_new_from_pixbuf (ICON_NORMAL);
|
||||
if (!sticon)
|
||||
return;
|
||||
@ -1720,7 +1744,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/plugin-tray.c xchat-wdk/
|
||||
g_signal_connect (G_OBJECT (sticon), "activate",
|
||||
G_CALLBACK (tray_menu_restore_cb), NULL);
|
||||
}
|
||||
@@ -650,15 +651,15 @@
|
||||
@@ -650,15 +652,15 @@
|
||||
/* FIXME: hides any previous private messages */
|
||||
tray_hilight_count++;
|
||||
if (tray_hilight_count == 1)
|
||||
@ -1739,7 +1763,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/plugin-tray.c xchat-wdk/
|
||||
word[1], xchat_get_info (ph, "channel"));
|
||||
|
||||
return XCHAT_EAT_NONE;
|
||||
@@ -676,14 +677,14 @@
|
||||
@@ -676,14 +678,14 @@
|
||||
|
||||
tray_pub_count++;
|
||||
if (tray_pub_count == 1)
|
||||
@ -1757,7 +1781,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/plugin-tray.c xchat-wdk/
|
||||
word[1], xchat_get_info (ph, "channel"));
|
||||
|
||||
return XCHAT_EAT_NONE;
|
||||
@@ -705,14 +706,14 @@
|
||||
@@ -705,14 +707,14 @@
|
||||
|
||||
tray_priv_count++;
|
||||
if (tray_priv_count == 1)
|
||||
@ -1775,7 +1799,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/plugin-tray.c xchat-wdk/
|
||||
from, network);
|
||||
}
|
||||
|
||||
@@ -758,15 +759,15 @@
|
||||
@@ -758,15 +760,15 @@
|
||||
|
||||
tray_file_count++;
|
||||
if (tray_file_count == 1)
|
||||
@ -1794,6 +1818,24 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/plugin-tray.c xchat-wdk/
|
||||
word[1], network);
|
||||
|
||||
return XCHAT_EAT_NONE;
|
||||
@@ -802,7 +804,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if (prefs.gui_tray)
|
||||
+ if (prefs.gui_tray && !xtray_mode ())
|
||||
tray_init ();
|
||||
}
|
||||
}
|
||||
@@ -834,7 +836,7 @@
|
||||
|
||||
xchat_hook_print (ph, "Focus Window", -1, tray_focus_cb, NULL);
|
||||
|
||||
- if (prefs.gui_tray)
|
||||
+ if (prefs.gui_tray && !xtray_mode ())
|
||||
tray_init ();
|
||||
|
||||
return 1; /* return 1 for success */
|
||||
diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/plugingui.c xchat-wdk/src/fe-gtk/plugingui.c
|
||||
--- xchat-wdk.orig/src/fe-gtk/plugingui.c 2010-05-16 05:20:22 +0200
|
||||
+++ xchat-wdk/src/fe-gtk/plugingui.c 2010-12-28 14:57:33 +0100
|
||||
@ -1854,7 +1896,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/servlistgui.c xchat-wdk/
|
||||
gtk_box_set_spacing (GTK_BOX (vbuttonbox2), 3);
|
||||
diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/setup.c xchat-wdk/src/fe-gtk/setup.c
|
||||
--- xchat-wdk.orig/src/fe-gtk/setup.c 2008-02-08 10:04:45 +0100
|
||||
+++ xchat-wdk/src/fe-gtk/setup.c 2011-01-10 06:58:17 +0100
|
||||
+++ xchat-wdk/src/fe-gtk/setup.c 2011-01-14 06:37:24 +0100
|
||||
@@ -109,19 +109,32 @@
|
||||
N_("Give each person on IRC a different color"),0,0},
|
||||
{ST_TOGGLR, N_("Indent nick names"), P_OFFINTNL(indent_nicks),
|
||||
@ -1892,7 +1934,32 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/setup.c xchat-wdk/src/fe
|
||||
{ST_END, 0, 0, 0, 0, 0}
|
||||
};
|
||||
|
||||
@@ -363,7 +376,6 @@
|
||||
@@ -348,6 +361,24 @@
|
||||
{ST_END, 0, 0, 0, 0, 0}
|
||||
};
|
||||
|
||||
+static const setting alert_settings_xtray[] =
|
||||
+{
|
||||
+ {ST_HEADER, N_("Alerts"),0,0,0},
|
||||
+
|
||||
+ {ST_ALERTHEAD},
|
||||
+ {ST_3OGGLE, N_("Blink task bar on:"), 0, 0, (void *)taskbarlist, 0},
|
||||
+ {ST_3OGGLE, N_("Make a beep sound on:"), 0, 0, (void *)beeplist, 0},
|
||||
+
|
||||
+ {ST_HEADER, N_("Highlighted Messages"),0,0,0},
|
||||
+ {ST_LABEL, N_("Highlighted messages are ones where your nickname is mentioned, but also:"), 0, 0, 0, 1},
|
||||
+
|
||||
+ {ST_ENTRY, N_("Extra words to highlight:"), P_OFFSETNL(irc_extra_hilight), 0, 0, sizeof prefs.irc_extra_hilight},
|
||||
+ {ST_ENTRY, N_("Nick names not to highlight:"), P_OFFSETNL(irc_no_hilight), 0, 0, sizeof prefs.irc_no_hilight},
|
||||
+ {ST_ENTRY, N_("Nick names to always highlight:"), P_OFFSETNL(irc_nick_hilight), 0, 0, sizeof prefs.irc_nick_hilight},
|
||||
+ {ST_LABEL, N_("Separate multiple words with commas.\nWildcards are accepted.")},
|
||||
+ {ST_END, 0, 0, 0, 0, 0}
|
||||
+};
|
||||
+
|
||||
static const setting general_settings[] =
|
||||
{
|
||||
{ST_HEADER, N_("Default Messages"),0,0,0},
|
||||
@@ -363,7 +394,6 @@
|
||||
{ST_END, 0, 0, 0, 0, 0}
|
||||
};
|
||||
|
||||
@ -1900,7 +1967,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/setup.c xchat-wdk/src/fe
|
||||
static const setting advanced_settings[] =
|
||||
{
|
||||
{ST_HEADER, N_("Advanced Settings"),0,0,0},
|
||||
@@ -378,7 +390,6 @@
|
||||
@@ -378,7 +408,6 @@
|
||||
|
||||
{ST_END, 0, 0, 0, 0, 0}
|
||||
};
|
||||
@ -1908,7 +1975,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/setup.c xchat-wdk/src/fe
|
||||
|
||||
static const setting logging_settings[] =
|
||||
{
|
||||
@@ -1708,7 +1719,7 @@
|
||||
@@ -1708,7 +1737,7 @@
|
||||
N_("General"),
|
||||
N_("Logging"),
|
||||
N_("Sound"),
|
||||
@ -1917,7 +1984,20 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/setup.c xchat-wdk/src/fe
|
||||
NULL,
|
||||
N_("Network"),
|
||||
N_("Network setup"),
|
||||
@@ -1733,6 +1744,7 @@
|
||||
@@ -1729,10 +1758,19 @@
|
||||
setup_add_page (cata[3], book, setup_create_page (userlist_settings));
|
||||
setup_add_page (cata[4], book, setup_create_page (tabs_settings));
|
||||
setup_add_page (cata[5], book, setup_create_color_page ());
|
||||
- setup_add_page (cata[8], book, setup_create_page (alert_settings));
|
||||
+
|
||||
+ if (xtray_mode ())
|
||||
+ {
|
||||
+ setup_add_page (cata[8], book, setup_create_page (alert_settings_xtray));
|
||||
+ } else
|
||||
+ {
|
||||
+ setup_add_page (cata[8], book, setup_create_page (alert_settings));
|
||||
+ }
|
||||
+
|
||||
setup_add_page (cata[9], book, setup_create_page (general_settings));
|
||||
setup_add_page (cata[10], book, setup_create_page (logging_settings));
|
||||
setup_add_page (cata[11], book, setup_create_sound_page ());
|
||||
|
Loading…
Reference in New Issue
Block a user