Merge commit 'libreoffice-3.4.0.2'

Conflicts:
	svtools/source/filter/wmf/winmtf.hxx
	tools/source/fsys/urlobj.cxx
	unotools/source/config/configmgr.cxx
	unotools/source/config/makefile.mk
	vcl/inc/vcl/cursor.hxx
	vcl/source/gdi/outdevnative.cxx
	vcl/source/window/abstdlg.cxx
	vcl/source/window/toolbox.cxx
	vcl/unx/generic/printer/ppdparser.cxx
	vcl/unx/generic/printer/printerinfomanager.cxx
This commit is contained in:
Jan Holesovsky 2011-05-31 10:45:54 +02:00
commit ec6c98105a
15 changed files with 80 additions and 40 deletions

View file

@ -31,6 +31,11 @@
#include <i18nutil/unicode.hxx>
#include "unicode_data.h"
// Workaround for glibc braindamage:
// glibc 2.4's langinfo.h does "#define CURRENCY_SYMBOL __CURRENCY_SYMBOL"
// which (obviously) breaks UnicodeType::CURRENCY_SYMBOL
#undef CURRENCY_SYMBOL
using namespace ::com::sun::star::i18n;
static ScriptTypeList defaultTypeList[] = {

View file

@ -129,9 +129,7 @@ enum NfIndexTableOffset
NF_FRACTION_START,
NF_FRACTION_1 = NF_FRACTION_START, // # ?/?
NF_FRACTION_2, // # ??/??
NF_FRACTION_3, // # ?/4
NF_FRACTION_4, // # ??/100
NF_FRACTION_END = NF_FRACTION_4,
NF_FRACTION_END = NF_FRACTION_2,
NF_NUMERIC_END = NF_FRACTION_END,

View file

@ -2594,7 +2594,6 @@ void SvNumberFormatter::ImpGenerateFormats( sal_uInt32 CLOffset, sal_Bool bLoadi
// # ?/?
aSingleFormatCode.Code = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "# ?/?" ) );
String s25( RTL_CONSTASCII_USTRINGPARAM( "# ?/?" ) ); // # ?/?
ImpInsertFormat( aSingleFormatCode,
CLOffset + SetIndexTable( NF_FRACTION_1, ZF_STANDARD_FRACTION ));
@ -2604,14 +2603,6 @@ void SvNumberFormatter::ImpGenerateFormats( sal_uInt32 CLOffset, sal_Bool bLoadi
ImpInsertFormat( aSingleFormatCode,
CLOffset + SetIndexTable( NF_FRACTION_2, ZF_STANDARD_FRACTION+1 ));
aSingleFormatCode.Code = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "# ?/4" ) );
ImpInsertFormat( aSingleFormatCode,
CLOffset + SetIndexTable( NF_FRACTION_3, ZF_STANDARD_FRACTION+2 ));
aSingleFormatCode.Code = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "# ?\?/100" ) );
ImpInsertFormat( aSingleFormatCode,
CLOffset + SetIndexTable( NF_FRACTION_4, ZF_STANDARD_FRACTION+3 ));
// Week of year must be appended here because of nNewExtended
const NfKeywordTable & rKeyword = pFormatScanner->GetKeywords();
aSingleFormatCode.Code = rKeyword[NF_KEY_WW];
@ -2630,6 +2621,18 @@ void SvNumberFormatter::ImpGenerateFormats( sal_uInt32 CLOffset, sal_Bool bLoadi
if ( !bLoadingSO5 )
ImpGenerateAdditionalFormats( CLOffset, aNumberFormatCode, sal_False );
sal_uInt32 nPos = CLOffset + pStdFormat->GetLastInsertKey();
aSingleFormatCode.Code = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "# ?/4" ) );
ImpInsertNewStandardFormat( aSingleFormatCode, nPos+1, SV_NUMBERFORMATTER_VERSION_ADDITIONAL_I18N_FORMATS );
nPos++;
aSingleFormatCode.Code = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "# ?\?/100" ) );
ImpInsertNewStandardFormat( aSingleFormatCode, nPos+1, SV_NUMBERFORMATTER_VERSION_ADDITIONAL_I18N_FORMATS );
nPos++;
pStdFormat->SetLastInsertKey( (sal_uInt16)(nPos - CLOffset) );
if (bOldConvertMode)
pFormatScanner->SetConvertMode(sal_True);
}

View file

@ -47,6 +47,7 @@
#define FILEVIEW_SHOW_SIZE 0x0020
#define FILEVIEW_SHOW_DATE 0x0040
#define FILEVIEW_SHOW_ALL 0x0070
#define FILEVIEW_SHOW_NONE 0x00A0
class ViewTabListBox_Impl;
class SvtFileView_Impl;
@ -80,6 +81,7 @@ class SVT_DLLPUBLIC SvtFileView : public Control
{
private:
SvtFileView_Impl* mpImp;
sal_Bool bSortColumn;
::com::sun::star::uno::Sequence< ::rtl::OUString > mpBlackList;
@ -108,6 +110,8 @@ public:
void SetSizePixel( const Size& rNewSize );
using Window::SetPosSizePixel;
virtual void SetPosSizePixel( const Point& rNewPos, const Size& rNewSize );
void SetSortColumn( sal_Bool bValue ) { bSortColumn = bValue; }
sal_Bool GetSortColumn() { return bSortColumn; }
/** initialize the view with the content of a folder given by URL, and aply an immediate filter

View file

@ -98,6 +98,8 @@ using ::rtl::OUString;
#define COLUMN_SIZE 3
#define COLUMN_DATE 4
#define aSeparatorStr "----------------------------------"
#define ROW_HEIGHT 17 // the height of a row has to be a little higher than the bitmap
#define QUICK_SEARCH_TIMEOUT 1500 // time in mSec before the quicksearch string will be reseted
@ -724,6 +726,7 @@ ViewTabListBox_Impl::ViewTabListBox_Impl( Window* pParentWin,
mbEnableRename ( sal_True )
{
sal_Bool bViewHeader = true;
Size aBoxSize = pParentWin->GetSizePixel();
mpHeaderBar = new HeaderBar( pParentWin, WB_BUTTONSTYLE | WB_BOTTOMBORDER );
mpHeaderBar->SetPosSizePixel( Point( 0, 0 ), mpHeaderBar->CalcWindowSizePixel() );
@ -736,6 +739,8 @@ ViewTabListBox_Impl::ViewTabListBox_Impl( Window* pParentWin,
mpHeaderBar->InsertItem( COLUMN_SIZE, String( SvtResId( STR_SVT_FILEVIEW_COLUMN_SIZE ) ), 80, nBits );
mpHeaderBar->InsertItem( COLUMN_DATE, String( SvtResId( STR_SVT_FILEVIEW_COLUMN_DATE ) ), 500, nBits );
}
if( ( nFlags & FILEVIEW_SHOW_NONE ) == FILEVIEW_SHOW_NONE )
bViewHeader = false;
else
mpHeaderBar->InsertItem( COLUMN_TITLE, String( SvtResId( STR_SVT_FILEVIEW_COLUMN_TITLE ) ), 600, nBits );
@ -747,7 +752,8 @@ ViewTabListBox_Impl::ViewTabListBox_Impl( Window* pParentWin,
SetEntryHeight( ROW_HEIGHT );
Show();
mpHeaderBar->Show();
if( bViewHeader )
mpHeaderBar->Show();
maResetQuickSearch.SetTimeout( QUICK_SEARCH_TIMEOUT );
maResetQuickSearch.SetTimeoutHdl( LINK( this, ViewTabListBox_Impl, ResetQuickSearch_Impl ) );
@ -1219,6 +1225,7 @@ SvtFileView::SvtFileView( Window* pParent, const ResId& rResId,
mpImp = new SvtFileView_Impl( this, xCmdEnv, nFlags, bOnlyFolder );
mpImp->mpView->ForbidEmptyText();
SetSortColumn( true );
long pTabs[] = { 5, 20, 180, 320, 400, 600 };
mpImp->mpView->SetTabs( &pTabs[0], MAP_PIXEL );
@ -1241,6 +1248,7 @@ SvtFileView::SvtFileView( Window* pParent, const ResId& rResId, sal_Int8 nFlags
Reference < XCommandEnvironment > xCmdEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler, Reference< XProgressHandler >() );
mpImp = new SvtFileView_Impl( this, xCmdEnv, nFlags,
( nFlags & FILEVIEW_ONLYFOLDER ) == FILEVIEW_ONLYFOLDER );
SetSortColumn( true );
if ( ( nFlags & FILEVIEW_SHOW_ALL ) == FILEVIEW_SHOW_ALL )
{
@ -1254,7 +1262,8 @@ SvtFileView::SvtFileView( Window* pParent, const ResId& rResId, sal_Int8 nFlags
long pTabs[] = { 2, 20, 600 };
mpImp->mpView->SetTabs( &pTabs[0], MAP_PIXEL );
}
if ( ( nFlags & FILEVIEW_SHOW_NONE ) == FILEVIEW_SHOW_NONE )
SetSortColumn( false );
if ( ( nFlags & FILEVIEW_MULTISELECTION ) == FILEVIEW_MULTISELECTION )
mpImp->mpView->SetSelectionMode( MULTIPLE_SELECTION );
@ -1512,7 +1521,8 @@ sal_Bool SvtFileView::Initialize( const Sequence< OUString >& aContents )
mpImp->Clear();
mpImp->CreateVector_Impl( aContents );
mpImp->SortFolderContent_Impl();
if( GetSortColumn() )
mpImp->SortFolderContent_Impl();
mpImp->OpenFolder_Impl();
@ -2416,9 +2426,11 @@ void SvtFileView_Impl::CreateVector_Impl( const Sequence < OUString > &rList )
pEntry->maDisplayText = aDisplayText;
// detect the image
INetURLObject aObj( pEntry->maImageURL.getLength() ? pEntry->maImageURL : pEntry->maTargetURL );
pEntry->maImage = SvFileInformationManager::GetImage( aObj, sal_False );
if( aValue != rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(aSeparatorStr) ) )
{
INetURLObject aObj( pEntry->maImageURL.getLength() ? pEntry->maImageURL : pEntry->maTargetURL );
pEntry->maImage = SvFileInformationManager::GetImage( aObj, sal_False );
}
maContent.push_back( pEntry );
}
}

View file

@ -100,6 +100,7 @@ using namespace ::com::sun::star::view;
using namespace svtools;
extern ::rtl::OUString CreateExactSizeText_Impl( sal_Int64 nSize ); // fileview.cxx
#define aSeparatorStr "----------------------------------"
#define SPLITSET_ID 0
#define COLSET_ID 1
@ -594,7 +595,7 @@ SvtFileViewWindow_Impl::SvtFileViewWindow_Impl( SvtTemplateWindow* pParent ) :
Window( pParent, WB_DIALOGCONTROL | WB_TABSTOP | WB_BORDER | WB_3DLOOK ),
rParent ( *pParent ),
aFileView ( this, SvtResId( CTRL_FILEVIEW ), FILEVIEW_SHOW_TITLE ),
aFileView ( this, SvtResId( CTRL_FILEVIEW ), FILEVIEW_SHOW_NONE ),
bIsTemplateFolder ( sal_False )
{
@ -651,9 +652,14 @@ Sequence< ::rtl::OUString > SvtFileViewWindow_Impl::GetNewDocContents() const
for ( i = 0; i < nCount; ++i )
{
GetMenuEntry_Impl( aDynamicMenuEntries[i], aTitle, aURL, aTargetFrame, aImageURL );
if ( aURL == sSeparator || aURL == sSlotURL )
if( aURL == sSlotURL )
continue;
if( aURL == sSeparator )
{
String aSeparator( ASCII_STR( aSeparatorStr ) );
::rtl::OUString* pSeparator = new ::rtl::OUString( aSeparator );
aNewDocs.push_back( pSeparator );
}
else
{
// title

View file

@ -1838,6 +1838,7 @@ void TabBar::InsertPage( sal_uInt16 nPageId, const XubString& rText,
} else {
mpItemList->push_back( pItem );
}
mbSizeFormat = sal_True;
// CurPageId gegebenenfalls setzen
if ( !mnCurPageId )

View file

@ -2165,6 +2165,7 @@ INetURLObject::getPrefix(sal_Unicode const *& rBegin,
INET_PROT_PRIV_SOFFICE, PrefixInfo::INTERNAL },
{ "private:trashcan:", "staroffice.trashcan:",
INET_PROT_PRIV_SOFFICE, PrefixInfo::INTERNAL },
{ "sftp:", 0, INET_PROT_SFTP, PrefixInfo::OFFICIAL },
{ "slot:", "staroffice.slot:", INET_PROT_SLOT,
PrefixInfo::INTERNAL },
{ "smb:", 0, INET_PROT_SMB, PrefixInfo::OFFICIAL },
@ -2217,8 +2218,7 @@ INetURLObject::getPrefix(sal_Unicode const *& rBegin,
{ "vnd.sun.star.tdoc:", 0, INET_PROT_VND_SUN_STAR_TDOC,
PrefixInfo::OFFICIAL },
{ "vnd.sun.star.webdav:", 0, INET_PROT_VND_SUN_STAR_WEBDAV,
PrefixInfo::OFFICIAL },
{ "sftp:", 0, INET_PROT_SFTP, PrefixInfo::OFFICIAL } };
PrefixInfo::OFFICIAL } };
/* This list needs to be sorted, or you'll introduce serious bugs */
PrefixInfo const * pFirst = aMap + 1;

View file

@ -55,6 +55,9 @@ namespace utl
/// retrieve the product key; uses the given default, if not found
static rtl::OUString getProductKey(rtl::OUString const& _sDefault);
/// retrieve the product version
static rtl::OUString getProductVersion();
/// retrieve the product source (MWS name)
static ::rtl::OUString getProductSource(rtl::OUString const& _sDefault);

View file

@ -53,6 +53,7 @@
#define BOOTSTRAP_DATA_NAME SAL_CONFIGFILE("bootstrap")
#define BOOTSTRAP_ITEM_PRODUCT_KEY "ProductKey"
#define BOOTSTRAP_ITEM_PRODUCT_VERSION "OOOBaseVersion"
#define BOOTSTRAP_ITEM_PRODUCT_SOURCE "ProductSource"
#define BOOTSTRAP_ITEM_VERSIONFILE "Location"
#define BOOTSTRAP_ITEM_BUILDID "buildid"
@ -647,6 +648,14 @@ OUString Bootstrap::getProductKey(OUString const& _sDefault)
}
// ---------------------------------------------------------------------------------------
OUString Bootstrap::getProductVersion()
{
// read OOOBaseVersion from version.ini (versionrc)
OUString sVersion;
data().getVersionValue( OUString( RTL_CONSTASCII_USTRINGPARAM( BOOTSTRAP_ITEM_PRODUCT_VERSION ) ), sVersion, OUString() );
return sVersion;
}
OUString Bootstrap::getProductSource(OUString const& _sDefault)
{
OUString const csProductSourceItem(RTL_CONSTASCII_USTRINGPARAM(BOOTSTRAP_ITEM_PRODUCT_SOURCE));
@ -670,6 +679,7 @@ OUString Bootstrap::getBuildIdData(OUString const& _sDefault)
sBuildId = data().getBootstrapValue( csBuildIdItem, _sDefault );
return sBuildId;
}
// ---------------------------------------------------------------------------------------
OUString Bootstrap::getAllUsersValue(OUString const& _sDefault)

