summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sfx2/source/dialog/templdlg.cxx26
-rw-r--r--sfx2/source/inc/templdgi.hxx14
-rw-r--r--svx/inc/svx/optimprove.hxx19
-rw-r--r--svx/source/dialog/optimprove.cxx114
-rw-r--r--svx/source/dialog/optimprove2.cxx35
-rw-r--r--svx/source/options/optimprove.src50
-rw-r--r--svx/util/hidother.src5
-rw-r--r--xmloff/source/core/nmspmap.cxx8
8 files changed, 79 insertions, 192 deletions
diff --git a/sfx2/source/dialog/templdlg.cxx b/sfx2/source/dialog/templdlg.cxx
index 4200c62ad7..df4b45db01 100644
--- a/sfx2/source/dialog/templdlg.cxx
+++ b/sfx2/source/dialog/templdlg.cxx
@@ -758,6 +758,7 @@ SfxCommonTemplateDialog_Impl::SfxCommonTemplateDialog_Impl( SfxBindings* pB, Sfx
pCurObjShell ( NULL ),
xModuleManager ( ::comphelper::getProcessServiceFactory()->createInstance(
DEFINE_CONST_UNICODE("com.sun.star.frame.ModuleManager") ), UNO_QUERY ),
+ pbDeleted ( NULL ),
aFmtLb ( this, WB_BORDER | WB_TABSTOP | WB_SORT ),
aFilterLb ( pW, WB_BORDER | WB_DROPDOWN | WB_TABSTOP ),
@@ -801,6 +802,7 @@ SfxCommonTemplateDialog_Impl::SfxCommonTemplateDialog_Impl( SfxBindings* pB, Mod
pStyleSheetPool ( NULL ),
pTreeBox ( NULL ),
pCurObjShell ( NULL ),
+ pbDeleted ( NULL ),
aFmtLb ( this, SfxResId( BT_VLIST ) ),
aFilterLb ( pW, SfxResId( BT_FLIST ) ),
@@ -1013,6 +1015,11 @@ SfxCommonTemplateDialog_Impl::~SfxCommonTemplateDialog_Impl()
pStyleSheetPool = NULL;
delete pTreeBox;
delete pTimer;
+ if ( pbDeleted )
+ {
+ pbDeleted->bDead = true;
+ pbDeleted = NULL;
+ }
}
//-------------------------------------------------------------------------
@@ -1632,7 +1639,7 @@ void SfxCommonTemplateDialog_Impl::Notify(SfxBroadcaster& /*rBC*/, const SfxHint
// es kann sein, da\s sich ein neuer erst anmeldet, nachdem der Timer
// abgelaufen ist - macht sich schlecht in UpdateStyles_Impl() !
- ULONG nId = ((SfxSimpleHint&) rHint).GetId();
+ ULONG nId = rHint.ISA(SfxSimpleHint) ? ( (SfxSimpleHint&)rHint ).GetId() : 0;
if(!bDontUpdate && nId != SFX_HINT_DYING &&
(rHint.Type() == TYPE(SfxStyleSheetPoolHint)||
@@ -1717,13 +1724,14 @@ BOOL SfxCommonTemplateDialog_Impl::Execute_Impl(
pItems[ nCount++ ] = 0;
- const SfxPoolItem* pItem;
+ Deleted aDeleted;
+ pbDeleted = &aDeleted;
USHORT nModi = pModifier ? *pModifier : 0;
- pItem = rDispatcher.Execute(
+ const SfxPoolItem* pItem = rDispatcher.Execute(
nId, SFX_CALLMODE_SYNCHRON | SFX_CALLMODE_RECORD | SFX_CALLMODE_MODAL,
pItems, nModi );
- if ( !pItem )
+ if ( !pItem || aDeleted() )
return FALSE;
if ( nId == SID_STYLE_NEW || SID_STYLE_EDIT == nId )
@@ -1907,9 +1915,9 @@ static rtl::OUString getModuleIdentifier( const Reference< XModuleManager >& i_x
{
DBG_ASSERT( i_xModMgr.is(), "getModuleIdentifier(): no XModuleManager" );
DBG_ASSERT( i_pObjSh, "getModuleIdentifier(): no ObjectShell" );
-
+
::rtl::OUString sIdentifier;
-
+
try
{
sIdentifier = i_xModMgr->identify( i_pObjSh->GetModel() );
@@ -1922,7 +1930,7 @@ static rtl::OUString getModuleIdentifier( const Reference< XModuleManager >& i_x
{
DBG_ERRORFILE( "getModuleIdentifier(): exception of XModuleManager::identify()" );
}
-
+
return sIdentifier;
}
@@ -1932,7 +1940,7 @@ sal_Int32 SfxCommonTemplateDialog_Impl::LoadFactoryStyleFilter( SfxObjectShell*
{
DBG_ASSERT( i_pObjSh, "SfxCommonTemplateDialog_Impl::LoadFactoryStyleFilter(): no ObjectShell" );
sal_Int32 nFilter = -1;
-
+
Sequence< PropertyValue > lProps;
Reference< ::com::sun::star::container::XNameAccess > xContainer( xModuleManager, UNO_QUERY );
if ( xContainer.is() )
@@ -1942,7 +1950,7 @@ sal_Int32 SfxCommonTemplateDialog_Impl::LoadFactoryStyleFilter( SfxObjectShell*
sal_Int32 nDefault = -1;
nFilter = aFactoryProps.getUnpackedValueOrDefault( DEFINE_CONST_UNICODE("ooSetupFactoryStyleFilter"), nDefault );
}
-
+
return nFilter;
}
diff --git a/sfx2/source/inc/templdgi.hxx b/sfx2/source/inc/templdgi.hxx
index a7996eea0b..55e7a317d2 100644
--- a/sfx2/source/inc/templdgi.hxx
+++ b/sfx2/source/inc/templdgi.hxx
@@ -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
@@ -110,6 +110,15 @@ public:
// class SfxCommonTemplateDialog_Impl ------------------------------------
+struct Deleted
+{
+ bool bDead;
+
+ Deleted() : bDead(false) {}
+
+ inline bool operator()() { return bDead; }
+};
+
class SfxCommonTemplateDialog_Impl : public SfxListener
{
private:
@@ -154,6 +163,7 @@ protected:
SfxObjectShell* pCurObjShell;
::com::sun::star::uno::Reference< ::com::sun::star::frame::XModuleManager >
xModuleManager;
+ Deleted* pbDeleted;
SfxActionListBox aFmtLb;
ListBox aFilterLb;
@@ -234,7 +244,7 @@ protected:
sal_Int32 LoadFactoryStyleFilter( SfxObjectShell* i_pObjSh );
void SaveFactoryStyleFilter( SfxObjectShell* i_pObjSh, sal_Int32 i_nFilter );
-
+
public:
TYPEINFO();
diff --git a/svx/inc/svx/optimprove.hxx b/svx/inc/svx/optimprove.hxx
index 63d4ce8548..816e531ca2 100644
--- a/svx/inc/svx/optimprove.hxx
+++ b/svx/inc/svx/optimprove.hxx
@@ -102,6 +102,7 @@ private:
SVX_DLLPRIVATE SvxImprovementOptionsPage( Window* pParent, const SfxItemSet& rSet );
+ DECL_DLLPRIVATE_LINK( HandleHyperlink, svt::FixedHyperlinkImage * );
DECL_DLLPRIVATE_LINK( HandleShowData, PushButton * );
public:
@@ -137,23 +138,5 @@ public:
void SetInfoText( const String& rText );
};
-class SVX_DLLPUBLIC SvxImprovementDialog2 : public ModalDialog
-{
-private:
- SvxInfoWindow m_aInfoWin;
- FixedText m_aInvitationFT;
- RadioButton m_aYesRB;
- RadioButton m_aNoRB;
- FixedLine m_aButtonLine;
- svt::FixedHyperlinkImage m_aInfoFI;
- OKButton m_aOKBtn;
-
- DECL_DLLPRIVATE_LINK( HandleOK, OKButton * );
- DECL_DLLPRIVATE_LINK( HandleHyperlink, svt::FixedHyperlinkImage * );
-
-public:
- SvxImprovementDialog2( Window* pParent );
-};
-
#endif
diff --git a/svx/source/dialog/optimprove.cxx b/svx/source/dialog/optimprove.cxx
index 0880642660..ae67f627ae 100644
--- a/svx/source/dialog/optimprove.cxx
+++ b/svx/source/dialog/optimprove.cxx
@@ -87,11 +87,12 @@ SvxImprovementPage::SvxImprovementPage( Window* pParent ) :
m_aShowDataPB.Hide();
Size aNewSize = m_aInvitationFT.GetSizePixel();
- const long nNewWidth = aNewSize.Width() * 4 / 5;
+ const long nMinWidth = m_aYesRB.CalcMinimumSize().Width();
+ const long nNewWidth = std::max( aNewSize.Width() * 4 / 5, nMinWidth );
const long nWDelta = aNewSize.Width() - nNewWidth;
aNewSize.Width() = nNewWidth;
- Size aCalcSize = m_aInvitationFT.CalcMinimumSize( nNewWidth );
- long nHDelta = aCalcSize.Height() - aNewSize.Height();
+ const Size aCalcSize = m_aInvitationFT.CalcMinimumSize( nNewWidth );
+ const long nHDelta = aCalcSize.Height() - aNewSize.Height();
aNewSize.Height() = aCalcSize.Height();
m_aInvitationFT.SetSizePixel( aNewSize );
@@ -222,110 +223,3 @@ void SvxInfoWindow::SetInfoText( const String& rText )
m_aInfoText.SetPosSizePixel( aPos, aSize );
}
-// class SvxImprovementDialog2 -------------------------------------------
-
-SvxImprovementDialog2::SvxImprovementDialog2( Window* pParent ) :
-
- ModalDialog( pParent, SVX_RES( RID_SVXPAGE_IMPROVEMENT ) ),
-
- m_aInfoWin ( this, SVX_RES( WIN_INFO ) ),
- m_aInvitationFT ( this, SVX_RES( FT_INVITATION ) ),
- m_aYesRB ( this, SVX_RES( RB_YES ) ),
- m_aNoRB ( this, SVX_RES( RB_NO ) ),
- m_aButtonLine ( this, SVX_RES( FL_IMPROVE ) ),
- m_aInfoFI ( this, SVX_RES( FI_INFO ) ),
- m_aOKBtn ( this, SVX_RES( BTN_OK ) )
-
-{
- FreeResource();
-
- SvxImprovementPage* pPage = new SvxImprovementPage( this );
- m_aInfoWin.Show();
- m_aInfoWin.SetInfoText( pPage->GetInfoText() );
- m_aInvitationFT.SetText( pPage->GetInvitationText() );
- m_aYesRB.SetText( pPage->GetYesButtonText() );
- m_aNoRB.SetText( pPage->GetNoButtonText() );
- SetText( pPage->GetPageText() );
- delete pPage;
-
- m_aInfoFI.SetClickHdl( LINK( this, SvxImprovementDialog2, HandleHyperlink ) );
- m_aOKBtn.SetClickHdl( LINK( this, SvxImprovementDialog2, HandleOK ) );
-
- Size aImgSz = m_aInfoFI.GetImage().GetSizePixel();
- Size aCtrlSz = m_aInfoFI.GetSizePixel();
- Point aCtrlPos = m_aInfoFI.GetPosPixel();
-
- long nDeltaW = aCtrlSz.Width() - aImgSz.Width();
- long nDeltaH = aCtrlSz.Height() - aImgSz.Height();
- if ( nDeltaW > 4 )
- {
- nDeltaW -= 4;
- aCtrlSz.Width() -= nDeltaW;
- aCtrlPos.X() -= ( nDeltaW / 2 );
- }
- if ( nDeltaH > 4 )
- {
- nDeltaH -= 4;
- aCtrlSz.Height() -= nDeltaH;
- aCtrlPos.Y() -= ( nDeltaH / 2 );
- }
- m_aInfoFI.SetPosSizePixel( aCtrlPos, aCtrlSz );
-}
-
-IMPL_LINK( SvxImprovementDialog2, HandleHyperlink, svt::FixedHyperlinkImage*, pHyperlinkImage )
-{
- ::rtl::OUString sURL( pHyperlinkImage->GetURL() );
-
- if ( sURL.getLength() > 0 )
- {
- try
- {
- uno::Reference< lang::XMultiServiceFactory > xSMGR =
- ::comphelper::getProcessServiceFactory();
- uno::Reference< XSystemShellExecute > xSystemShell(
- xSMGR->createInstance( ::rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.system.SystemShellExecute" ) ) ),
- uno::UNO_QUERY_THROW );
- if ( xSystemShell.is() )
- {
- xSystemShell->execute(
- sURL, ::rtl::OUString(), SystemShellExecuteFlags::DEFAULTS );
- }
- }
- catch( const uno::Exception& e )
- {
- OSL_TRACE( "Caught exception: %s\n thread terminated.\n",
- rtl::OUStringToOString( e.Message, RTL_TEXTENCODING_UTF8 ).getStr() );
- }
- }
-
- return 0;
-}
-
-IMPL_LINK( SvxImprovementDialog2, HandleOK, OKButton*, EMPTYARG )
-{
- uno::Reference< lang::XMultiServiceFactory > xSMGR = ::comphelper::getProcessServiceFactory();
- uno::Reference< com::sun::star::oooimprovement::XCoreController > core_c(
- xSMGR->createInstance( ::rtl::OUString::createFromAscii("com.sun.star.oooimprovement.CoreController")),
- uno::UNO_QUERY);
- if(core_c.is())
- {
- ::comphelper::ConfigurationHelper::writeDirectKey(
- xSMGR,
- ::rtl::OUString::createFromAscii("/org.openoffice.Office.OOoImprovement.Settings"),
- ::rtl::OUString::createFromAscii("Participation"),
- ::rtl::OUString::createFromAscii("ShowedInvitation"),
- uno::makeAny( true ),
- ::comphelper::ConfigurationHelper::E_STANDARD );
- ::comphelper::ConfigurationHelper::writeDirectKey(
- xSMGR,
- ::rtl::OUString::createFromAscii("/org.openoffice.Office.OOoImprovement.Settings"),
- ::rtl::OUString::createFromAscii("Participation"),
- ::rtl::OUString::createFromAscii("InvitationAccepted"),
- uno::makeAny( m_aYesRB.IsChecked() != FALSE ),
- ::comphelper::ConfigurationHelper::E_STANDARD );
- }
- EndDialog( RET_OK );
- return 0;
-}
-
diff --git a/svx/source/dialog/optimprove2.cxx b/svx/source/dialog/optimprove2.cxx
index 91f2f95f18..843bf8ae92 100644
--- a/svx/source/dialog/optimprove2.cxx
+++ b/svx/source/dialog/optimprove2.cxx
@@ -51,6 +51,8 @@
#include <com/sun/star/lang/XComponent.hpp>
#include <com/sun/star/oooimprovement/XCore.hpp>
#include <com/sun/star/oooimprovement/XCoreController.hpp>
+#include <com/sun/star/system/XSystemShellExecute.hpp>
+#include <com/sun/star/system/SystemShellExecuteFlags.hpp>
#include <com/sun/star/util/XStringSubstitution.hpp>
#include <comphelper/configurationhelper.hxx>
#include <comphelper/processfactory.hxx>
@@ -62,6 +64,7 @@ namespace beans = ::com::sun::star::beans;
namespace lang = ::com::sun::star::lang;
namespace uno = ::com::sun::star::uno;
namespace util = ::com::sun::star::util;
+using namespace com::sun::star::system;
// class SvxEmptyPage ----------------------------------------------------
@@ -97,6 +100,8 @@ SvxImprovementOptionsPage::SvxImprovementOptionsPage( Window* pParent, const Sfx
{
FreeResource();
+ m_aInfoFI.SetURL( C2S( "www.sun.com/privacy/" ) );
+ m_aInfoFI.SetClickHdl( LINK( this, SvxImprovementOptionsPage, HandleHyperlink ) );
m_aShowDataPB.SetClickHdl( LINK( this, SvxImprovementOptionsPage, HandleShowData ) );
}
@@ -104,6 +109,36 @@ SvxImprovementOptionsPage::~SvxImprovementOptionsPage()
{
}
+IMPL_LINK( SvxImprovementOptionsPage, HandleHyperlink, svt::FixedHyperlinkImage*, EMPTYARG )
+{
+ ::rtl::OUString sURL( m_aInfoFI.GetURL() );
+
+ if ( sURL.getLength() > 0 )
+ {
+ try
+ {
+ uno::Reference< lang::XMultiServiceFactory > xSMGR =
+ ::comphelper::getProcessServiceFactory();
+ uno::Reference< XSystemShellExecute > xSystemShell(
+ xSMGR->createInstance( ::rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.system.SystemShellExecute" ) ) ),
+ uno::UNO_QUERY_THROW );
+ if ( xSystemShell.is() )
+ {
+ xSystemShell->execute(
+ sURL, ::rtl::OUString(), SystemShellExecuteFlags::DEFAULTS );
+ }
+ }
+ catch( const uno::Exception& e )
+ {
+ OSL_TRACE( "Caught exception: %s\n thread terminated.\n",
+ rtl::OUStringToOString( e.Message, RTL_TEXTENCODING_UTF8 ).getStr() );
+ }
+ }
+
+ return 0;
+}
+
IMPL_LINK( SvxImprovementOptionsPage, HandleShowData, PushButton*, EMPTYARG )
{
uno::Reference < uno::XInterface > xDesktop( ::comphelper::getProcessServiceFactory()->createInstance(
diff --git a/svx/source/options/optimprove.src b/svx/source/options/optimprove.src
index 722735730b..148d7391c9 100644
--- a/svx/source/options/optimprove.src
+++ b/svx/source/options/optimprove.src
@@ -121,53 +121,3 @@ TabPage RID_SVXPAGE_IMPROVEMENT
};
};
-ModalDialog RID_SVXPAGE_IMPROVEMENT
-{
- //!HelpId = HID_OPTIONS_IMPROVEMENT ;
- OutputSize = TRUE ;
- SVLook = TRUE ;
- Size = MAP_APPFONT ( 210 , 173 ) ;
- Moveable = TRUE ;
- Window WIN_INFO
- {
- Pos = MAP_APPFONT ( 0 , 0 ) ;
- Size = MAP_APPFONT ( 210 , 30 ) ;
- };
- FixedText FT_INVITATION
- {
- Pos = MAP_APPFONT ( 6 , 36 ) ;
- Size = MAP_APPFONT ( 198 , 72 ) ;
- WordBreak = TRUE ;
- };
- RadioButton RB_YES
- {
- Pos = MAP_APPFONT ( 6 , 114 ) ;
- Size = MAP_APPFONT ( 198 , 10 ) ;
- Check = TRUE ;
- };
- RadioButton RB_NO
- {
- Pos = MAP_APPFONT ( 6 , 127 ) ;
- Size = MAP_APPFONT ( 198 , 10 ) ;
- };
- FixedLine FL_IMPROVE
- {
- Pos = MAP_APPFONT ( 0 , 140 ) ;
- Size = MAP_APPFONT ( 210 , 8 ) ;
- };
- FixedImage FI_INFO
- {
- Pos = MAP_APPFONT ( 6 , 151 ) ;
- Size = MAP_APPFONT ( 18 , 18 ) ;
- Fixed = Image
- {
- ImageBitmap = Bitmap { File = "info.png"; };
- };
- };
- OKButton BTN_OK
- {
- Pos = MAP_APPFONT ( 154, 153 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- };
-};
-
diff --git a/svx/util/hidother.src b/svx/util/hidother.src
index 4604d0cb18..bbae775fd3 100644
--- a/svx/util/hidother.src
+++ b/svx/util/hidother.src
@@ -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
@@ -31,6 +31,7 @@
#include "hidother.hrc"
#include <svx/svxids.hrc>
#include "../inc/fmhelp.hrc"
+#include "../source/dialog/svuidlg.hrc"
hidspecial SID_GALLERY_IMPORTTHEME { HelpID = SID_GALLERY_IMPORTTHEME; };
hidspecial HID_GALLERY_NEW_THEME { HelpID = HID_GALLERY_NEW_THEME; };
@@ -502,4 +503,6 @@ hidspecial HID_HANGULDLG_SUGGESTIONS { HelpId = HID_HANGULDLG_SUGGESTIONS; };
hidspecial HID_HANGULDLG_SUGGESTIONS_GRID { HelpId = HID_HANGULDLG_SUGGESTIONS_GRID; };
hidspecial HID_HANGULDLG_SUGGESTIONS_LIST { HelpId = HID_HANGULDLG_SUGGESTIONS_LIST; };
+hidspecial HID_PASTE_DLG { HelpId = HID_PASTE_DLG; };
+hidspecial HID_LINKDLG_TABLB { HelpId = HID_LINKDLG_TABLB; };
diff --git a/xmloff/source/core/nmspmap.cxx b/xmloff/source/core/nmspmap.cxx
index b2a74a4af1..c09d8a364a 100644
--- a/xmloff/source/core/nmspmap.cxx
+++ b/xmloff/source/core/nmspmap.cxx
@@ -254,8 +254,12 @@ OUString SvXMLNamespaceMap::GetQNameByKey( sal_uInt16 nKey,
{
OUStringBuffer sQName;
// ...if it's in our map, make the prefix
- sQName.append ( (*aIter).second->sPrefix);
- sQName.append ( sal_Unicode(':') );
+ const OUString & prefix( (*aIter).second->sPrefix );
+ if (prefix.getLength()) // not default namespace
+ {
+ sQName.append( prefix );
+ sQName.append( sal_Unicode(':') );
+ }
sQName.append ( rLocalName );
if (bCache)
{