[Libreoffice-commits] core.git: Branch 'aoo/trunk' - cui/source sfx2/inc sfx2/source
Jürgen Schmidt
jsc at apache.org
Thu Jun 12 07:08:02 PDT 2014
cui/source/options/optsave.cxx | 11 +++++++++++
cui/source/options/optsave.hrc | 1 +
cui/source/options/optsave.hxx | 1 +
cui/source/options/optsave.src | 25 ++++++++++++++++---------
cui/source/options/treeopt.cxx | 1 +
sfx2/inc/sfx2/sfxsids.hrc | 1 +
sfx2/source/appl/appcfg.cxx | 20 ++++++++++++++++++++
7 files changed, 51 insertions(+), 9 deletions(-)
New commits:
commit f5d074090c8cf24a27e610d1dc70e8d6af68cc88
Author: Jürgen Schmidt <jsc at apache.org>
Date: Thu Jun 12 12:46:11 2014 +0000
#125083# add new checkbox in options dialog load/save-general to enable ODF 1.2 encryption AES-256
diff --git a/cui/source/options/optsave.cxx b/cui/source/options/optsave.cxx
index 99d58e6..c71a1ee 100644
--- a/cui/source/options/optsave.cxx
+++ b/cui/source/options/optsave.cxx
@@ -178,6 +178,7 @@ SfxSaveTabPage::SfxSaveTabPage( Window* pParent, const SfxItemSet& rCoreSet ) :
aDefaultFormatFL ( this, CUI_RES( FL_FILTER ) ),
aODFVersionFT ( this, CUI_RES( FT_ODF_VERSION ) ),
aODFVersionLB ( this, CUI_RES( LB_ODF_VERSION ) ),
+ aODFEncryptionCB ( this, CUI_RES( BTN_ODFENCRYPTION ) ),
aSizeOptimizationCB ( this, CUI_RES( BTN_NOPRETTYPRINTING ) ),
aWarnAlienFormatCB ( this, CUI_RES( BTN_WARNALIENFORMAT ) ),
aDocTypeFT ( this, CUI_RES( FT_APP ) ),
@@ -384,6 +385,12 @@ sal_Bool SfxSaveTabPage::FillItemSet( SfxItemSet& rSet )
bModified |= sal_True;
}
+ if ( aODFEncryptionCB.IsChecked() != aODFEncryptionCB.GetSavedValue() )
+ {
+ rSet.Put( SfxBoolItem( GetWhich( SID_ATTR_ODFENCRYPTION ), aODFEncryptionCB.IsChecked() ) );
+ bModified |= sal_True;
+ }
+
if ( aSizeOptimizationCB.IsChecked() != aSizeOptimizationCB.GetSavedValue() )
{
rSet.Put( SfxBoolItem( GetWhich( SID_ATTR_PRETTYPRINTING ), !aSizeOptimizationCB.IsChecked() ) );
@@ -596,6 +603,9 @@ void SfxSaveTabPage::Reset( const SfxItemSet& )
aWarnAlienFormatCB.Enable(!aSaveOpt.IsReadOnly(SvtSaveOptions::E_WARNALIENFORMAT));
// aAutoSaveCB.Enable(!aSaveOpt.IsReadOnly(SvtSaveOptions::E_AUTOSAVE));
+ // ODF encryption
+ aODFEncryptionCB.Check( !aSaveOpt.IsUseSHA1InODF12());
+
// the pretty printing
aSizeOptimizationCB.Check( !aSaveOpt.IsPrettyPrinting());
// aSizeOptimizationCB.Enable(!aSaveOpt.IsReadOnly(SvtSaveOptions::E_DOPRETTYPRINTING ));
@@ -620,6 +630,7 @@ void SfxSaveTabPage::Reset( const SfxItemSet& )
aDocInfoCB.SaveValue();
aBackupCB.SaveValue();
aWarnAlienFormatCB.SaveValue();
+ aODFEncryptionCB.SaveValue();
aSizeOptimizationCB.SaveValue();
aAutoSaveCB.SaveValue();
aAutoSaveEdit.SaveValue();
diff --git a/cui/source/options/optsave.hrc b/cui/source/options/optsave.hrc
index a637f4a..e705793 100644
--- a/cui/source/options/optsave.hrc
+++ b/cui/source/options/optsave.hrc
@@ -40,6 +40,7 @@
#define BTN_WARNALIENFORMAT 22
#define FT_ODF_VERSION 23
#define LB_ODF_VERSION 24
+#define BTN_ODFENCRYPTION 25
#define GB_RELATIVE 40
#define BTN_RELATIVE_FSYS 41
diff --git a/cui/source/options/optsave.hxx b/cui/source/options/optsave.hxx
index a2e2c5d..cf5d7e4 100644
--- a/cui/source/options/optsave.hxx
+++ b/cui/source/options/optsave.hxx
@@ -66,6 +66,7 @@ private:
FixedLine aDefaultFormatFL;
FixedText aODFVersionFT;
ListBox aODFVersionLB;
+ CheckBox aODFEncryptionCB;
CheckBox aSizeOptimizationCB;
CheckBox aWarnAlienFormatCB;
FixedText aDocTypeFT;
diff --git a/cui/source/options/optsave.src b/cui/source/options/optsave.src
index 4ab58c7..892cf7b 100644
--- a/cui/source/options/optsave.src
+++ b/cui/source/options/optsave.src
@@ -156,36 +156,43 @@ TabPage RID_SFXPAGE_SAVE
< "1.2 Extended (recommended)"; 0x7fffffff ; > ;
};
};
+ CheckBox BTN_ODFENCRYPTION
+ {
+ HelpID = "cui:CheckBox:RID_SFXPAGE_SAVE:BTN_ODFENCRYPTION";
+ Pos = MAP_APPFONT ( 12 , 120 ) ;
+ Size = MAP_APPFONT ( 248 , 10 ) ;
+ Text [ en-US ] = "Enable AES-256 encryption (ODF 1.2)" ;
+ };
CheckBox BTN_NOPRETTYPRINTING
{
HelpID = "cui:CheckBox:RID_SFXPAGE_SAVE:BTN_NOPRETTYPRINTING";
- Pos = MAP_APPFONT ( 12 , 120 ) ;
+ Pos = MAP_APPFONT ( 12 , 131 ) ;
Size = MAP_APPFONT ( 248 , 10 ) ;
Text [ en-US ] = "Size optimization for ODF format" ;
};
CheckBox BTN_WARNALIENFORMAT
{
HelpID = "cui:CheckBox:RID_SFXPAGE_SAVE:BTN_WARNALIENFORMAT";
- Pos = MAP_APPFONT ( 12 , 131 ) ;
+ Pos = MAP_APPFONT ( 12 , 142 ) ;
Size = MAP_APPFONT ( 248 , 10 ) ;
Text [ en-US ] = "Warn when not saving in ODF or default format" ;
};
FixedText FT_APP
{
- Pos = MAP_APPFONT ( 12 , 142 ) ;
+ Pos = MAP_APPFONT ( 12 , 153 ) ;
Size = MAP_APPFONT ( 120 , 8 ) ;
Text [ en-US ] = "D~ocument type";
};
FixedText FT_FILTER
{
- Pos = MAP_APPFONT ( 136 , 142 ) ;
+ Pos = MAP_APPFONT ( 136 , 153 ) ;
Size = MAP_APPFONT ( 120 , 8 ) ;
Text [ en-US ] = "Always sa~ve as";
};
ListBox LB_APP
{
HelpID = "cui:ListBox:RID_SFXPAGE_SAVE:LB_APP";
- Pos = MAP_APPFONT ( 12 , 153 ) ;
+ Pos = MAP_APPFONT ( 12 , 164 ) ;
Size = MAP_APPFONT ( 108 , 58 ) ;
Border = TRUE;
DropDown = TRUE;
@@ -202,14 +209,14 @@ TabPage RID_SFXPAGE_SAVE
};
FixedImage FI_FILTER
{
- Pos = MAP_APPFONT ( 129, 154 ) ;
+ Pos = MAP_APPFONT ( 129, 153 ) ;
Size = MAP_APPFONT ( 6 , 6 ) ;
Hide = TRUE;
};
ListBox LB_FILTER
{
HelpID = "cui:ListBox:RID_SFXPAGE_SAVE:LB_FILTER";
- Pos = MAP_APPFONT ( 136 , 153 ) ;
+ Pos = MAP_APPFONT ( 136 , 164 ) ;
Size = MAP_APPFONT ( 108 , 58 ) ;
Border = TRUE;
Sort = TRUE;
@@ -217,13 +224,13 @@ TabPage RID_SFXPAGE_SAVE
};
FixedImage FI_ODF_WARNING
{
- Pos = MAP_APPFONT ( 12, 169 ) ;
+ Pos = MAP_APPFONT ( 12, 180 ) ;
Size = MAP_APPFONT ( 8 , 8 ) ;
Hide = TRUE;
};
FixedText FT_WARN
{
- Pos = MAP_APPFONT ( 23 , 169 ) ;
+ Pos = MAP_APPFONT ( 23 , 180 ) ;
Size = MAP_APPFONT ( 239 , 8 ) ;
Hide = TRUE;
Text [ en-US ] = "Not using ODF 1.2 Extended may cause information to be lost.";
diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx
index e8df439..6762083 100644
--- a/cui/source/options/treeopt.cxx
+++ b/cui/source/options/treeopt.cxx
@@ -1627,6 +1627,7 @@ SfxItemSet* OfaTreeOptionsDialog::CreateItemSet( sal_uInt16 nId )
SID_SAVEREL_INET, SID_SAVEREL_FSYS,
SID_ATTR_PRETTYPRINTING, SID_ATTR_PRETTYPRINTING,
SID_ATTR_WARNALIENFORMAT, SID_ATTR_WARNALIENFORMAT,
+ SID_ATTR_ODFENCRYPTION, SID_ATTR_ODFENCRYPTION,
0 );
SFX_APP()->GetOptions(*pRet);
break;
diff --git a/sfx2/inc/sfx2/sfxsids.hrc b/sfx2/inc/sfx2/sfxsids.hrc
index 2b5e804..801e18e 100644
--- a/sfx2/inc/sfx2/sfxsids.hrc
+++ b/sfx2/inc/sfx2/sfxsids.hrc
@@ -837,6 +837,7 @@
#define SID_OPT_MIDDLE_MOUSE (SID_OPTIONS_START + 97)
#define SID_ATTR_PRETTYPRINTING (SID_OPTIONS_START + 98)
#define SID_HELP_STYLESHEET (SID_OPTIONS_START + 99)
+#define SID_ATTR_ODFENCRYPTION (SID_OPTIONS_START + 100)
// slot IDs from SVX (svxids.hrc) ---------------------------------------------
diff --git a/sfx2/source/appl/appcfg.cxx b/sfx2/source/appl/appcfg.cxx
index 71e0442..324b3ba 100644
--- a/sfx2/source/appl/appcfg.cxx
+++ b/sfx2/source/appl/appcfg.cxx
@@ -205,6 +205,16 @@ sal_Bool SfxApplication::GetOptions( SfxItemSet& rSet )
bRet = sal_False;
}
break;
+ case SID_ATTR_ODFENCRYPTION:
+ {
+ bRet = sal_True;
+ if (!aSaveOptions.IsReadOnly(SvtSaveOptions::E_USESHA1INODF12) &&
+ !aSaveOptions.IsReadOnly(SvtSaveOptions::E_USEBLOWFISHINODF12))
+ if (!rSet.Put( SfxBoolItem( rPool.GetWhich( SID_ATTR_ODFENCRYPTION ),
+ !(aSaveOptions.IsUseSHA1InODF12() && aSaveOptions.IsUseBlowfishInODF12()))))
+ bRet = sal_False;
+ }
+ break;
case SID_ATTR_PRETTYPRINTING:
{
bRet = sal_True;
@@ -563,6 +573,16 @@ void SfxApplication::SetOptions_Impl( const SfxItemSet& rSet )
aSaveOptions.SetBackup( ( (const SfxBoolItem*)pItem )->GetValue() );
}
+ // ODF Encryption
+ if ( SFX_ITEM_SET == rSet.GetItemState( rPool.GetWhich( SID_ATTR_ODFENCRYPTION ), sal_True, &pItem ) )
+ {
+ DBG_ASSERT( pItem->ISA( SfxBoolItem ), "BoolItem expected" );
+ sal_Bool bItemValue = static_cast< const SfxBoolItem*>(pItem)->GetValue();
+
+ aSaveOptions.SetUseSHA1InODF12( !bItemValue );
+ aSaveOptions.SetUseBlowfishInODF12( !bItemValue );
+ }
+
// PrettyPrinting
if ( SFX_ITEM_SET == rSet.GetItemState( rPool.GetWhich( SID_ATTR_PRETTYPRINTING ), sal_True, &pItem ) )
{
More information about the Libreoffice-commits
mailing list