View file

@ -38,7 +38,6 @@
#include <com/sun/star/container/XNameContainer.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <osl/diagnose.h>
#include <i18npool/mslangid.hxx>
#include <rtl/bootstrap.hxx>
#include <rtl/instance.hxx>
#if OSL_DEBUG_LEVEL > 0
@ -379,12 +378,10 @@ Any ConfigManager::GetDirectConfigProperty(ConfigProperty eProp)
Any aRet;
::rtl::OUString sBrandName;
sBrandName = BrandName::get();
if ( eProp == PRODUCTNAME && sBrandName.getLength() )
::rtl::OUString &rBrandName = BrandName::get();
if ( eProp == PRODUCTNAME && rBrandName.getLength() )
{
aRet <<= sBrandName;
aRet <<= rBrandName;
return aRet;
}
@ -532,7 +529,7 @@ Any ConfigManager::GetDirectConfigProperty(ConfigProperty eProp)
}
if ( eProp == PRODUCTNAME )
aRet >>= sBrandName;
aRet >>= rBrandName;
if ( eProp == PRODUCTXMLFILEFORMATNAME )
aRet >>= rXMLFileFormatName;

View file

@ -1520,7 +1520,7 @@ void PushButton::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize,
else
aStyleSettings.SetFaceColor( GetSettings().GetStyleSettings().GetFaceColor() );
aSettings.SetStyleSettings( aStyleSettings );
pDev->SetSettings( aSettings );
pDev->OutputDevice::SetSettings( aSettings );
}
pDev->SetTextFillColor();

