Files
libreoffice/unotools/source/config/saveopt.cxx

1002 lines
32 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2000-09-20 11:29:15 +00:00
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2000-09-20 11:29:15 +00:00
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
2000-09-20 11:29:15 +00:00
*
* OpenOffice.org - a multi-platform office productivity suite
2000-09-20 11:29:15 +00:00
*
* This file is part of OpenOffice.org.
2000-09-20 11:29:15 +00:00
*
* 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.
2000-09-20 11:29:15 +00:00
*
* 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).
2000-09-20 11:29:15 +00:00
*
* 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.
2000-09-20 11:29:15 +00:00
*
************************************************************************/
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_unotools.hxx"
#include <unotools/saveopt.hxx>
#include "rtl/instance.hxx"
2000-09-20 11:29:15 +00:00
#include <unotools/configmgr.hxx>
#include <unotools/configitem.hxx>
2000-09-20 11:29:15 +00:00
#include <tools/debug.hxx>
#include <com/sun/star/uno/Any.hxx>
#include <com/sun/star/uno/Sequence.hxx>
#include <osl/mutex.hxx>
#include <comphelper/configurationhelper.hxx>
#include <unotools/processfactory.hxx>
#include <rtl/logfile.hxx>
#include "itemholder1.hxx"
2000-09-20 11:29:15 +00:00
using namespace utl;
using namespace rtl;
using namespace com::sun::star::uno;
namespace css = ::com::sun::star;
2001-07-02 06:45:12 +00:00
class SvtSaveOptions_Impl;
class SvtLoadOptions_Impl;
2000-09-20 11:29:15 +00:00
#define CFG_READONLY_DEFAULT sal_False
2001-07-02 06:45:12 +00:00
struct SvtLoadSaveOptions_Impl
{
SvtSaveOptions_Impl* pSaveOpt;
SvtLoadOptions_Impl* pLoadOpt;
};
static SvtLoadSaveOptions_Impl* pOptions = NULL;
2000-09-20 11:29:15 +00:00
static sal_Int32 nRefCount = 0;
class SvtSaveOptions_Impl : public utl::ConfigItem
{
2000-09-25 16:39:05 +00:00
sal_Int32 nAutoSaveTime;
sal_Bool bUseUserData,
bBackup,
bAutoSave,
bAutoSavePrompt,
bDocInfSave,
bSaveWorkingSet,
bSaveDocView,
bSaveRelINet,
bSaveRelFSys,
2001-10-19 09:22:15 +00:00
bSaveUnpacked,
bDoPrettyPrinting,
bWarnAlienFormat,
bLoadDocPrinter;
sal_Bool bROAutoSaveTime,
bROUseUserData,
bROBackup,
bROAutoSave,
bROAutoSavePrompt,
bRODocInfSave,
bROSaveWorkingSet,
bROSaveDocView,
bROSaveRelINet,
bROSaveRelFSys,
bROSaveUnpacked,
bROWarnAlienFormat,
bRODoPrettyPrinting,
bROLoadDocPrinter,
bROODFDefaultVersion;
SvtSaveOptions::ODFDefaultVersion eODFDefaultVersion;
2000-09-20 11:29:15 +00:00
public:
SvtSaveOptions_Impl();
2001-07-02 06:45:12 +00:00
~SvtSaveOptions_Impl();
2000-09-20 11:29:15 +00:00
virtual void Notify( const com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
virtual void Commit();
sal_Int32 GetAutoSaveTime() const { return nAutoSaveTime; }
2000-11-13 08:40:12 +00:00
BOOL IsUseUserData() const { return bUseUserData; }
2000-09-20 11:29:15 +00:00
BOOL IsBackup() const { return bBackup; }
BOOL IsAutoSave() const { return bAutoSave; }
BOOL IsAutoSavePrompt() const { return bAutoSavePrompt; }
BOOL IsDocInfoSave() const { return bDocInfSave; }
BOOL IsSaveWorkingSet() const { return bSaveWorkingSet; }
2000-09-20 11:29:15 +00:00
BOOL IsSaveDocView() const { return bSaveDocView; }
BOOL IsSaveRelINet() const { return bSaveRelINet; }
BOOL IsSaveRelFSys() const { return bSaveRelFSys; }
BOOL IsSaveUnpacked() const { return bSaveUnpacked; }
sal_Bool IsPrettyPrintingEnabled( ) const { return bDoPrettyPrinting; }
sal_Bool IsWarnAlienFormat() const { return bWarnAlienFormat; }
sal_Bool IsLoadDocPrinter() const { return bLoadDocPrinter; }
SvtSaveOptions::ODFDefaultVersion
GetODFDefaultVersion() const { return eODFDefaultVersion; }
void SetAutoSaveTime( sal_Int32 n );
void SetUseUserData( BOOL b );
void SetBackup( BOOL b );
void SetAutoSave( BOOL b );
void SetAutoSavePrompt( BOOL b );
void SetDocInfoSave( BOOL b );
void SetSaveWorkingSet( BOOL b );
void SetSaveDocView( BOOL b );
void SetSaveRelINet( BOOL b );
void SetSaveRelFSys( BOOL b );
void SetSaveUnpacked( BOOL b );
void EnablePrettyPrinting( sal_Bool _bDoPP );
void SetWarnAlienFormat( sal_Bool _bDoPP );
void SetLoadDocPrinter( sal_Bool bNew );
void SetODFDefaultVersion( SvtSaveOptions::ODFDefaultVersion eNew );
sal_Bool IsReadOnly( SvtSaveOptions::EOption eOption ) const;
2000-09-20 11:29:15 +00:00
};
void SvtSaveOptions_Impl::SetAutoSaveTime( sal_Int32 n )
{
if (!bROAutoSaveTime && nAutoSaveTime!=n)
{
nAutoSaveTime = n;
SetModified();
Commit();
}
}
void SvtSaveOptions_Impl::SetUseUserData( BOOL b )
{
if (!bROUseUserData && bUseUserData!=b)
{
bUseUserData = b;
SetModified();
}
}
void SvtSaveOptions_Impl::SetBackup( BOOL b )
{
if (!bROBackup && bBackup!=b)
{
bBackup = b;
SetModified();
}
}
void SvtSaveOptions_Impl::SetAutoSave( BOOL b )
{
if (!bROAutoSave && bAutoSave!=b)
{
bAutoSave = b;
SetModified();
Commit();
}
}
void SvtSaveOptions_Impl::SetAutoSavePrompt( BOOL b )
{
if (!bROAutoSavePrompt && bAutoSavePrompt!=b)
{
bAutoSavePrompt = b;
SetModified();
}
}
void SvtSaveOptions_Impl::SetDocInfoSave(BOOL b)
{
if (!bRODocInfSave && bDocInfSave!=b)
{
bDocInfSave = b;
SetModified();
}
}
void SvtSaveOptions_Impl::SetSaveWorkingSet( BOOL b )
{
if (!bROSaveWorkingSet && bSaveWorkingSet!=b)
{
bSaveWorkingSet = b;
SetModified();
}
}
void SvtSaveOptions_Impl::SetSaveDocView( BOOL b )
{
if (!bROSaveDocView && bSaveDocView!=b)
{
bSaveDocView = b;
SetModified();
}
}
void SvtSaveOptions_Impl::SetSaveRelINet( BOOL b )
{
if (!bROSaveRelINet && bSaveRelINet!=b)
{
bSaveRelINet = b;
SetModified();
}
}
void SvtSaveOptions_Impl::SetSaveRelFSys( BOOL b )
{
if (!bROSaveRelFSys && bSaveRelFSys!=b)
{
bSaveRelFSys = b;
SetModified();
}
}
void SvtSaveOptions_Impl::SetSaveUnpacked( BOOL b )
{
if (!bROSaveUnpacked && bSaveUnpacked!=b)
{
bSaveUnpacked = b;
SetModified();
}
}
void SvtSaveOptions_Impl::EnablePrettyPrinting( sal_Bool _bDoPP )
{
if (!bRODoPrettyPrinting && bDoPrettyPrinting!=_bDoPP)
{
bDoPrettyPrinting = _bDoPP;
SetModified();
}
}
void SvtSaveOptions_Impl::SetWarnAlienFormat( sal_Bool _bDoPP )
{
if (!bROWarnAlienFormat && bWarnAlienFormat!=_bDoPP)
{
bWarnAlienFormat = _bDoPP;
SetModified();
}
}
void SvtSaveOptions_Impl::SetLoadDocPrinter( sal_Bool bNew )
{
if ( !bROLoadDocPrinter && bLoadDocPrinter != bNew )
{
bLoadDocPrinter = bNew;
SetModified();
}
}
void SvtSaveOptions_Impl::SetODFDefaultVersion( SvtSaveOptions::ODFDefaultVersion eNew )
{
if ( !bROODFDefaultVersion && eODFDefaultVersion != eNew )
{
eODFDefaultVersion = eNew;
SetModified();
}
}
sal_Bool SvtSaveOptions_Impl::IsReadOnly( SvtSaveOptions::EOption eOption ) const
{
sal_Bool bReadOnly = CFG_READONLY_DEFAULT;
switch(eOption)
{
case SvtSaveOptions::E_AUTOSAVETIME :
bReadOnly = bROAutoSaveTime;
break;
case SvtSaveOptions::E_USEUSERDATA :
bReadOnly = bROUseUserData;
break;
case SvtSaveOptions::E_BACKUP :
bReadOnly = bROBackup;
break;
case SvtSaveOptions::E_AUTOSAVE :
bReadOnly = bROAutoSave;
break;
case SvtSaveOptions::E_AUTOSAVEPROMPT :
bReadOnly = bROAutoSavePrompt;
break;
case SvtSaveOptions::E_DOCINFSAVE :
bReadOnly = bRODocInfSave;
break;
case SvtSaveOptions::E_SAVEWORKINGSET :
bReadOnly = bROSaveWorkingSet;
break;
case SvtSaveOptions::E_SAVEDOCVIEW :
bReadOnly = bROSaveDocView;
break;
case SvtSaveOptions::E_SAVERELINET :
bReadOnly = bROSaveRelINet;
break;
case SvtSaveOptions::E_SAVERELFSYS :
bReadOnly = bROSaveRelFSys;
break;
case SvtSaveOptions::E_SAVEUNPACKED :
bReadOnly = bROSaveUnpacked;
break;
case SvtSaveOptions::E_DOPRETTYPRINTING :
bReadOnly = bRODoPrettyPrinting;
break;
case SvtSaveOptions::E_WARNALIENFORMAT :
bReadOnly = bROWarnAlienFormat;
break;
case SvtSaveOptions::E_LOADDOCPRINTER :
bReadOnly = bROLoadDocPrinter;
break;
case SvtSaveOptions::E_ODFDEFAULTVERSION :
bReadOnly = bROLoadDocPrinter;
break;
}
return bReadOnly;
}
#define FORMAT 0
#define TIMEINTERVALL 1
#define USEUSERDATA 2
#define CREATEBACKUP 3
#define AUTOSAVE 4
#define PROMPT 5
#define EDITPROPERTY 6
#define SAVEVIEWINFO 7
#define UNPACKED 8
#define PRETTYPRINTING 9
#define WARNALIENFORMAT 10
#define LOADDOCPRINTER 11
#define FILESYSTEM 12
#define INTERNET 13
#define SAVEWORKINGSET 14
#define ODFDEFAULTVERSION 15
2000-09-20 11:29:15 +00:00
Sequence< OUString > GetPropertyNames()
{
static const char* aPropNames[] =
{
2000-09-25 10:30:52 +00:00
"Graphic/Format",
"Document/AutoSaveTimeIntervall",
2000-09-20 11:29:15 +00:00
"Document/UseUserData",
"Document/CreateBackup",
"Document/AutoSave",
2000-09-25 10:30:52 +00:00
"Document/AutoSavePrompt",
2000-09-20 11:29:15 +00:00
"Document/EditProperty",
2000-09-25 10:30:52 +00:00
"Document/ViewInfo",
"Document/Unpacked",
2001-10-19 09:22:15 +00:00
"Document/PrettyPrinting",
"Document/WarnAlienFormat",
"Document/LoadPrinter",
2000-09-20 11:29:15 +00:00
"URL/FileSystem",
"URL/Internet",
2001-10-19 09:22:15 +00:00
"WorkingSet",
"ODF/DefaultVersion"
2000-09-20 11:29:15 +00:00
};
const int nCount = sizeof( aPropNames ) / sizeof( const char* );
Sequence< OUString > aNames( nCount );
OUString* pNames = aNames.getArray();
for ( int i = 0; i < nCount; i++ )
pNames[i] = OUString::createFromAscii( aPropNames[i] );
return aNames;
}
// -----------------------------------------------------------------------
SvtSaveOptions_Impl::SvtSaveOptions_Impl()
: ConfigItem( OUString(RTL_CONSTASCII_USTRINGPARAM("Office.Common/Save")) )
2000-09-20 11:29:15 +00:00
, nAutoSaveTime( 0 )
, bUseUserData( sal_False )
, bBackup( sal_False )
, bAutoSave( sal_False )
, bAutoSavePrompt( sal_False )
, bDocInfSave( sal_False )
, bSaveWorkingSet( sal_False )
, bSaveDocView( sal_False )
, bSaveRelINet( sal_False )
, bSaveRelFSys( sal_False )
, bSaveUnpacked( sal_False )
2001-10-19 09:22:15 +00:00
, bDoPrettyPrinting( sal_False )
, bWarnAlienFormat( sal_True )
, bLoadDocPrinter( sal_True )
, bROAutoSaveTime( CFG_READONLY_DEFAULT )
, bROUseUserData( CFG_READONLY_DEFAULT )
, bROBackup( CFG_READONLY_DEFAULT )
, bROAutoSave( CFG_READONLY_DEFAULT )
, bROAutoSavePrompt( CFG_READONLY_DEFAULT )
, bRODocInfSave( CFG_READONLY_DEFAULT )
, bROSaveWorkingSet( CFG_READONLY_DEFAULT )
, bROSaveDocView( CFG_READONLY_DEFAULT )
, bROSaveRelINet( CFG_READONLY_DEFAULT )
, bROSaveRelFSys( CFG_READONLY_DEFAULT )
, bROSaveUnpacked( CFG_READONLY_DEFAULT )
, bROWarnAlienFormat( CFG_READONLY_DEFAULT )
, bRODoPrettyPrinting( CFG_READONLY_DEFAULT )
, bROLoadDocPrinter( CFG_READONLY_DEFAULT )
, bROODFDefaultVersion( CFG_READONLY_DEFAULT )
CWS-TOOLING: integrate CWS impressnotes01 2009-09-11 13:52:41 +0200 cl r276061 : CWS-TOOLING: rebase CWS impressnotes01 to trunk@276043 (milestone: DEV300:m58) 2009-09-10 15:44:57 +0200 cl r276039 : #i103139# continued work on the impress annotation feature 2009-09-10 14:52:31 +0200 cl r276032 : #i103139# continued work on the impress annotation feature 2009-09-10 14:50:32 +0200 cl r276031 : #i103139# continued work on the impress annotation feature 2009-09-10 14:48:29 +0200 cl r276030 : #i103139# continued work on the impress annotation feature 2009-09-10 11:36:11 +0200 cl r276027 : #i103139# continued work on the impress annotation feature 2009-09-09 20:22:41 +0200 cl r276018 : #i103139# continued work on the impress annotation feature 2009-09-09 20:21:45 +0200 cl r276017 : #i103139# continued work on the impress annotation feature 2009-09-09 19:32:29 +0200 sj r276015 : #i103139# added import of comments (ppt binary) 2009-09-09 19:31:07 +0200 sj r276014 : #i103139# added import of comments (ppt binary) 2009-09-09 19:16:41 +0200 cl r276011 : #i103139# continued work on the impress annotation feature 2009-09-09 19:15:19 +0200 cl r276010 : #i103139# continued work on the impress annotation feature 2009-09-09 16:27:19 +0200 cl r276001 : #i104579# fixed isEmptyPresObj() 2009-09-09 15:12:02 +0200 cl r275997 : #i103139# continued work on the impress annotation feature 2009-09-09 15:06:29 +0200 sj r275996 : #i103139# added import of comments (ppt binary) 2009-09-09 14:53:01 +0200 cl r275995 : #i103139# continued work on the impress annotation feature 2009-09-09 14:51:32 +0200 cl r275994 : #i103139# continued work on the impress annotation feature 2009-09-09 12:11:17 +0200 cl r275982 : #i103139# continued work on the impress annotation feature 2009-09-09 11:47:55 +0200 cl r275981 : #i103139# continued work on the impress annotation feature 2009-09-09 11:47:23 +0200 cl r275980 : #i103139# continued work on the impress annotation feature 2009-09-09 11:44:47 +0200 cl r275978 : #i104315# added missing tab pages 2009-09-08 16:04:44 +0200 cl r275936 : #i103139# continued work on the impress annotation feature 2009-09-08 16:03:28 +0200 cl r275935 : #i103139# continued work on the impress annotation feature 2009-09-08 11:45:47 +0200 cl r275920 : #i103139# continued work on the impress annotation feature 2009-09-08 11:41:51 +0200 cl r275919 : #i103139# continued work on the impress annotation feature 2009-09-07 18:30:55 +0200 cl r275910 : #i103139# continued work on the impress annotation feature 2009-09-07 18:29:37 +0200 cl r275909 : #i103139# continued work on the impress annotation feature 2009-09-07 17:25:43 +0200 cl r275905 : #i103139# continued work on the impress annotation feature 2009-09-07 12:00:28 +0200 cl r275884 : #i103139# continued work on the impress annotation feature 2009-09-06 14:14:00 +0200 cl r275859 : #i103139# continued work on the impress annotation feature 2009-09-05 20:57:24 +0200 cl r275854 : #i103139# continued work on the impress annotation feature 2009-09-05 20:56:29 +0200 cl r275853 : #i103139# continued work on the impress annotation feature 2009-09-05 20:55:27 +0200 cl r275852 : #i103139# continued work on the impress annotation feature 2009-09-05 20:11:42 +0200 cl r275851 : #i103139# continued work on the impress annotation feature 2009-09-05 20:11:09 +0200 cl r275850 : #i103139# continued work on the impress annotation feature 2009-09-05 17:43:33 +0200 cl r275845 : #i103139# continued work on the impress annotation feature 2009-09-05 17:04:41 +0200 cl r275843 : #i103139# continued work on the impress annotation feature 2009-09-05 17:03:26 +0200 cl r275842 : #i103139# continued work on the impress annotation feature 2009-09-05 17:02:53 +0200 cl r275841 : #i103139# continued work on the impress annotation feature 2009-09-05 13:15:04 +0200 pl r275839 : #i104823# WB_NEEDSFOCUS 2009-09-05 13:14:41 +0200 pl r275838 : #i104823# WB_NEEDSFOCUS 2009-09-04 17:48:21 +0200 cl r275826 : #i103139# continued work on the impress annotation feature 2009-09-04 17:35:03 +0200 cl r275825 : #i103139# continued work on the impress annotation feature 2009-09-04 17:15:46 +0200 cl r275824 : #i103139# continued work on the impress annotation feature 2009-09-04 17:12:54 +0200 cl r275823 : #i103139# continued work on the impress annotation feature 2009-09-04 17:05:23 +0200 cl r275822 : #i103139# continued work on the impress annotation feature 2009-09-04 16:48:28 +0200 cl r275820 : #i103139# continued work on the impress annotation feature 2009-09-04 16:44:02 +0200 cl r275818 : #i103139# continued work on the impress annotation feature 2009-09-04 16:43:23 +0200 cl r275817 : #i103139# continued work on the impress annotation feature 2009-09-04 16:06:04 +0200 cl r275812 : #i103139# continued work on the impress annotation feature 2009-09-04 16:05:45 +0200 cl r275811 : #i103139# continued work on the impress annotation feature 2009-09-04 15:04:33 +0200 cl r275806 : #i103139# continued work on the impress annotation feature 2009-09-04 11:43:14 +0200 cl r275795 : #i103139# continued work on the impress annotation feature 2009-09-04 11:27:10 +0200 cl r275793 : #i103139# continued work on the impress annotation feature 2009-09-04 11:10:02 +0200 cl r275792 : #i103139# continued work on the impress annotation feature 2009-09-04 11:07:05 +0200 cl r275790 : #i103139# continued work on the impress annotation feature 2009-09-04 11:05:01 +0200 cl r275789 : #i103139# continued work on the impress annotation feature 2009-09-04 10:55:51 +0200 cl r275785 : #i103139# renamed notes to comments 2009-09-04 10:54:57 +0200 cl r275784 : #i103139# renamed notes to comments 2009-09-03 20:37:35 +0200 cl r275772 : #i103139# continued work on the impress annotation feature 2009-09-03 20:35:31 +0200 cl r275771 : #i103139# continued work on the impress annotation feature 2009-09-01 18:17:55 +0200 cl r275680 : #i103139# continued work on the impress annotation feature 2009-09-01 18:15:08 +0200 cl r275678 : #i103139# continued work on the impress annotation feature 2009-09-01 18:13:38 +0200 cl r275677 : #i103139# continued work on the impress annotation feature 2009-08-18 12:35:42 +0200 cl r275089 : fixed merge error 2009-08-18 11:39:58 +0200 cl r275086 : CWS-TOOLING: rebase CWS impressnotes01 to trunk@275001 (milestone: DEV300:m55) 2009-07-30 13:45:10 +0200 cl r274481 : fixed merge errrors 2009-07-30 13:41:21 +0200 cl r274480 : fixed merge errrors 2009-07-30 13:39:40 +0200 cl r274478 : fixed merge errrors 2009-07-22 18:07:30 +0200 cl r274256 : CWS-TOOLING: rebase CWS impressnotes01 to trunk@273858 (milestone: DEV300:m52) 2009-07-21 17:21:31 +0200 cl r274208 : merging 2009-07-20 14:28:34 +0200 cl r274137 : #i103139# annotation support for impress 2009-07-20 14:28:04 +0200 cl r274136 : #i103139# annotation support for impress 2009-07-20 14:27:20 +0200 cl r274135 : #i103139# annotation support for impress 2009-07-20 14:21:17 +0200 cl r274134 : #i103139# annotation support for impress 2009-07-20 14:20:56 +0200 cl r274133 : #i103139# annotation support for impress 2009-07-20 14:20:09 +0200 cl r274132 : #i103139# annotation support for impress 2009-07-20 14:19:00 +0200 cl r274131 : #i103139# annotation support for impress 2009-07-20 14:17:50 +0200 cl r274130 : #i103139# annotation support for impress 2009-07-20 14:12:24 +0200 cl r274129 : #i103139# annotation support for impress 2009-07-20 13:52:03 +0200 cl r274128 : #i103139# annotation support for impress 2009-07-20 13:51:11 +0200 cl r274127 : #i103139# annotation support for impress 2009-07-20 13:48:59 +0200 cl r274126 : #i103139# annotation support for impress 2009-07-20 13:43:56 +0200 cl r274125 : #i103139# annotation support for impress 2009-07-20 13:31:55 +0200 cl r274123 : #i103139# annotation support for impress 2009-07-20 13:30:45 +0200 cl r274122 : #i103139# annotation support for impress
2009-09-16 13:55:36 +00:00
, eODFDefaultVersion( SvtSaveOptions::ODFVER_LATEST )
2000-09-20 11:29:15 +00:00
{
Sequence< OUString > aNames = GetPropertyNames();
Sequence< Any > aValues = GetProperties( aNames );
Sequence< sal_Bool > aROStates = GetReadOnlyStates( aNames );
2000-09-20 11:29:15 +00:00
EnableNotification( aNames );
const Any* pValues = aValues.getConstArray();
const sal_Bool* pROStates = aROStates.getConstArray();
2000-09-20 11:29:15 +00:00
DBG_ASSERT( aValues.getLength() == aNames.getLength(), "GetProperties failed" );
DBG_ASSERT( aROStates.getLength() == aNames.getLength(), "GetReadOnlyStates failed" );
if ( aValues.getLength() == aNames.getLength() && aROStates.getLength() == aNames.getLength() )
2000-09-20 11:29:15 +00:00
{
for ( int nProp = 0; nProp < aNames.getLength(); nProp++ )
{
DBG_ASSERT( pValues[nProp].hasValue(), "property value missing" );
if ( pValues[nProp].hasValue() )
{
sal_Int32 nTemp = 0;
2000-09-20 11:29:15 +00:00
switch ( nProp )
{
case FORMAT:
// not supported anymore
break;
2000-09-20 11:29:15 +00:00
case TIMEINTERVALL :
if ( pValues[nProp] >>= nTemp )
nAutoSaveTime = nTemp;
else {
2000-09-20 11:29:15 +00:00
DBG_ERROR( "Wrong Type!" );
};
bROAutoSaveTime = pROStates[nProp];
2000-09-20 11:29:15 +00:00
break;
case ODFDEFAULTVERSION :
{
2008-03-14 22:12:59 +00:00
sal_Int16 nTmp = 0;
if ( pValues[nProp] >>= nTmp )
CWS-TOOLING: integrate CWS impressnotes01 2009-09-11 13:52:41 +0200 cl r276061 : CWS-TOOLING: rebase CWS impressnotes01 to trunk@276043 (milestone: DEV300:m58) 2009-09-10 15:44:57 +0200 cl r276039 : #i103139# continued work on the impress annotation feature 2009-09-10 14:52:31 +0200 cl r276032 : #i103139# continued work on the impress annotation feature 2009-09-10 14:50:32 +0200 cl r276031 : #i103139# continued work on the impress annotation feature 2009-09-10 14:48:29 +0200 cl r276030 : #i103139# continued work on the impress annotation feature 2009-09-10 11:36:11 +0200 cl r276027 : #i103139# continued work on the impress annotation feature 2009-09-09 20:22:41 +0200 cl r276018 : #i103139# continued work on the impress annotation feature 2009-09-09 20:21:45 +0200 cl r276017 : #i103139# continued work on the impress annotation feature 2009-09-09 19:32:29 +0200 sj r276015 : #i103139# added import of comments (ppt binary) 2009-09-09 19:31:07 +0200 sj r276014 : #i103139# added import of comments (ppt binary) 2009-09-09 19:16:41 +0200 cl r276011 : #i103139# continued work on the impress annotation feature 2009-09-09 19:15:19 +0200 cl r276010 : #i103139# continued work on the impress annotation feature 2009-09-09 16:27:19 +0200 cl r276001 : #i104579# fixed isEmptyPresObj() 2009-09-09 15:12:02 +0200 cl r275997 : #i103139# continued work on the impress annotation feature 2009-09-09 15:06:29 +0200 sj r275996 : #i103139# added import of comments (ppt binary) 2009-09-09 14:53:01 +0200 cl r275995 : #i103139# continued work on the impress annotation feature 2009-09-09 14:51:32 +0200 cl r275994 : #i103139# continued work on the impress annotation feature 2009-09-09 12:11:17 +0200 cl r275982 : #i103139# continued work on the impress annotation feature 2009-09-09 11:47:55 +0200 cl r275981 : #i103139# continued work on the impress annotation feature 2009-09-09 11:47:23 +0200 cl r275980 : #i103139# continued work on the impress annotation feature 2009-09-09 11:44:47 +0200 cl r275978 : #i104315# added missing tab pages 2009-09-08 16:04:44 +0200 cl r275936 : #i103139# continued work on the impress annotation feature 2009-09-08 16:03:28 +0200 cl r275935 : #i103139# continued work on the impress annotation feature 2009-09-08 11:45:47 +0200 cl r275920 : #i103139# continued work on the impress annotation feature 2009-09-08 11:41:51 +0200 cl r275919 : #i103139# continued work on the impress annotation feature 2009-09-07 18:30:55 +0200 cl r275910 : #i103139# continued work on the impress annotation feature 2009-09-07 18:29:37 +0200 cl r275909 : #i103139# continued work on the impress annotation feature 2009-09-07 17:25:43 +0200 cl r275905 : #i103139# continued work on the impress annotation feature 2009-09-07 12:00:28 +0200 cl r275884 : #i103139# continued work on the impress annotation feature 2009-09-06 14:14:00 +0200 cl r275859 : #i103139# continued work on the impress annotation feature 2009-09-05 20:57:24 +0200 cl r275854 : #i103139# continued work on the impress annotation feature 2009-09-05 20:56:29 +0200 cl r275853 : #i103139# continued work on the impress annotation feature 2009-09-05 20:55:27 +0200 cl r275852 : #i103139# continued work on the impress annotation feature 2009-09-05 20:11:42 +0200 cl r275851 : #i103139# continued work on the impress annotation feature 2009-09-05 20:11:09 +0200 cl r275850 : #i103139# continued work on the impress annotation feature 2009-09-05 17:43:33 +0200 cl r275845 : #i103139# continued work on the impress annotation feature 2009-09-05 17:04:41 +0200 cl r275843 : #i103139# continued work on the impress annotation feature 2009-09-05 17:03:26 +0200 cl r275842 : #i103139# continued work on the impress annotation feature 2009-09-05 17:02:53 +0200 cl r275841 : #i103139# continued work on the impress annotation feature 2009-09-05 13:15:04 +0200 pl r275839 : #i104823# WB_NEEDSFOCUS 2009-09-05 13:14:41 +0200 pl r275838 : #i104823# WB_NEEDSFOCUS 2009-09-04 17:48:21 +0200 cl r275826 : #i103139# continued work on the impress annotation feature 2009-09-04 17:35:03 +0200 cl r275825 : #i103139# continued work on the impress annotation feature 2009-09-04 17:15:46 +0200 cl r275824 : #i103139# continued work on the impress annotation feature 2009-09-04 17:12:54 +0200 cl r275823 : #i103139# continued work on the impress annotation feature 2009-09-04 17:05:23 +0200 cl r275822 : #i103139# continued work on the impress annotation feature 2009-09-04 16:48:28 +0200 cl r275820 : #i103139# continued work on the impress annotation feature 2009-09-04 16:44:02 +0200 cl r275818 : #i103139# continued work on the impress annotation feature 2009-09-04 16:43:23 +0200 cl r275817 : #i103139# continued work on the impress annotation feature 2009-09-04 16:06:04 +0200 cl r275812 : #i103139# continued work on the impress annotation feature 2009-09-04 16:05:45 +0200 cl r275811 : #i103139# continued work on the impress annotation feature 2009-09-04 15:04:33 +0200 cl r275806 : #i103139# continued work on the impress annotation feature 2009-09-04 11:43:14 +0200 cl r275795 : #i103139# continued work on the impress annotation feature 2009-09-04 11:27:10 +0200 cl r275793 : #i103139# continued work on the impress annotation feature 2009-09-04 11:10:02 +0200 cl r275792 : #i103139# continued work on the impress annotation feature 2009-09-04 11:07:05 +0200 cl r275790 : #i103139# continued work on the impress annotation feature 2009-09-04 11:05:01 +0200 cl r275789 : #i103139# continued work on the impress annotation feature 2009-09-04 10:55:51 +0200 cl r275785 : #i103139# renamed notes to comments 2009-09-04 10:54:57 +0200 cl r275784 : #i103139# renamed notes to comments 2009-09-03 20:37:35 +0200 cl r275772 : #i103139# continued work on the impress annotation feature 2009-09-03 20:35:31 +0200 cl r275771 : #i103139# continued work on the impress annotation feature 2009-09-01 18:17:55 +0200 cl r275680 : #i103139# continued work on the impress annotation feature 2009-09-01 18:15:08 +0200 cl r275678 : #i103139# continued work on the impress annotation feature 2009-09-01 18:13:38 +0200 cl r275677 : #i103139# continued work on the impress annotation feature 2009-08-18 12:35:42 +0200 cl r275089 : fixed merge error 2009-08-18 11:39:58 +0200 cl r275086 : CWS-TOOLING: rebase CWS impressnotes01 to trunk@275001 (milestone: DEV300:m55) 2009-07-30 13:45:10 +0200 cl r274481 : fixed merge errrors 2009-07-30 13:41:21 +0200 cl r274480 : fixed merge errrors 2009-07-30 13:39:40 +0200 cl r274478 : fixed merge errrors 2009-07-22 18:07:30 +0200 cl r274256 : CWS-TOOLING: rebase CWS impressnotes01 to trunk@273858 (milestone: DEV300:m52) 2009-07-21 17:21:31 +0200 cl r274208 : merging 2009-07-20 14:28:34 +0200 cl r274137 : #i103139# annotation support for impress 2009-07-20 14:28:04 +0200 cl r274136 : #i103139# annotation support for impress 2009-07-20 14:27:20 +0200 cl r274135 : #i103139# annotation support for impress 2009-07-20 14:21:17 +0200 cl r274134 : #i103139# annotation support for impress 2009-07-20 14:20:56 +0200 cl r274133 : #i103139# annotation support for impress 2009-07-20 14:20:09 +0200 cl r274132 : #i103139# annotation support for impress 2009-07-20 14:19:00 +0200 cl r274131 : #i103139# annotation support for impress 2009-07-20 14:17:50 +0200 cl r274130 : #i103139# annotation support for impress 2009-07-20 14:12:24 +0200 cl r274129 : #i103139# annotation support for impress 2009-07-20 13:52:03 +0200 cl r274128 : #i103139# annotation support for impress 2009-07-20 13:51:11 +0200 cl r274127 : #i103139# annotation support for impress 2009-07-20 13:48:59 +0200 cl r274126 : #i103139# annotation support for impress 2009-07-20 13:43:56 +0200 cl r274125 : #i103139# annotation support for impress 2009-07-20 13:31:55 +0200 cl r274123 : #i103139# annotation support for impress 2009-07-20 13:30:45 +0200 cl r274122 : #i103139# annotation support for impress
2009-09-16 13:55:36 +00:00
{
if( nTmp == 3 )
eODFDefaultVersion = SvtSaveOptions::ODFVER_LATEST;
else
eODFDefaultVersion = SvtSaveOptions::ODFDefaultVersion( nTmp );
}
else {
DBG_ERRORFILE( "SvtSaveOptions_Impl::SvtSaveOptions_Impl(): Wrong Type!" );
};
CWS-TOOLING: integrate CWS impressnotes01 2009-09-11 13:52:41 +0200 cl r276061 : CWS-TOOLING: rebase CWS impressnotes01 to trunk@276043 (milestone: DEV300:m58) 2009-09-10 15:44:57 +0200 cl r276039 : #i103139# continued work on the impress annotation feature 2009-09-10 14:52:31 +0200 cl r276032 : #i103139# continued work on the impress annotation feature 2009-09-10 14:50:32 +0200 cl r276031 : #i103139# continued work on the impress annotation feature 2009-09-10 14:48:29 +0200 cl r276030 : #i103139# continued work on the impress annotation feature 2009-09-10 11:36:11 +0200 cl r276027 : #i103139# continued work on the impress annotation feature 2009-09-09 20:22:41 +0200 cl r276018 : #i103139# continued work on the impress annotation feature 2009-09-09 20:21:45 +0200 cl r276017 : #i103139# continued work on the impress annotation feature 2009-09-09 19:32:29 +0200 sj r276015 : #i103139# added import of comments (ppt binary) 2009-09-09 19:31:07 +0200 sj r276014 : #i103139# added import of comments (ppt binary) 2009-09-09 19:16:41 +0200 cl r276011 : #i103139# continued work on the impress annotation feature 2009-09-09 19:15:19 +0200 cl r276010 : #i103139# continued work on the impress annotation feature 2009-09-09 16:27:19 +0200 cl r276001 : #i104579# fixed isEmptyPresObj() 2009-09-09 15:12:02 +0200 cl r275997 : #i103139# continued work on the impress annotation feature 2009-09-09 15:06:29 +0200 sj r275996 : #i103139# added import of comments (ppt binary) 2009-09-09 14:53:01 +0200 cl r275995 : #i103139# continued work on the impress annotation feature 2009-09-09 14:51:32 +0200 cl r275994 : #i103139# continued work on the impress annotation feature 2009-09-09 12:11:17 +0200 cl r275982 : #i103139# continued work on the impress annotation feature 2009-09-09 11:47:55 +0200 cl r275981 : #i103139# continued work on the impress annotation feature 2009-09-09 11:47:23 +0200 cl r275980 : #i103139# continued work on the impress annotation feature 2009-09-09 11:44:47 +0200 cl r275978 : #i104315# added missing tab pages 2009-09-08 16:04:44 +0200 cl r275936 : #i103139# continued work on the impress annotation feature 2009-09-08 16:03:28 +0200 cl r275935 : #i103139# continued work on the impress annotation feature 2009-09-08 11:45:47 +0200 cl r275920 : #i103139# continued work on the impress annotation feature 2009-09-08 11:41:51 +0200 cl r275919 : #i103139# continued work on the impress annotation feature 2009-09-07 18:30:55 +0200 cl r275910 : #i103139# continued work on the impress annotation feature 2009-09-07 18:29:37 +0200 cl r275909 : #i103139# continued work on the impress annotation feature 2009-09-07 17:25:43 +0200 cl r275905 : #i103139# continued work on the impress annotation feature 2009-09-07 12:00:28 +0200 cl r275884 : #i103139# continued work on the impress annotation feature 2009-09-06 14:14:00 +0200 cl r275859 : #i103139# continued work on the impress annotation feature 2009-09-05 20:57:24 +0200 cl r275854 : #i103139# continued work on the impress annotation feature 2009-09-05 20:56:29 +0200 cl r275853 : #i103139# continued work on the impress annotation feature 2009-09-05 20:55:27 +0200 cl r275852 : #i103139# continued work on the impress annotation feature 2009-09-05 20:11:42 +0200 cl r275851 : #i103139# continued work on the impress annotation feature 2009-09-05 20:11:09 +0200 cl r275850 : #i103139# continued work on the impress annotation feature 2009-09-05 17:43:33 +0200 cl r275845 : #i103139# continued work on the impress annotation feature 2009-09-05 17:04:41 +0200 cl r275843 : #i103139# continued work on the impress annotation feature 2009-09-05 17:03:26 +0200 cl r275842 : #i103139# continued work on the impress annotation feature 2009-09-05 17:02:53 +0200 cl r275841 : #i103139# continued work on the impress annotation feature 2009-09-05 13:15:04 +0200 pl r275839 : #i104823# WB_NEEDSFOCUS 2009-09-05 13:14:41 +0200 pl r275838 : #i104823# WB_NEEDSFOCUS 2009-09-04 17:48:21 +0200 cl r275826 : #i103139# continued work on the impress annotation feature 2009-09-04 17:35:03 +0200 cl r275825 : #i103139# continued work on the impress annotation feature 2009-09-04 17:15:46 +0200 cl r275824 : #i103139# continued work on the impress annotation feature 2009-09-04 17:12:54 +0200 cl r275823 : #i103139# continued work on the impress annotation feature 2009-09-04 17:05:23 +0200 cl r275822 : #i103139# continued work on the impress annotation feature 2009-09-04 16:48:28 +0200 cl r275820 : #i103139# continued work on the impress annotation feature 2009-09-04 16:44:02 +0200 cl r275818 : #i103139# continued work on the impress annotation feature 2009-09-04 16:43:23 +0200 cl r275817 : #i103139# continued work on the impress annotation feature 2009-09-04 16:06:04 +0200 cl r275812 : #i103139# continued work on the impress annotation feature 2009-09-04 16:05:45 +0200 cl r275811 : #i103139# continued work on the impress annotation feature 2009-09-04 15:04:33 +0200 cl r275806 : #i103139# continued work on the impress annotation feature 2009-09-04 11:43:14 +0200 cl r275795 : #i103139# continued work on the impress annotation feature 2009-09-04 11:27:10 +0200 cl r275793 : #i103139# continued work on the impress annotation feature 2009-09-04 11:10:02 +0200 cl r275792 : #i103139# continued work on the impress annotation feature 2009-09-04 11:07:05 +0200 cl r275790 : #i103139# continued work on the impress annotation feature 2009-09-04 11:05:01 +0200 cl r275789 : #i103139# continued work on the impress annotation feature 2009-09-04 10:55:51 +0200 cl r275785 : #i103139# renamed notes to comments 2009-09-04 10:54:57 +0200 cl r275784 : #i103139# renamed notes to comments 2009-09-03 20:37:35 +0200 cl r275772 : #i103139# continued work on the impress annotation feature 2009-09-03 20:35:31 +0200 cl r275771 : #i103139# continued work on the impress annotation feature 2009-09-01 18:17:55 +0200 cl r275680 : #i103139# continued work on the impress annotation feature 2009-09-01 18:15:08 +0200 cl r275678 : #i103139# continued work on the impress annotation feature 2009-09-01 18:13:38 +0200 cl r275677 : #i103139# continued work on the impress annotation feature 2009-08-18 12:35:42 +0200 cl r275089 : fixed merge error 2009-08-18 11:39:58 +0200 cl r275086 : CWS-TOOLING: rebase CWS impressnotes01 to trunk@275001 (milestone: DEV300:m55) 2009-07-30 13:45:10 +0200 cl r274481 : fixed merge errrors 2009-07-30 13:41:21 +0200 cl r274480 : fixed merge errrors 2009-07-30 13:39:40 +0200 cl r274478 : fixed merge errrors 2009-07-22 18:07:30 +0200 cl r274256 : CWS-TOOLING: rebase CWS impressnotes01 to trunk@273858 (milestone: DEV300:m52) 2009-07-21 17:21:31 +0200 cl r274208 : merging 2009-07-20 14:28:34 +0200 cl r274137 : #i103139# annotation support for impress 2009-07-20 14:28:04 +0200 cl r274136 : #i103139# annotation support for impress 2009-07-20 14:27:20 +0200 cl r274135 : #i103139# annotation support for impress 2009-07-20 14:21:17 +0200 cl r274134 : #i103139# annotation support for impress 2009-07-20 14:20:56 +0200 cl r274133 : #i103139# annotation support for impress 2009-07-20 14:20:09 +0200 cl r274132 : #i103139# annotation support for impress 2009-07-20 14:19:00 +0200 cl r274131 : #i103139# annotation support for impress 2009-07-20 14:17:50 +0200 cl r274130 : #i103139# annotation support for impress 2009-07-20 14:12:24 +0200 cl r274129 : #i103139# annotation support for impress 2009-07-20 13:52:03 +0200 cl r274128 : #i103139# annotation support for impress 2009-07-20 13:51:11 +0200 cl r274127 : #i103139# annotation support for impress 2009-07-20 13:48:59 +0200 cl r274126 : #i103139# annotation support for impress 2009-07-20 13:43:56 +0200 cl r274125 : #i103139# annotation support for impress 2009-07-20 13:31:55 +0200 cl r274123 : #i103139# annotation support for impress 2009-07-20 13:30:45 +0200 cl r274122 : #i103139# annotation support for impress
2009-09-16 13:55:36 +00:00
bROODFDefaultVersion = pROStates[nProp];
break;
}
2000-09-20 11:29:15 +00:00
default:
{
sal_Bool bTemp = sal_Bool();
2000-09-20 11:29:15 +00:00
if ( pValues[nProp] >>= bTemp )
{
switch ( nProp )
{
case USEUSERDATA :
bUseUserData = bTemp;
bROUseUserData = pROStates[nProp];
2000-09-20 11:29:15 +00:00
break;
case CREATEBACKUP :
2000-09-25 16:39:05 +00:00
bBackup = bTemp;
bROBackup = pROStates[nProp];
2000-09-20 11:29:15 +00:00
break;
case AUTOSAVE :
bAutoSave = bTemp;
bROAutoSave = pROStates[nProp];
2000-09-20 11:29:15 +00:00
break;
case PROMPT :
bAutoSavePrompt = bTemp;
bROAutoSavePrompt = pROStates[nProp];
2000-09-20 11:29:15 +00:00
break;
case EDITPROPERTY :
bDocInfSave = bTemp;
bRODocInfSave = pROStates[nProp];
2000-09-20 11:29:15 +00:00
break;
case SAVEWORKINGSET :
bSaveWorkingSet = bTemp;
bROSaveWorkingSet = pROStates[nProp];
2000-09-20 11:29:15 +00:00
break;
2000-09-25 10:30:52 +00:00
case SAVEVIEWINFO :
2000-09-20 11:29:15 +00:00
bSaveDocView = bTemp;
bROSaveDocView = pROStates[nProp];
2000-09-20 11:29:15 +00:00
break;
case FILESYSTEM :
bSaveRelFSys = bTemp;
bROSaveRelFSys = pROStates[nProp];
2000-09-20 11:29:15 +00:00
break;
case INTERNET :
bSaveRelINet = bTemp;
bROSaveRelINet = pROStates[nProp];
2000-09-20 11:29:15 +00:00
break;
case UNPACKED :
bSaveUnpacked = bTemp;
bROSaveUnpacked = pROStates[nProp];
break;
2000-09-20 11:29:15 +00:00
2001-10-19 09:22:15 +00:00
case PRETTYPRINTING:
bDoPrettyPrinting = bTemp;
bRODoPrettyPrinting = pROStates[nProp];
2001-10-19 09:22:15 +00:00
break;
case WARNALIENFORMAT:
bWarnAlienFormat = bTemp;
bROWarnAlienFormat = pROStates[nProp];
break;
case LOADDOCPRINTER:
bLoadDocPrinter = bTemp;
bROLoadDocPrinter = pROStates[nProp];
break;
2000-09-20 11:29:15 +00:00
default :
DBG_ERRORFILE( "invalid index to load a path" );
}
}
else
{
2000-09-20 11:29:15 +00:00
DBG_ERROR( "Wrong Type!" );
}
2000-09-20 11:29:15 +00:00
}
}
}
}
}
try
{
css::uno::Reference< css::uno::XInterface > xCFG = ::comphelper::ConfigurationHelper::openConfig(
::utl::getProcessServiceFactory(),
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("org.openoffice.Office.Recovery")),
::comphelper::ConfigurationHelper::E_READONLY);
::comphelper::ConfigurationHelper::readRelativeKey(
xCFG,
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AutoSave")),
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Enabled"))) >>= bAutoSave;
::comphelper::ConfigurationHelper::readRelativeKey(
xCFG,
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AutoSave")),
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TimeIntervall"))) >>= nAutoSaveTime;
}
catch(const css::uno::Exception&)
{ DBG_ERROR("Could not find needed informations for AutoSave feature."); }
2000-09-20 11:29:15 +00:00
}
2001-07-02 06:45:12 +00:00
SvtSaveOptions_Impl::~SvtSaveOptions_Impl()
{}
2000-09-20 11:29:15 +00:00
void SvtSaveOptions_Impl::Commit()
{
Sequence< OUString > aOrgNames = GetPropertyNames();
OUString* pOrgNames = aOrgNames.getArray();
sal_Int32 nOrgCount = aOrgNames.getLength();
2001-10-19 09:22:15 +00:00
Sequence< OUString > aNames( nOrgCount );
Sequence< Any > aValues( nOrgCount );
OUString* pNames = aNames.getArray();
Any* pValues = aValues.getArray();
sal_Int32 nRealCount = 0;
2001-10-19 09:22:15 +00:00
for (sal_Int32 i=0; i<nOrgCount; ++i)
2000-09-20 11:29:15 +00:00
{
switch (i)
2000-09-20 11:29:15 +00:00
{
case FORMAT:
// not supported anymore
break;
2000-09-20 11:29:15 +00:00
case TIMEINTERVALL :
if (!bROAutoSaveTime)
{
pValues[nRealCount] <<= nAutoSaveTime;
pNames[nRealCount] = pOrgNames[i];
++nRealCount;
}
2000-09-20 11:29:15 +00:00
break;
case USEUSERDATA :
if (!bROUseUserData)
{
pValues[nRealCount] <<= bUseUserData;
pNames[nRealCount] = pOrgNames[i];
++nRealCount;
}
2000-09-20 11:29:15 +00:00
break;
case CREATEBACKUP :
if (!bROBackup)
{
pValues[nRealCount] <<= bBackup;
pNames[nRealCount] = pOrgNames[i];
++nRealCount;
}
2000-09-20 11:29:15 +00:00
break;
case AUTOSAVE :
if (!bROAutoSave)
{
pValues[nRealCount] <<= bAutoSave;
pNames[nRealCount] = pOrgNames[i];
++nRealCount;
}
2000-09-20 11:29:15 +00:00
break;
case PROMPT :
if (!bROAutoSavePrompt)
{
pValues[nRealCount] <<= bAutoSavePrompt;
pNames[nRealCount] = pOrgNames[i];
++nRealCount;
}
2000-09-20 11:29:15 +00:00
break;
case EDITPROPERTY :
if (!bRODocInfSave)
{
pValues[nRealCount] <<= bDocInfSave;
pNames[nRealCount] = pOrgNames[i];
++nRealCount;
}
2000-09-20 11:29:15 +00:00
break;
case SAVEWORKINGSET :
if (!bROSaveWorkingSet)
{
pValues[nRealCount] <<= bSaveWorkingSet;
pNames[nRealCount] = pOrgNames[i];
++nRealCount;
}
2000-09-20 11:29:15 +00:00
break;
2000-09-25 10:30:52 +00:00
case SAVEVIEWINFO :
if (!bROSaveDocView)
{
pValues[nRealCount] <<= bSaveDocView;
pNames[nRealCount] = pOrgNames[i];
++nRealCount;
}
2000-09-20 11:29:15 +00:00
break;
case FILESYSTEM :
if (!bROSaveRelFSys)
{
pValues[nRealCount] <<= bSaveRelFSys;
pNames[nRealCount] = pOrgNames[i];
++nRealCount;
}
2000-09-20 11:29:15 +00:00
break;
case INTERNET :
if (!bROSaveRelINet)
{
pValues[nRealCount] <<= bSaveRelINet;
pNames[nRealCount] = pOrgNames[i];
++nRealCount;
}
2000-09-20 11:29:15 +00:00
break;
case UNPACKED :
if (!bROSaveUnpacked)
{
pValues[nRealCount] <<= bSaveUnpacked;
pNames[nRealCount] = pOrgNames[i];
++nRealCount;
}
2001-10-19 09:22:15 +00:00
break;
case PRETTYPRINTING:
if (!bRODoPrettyPrinting)
{
pValues[nRealCount] <<= bDoPrettyPrinting;
pNames[nRealCount] = pOrgNames[i];
++nRealCount;
}
break;
case WARNALIENFORMAT:
if (!bROWarnAlienFormat)
{
pValues[nRealCount] <<= bWarnAlienFormat;
pNames[nRealCount] = pOrgNames[i];
++nRealCount;
}
break;
case LOADDOCPRINTER:
if (!bROLoadDocPrinter)
{
pValues[nRealCount] <<= bLoadDocPrinter;
pNames[nRealCount] = pOrgNames[i];
++nRealCount;
}
break;
case ODFDEFAULTVERSION:
if (!bROODFDefaultVersion)
{
CWS-TOOLING: integrate CWS impressnotes01 2009-09-11 13:52:41 +0200 cl r276061 : CWS-TOOLING: rebase CWS impressnotes01 to trunk@276043 (milestone: DEV300:m58) 2009-09-10 15:44:57 +0200 cl r276039 : #i103139# continued work on the impress annotation feature 2009-09-10 14:52:31 +0200 cl r276032 : #i103139# continued work on the impress annotation feature 2009-09-10 14:50:32 +0200 cl r276031 : #i103139# continued work on the impress annotation feature 2009-09-10 14:48:29 +0200 cl r276030 : #i103139# continued work on the impress annotation feature 2009-09-10 11:36:11 +0200 cl r276027 : #i103139# continued work on the impress annotation feature 2009-09-09 20:22:41 +0200 cl r276018 : #i103139# continued work on the impress annotation feature 2009-09-09 20:21:45 +0200 cl r276017 : #i103139# continued work on the impress annotation feature 2009-09-09 19:32:29 +0200 sj r276015 : #i103139# added import of comments (ppt binary) 2009-09-09 19:31:07 +0200 sj r276014 : #i103139# added import of comments (ppt binary) 2009-09-09 19:16:41 +0200 cl r276011 : #i103139# continued work on the impress annotation feature 2009-09-09 19:15:19 +0200 cl r276010 : #i103139# continued work on the impress annotation feature 2009-09-09 16:27:19 +0200 cl r276001 : #i104579# fixed isEmptyPresObj() 2009-09-09 15:12:02 +0200 cl r275997 : #i103139# continued work on the impress annotation feature 2009-09-09 15:06:29 +0200 sj r275996 : #i103139# added import of comments (ppt binary) 2009-09-09 14:53:01 +0200 cl r275995 : #i103139# continued work on the impress annotation feature 2009-09-09 14:51:32 +0200 cl r275994 : #i103139# continued work on the impress annotation feature 2009-09-09 12:11:17 +0200 cl r275982 : #i103139# continued work on the impress annotation feature 2009-09-09 11:47:55 +0200 cl r275981 : #i103139# continued work on the impress annotation feature 2009-09-09 11:47:23 +0200 cl r275980 : #i103139# continued work on the impress annotation feature 2009-09-09 11:44:47 +0200 cl r275978 : #i104315# added missing tab pages 2009-09-08 16:04:44 +0200 cl r275936 : #i103139# continued work on the impress annotation feature 2009-09-08 16:03:28 +0200 cl r275935 : #i103139# continued work on the impress annotation feature 2009-09-08 11:45:47 +0200 cl r275920 : #i103139# continued work on the impress annotation feature 2009-09-08 11:41:51 +0200 cl r275919 : #i103139# continued work on the impress annotation feature 2009-09-07 18:30:55 +0200 cl r275910 : #i103139# continued work on the impress annotation feature 2009-09-07 18:29:37 +0200 cl r275909 : #i103139# continued work on the impress annotation feature 2009-09-07 17:25:43 +0200 cl r275905 : #i103139# continued work on the impress annotation feature 2009-09-07 12:00:28 +0200 cl r275884 : #i103139# continued work on the impress annotation feature 2009-09-06 14:14:00 +0200 cl r275859 : #i103139# continued work on the impress annotation feature 2009-09-05 20:57:24 +0200 cl r275854 : #i103139# continued work on the impress annotation feature 2009-09-05 20:56:29 +0200 cl r275853 : #i103139# continued work on the impress annotation feature 2009-09-05 20:55:27 +0200 cl r275852 : #i103139# continued work on the impress annotation feature 2009-09-05 20:11:42 +0200 cl r275851 : #i103139# continued work on the impress annotation feature 2009-09-05 20:11:09 +0200 cl r275850 : #i103139# continued work on the impress annotation feature 2009-09-05 17:43:33 +0200 cl r275845 : #i103139# continued work on the impress annotation feature 2009-09-05 17:04:41 +0200 cl r275843 : #i103139# continued work on the impress annotation feature 2009-09-05 17:03:26 +0200 cl r275842 : #i103139# continued work on the impress annotation feature 2009-09-05 17:02:53 +0200 cl r275841 : #i103139# continued work on the impress annotation feature 2009-09-05 13:15:04 +0200 pl r275839 : #i104823# WB_NEEDSFOCUS 2009-09-05 13:14:41 +0200 pl r275838 : #i104823# WB_NEEDSFOCUS 2009-09-04 17:48:21 +0200 cl r275826 : #i103139# continued work on the impress annotation feature 2009-09-04 17:35:03 +0200 cl r275825 : #i103139# continued work on the impress annotation feature 2009-09-04 17:15:46 +0200 cl r275824 : #i103139# continued work on the impress annotation feature 2009-09-04 17:12:54 +0200 cl r275823 : #i103139# continued work on the impress annotation feature 2009-09-04 17:05:23 +0200 cl r275822 : #i103139# continued work on the impress annotation feature 2009-09-04 16:48:28 +0200 cl r275820 : #i103139# continued work on the impress annotation feature 2009-09-04 16:44:02 +0200 cl r275818 : #i103139# continued work on the impress annotation feature 2009-09-04 16:43:23 +0200 cl r275817 : #i103139# continued work on the impress annotation feature 2009-09-04 16:06:04 +0200 cl r275812 : #i103139# continued work on the impress annotation feature 2009-09-04 16:05:45 +0200 cl r275811 : #i103139# continued work on the impress annotation feature 2009-09-04 15:04:33 +0200 cl r275806 : #i103139# continued work on the impress annotation feature 2009-09-04 11:43:14 +0200 cl r275795 : #i103139# continued work on the impress annotation feature 2009-09-04 11:27:10 +0200 cl r275793 : #i103139# continued work on the impress annotation feature 2009-09-04 11:10:02 +0200 cl r275792 : #i103139# continued work on the impress annotation feature 2009-09-04 11:07:05 +0200 cl r275790 : #i103139# continued work on the impress annotation feature 2009-09-04 11:05:01 +0200 cl r275789 : #i103139# continued work on the impress annotation feature 2009-09-04 10:55:51 +0200 cl r275785 : #i103139# renamed notes to comments 2009-09-04 10:54:57 +0200 cl r275784 : #i103139# renamed notes to comments 2009-09-03 20:37:35 +0200 cl r275772 : #i103139# continued work on the impress annotation feature 2009-09-03 20:35:31 +0200 cl r275771 : #i103139# continued work on the impress annotation feature 2009-09-01 18:17:55 +0200 cl r275680 : #i103139# continued work on the impress annotation feature 2009-09-01 18:15:08 +0200 cl r275678 : #i103139# continued work on the impress annotation feature 2009-09-01 18:13:38 +0200 cl r275677 : #i103139# continued work on the impress annotation feature 2009-08-18 12:35:42 +0200 cl r275089 : fixed merge error 2009-08-18 11:39:58 +0200 cl r275086 : CWS-TOOLING: rebase CWS impressnotes01 to trunk@275001 (milestone: DEV300:m55) 2009-07-30 13:45:10 +0200 cl r274481 : fixed merge errrors 2009-07-30 13:41:21 +0200 cl r274480 : fixed merge errrors 2009-07-30 13:39:40 +0200 cl r274478 : fixed merge errrors 2009-07-22 18:07:30 +0200 cl r274256 : CWS-TOOLING: rebase CWS impressnotes01 to trunk@273858 (milestone: DEV300:m52) 2009-07-21 17:21:31 +0200 cl r274208 : merging 2009-07-20 14:28:34 +0200 cl r274137 : #i103139# annotation support for impress 2009-07-20 14:28:04 +0200 cl r274136 : #i103139# annotation support for impress 2009-07-20 14:27:20 +0200 cl r274135 : #i103139# annotation support for impress 2009-07-20 14:21:17 +0200 cl r274134 : #i103139# annotation support for impress 2009-07-20 14:20:56 +0200 cl r274133 : #i103139# annotation support for impress 2009-07-20 14:20:09 +0200 cl r274132 : #i103139# annotation support for impress 2009-07-20 14:19:00 +0200 cl r274131 : #i103139# annotation support for impress 2009-07-20 14:17:50 +0200 cl r274130 : #i103139# annotation support for impress 2009-07-20 14:12:24 +0200 cl r274129 : #i103139# annotation support for impress 2009-07-20 13:52:03 +0200 cl r274128 : #i103139# annotation support for impress 2009-07-20 13:51:11 +0200 cl r274127 : #i103139# annotation support for impress 2009-07-20 13:48:59 +0200 cl r274126 : #i103139# annotation support for impress 2009-07-20 13:43:56 +0200 cl r274125 : #i103139# annotation support for impress 2009-07-20 13:31:55 +0200 cl r274123 : #i103139# annotation support for impress 2009-07-20 13:30:45 +0200 cl r274122 : #i103139# annotation support for impress
2009-09-16 13:55:36 +00:00
pValues[nRealCount] <<= (eODFDefaultVersion == SvtSaveOptions::ODFVER_LATEST) ? sal_Int16( 3 ) : sal_Int16( eODFDefaultVersion );
pNames[nRealCount] = pOrgNames[i];
++nRealCount;
}
break;
2000-09-20 11:29:15 +00:00
default:
DBG_ERRORFILE( "invalid index to save a path" );
}
}
aNames.realloc(nRealCount);
aValues.realloc(nRealCount);
2000-09-20 11:29:15 +00:00
PutProperties( aNames, aValues );
css::uno::Reference< css::uno::XInterface > xCFG = ::comphelper::ConfigurationHelper::openConfig(
::utl::getProcessServiceFactory(),
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("org.openoffice.Office.Recovery")),
::comphelper::ConfigurationHelper::E_STANDARD);
::comphelper::ConfigurationHelper::writeRelativeKey(
xCFG,
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AutoSave")),
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TimeIntervall")),
css::uno::makeAny(nAutoSaveTime));
::comphelper::ConfigurationHelper::writeRelativeKey(
xCFG,
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AutoSave")),
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Enabled")),
css::uno::makeAny(bAutoSave));
::comphelper::ConfigurationHelper::flush(xCFG);
2000-09-20 11:29:15 +00:00
}
// -----------------------------------------------------------------------
void SvtSaveOptions_Impl::Notify( const Sequence<rtl::OUString>& )
2000-09-20 11:29:15 +00:00
{
}
2001-07-02 06:45:12 +00:00
class SvtLoadOptions_Impl : public utl::ConfigItem
{
sal_Bool bLoadUserDefinedSettings;
public:
SvtLoadOptions_Impl();
~SvtLoadOptions_Impl();
virtual void Notify( const com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
virtual void Commit();
void SetLoadUserSettings(sal_Bool b){bLoadUserDefinedSettings = b; SetModified();}
sal_Bool IsLoadUserSettings() const {return bLoadUserDefinedSettings;}
};
// -----------------------------------------------------------------------
const sal_Char cUserDefinedSettings[] = "UserDefinedSettings";
SvtLoadOptions_Impl::SvtLoadOptions_Impl()
: ConfigItem( OUString(RTL_CONSTASCII_USTRINGPARAM("Office.Common/Load")) )
2001-07-02 06:45:12 +00:00
, bLoadUserDefinedSettings( sal_False )
{
Sequence< OUString > aNames(1);
aNames[0] = OUString::createFromAscii(cUserDefinedSettings);
Sequence< Any > aValues = GetProperties( aNames );
EnableNotification( aNames );
const Any* pValues = aValues.getConstArray();
DBG_ASSERT( aValues.getLength() == aNames.getLength(), "GetProperties failed" );
if (pValues[0].getValueTypeClass() == ::com::sun::star::uno::TypeClass_BOOLEAN)
bLoadUserDefinedSettings = *(sal_Bool *)pValues[0].getValue();
}
// -----------------------------------------------------------------------
SvtLoadOptions_Impl::~SvtLoadOptions_Impl()
{
}
// -----------------------------------------------------------------------
void SvtLoadOptions_Impl::Commit()
{
Sequence< OUString > aNames(1);
aNames[0] = OUString::createFromAscii(cUserDefinedSettings);
Sequence< Any > aValues( 1 );
aValues[0].setValue(&bLoadUserDefinedSettings, ::getBooleanCppuType());
PutProperties( aNames, aValues );
}
// -----------------------------------------------------------------------
void SvtLoadOptions_Impl::Notify( const Sequence<rtl::OUString>& )
2001-07-02 06:45:12 +00:00
{
DBG_ERRORFILE( "properties have been changed" );
}
// -----------------------------------------------------------------------
namespace
{
class LocalSingleton : public rtl::Static< osl::Mutex, LocalSingleton >
{
};
}
// -----------------------------------------------------------------------
2000-09-20 11:29:15 +00:00
SvtSaveOptions::SvtSaveOptions()
{
// Global access, must be guarded (multithreading)
::osl::MutexGuard aGuard( LocalSingleton::get() );
2000-09-20 11:29:15 +00:00
if ( !pOptions )
2001-07-02 06:45:12 +00:00
{
RTL_LOGFILE_CONTEXT(aLog, "unotools ( ??? ) ::SvtSaveOptions_Impl::ctor()");
2001-07-02 06:45:12 +00:00
pOptions = new SvtLoadSaveOptions_Impl;
pOptions->pSaveOpt = new SvtSaveOptions_Impl;
pOptions->pLoadOpt = new SvtLoadOptions_Impl;
ItemHolder1::holdConfigItem(E_SAVEOPTIONS);
}
++nRefCount;
2000-09-20 11:29:15 +00:00
pImp = pOptions;
}
// -----------------------------------------------------------------------
SvtSaveOptions::~SvtSaveOptions()
{
// Global access, must be guarded (multithreading)
::osl::MutexGuard aGuard( LocalSingleton::get() );
2000-09-20 11:29:15 +00:00
if ( !--nRefCount )
2000-10-26 11:58:47 +00:00
{
2001-07-02 06:45:12 +00:00
if ( pOptions->pSaveOpt->IsModified() )
pOptions->pSaveOpt->Commit();
if ( pOptions->pLoadOpt->IsModified() )
pOptions->pLoadOpt->Commit();
DELETEZ( pOptions->pLoadOpt );
DELETEZ( pOptions->pSaveOpt );
2000-09-20 11:29:15 +00:00
DELETEZ( pOptions );
2000-10-26 11:58:47 +00:00
}
2000-09-20 11:29:15 +00:00
}
void SvtSaveOptions::SetAutoSaveTime( sal_Int32 n )
{
2001-07-02 06:45:12 +00:00
pImp->pSaveOpt->SetAutoSaveTime( n );
2000-09-20 11:29:15 +00:00
}
sal_Int32 SvtSaveOptions::GetAutoSaveTime() const
{
2001-07-02 06:45:12 +00:00
return pImp->pSaveOpt->GetAutoSaveTime();
2000-09-20 11:29:15 +00:00
}
2000-11-13 08:40:12 +00:00
void SvtSaveOptions::SetUseUserData( sal_Bool b )
{
2001-07-02 06:45:12 +00:00
pImp->pSaveOpt->SetUseUserData( b );
2000-11-13 08:40:12 +00:00
}
sal_Bool SvtSaveOptions::IsUseUserData() const
{
2001-07-02 06:45:12 +00:00
return pImp->pSaveOpt->IsUseUserData();
2000-11-13 08:40:12 +00:00
}
2000-09-20 11:29:15 +00:00
void SvtSaveOptions::SetBackup( sal_Bool b )
{
2001-07-02 06:45:12 +00:00
pImp->pSaveOpt->SetBackup( b );
2000-09-20 11:29:15 +00:00
}
sal_Bool SvtSaveOptions::IsBackup() const
{
2001-07-02 06:45:12 +00:00
return pImp->pSaveOpt->IsBackup();
2000-09-20 11:29:15 +00:00
}
void SvtSaveOptions::SetAutoSave( sal_Bool b )
{
2001-07-02 06:45:12 +00:00
pImp->pSaveOpt->SetAutoSave( b );
2000-09-20 11:29:15 +00:00
}
sal_Bool SvtSaveOptions::IsAutoSave() const
{
2001-07-02 06:45:12 +00:00
return pImp->pSaveOpt->IsAutoSave();
2000-09-20 11:29:15 +00:00
}
void SvtSaveOptions::SetAutoSavePrompt( sal_Bool b )
{
2001-07-02 06:45:12 +00:00
pImp->pSaveOpt->SetAutoSavePrompt( b );
2000-09-20 11:29:15 +00:00
}
sal_Bool SvtSaveOptions::IsAutoSavePrompt() const
{
2001-07-02 06:45:12 +00:00
return pImp->pSaveOpt->IsAutoSavePrompt();
2000-09-20 11:29:15 +00:00
}
void SvtSaveOptions::SetDocInfoSave(sal_Bool b)
{
2001-07-02 06:45:12 +00:00
pImp->pSaveOpt->SetDocInfoSave( b );
2000-09-20 11:29:15 +00:00
}
sal_Bool SvtSaveOptions::IsDocInfoSave() const
{
2001-07-02 06:45:12 +00:00
return pImp->pSaveOpt->IsDocInfoSave();
2000-09-20 11:29:15 +00:00
}
void SvtSaveOptions::SetSaveWorkingSet( sal_Bool b )
{
2001-07-02 06:45:12 +00:00
pImp->pSaveOpt->SetSaveWorkingSet( b );
2000-09-20 11:29:15 +00:00
}
sal_Bool SvtSaveOptions::IsSaveWorkingSet() const
{
2001-07-02 06:45:12 +00:00
return pImp->pSaveOpt->IsSaveWorkingSet();
2000-09-20 11:29:15 +00:00
}
void SvtSaveOptions::SetSaveDocView( sal_Bool b )
{
2001-07-02 06:45:12 +00:00
pImp->pSaveOpt->SetSaveDocView( b );
2000-09-20 11:29:15 +00:00
}
sal_Bool SvtSaveOptions::IsSaveDocView() const
{
2001-07-02 06:45:12 +00:00
return pImp->pSaveOpt->IsSaveDocView();
2000-09-20 11:29:15 +00:00
}
void SvtSaveOptions::SetSaveRelINet( sal_Bool b )
{
2001-07-02 06:45:12 +00:00
pImp->pSaveOpt->SetSaveRelINet( b );
2000-09-20 11:29:15 +00:00
}
sal_Bool SvtSaveOptions::IsSaveRelINet() const
{
2001-07-02 06:45:12 +00:00
return pImp->pSaveOpt->IsSaveRelINet();
2000-09-20 11:29:15 +00:00
}
void SvtSaveOptions::SetSaveRelFSys( sal_Bool b )
{
2001-07-02 06:45:12 +00:00
pImp->pSaveOpt->SetSaveRelFSys( b );
2000-09-20 11:29:15 +00:00
}
sal_Bool SvtSaveOptions::IsSaveRelFSys() const
{
2001-07-02 06:45:12 +00:00
return pImp->pSaveOpt->IsSaveRelFSys();
2000-09-20 11:29:15 +00:00
}
2000-09-25 16:39:05 +00:00
void SvtSaveOptions::SetSaveUnpacked( sal_Bool b )
{
2001-07-02 06:45:12 +00:00
pImp->pSaveOpt->SetSaveUnpacked( b );
}
sal_Bool SvtSaveOptions::IsSaveUnpacked() const
{
2001-07-02 06:45:12 +00:00
return pImp->pSaveOpt->IsSaveUnpacked();
}
2001-10-19 09:22:15 +00:00
void SvtSaveOptions::SetLoadUserSettings(sal_Bool b)
2001-07-02 06:45:12 +00:00
{
pImp->pLoadOpt->SetLoadUserSettings(b);
}
sal_Bool SvtSaveOptions::IsLoadUserSettings() const
{
return pImp->pLoadOpt->IsLoadUserSettings();
2000-09-25 16:39:05 +00:00
}
2001-10-19 09:22:15 +00:00
void SvtSaveOptions::SetPrettyPrinting( sal_Bool _bEnable )
{
pImp->pSaveOpt->EnablePrettyPrinting( _bEnable );
}
sal_Bool SvtSaveOptions::IsPrettyPrinting() const
{
return pImp->pSaveOpt->IsPrettyPrintingEnabled();
}
void SvtSaveOptions::SetWarnAlienFormat( sal_Bool _bEnable )
{
pImp->pSaveOpt->SetWarnAlienFormat( _bEnable );
}
sal_Bool SvtSaveOptions::IsWarnAlienFormat() const
{
return pImp->pSaveOpt->IsWarnAlienFormat();
}
void SvtSaveOptions::SetLoadDocumentPrinter( sal_Bool _bEnable )
{
pImp->pSaveOpt->SetLoadDocPrinter( _bEnable );
}
sal_Bool SvtSaveOptions::IsLoadDocumentPrinter() const
{
return pImp->pSaveOpt->IsLoadDocPrinter();
}
void SvtSaveOptions::SetODFDefaultVersion( SvtSaveOptions::ODFDefaultVersion eVersion )
{
pImp->pSaveOpt->SetODFDefaultVersion( eVersion );
}
SvtSaveOptions::ODFDefaultVersion SvtSaveOptions::GetODFDefaultVersion() const
{
return pImp->pSaveOpt->GetODFDefaultVersion();
}
sal_Bool SvtSaveOptions::IsReadOnly( SvtSaveOptions::EOption eOption ) const
{
return pImp->pSaveOpt->IsReadOnly(eOption);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */