diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2009-10-01 09:16:17 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2009-10-01 09:16:17 +0000 |
commit | c290df5561c78d706af9f1e0d1fb13271c37c64d (patch) | |
tree | 44f0142c4f6110c87540f3a0054162dcba642523 /shell | |
parent | d9d6bb11c0b1f9f800ae4bf3a03c798e43c2eb4c (diff) |
CWS-TOOLING: integrate CWS cmcfixes62
2009-09-22 21:19:24 +0200 cmc r276365 : #i100000# that's the most plausible explanation, -D$(CVER) is needed by scp2 under windows
2009-09-19 16:10:36 +0200 cmc r276303 : #i100000# revert this for no partically good reason
2009-09-18 14:16:47 +0200 cmc r276279 : remove extra build depend
2009-09-18 08:56:15 +0200 cmc r276265 : #i100000# rerun autoconf
2009-09-17 14:59:38 +0200 cmc r276245 : CWS-TOOLING: rebase CWS cmcfixes62 to trunk@276192 (milestone: DEV300:m59)
2009-09-10 16:40:49 +0200 pl r276041 : fix warning
2009-09-10 11:34:55 +0200 pl r276026 : disable warning from system header
2009-09-09 19:30:45 +0200 pl r276013 : use osl_getAsciiFunctionSymbol instead of strange cast
2009-09-09 19:25:32 +0200 pl r276012 : add some casting hacks to make compile on solaris cc
2009-09-09 19:10:48 +0200 pl r276009 : add missing Configure option for solaris sparce 32bit
2009-09-09 18:37:05 +0200 pl r276008 : merge fix for #i104525# into moved code
2009-09-07 13:28:08 +0200 cmc r275894 : CWS-TOOLING: rebase CWS cmcfixes62 to trunk@275801 (milestone: DEV300:m57)
2009-08-28 12:36:27 +0200 cmc r275523 : CWS-TOOLING: rebase CWS cmcfixes62 to trunk@275331 (milestone: DEV300:m56)
2009-08-26 12:56:18 +0200 cmc r275413 : #i104088# use the right headers in the right place
2009-08-25 17:07:50 +0200 cmc r275372 : #i104500# make openssl build on linux that isn't x86 or x86_64
2009-08-25 13:08:48 +0200 cmc r275347 : #i89237# pretty picswitch up
2009-08-25 10:58:09 +0200 cmc r275342 : #i104489# remove last unused code in starmath
2009-08-25 10:23:33 +0200 cmc r275338 : #i104088# clean up the define post-move
2009-08-24 13:46:57 +0200 cmc r275310 : #i104088# 64bit odbc api changes
2009-08-24 13:42:52 +0200 cmc r275309 : #i89237# unify linux platform mks under a generic parent
2009-08-24 13:19:52 +0200 cmc r275307 : #i104455# remove unused code
2009-08-24 13:10:56 +0200 cmc r275306 : #i104088# 64bit odbc api changes
2009-08-24 10:07:50 +0200 cmc r275293 : #i104306# move recent-used to vcl
2009-08-24 09:32:08 +0200 cmc r275291 : #i104306# move recent-used to vcl
2009-08-23 22:01:07 +0200 cmc r275286 : #i104306# move recently-used to vcl
2009-08-22 15:25:25 +0200 cmc r275285 : #i104088# 64bit odbc api changes
2009-08-21 17:52:40 +0200 cmc r275268 : #i104306# move recently-used to vcl
2009-08-21 14:38:26 +0200 cmc r275257 : #i104408 make these headers ready for c++0x
2009-08-21 14:20:19 +0200 cmc r275251 : #i104406# avoid overlapping strcpy to avoid bustage on recent toolchains
2009-08-21 14:14:25 +0200 cmc r275250 : #i104385# silence 64bit warnings
Diffstat (limited to 'shell')
-rw-r--r-- | shell/inc/systemshell.hxx | 53 | ||||
-rw-r--r-- | shell/prj/build.lst | 3 | ||||
-rw-r--r-- | shell/prj/d.lst | 4 | ||||
-rw-r--r-- | shell/source/aqua/sysshell/makefile.mk | 61 | ||||
-rw-r--r-- | shell/source/aqua/sysshell/systemshell.cxx | 133 | ||||
-rw-r--r-- | shell/source/os2/sysshell/makefile.mk | 47 | ||||
-rw-r--r-- | shell/source/os2/sysshell/systemshell.cxx | 68 | ||||
-rw-r--r-- | shell/source/unix/sysshell/makefile.mk | 4 | ||||
-rw-r--r-- | shell/source/unix/sysshell/recently_used_file_handler.cxx | 1 | ||||
-rw-r--r-- | shell/source/unix/sysshell/systemshell.cxx | 151 | ||||
-rw-r--r-- | shell/source/win32/sysshell/makefile.mk | 50 | ||||
-rw-r--r-- | shell/source/win32/sysshell/systemshell.cxx | 68 |
12 files changed, 0 insertions, 643 deletions
diff --git a/shell/inc/systemshell.hxx b/shell/inc/systemshell.hxx deleted file mode 100644 index fa679953e5c9..000000000000 --- a/shell/inc/systemshell.hxx +++ /dev/null @@ -1,53 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: systemshell.hxx,v $ - * $Revision: 1.5 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _SYSTEMSHELL_HXX_ -#define _SYSTEMSHELL_HXX_ - -#include <rtl/ustring.hxx> - -namespace SystemShell -{ - /** Add a file to the system shells recent document list if there is any. - This function may have no effect under Unix because there is no - standard API among the different desktop managers. - - @param aFileUrl - The file url of the document. - - @param aMimeType - The mime content type of the document specified by aFileUrl. - If an empty string will be provided "application/octet-stream" - will be used. - */ - void AddToRecentDocumentList(const rtl::OUString& aFileUrl, const rtl::OUString& aMimeType); -} - -#endif diff --git a/shell/prj/build.lst b/shell/prj/build.lst index 7a2e91f973ba..ed4fbca7e3f5 100644 --- a/shell/prj/build.lst +++ b/shell/prj/build.lst @@ -10,9 +10,6 @@ sl shell\source\cmdmail nmake - u sl_cmdmail sl sl shell\source\cmdmail nmake - p sl_cmdmail sl_inc NULL sl shell\source\all nmake - all sl_all sl_inc NULL sl shell\source\unix\sysshell nmake - u sl_unix_sysshell sl_all sl_inc NULL -sl shell\source\aqua\sysshell nmake - u sl_aqua_sysshell sl_all sl_inc NULL -sl shell\source\win32\sysshell nmake - w sl_win32_sysshell sl_inc NULL -sl shell\source\os2\sysshell nmake - p sl_os2_sysshell sl_inc NULL sl shell\source\tools\lngconvex nmake - w sl_win32_lngconv sl_inc NULL sl shell\source\tools\regsvrex nmake - w sl_win32_regsvrex sl_inc NULL sl shell\source\all\zipfile nmake - w sl_all_zipfile sl_inc NULL diff --git a/shell/prj/d.lst b/shell/prj/d.lst index 542d6c62eaa5..98d4a6215faf 100644 --- a/shell/prj/d.lst +++ b/shell/prj/d.lst @@ -1,7 +1,3 @@ -mkdir: %_DEST%\inc%_EXT%\shell - -..\inc\*.hxx %_DEST%\inc%_EXT%\shell\*.hxx - ..\%__SRC%\slb\*.lib %_DEST%\lib%_EXT%\*.lib ..\%__SRC%\slb\*.a %_DEST%\lib%_EXT%\*.a ..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT% diff --git a/shell/source/aqua/sysshell/makefile.mk b/shell/source/aqua/sysshell/makefile.mk deleted file mode 100644 index b3cf3abdec36..000000000000 --- a/shell/source/aqua/sysshell/makefile.mk +++ /dev/null @@ -1,61 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2008 by Sun Microsystems, Inc. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# $RCSfile: makefile.mk,v $ -# -# $Revision: 1.3 $ -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/.. - -PRJNAME=shell -TARGET=sysshell -LIBTARGET=NO -ENABLE_EXCEPTIONS=TRUE - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk - -CFLAGSCXX+=$(OBJCXXFLAGS) - -# --- Files -------------------------------------------------------- - -.IF "$(OS)" == "MACOSX" - -LIB1OBJFILES=$(SLO)$/systemshell.obj -LIB1TARGET=$(SLB)$/$(TARGET).lib -LIB1ARCHIV=$(SLB)$/lib$(TARGET).a - -.ELSE - -dummy: - @echo "Nothing to build for $(OS)" - -.ENDIF # MACOSX -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk diff --git a/shell/source/aqua/sysshell/systemshell.cxx b/shell/source/aqua/sysshell/systemshell.cxx deleted file mode 100644 index a9535c849f77..000000000000 --- a/shell/source/aqua/sysshell/systemshell.cxx +++ /dev/null @@ -1,133 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: systemshell.cxx,v $ - * $Revision: 1.3 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_shell.hxx" -#include "systemshell.hxx" - -#include <comphelper/processfactory.hxx> - -#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_Hpp_ -#include <com/sun/star/beans/XPropertySet.hpp> -#endif -#include <com/sun/star/lang/XMultiServiceFactory.hpp> -#include <com/sun/star/uri/XExternalUriReferenceTranslator.hpp> -#include <com/sun/star/uri/ExternalUriReferenceTranslator.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> - -#include <premac.h> -#include <Cocoa/Cocoa.h> -#include <postmac.h> - -using namespace ::com::sun::star; - -// We need to re-encode file urls because osl_getFileURLFromSystemPath converts -// to UTF-8 before encoding non ascii characters, which is not what other apps expect. -static rtl::OUString translateToExternalUrl(const rtl::OUString& internalUrl) -{ - rtl::OUString extUrl; - - uno::Reference< lang::XMultiServiceFactory > sm = comphelper::getProcessServiceFactory(); - if (sm.is()) - { - uno::Reference< beans::XPropertySet > pset; - sm->queryInterface( getCppuType( &pset )) >>= pset; - if (pset.is()) - { - uno::Reference< uno::XComponentContext > context; - static const rtl::OUString DEFAULT_CONTEXT( RTL_CONSTASCII_USTRINGPARAM( "DefaultContext" ) ); - pset->getPropertyValue(DEFAULT_CONTEXT) >>= context; - if (context.is()) - extUrl = uri::ExternalUriReferenceTranslator::create(context)->translateToExternal(internalUrl); - } - } - return extUrl; -} - -// #i104525# many versions of OSX have problems with some URLs: -// when an app requests OSX to add one of these URLs to the "Recent Items" list -// then this app gets killed (TextEdit, Preview, etc. and also OOo) -static bool isDangerousUrl( const rtl::OUString& rUrl) -{ - // use a heuristic that detects all known cases since there is no official comment - // on the exact impact and root cause of the OSX bug - const int nLen = rUrl.getLength(); - const sal_Unicode* p = rUrl.getStr(); - for( int i = 0; i < nLen-3; ++i, ++p) { - if( p[0] != '%') - continue; - // escaped percent? - if( (p[1] == '2') && (p[2] == '5')) - return true; - // escapes are considered to be UTF-8 encoded - // => check for invalid UTF-8 leading byte - if( (p[1] != 'f') && (p[1] != 'F')) - continue; - int cLowNibble = p[2]; - if( (cLowNibble >= '0') && (cLowNibble <= '9')) - return false; - if( cLowNibble >= 'a') - cLowNibble -= 'a' - 'A'; - if( (cLowNibble < 'A') || (cLowNibble >= 'C')) - return true; - } - - return false; -} - -namespace SystemShell { - - //############################## - void AddToRecentDocumentList(const rtl::OUString& aFileUrl, const rtl::OUString& /*aMimeType*/) - { - // Convert file URL for external use (see above) - rtl::OUString externalUrl = translateToExternalUrl(aFileUrl); - if( 0 == externalUrl.getLength() ) - externalUrl = aFileUrl; - - if( externalUrl.getLength() - && !isDangerousUrl( externalUrl)) - { - NSString* pString = [[NSString alloc] initWithCharacters: externalUrl.getStr() length: externalUrl.getLength()]; - NSURL* pURL = [NSURL URLWithString: pString]; - - if( pURL ) - { - NSDocumentController* pCtrl = [NSDocumentController sharedDocumentController]; - [pCtrl noteNewRecentDocumentURL: pURL]; - } - if( pString ) - [pString release]; - - } - } - -} // namespace SystemShell - diff --git a/shell/source/os2/sysshell/makefile.mk b/shell/source/os2/sysshell/makefile.mk deleted file mode 100644 index bda4958cef02..000000000000 --- a/shell/source/os2/sysshell/makefile.mk +++ /dev/null @@ -1,47 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2008 by Sun Microsystems, Inc. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# $RCSfile: makefile.mk,v $ -# -# $Revision: 1.11 $ -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/.. - -PRJNAME=SHELL -TARGET=sysshell - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk - -# --- Files -------------------------------------------------------- - -SLOFILES= $(SLO)$/systemshell.obj - -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk diff --git a/shell/source/os2/sysshell/systemshell.cxx b/shell/source/os2/sysshell/systemshell.cxx deleted file mode 100644 index c47ac86eca20..000000000000 --- a/shell/source/os2/sysshell/systemshell.cxx +++ /dev/null @@ -1,68 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: systemshell.cxx,v $ - * $Revision: 1.9 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_shell.hxx" - -#ifndef _SYSTEMSHELL_HXX_ -#include "../../../inc/systemshell.hxx" -#endif - -#ifndef _OSL_DIAGNOSE_H_ -#include <osl/diagnose.h> -#endif - -#ifndef _OSL_FILE_HXX_ -#include <osl/file.hxx> -#endif - -namespace SystemShell -{ - - /** Add a file to the system shells recent document list if there is any. - This function may have no effect under Unix because there is no - standard API among the different desktop managers. - - @param aFileUrl - The file url of the document. - */ - void AddToRecentDocumentList(const rtl::OUString& aFileUrl, const rtl::OUString& aMimeType) - { - rtl::OUString system_path; - osl::FileBase::RC rc = osl::FileBase::getSystemPathFromFileURL(aFileUrl, system_path); - - OSL_ENSURE(osl::FileBase::E_None == rc, "Invalid file url"); - - //if (osl::FileBase::E_None == rc) - // SHAddToRecentDocs(SHARD_PATHW, system_path.getStr()); - } - -}; // end namespace SystemShell - diff --git a/shell/source/unix/sysshell/makefile.mk b/shell/source/unix/sysshell/makefile.mk index 8089b160fb6c..2c1ace9fe187 100644 --- a/shell/source/unix/sysshell/makefile.mk +++ b/shell/source/unix/sysshell/makefile.mk @@ -48,10 +48,6 @@ CFLAGS+=-DSYSTEM_EXPAT .IF "$(OS)" != "MACOSX" -LIB1OBJFILES=$(SLO)$/systemshell.obj -LIB1TARGET=$(SLB)$/$(TARGET).lib -LIB1ARCHIV=$(SLB)$/lib$(TARGET).a - SLOFILES=$(SLO)$/recently_used_file.obj \ $(SLO)$/recently_used_file_handler.obj diff --git a/shell/source/unix/sysshell/recently_used_file_handler.cxx b/shell/source/unix/sysshell/recently_used_file_handler.cxx index 55f95b6e3521..faf8118d7f8d 100644 --- a/shell/source/unix/sysshell/recently_used_file_handler.cxx +++ b/shell/source/unix/sysshell/recently_used_file_handler.cxx @@ -31,7 +31,6 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_shell.hxx" -#include "systemshell.hxx" #include "osl/process.h" #include "rtl/ustring.hxx" #include "rtl/string.hxx" diff --git a/shell/source/unix/sysshell/systemshell.cxx b/shell/source/unix/sysshell/systemshell.cxx deleted file mode 100644 index 85477f12921e..000000000000 --- a/shell/source/unix/sysshell/systemshell.cxx +++ /dev/null @@ -1,151 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: systemshell.cxx,v $ - * $Revision: 1.9 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_shell.hxx" -#include "systemshell.hxx" - -#include <comphelper/processfactory.hxx> - -#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_Hpp_ -#include <com/sun/star/beans/XPropertySet.hpp> -#endif -#include <com/sun/star/lang/XMultiServiceFactory.hpp> -#include <com/sun/star/uri/XExternalUriReferenceTranslator.hpp> -#include <com/sun/star/uri/ExternalUriReferenceTranslator.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> - -#include "osl/module.hxx" - -using namespace ::com::sun::star; - -#define UNISTRING(s) rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(s)) - -const rtl::OUString SYM_ADD_TO_RECENTLY_USED_FILE_LIST = UNISTRING("add_to_recently_used_file_list"); -const rtl::OUString LIB_RECENT_FILE = UNISTRING("librecentfile.so"); -const rtl::OUString DEFAULT_CONTEXT = UNISTRING("DefaultContext"); - -void * (* sym_gtk_recent_manager_get_default) () = NULL; -void (* sym_gtk_recent_manager_add_item) (void *, const char *) = NULL; - -// We need to re-encode file urls because osl_getFileURLFromSystemPath converts -// to UTF-8 before encoding non ascii characters, which is not what other apps expect. -static rtl::OUString translateToExternalUrl(const rtl::OUString& internalUrl) -{ - rtl::OUString extUrl; - - uno::Reference< lang::XMultiServiceFactory > sm = comphelper::getProcessServiceFactory(); - if (sm.is()) - { - uno::Reference< beans::XPropertySet > pset; - sm->queryInterface( getCppuType( &pset )) >>= pset; - if (pset.is()) - { - uno::Reference< uno::XComponentContext > context; - pset->getPropertyValue(DEFAULT_CONTEXT) >>= context; - if (context.is()) - extUrl = uri::ExternalUriReferenceTranslator::create(context)->translateToExternal(internalUrl); - } - } - return extUrl; -} - -namespace SystemShell { - - typedef void (*PFUNC_ADD_TO_RECENTLY_USED_LIST)(const rtl::OUString&, const rtl::OUString&); - - //############################## - rtl::OUString get_absolute_library_url(const rtl::OUString& /*lib_name*/) - { - rtl::OUString url; - if (osl::Module::getUrlFromAddress(reinterpret_cast<oslGenericFunction>(AddToRecentDocumentList), url)) - { - sal_Int32 index = url.lastIndexOf('/'); - url = url.copy(0, index + 1); - url += LIB_RECENT_FILE; - } - return url; - } - - bool init_recent_manager_api() - { - oslModule hDefault; - if( osl_getModuleHandle( NULL, &hDefault ) ) - { - sym_gtk_recent_manager_get_default = (void * (*)()) - osl_getAsciiFunctionSymbol(hDefault, "gtk_recent_manager_get_default"); - sym_gtk_recent_manager_add_item = (void (*)(void *, const char *)) - osl_getAsciiFunctionSymbol(hDefault, "gtk_recent_manager_add_item"); - - } - bool ret = (NULL != sym_gtk_recent_manager_get_default) && (NULL != sym_gtk_recent_manager_add_item); - return ret; - } - - - //############################## - void AddToRecentDocumentList(const rtl::OUString& aFileUrl, const rtl::OUString& aMimeType) - { - static bool bIsRecentManagerPresent = init_recent_manager_api(); - - // Convert file URL for external use (see above) - rtl::OUString externalUrl = translateToExternalUrl(aFileUrl); - if( 0 == externalUrl.getLength() ) - externalUrl = aFileUrl; - - if( bIsRecentManagerPresent ) - { - void * recent_manager = sym_gtk_recent_manager_get_default(); - sym_gtk_recent_manager_add_item(recent_manager, rtl::OUStringToOString(aFileUrl, RTL_TEXTENCODING_UTF8).getStr()); - } - else - { - rtl::OUString librecentfile_url = get_absolute_library_url(LIB_RECENT_FILE); - - if (librecentfile_url.getLength()) - { - osl::Module module(librecentfile_url); - - if (module.is()) - { - // convert from reinterpret_cast<PFUNC_ADD_TO_RECENTLY_USED_LIST> - // not allowed in gcc 3.3 without permissive. - PFUNC_ADD_TO_RECENTLY_USED_LIST add_to_recently_used_file_list = - reinterpret_cast<PFUNC_ADD_TO_RECENTLY_USED_LIST>(module.getFunctionSymbol(SYM_ADD_TO_RECENTLY_USED_FILE_LIST)); - - if (add_to_recently_used_file_list) - add_to_recently_used_file_list(aFileUrl, aMimeType); - } - } - } - } - -} // namespace SystemShell - diff --git a/shell/source/win32/sysshell/makefile.mk b/shell/source/win32/sysshell/makefile.mk deleted file mode 100644 index 698566641423..000000000000 --- a/shell/source/win32/sysshell/makefile.mk +++ /dev/null @@ -1,50 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2008 by Sun Microsystems, Inc. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# $RCSfile: makefile.mk,v $ -# -# $Revision: 1.5 $ -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/.. - -PRJNAME=shell -TARGET=sysshell -LIBTARGET=NO - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk - -# --- Files -------------------------------------------------------- - -LIB1OBJFILES=$(SLO)$/systemshell.obj -LIB1TARGET= $(SLB)$/$(TARGET).lib -LIB1ARCHIV= $(SLB)$/lib$(TARGET).a - -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk diff --git a/shell/source/win32/sysshell/systemshell.cxx b/shell/source/win32/sysshell/systemshell.cxx deleted file mode 100644 index fe6409cadf22..000000000000 --- a/shell/source/win32/sysshell/systemshell.cxx +++ /dev/null @@ -1,68 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: systemshell.cxx,v $ - * $Revision: 1.6 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_shell.hxx" -#include "../../../inc/systemshell.hxx" -#include <osl/diagnose.h> -#include <osl/file.hxx> - -#if defined _MSC_VER -#pragma warning(push, 1) -#pragma warning(disable:4917) -#endif -#include <Shlobj.h> -#if defined _MSC_VER -#pragma warning(pop) -#endif - -namespace SystemShell -{ - - /** Add a file to the system shells recent document list if there is any. - This function may have no effect under Unix because there is no - standard API among the different desktop managers. - - @param aFileUrl - The file url of the document. - */ - void AddToRecentDocumentList(const rtl::OUString& aFileUrl, const rtl::OUString& /*aMimeType*/) - { - rtl::OUString system_path; - osl::FileBase::RC rc = osl::FileBase::getSystemPathFromFileURL(aFileUrl, system_path); - - OSL_ENSURE(osl::FileBase::E_None == rc, "Invalid file url"); - - if (osl::FileBase::E_None == rc) - SHAddToRecentDocs(SHARD_PATHW, system_path.getStr()); - } - -}; // end namespace SystemShell - |