Kaydet (Commit) 5c308ad7 authored tarafından Jacobo Aragunde Pérez's avatar Jacobo Aragunde Pérez

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/15234Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarJacobo Aragunde Pérez <jaragunde@igalia.com>
üst e904e6ad
......@@ -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 );
......
......@@ -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 );
......
......@@ -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;
}
......
......@@ -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();
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment