summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacobo Aragunde Pérez <jaragunde@igalia.com>2015-04-10 18:52:33 +0200
committerJacobo Aragunde Pérez <jaragunde@igalia.com>2015-04-13 09:08:40 +0000
commit5c308ad7696f3873c0747afef1ea143047e4eafb (patch)
tree4ad2e9b2eafc10c388eea2dc54d49d5b266d9a99
parente904e6ad4876c095ab5ee7bd40540635c520c9de (diff)
tdf#90478: Hide explanation on ODF when default format is alien
When saving a file that is not in ODF format (the default format), there is a dialog asking if should keep the original format or rather use ODF. But the default format can be changed to a different one than ODF, and the dialog will let users choose between saving in the default format or the one they chose in the save as dialog. In this case, the explanation about ODF shown in the dialog is pointless, so this commit hides it. Change-Id: I91cf95d35b70cb46e7667025a4a649b390205f0b Reviewed-on: https://gerrit.libreoffice.org/15234 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
-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();
};