View file

@ -42,7 +42,8 @@ VclAbstractDialogFactory* VclAbstractDialogFactory::Create()
{
FuncPtrCreateDialogFactory fp = 0;
static ::osl::Module aDialogLibrary;
if ( aDialogLibrary.is() || aDialogLibrary.loadRelative( &thisModule, String( RTL_CONSTASCII_USTRINGPARAM( CUI_DLL_NAME ) ) ) )
if ( aDialogLibrary.is() || aDialogLibrary.loadRelative( &thisModule, String( RTL_CONSTASCII_USTRINGPARAM( CUI_DLL_NAME ) ),
SAL_LOADMODULE_GLOBAL | SAL_LOADMODULE_LAZY ) )
fp = ( VclAbstractDialogFactory* (__LOADONCALLAPI*)() )
aDialogLibrary.getFunctionSymbol( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CreateDialogFactory")) );
if ( fp )

View file

@ -501,7 +501,7 @@ void PPDParser::initPPDFiles()
INetURLObject aDir( aExe );
aDir.removeSegment();
#ifdef DEBUG
fprintf( stderr, "scanning last chance dir: %s\n", OUStringToOString( aDir.GetMainURL( INetURLObject::NO_DECODE ), osl_getThreadTextEncoding() ).getStr() );
fprintf( stderr, "scanning last chance dir: %s\n", rtl::OUStringToOString( aDir.GetMainURL( INetURLObject::NO_DECODE ), osl_getThreadTextEncoding() ).getStr() );
#endif
scanPPDDir( aDir.GetMainURL( INetURLObject::NO_DECODE ) );
#ifdef DEBUG

View file

@ -269,7 +269,7 @@ void PrinterInfoManager::initialize()
if( aConfig.HasGroup( GLOBAL_DEFAULTS_GROUP ) )
{
#if OSL_DEBUG_LEVEL > 1
fprintf( stderr, "found global defaults in %s\n", OUStringToOString( aFile.PathToFileName(), RTL_TEXTENCODING_ISO_8859_1 ).getStr() );
fprintf( stderr, "found global defaults in %s\n", rtl::OUStringToOString( aFile.PathToFileName(), RTL_TEXTENCODING_ISO_8859_1 ).getStr() );
#endif
aConfig.SetGroup( GLOBAL_DEFAULTS_GROUP );
@ -818,8 +818,8 @@ bool PrinterInfoManager::writePrinterConfig()
subst != it->second.m_aInfo.m_aFontSubstitutes.end(); ++subst )
{
ByteString aKey( "SubstFont_" );
aKey.Append( OUStringToOString( subst->first, RTL_TEXTENCODING_ISO_8859_1 ).getStr() );
pConfig->WriteKey( aKey, OUStringToOString( subst->second, RTL_TEXTENCODING_ISO_8859_1 ) );
aKey.Append( rtl::OUStringToOString( subst->first, RTL_TEXTENCODING_ISO_8859_1 ).getStr() );
pConfig->WriteKey( aKey, rtl::OUStringToOString( subst->second, RTL_TEXTENCODING_ISO_8859_1 ) );
}
}
}
@ -874,7 +874,7 @@ bool PrinterInfoManager::addPrinter( const OUString& rPrinterName, const OUStrin
bSuccess = true;
#if OSL_DEBUG_LEVEL > 1
fprintf( stderr, "new printer %s, level = %d, pdfdevice = %d, colordevice = %d, depth = %d\n",
OUStringToOString( rPrinterName, osl_getThreadTextEncoding() ).getStr(),
rtl::OUStringToOString( rPrinterName, osl_getThreadTextEncoding() ).getStr(),
m_aPrinters[rPrinterName].m_aInfo.m_nPSLevel,
m_aPrinters[rPrinterName].m_aInfo.m_nPDFDevice,
m_aPrinters[rPrinterName].m_aInfo.m_nColorDevice,
@ -1047,12 +1047,12 @@ void PrinterInfoManager::fillFontSubstitutions( PrinterInfo& rInfo ) const
fprintf( stderr,
"substitute %s %s %d %d\n"
" -> %s %s %d %d\n",
OUStringToOString( it->m_aFamilyName, RTL_TEXTENCODING_ISO_8859_1 ).getStr(),
rtl::OUStringToOString( it->m_aFamilyName, RTL_TEXTENCODING_ISO_8859_1 ).getStr(),
it->m_eItalic == italic::Upright ? "r" : it->m_eItalic == italic::Oblique ? "o" : it->m_eItalic == italic::Italic ? "i" : "u",
it->m_eWeight,
it->m_eWidth,
OUStringToOString( aInfo.m_aFamilyName, RTL_TEXTENCODING_ISO_8859_1 ).getStr(),
rtl::OUStringToOString( aInfo.m_aFamilyName, RTL_TEXTENCODING_ISO_8859_1 ).getStr(),
aInfo.m_eItalic == italic::Upright ? "r" : aInfo.m_eItalic == italic::Oblique ? "o" : aInfo.m_eItalic == italic::Italic ? "i" : "u",
aInfo.m_eWeight,
aInfo.m_eWidth
@ -1118,7 +1118,7 @@ FILE* PrinterInfoManager::startSpool( const OUString& rPrintername, bool bQuickC
const PrinterInfo& rPrinterInfo = getPrinterInfo (rPrintername);
const rtl::OUString& rCommand = (bQuickCommand && rPrinterInfo.m_aQuickCommand.getLength() ) ?
rPrinterInfo.m_aQuickCommand : rPrinterInfo.m_aCommand;
rtl::OString aShellCommand = OUStringToOString (rCommand, RTL_TEXTENCODING_ISO_8859_1);
rtl::OString aShellCommand = rtl::OUStringToOString (rCommand, RTL_TEXTENCODING_ISO_8859_1);
aShellCommand += rtl::OString( " 2>/dev/null" );
return popen (aShellCommand.getStr(), "w");