diff options
Diffstat (limited to 'shell/source')
18 files changed, 64 insertions, 623 deletions
diff --git a/shell/source/aqua/sysshell/makefile.mk b/shell/source/aqua/sysshell/makefile.mk deleted file mode 100644 index b3cf3abdec..0000000000 --- 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 11d02aa921..0000000000 --- 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/backends/kdebe/makefile.mk b/shell/source/backends/kdebe/makefile.mk index 8bc0b475be..6159be6be1 100644 --- a/shell/source/backends/kdebe/makefile.mk +++ b/shell/source/backends/kdebe/makefile.mk @@ -77,11 +77,11 @@ SHL1OBJS=$(SLOFILES) SHL1DEF=$(MISC)$/$(SHL1TARGET).def SHL1IMPLIB=i$(SHL1TARGET) +SHL1LINKFLAGS+=$(KDE_LIBS) -lkio SHL1STDLIBS= \ $(CPPUHELPERLIB) \ $(CPPULIB) \ - $(SALLIB) \ - $(KDE_LIBS) -lkio + $(SALLIB) SHL1VERSIONMAP=exports.map SHL1DEF=$(MISC)$/$(SHL1TARGET).def diff --git a/shell/source/os2/sysshell/makefile.mk b/shell/source/os2/sysshell/makefile.mk deleted file mode 100644 index bda4958cef..0000000000 --- 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 09d02c6226..0000000000 --- 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/tools/lngconvex/lngconvex.cxx b/shell/source/tools/lngconvex/lngconvex.cxx index e5fa02155f..927e626a48 100644 --- a/shell/source/tools/lngconvex/lngconvex.cxx +++ b/shell/source/tools/lngconvex/lngconvex.cxx @@ -65,6 +65,7 @@ #include <sstream> #include <iterator> #include <algorithm> +#include <string> namespace /* private */ { @@ -324,6 +325,8 @@ private: iso_lang_identifier active_iso_lang_; }; +typedef std::map< unsigned short , std::string , std::less< unsigned short > > shortmap; + //########################################### void add_group_entries( Config& aConfig, @@ -334,21 +337,35 @@ void add_group_entries( aConfig.SetGroup(GroupName); size_t key_count = aConfig.GetKeyCount(); + shortmap map; for (size_t i = 0; i < key_count; i++) { ByteString iso_lang = aConfig.GetKeyName(sal::static_int_cast<USHORT>(i)); ByteString key_value_utf8 = aConfig.ReadKey(sal::static_int_cast<USHORT>(i)); + iso_lang_identifier myiso_lang( iso_lang ); + LanguageType ltype = MsLangId::convertIsoNamesToLanguage(myiso_lang.language(), myiso_lang.country()); + if( ( ltype & 0x0200 ) == 0 && map[ ltype ].empty() ) + { + Substitutor.set_language(iso_lang_identifier(iso_lang)); - Substitutor.set_language(iso_lang_identifier(iso_lang)); - - key_value_utf8.EraseLeadingAndTrailingChars('\"'); + key_value_utf8.EraseLeadingAndTrailingChars('\"'); - OUString key_value_utf16 = - rtl::OStringToOUString(key_value_utf8, RTL_TEXTENCODING_UTF8); + OUString key_value_utf16 = + rtl::OStringToOUString(key_value_utf8, RTL_TEXTENCODING_UTF8); - Substitutor.add_substitution( - GroupName.GetBuffer(), make_winrc_unicode_string(key_value_utf16)); + Substitutor.add_substitution( + GroupName.GetBuffer(), make_winrc_unicode_string(key_value_utf16)); + map[ static_cast<unsigned short>(ltype) ] = std::string( iso_lang.GetBuffer() ); + } + else + { + if( !map[ ltype ].empty() ) + { + printf("ERROR: Duplicated ms id %d found for the languages %s and %s !!!! This does not work in microsoft resources\nPlease remove one!\n", ltype , map[ ltype ].c_str() , iso_lang.GetBuffer()); + exit( -1 ); + } + } } } diff --git a/shell/source/unix/sysshell/makefile.mk b/shell/source/unix/sysshell/makefile.mk index 8089b160fb..2c1ace9fe1 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 5d79868ecc..d468a507a3 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 5dbf7b21cc..0000000000 --- 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/shlxthandler/infotips/infotips.cxx b/shell/source/win32/shlxthandler/infotips/infotips.cxx index 2b0826fa45..4ebe4c642a 100644 --- a/shell/source/win32/shlxthandler/infotips/infotips.cxx +++ b/shell/source/win32/shlxthandler/infotips/infotips.cxx @@ -45,6 +45,8 @@ #include <stdio.h> #include <utility> #include <stdlib.h> + + #define MAX_STRING 80 #define KB 1024.0 const std::wstring WSPACE = std::wstring(SPACE); diff --git a/shell/source/win32/shlxthandler/makefile.mk b/shell/source/win32/shlxthandler/makefile.mk index 07eea87f02..479f8c0b6c 100644 --- a/shell/source/win32/shlxthandler/makefile.mk +++ b/shell/source/win32/shlxthandler/makefile.mk @@ -1,7 +1,7 @@ #************************************************************************* # # 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 @@ -123,17 +123,17 @@ SHL1STDLIBS_X64+=\ $(SHELL32LIB_X64)\ $(KERNEL32LIB_X64)\ $(GDI32LIB_X64)\ - $(MSVCRT_X64) \ - $(MSVCPRT_X64) \ $(USER32LIB_X64) \ - $(OLDNAMESLIB_X64) \ - $(GDIPLUSLIB_X64) + $(GDIPLUSLIB_X64) \ + $(MSVCRT_X64) \ + $(MSVCPRT_X64) \ + $(OLDNAMESLIB_X64) SHL1LIBS_X64+=$(SLB_X64)$/util.lib\ $(SLB_X64)$/ooofilereader.lib SHL1OBJS_X64=$(SLOFILES_X64) SHL1DEF_X64=$(MISC_X64)$/$(SHL1TARGET).def -SHL1RES_X64=$(RES_X64)$/$(TARGET)_x64.res +SHL1RES_X64=$(RES_X64)$/$(TARGET).res DEF1NAME_X64=$(SHL1TARGET_X64) DEF1EXPORTFILE_X64=exports.dxp @@ -144,3 +144,4 @@ DEF1EXPORTFILE_X64=exports.dxp .INCLUDE : set_wntx64.mk .INCLUDE : target.mk .INCLUDE : tg_wntx64.mk + diff --git a/shell/source/win32/shlxthandler/ooofilt/proxy/ooofiltproxy.cxx b/shell/source/win32/shlxthandler/ooofilt/proxy/ooofiltproxy.cxx index b3bbe22964..4836eb34bb 100644 --- a/shell/source/win32/shlxthandler/ooofilt/proxy/ooofiltproxy.cxx +++ b/shell/source/win32/shlxthandler/ooofilt/proxy/ooofiltproxy.cxx @@ -42,6 +42,7 @@ #ifdef __MINGW32__ #include <basetyps.h> #endif +#include "internal/config.hxx" /* @@ -87,8 +88,9 @@ void Init() { TCHAR buff[MAX_PATH]; GetModuleFileName(hThisLibrary, buff, (sizeof(buff)/sizeof(TCHAR))); - PathTruncateFileName(buff); - lstrcat(buff, TEXT("ooofilt.dll")); + PathTruncateFileName(buff); + + lstrcat(buff, MODULE_NAME_FILTER); hOoofilt = LoadLibraryEx(buff, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); diff --git a/shell/source/win32/shlxthandler/propsheets/propsheets.cxx b/shell/source/win32/shlxthandler/propsheets/propsheets.cxx index c901c7be42..7172fa8348 100644 --- a/shell/source/win32/shlxthandler/propsheets/propsheets.cxx +++ b/shell/source/win32/shlxthandler/propsheets/propsheets.cxx @@ -177,7 +177,6 @@ HRESULT STDMETHODCALLTYPE CPropertySheet::Initialize( HRESULT STDMETHODCALLTYPE CPropertySheet::AddPages(LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam) { - PROPSHEETPAGE psp; // add the summary property page @@ -309,7 +308,6 @@ BOOL CALLBACK CPropertySheet::PropPageStatisticsProc(HWND hwnd, UINT uiMsg, WPAR //################################## void CPropertySheet::InitPropPageSummary(HWND hwnd, LPPROPSHEETPAGE /*lppsp*/) { - CMetaInfoReader metaInfo(m_szFileName); SetWindowText(GetDlgItem(hwnd,IDC_TITLE), metaInfo.getTagData( META_INFO_TITLE ).c_str() ); @@ -335,7 +333,6 @@ void CPropertySheet::InitPropPageSummary(HWND hwnd, LPPROPSHEETPAGE /*lppsp*/) */ void CPropertySheet::InitPropPageStatistics(HWND hwnd, LPPROPSHEETPAGE /*lppsp*/) { - CMetaInfoReader metaInfo(m_szFileName); document_statistic_reader_ptr doc_stat_reader = create_document_statistic_reader(m_szFileName, &metaInfo); diff --git a/shell/source/win32/shlxthandler/res/makefile.mk b/shell/source/win32/shlxthandler/res/makefile.mk index 08893506b2..8f8c776383 100644 --- a/shell/source/win32/shlxthandler/res/makefile.mk +++ b/shell/source/win32/shlxthandler/res/makefile.mk @@ -53,9 +53,19 @@ ULFDIR:=$(COMMONMISC)$/$(TARGET) .ELSE # "$(WITH_LANG)"!="" ULFDIR:=. .ENDIF # "$(WITH_LANG)"!="" + # --- Targets ------------------------------------------------------ +.IF "$(BUILD_X64)"!="" +$(RES)$/x64$/$(TARGET).res : $(RES)$/$(TARGET).res + -$(MKDIR) $(RES)$/x64 + @@cp $< $@ +.ENDIF # "$(BUILD_X64)"!="" + +.INCLUDE : set_wntx64.mk .INCLUDE : target.mk +.INCLUDE : tg_wntx64.mk + # Generate the native Windows resource file diff --git a/shell/source/win32/shlxthandler/thumbviewer/thumbviewer.cxx b/shell/source/win32/shlxthandler/thumbviewer/thumbviewer.cxx index 9c9952e057..0c77dc22f3 100644 --- a/shell/source/win32/shlxthandler/thumbviewer/thumbviewer.cxx +++ b/shell/source/win32/shlxthandler/thumbviewer/thumbviewer.cxx @@ -30,19 +30,21 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_shell.hxx" + #include "internal/global.hxx" #ifndef INFOTIPS_HXX_INCLUDED #include "internal/thumbviewer.hxx" #endif #include "internal/shlxthdl.hxx" -#include "internal/utilities.hxx" #include "internal/registry.hxx" #include "internal/fileextensions.hxx" #include "internal/config.hxx" #include "internal/zipfile.hxx" +#include "internal/utilities.hxx" #include "internal/resource.h" + #include <stdio.h> #include <utility> #include <stdlib.h> @@ -212,15 +214,15 @@ HRESULT STDMETHODCALLTYPE StreamOnZipBuffer::Read(void *pv, ULONG cb, ULONG *pcb HRESULT STDMETHODCALLTYPE StreamOnZipBuffer::Seek(LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *) { - size_t size = ref_zip_buffer_.size(); - size_t p = 0; + __int64 size = (__int64) ref_zip_buffer_.size(); + __int64 p = 0; switch (dwOrigin) { case STREAM_SEEK_SET: break; case STREAM_SEEK_CUR: - p = pos_; + p = (__int64) pos_; break; case STREAM_SEEK_END: p = size - 1; @@ -229,10 +231,11 @@ HRESULT STDMETHODCALLTYPE StreamOnZipBuffer::Seek(LARGE_INTEGER dlibMove, DWORD HRESULT hr = STG_E_INVALIDFUNCTION; - p += dlibMove.LowPart; - if (p < size) + p += dlibMove.QuadPart; + + if ( ( p >= 0 ) && (p < size) ) { - pos_ = p; + pos_ = (size_t) p; hr = S_OK; } return hr; @@ -295,7 +298,7 @@ HRESULT STDMETHODCALLTYPE StreamOnZipBuffer::Clone(IStream **) CThumbviewer::CThumbviewer(long RefCnt) : ref_count_(RefCnt) -{ +{ InterlockedIncrement(&g_DllRefCnt); thumbnail_size_.cx = 0; @@ -468,6 +471,7 @@ HRESULT STDMETHODCALLTYPE CThumbviewer::Extract(HBITMAP *phBmpImage) } catch(std::exception&) { + OutputDebugStringFormat( "CThumbviewer Extract ERROR!\n" ); hr = E_FAIL; } return hr; diff --git a/shell/source/win32/shlxthandler/util/utilities.cxx b/shell/source/win32/shlxthandler/util/utilities.cxx index d76e0c9df7..eaffd4f023 100644 --- a/shell/source/win32/shlxthandler/util/utilities.cxx +++ b/shell/source/win32/shlxthandler/util/utilities.cxx @@ -32,12 +32,9 @@ #include "precompiled_shell.hxx" -#include "internal/utilities.hxx" #include "internal/config.hxx" #include "internal/dbgmacros.hxx" - - - +#include "internal/utilities.hxx" //----------------------------- // constants @@ -87,15 +84,9 @@ std::wstring GetResString(int ResId) { wchar_t szResStr[MAX_RES_STRING]; - #if OSL_DEBUG_LEVEL > 0 - int rc = - #endif - LoadStringW( - GetModuleHandleW(MODULE_NAME), - ResId, - szResStr, - sizeof(szResStr)); + int rc = LoadStringW( GetModuleHandleW(MODULE_NAME), ResId, szResStr, sizeof(szResStr) ); + OutputDebugStringFormat( "GetResString: read %d chars\n", rc ); ENSURE(rc, "String resource not found"); return std::wstring(szResStr); diff --git a/shell/source/win32/sysshell/makefile.mk b/shell/source/win32/sysshell/makefile.mk deleted file mode 100644 index 6985666414..0000000000 --- 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 2c2c01476a..0000000000 --- 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 - |