summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sfx2/inc/guisaveas.hxx3
-rw-r--r--sfx2/source/dialog/alienwarn.cxx13
-rw-r--r--sfx2/source/doc/guisaveas.cxx8
-rw-r--r--sfx2/source/inc/alienwarn.hxx3
4 files changed, 20 insertions, 7 deletions
diff --git a/sfx2/inc/guisaveas.hxx b/sfx2/inc/guisaveas.hxx
index 19bfb51ff5e3..914094b5e1d9 100644
--- a/sfx2/inc/guisaveas.hxx
+++ b/sfx2/inc/guisaveas.hxx
@@ -81,7 +81,8 @@ public:
const OUString& aOldUIName,
const OUString& aDefUIName,
const OUString& aDefExtension,
- bool bCanProceedFurther );
+ bool bCanProceedFurther,
+ bool rDefaultIsAlien );
static vcl::Window* GetModelWindow( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& xModel );
diff --git a/sfx2/source/dialog/alienwarn.cxx b/sfx2/source/dialog/alienwarn.cxx
index e6c8234964b5..09f59c14de94 100644
--- a/sfx2/source/dialog/alienwarn.cxx
+++ b/sfx2/source/dialog/alienwarn.cxx
@@ -25,7 +25,8 @@
#include <vcl/msgbox.hxx>
#include "alienwarn.hxx"
-SfxAlienWarningDialog::SfxAlienWarningDialog(vcl::Window* pParent, const OUString& _rFormatName, const OUString& _rDefaultExtension)
+SfxAlienWarningDialog::SfxAlienWarningDialog(vcl::Window* pParent, const OUString& _rFormatName,
+ const OUString& _rDefaultExtension, bool rDefaultIsAlien)
: MessageDialog(pParent, "AlienWarnDialog", "sfx/ui/alienwarndialog.ui")
{
get(m_pWarningOnBox, "ask");
@@ -36,7 +37,7 @@ SfxAlienWarningDialog::SfxAlienWarningDialog(vcl::Window* pParent, const OUStrin
get(m_pKeepCurrentBtn, "save");
get(m_pUseDefaultFormatBtn, "cancel");
- OUString aExtension = _rDefaultExtension.toAsciiUpperCase();
+ OUString aExtension = "ODF";
// replace formatname (text)
OUString sInfoText = get_primary_text();
@@ -48,6 +49,14 @@ SfxAlienWarningDialog::SfxAlienWarningDialog(vcl::Window* pParent, const OUStrin
sInfoText = sInfoText.replaceAll( "%FORMATNAME", _rFormatName );
m_pKeepCurrentBtn->SetText( sInfoText );
+ // hide ODF explanation if default format is alien
+ // and set the proper extension in the button
+ if( rDefaultIsAlien )
+ {
+ set_secondary_text(OUString());
+ aExtension = _rDefaultExtension.toAsciiUpperCase();
+ }
+
// replace defaultextension (button)
sInfoText = m_pUseDefaultFormatBtn->GetText();
sInfoText = sInfoText.replaceAll( "%DEFAULTEXTENSION", aExtension );
diff --git a/sfx2/source/doc/guisaveas.cxx b/sfx2/source/doc/guisaveas.cxx
index 12519424e271..3dc833cfbe6a 100644
--- a/sfx2/source/doc/guisaveas.cxx
+++ b/sfx2/source/doc/guisaveas.cxx
@@ -833,7 +833,8 @@ sal_Int8 ModelData_Impl::CheckFilter( const OUString& aFilterName )
return STATUS_SAVEAS;
}
}
- if ( !SfxStoringHelper::WarnUnacceptableFormat( GetModel(), aUIName, aDefUIName, aDefExtension, true ) )
+ if ( !SfxStoringHelper::WarnUnacceptableFormat( GetModel(), aUIName, aDefUIName, aDefExtension,
+ true, (bool)( nDefFiltFlags & SfxFilterFlags::ALIEN ) ) )
return STATUS_SAVEAS_STANDARDNAME;
}
}
@@ -1875,13 +1876,14 @@ bool SfxStoringHelper::WarnUnacceptableFormat( const uno::Reference< frame::XMod
const OUString& aOldUIName,
const OUString& /*aDefUIName*/,
const OUString& aDefExtension,
- bool /*bCanProceedFurther*/ )
+ bool /*bCanProceedFurther*/,
+ bool bDefIsAlien )
{
if ( !SvtSaveOptions().IsWarnAlienFormat() )
return true;
vcl::Window* pWin = SfxStoringHelper::GetModelWindow( xModel );
- SfxAlienWarningDialog aDlg( pWin, aOldUIName, aDefExtension );
+ SfxAlienWarningDialog aDlg( pWin, aOldUIName, aDefExtension, bDefIsAlien );
return aDlg.Execute() == RET_OK;
}
diff --git a/sfx2/source/inc/alienwarn.hxx b/sfx2/source/inc/alienwarn.hxx
index f2f455211432..7e812d263a1b 100644
--- a/sfx2/source/inc/alienwarn.hxx
+++ b/sfx2/source/inc/alienwarn.hxx
@@ -30,7 +30,8 @@ private:
CheckBox* m_pWarningOnBox;
public:
- SfxAlienWarningDialog(vcl::Window* pParent, const OUString& _rFormatName, const OUString& _rDefaultExtension);
+ SfxAlienWarningDialog(vcl::Window* pParent, const OUString& _rFormatName,
+ const OUString& _rDefaultExtension, bool rDefaultIsAlien);
virtual ~SfxAlienWarningDialog();
};