summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharu Tyagi <charu.tyagi@ericsson.com>2015-03-25 10:13:35 +0530
committerStephan Bergmann <sbergman@redhat.com>2015-03-31 12:33:01 +0200
commit50a0ddb99d53f86b571acc0373f0d2b4ec6d611a (patch)
tree93b3f897bfd152d0e20de39baee897830b76fe70
parent08983ca2872d83685547cb5c05467ad21a27d834 (diff)
fdo#87441-Send document as Email removes invisible content
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>, plus trivial modifications for -Werror,-Wlogical-op-parentheses and loplugin:bodynotinblock Change-Id: I149681b3743eaf96e98419bd568f88b451e9ba01
-rw-r--r--cui/source/options/optinet2.cxx27
-rw-r--r--cui/source/options/optinet2.hxx1
-rw-r--r--cui/uiconfig/ui/optemailpage.ui52
-rw-r--r--officecfg/registry/schema/org/openoffice/Office/Common.xcs6
-rw-r--r--sw/source/uibase/app/docsh2.cxx27
5 files changed, 108 insertions, 5 deletions
diff --git a/cui/source/options/optinet2.cxx b/cui/source/options/optinet2.cxx
index c384de188dec..b7903817c635 100644
--- a/cui/source/options/optinet2.cxx
+++ b/cui/source/options/optinet2.cxx
@@ -938,6 +938,7 @@ class MailerProgramCfg_Impl : public utl::ConfigItem
OUString sProgram;
// readonly states
bool bROProgram;
+ bool bHidden;
const Sequence<OUString> GetPropertyNames();
@@ -973,6 +974,12 @@ MailerProgramCfg_Impl::MailerProgramCfg_Impl() :
bROProgram = pROStates[nProp];
}
break;
+ case 1 :
+ {
+ pValues[nProp] >>= bHidden;;
+
+ }
+ break;
}
}
}
@@ -988,9 +995,10 @@ MailerProgramCfg_Impl::~MailerProgramCfg_Impl()
const Sequence<OUString> MailerProgramCfg_Impl::GetPropertyNames()
{
- Sequence<OUString> aRet(1);
+ Sequence<OUString> aRet(2);
OUString* pRet = aRet.getArray();
pRet[0] = "Program";
+ pRet[1] = "Hidden";
return aRet;
}
@@ -1019,6 +1027,13 @@ void MailerProgramCfg_Impl::ImplCommit()
}
}
break;
+ case 1:
+ {
+ aNames[nRealCount] = aOrgNames[nProp];
+ aValues[nRealCount] <<= bHidden;;
+ ++nRealCount;
+ }
+ break;
}
}
@@ -1046,6 +1061,7 @@ SvxEMailTabPage::SvxEMailTabPage(vcl::Window* pParent, const SfxItemSet& rSet)
get(m_pMailerURLFI, "lockemail");
get(m_pMailerURLED, "url");
get(m_pMailerURLPB, "browse");
+ get(m_pSuppressHidden, "suppressHidden");
m_sDefaultFilterName = get<FixedText>("browsetitle")->GetText();
m_pMailerURLPB->SetClickHdl( LINK( this, SvxEMailTabPage, FileDialogHdl_Impl ) );
}
@@ -1069,9 +1085,10 @@ SfxTabPage* SvxEMailTabPage::Create( vcl::Window* pParent, const SfxItemSet* rA
bool SvxEMailTabPage::FillItemSet( SfxItemSet* )
{
bool bMailModified = false;
- if(!pImpl->aMailConfig.bROProgram && m_pMailerURLED->IsValueChangedFromSaved())
+ if((!pImpl->aMailConfig.bROProgram && m_pMailerURLED->IsValueChangedFromSaved()) || m_pSuppressHidden->IsValueChangedFromSaved())
{
pImpl->aMailConfig.sProgram = m_pMailerURLED->GetText();
+ pImpl->aMailConfig.bHidden = m_pSuppressHidden->GetState();
bMailModified = true;
}
if ( bMailModified )
@@ -1093,6 +1110,12 @@ void SvxEMailTabPage::Reset( const SfxItemSet* )
m_pMailerURLED->SetText(pImpl->aMailConfig.sProgram);
m_pMailerURLED->SaveValue();
+ if(pImpl->aMailConfig.bHidden)
+ m_pSuppressHidden->SetState(TRISTATE_TRUE);
+ else
+ m_pSuppressHidden->SetState(TRISTATE_FALSE);
+ m_pSuppressHidden->SaveValue();
+
m_pMailContainer->Enable(!pImpl->aMailConfig.bROProgram);
}
diff --git a/cui/source/options/optinet2.hxx b/cui/source/options/optinet2.hxx
index 5bb9c0547160..0c5f713d858d 100644
--- a/cui/source/options/optinet2.hxx
+++ b/cui/source/options/optinet2.hxx
@@ -186,6 +186,7 @@ class SvxEMailTabPage : public SfxTabPage
FixedImage* m_pMailerURLFI;
Edit* m_pMailerURLED;
PushButton* m_pMailerURLPB;
+ CheckBox* m_pSuppressHidden;
OUString m_sDefaultFilterName;
diff --git a/cui/uiconfig/ui/optemailpage.ui b/cui/uiconfig/ui/optemailpage.ui
index 3a5834107615..3b07f09b9804 100644
--- a/cui/uiconfig/ui/optemailpage.ui
+++ b/cui/uiconfig/ui/optemailpage.ui
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
<interface>
- <requires lib="gtk+" version="3.0"/>
+ <!-- interface-requires gtk+ 3.0 -->
<object class="GtkFrame" id="OptEmailPage">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -32,6 +31,8 @@
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
</packing>
</child>
<child>
@@ -46,19 +47,25 @@
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="browse">
<property name="label" translatable="yes">Browse...</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
</packing>
</child>
<child>
@@ -72,6 +79,8 @@
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
</packing>
</child>
<child>
@@ -84,8 +93,47 @@
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">4</property>
+ <property name="height">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkLabel" id="suppress">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Suppress hidden elements of documents</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="suppressHidden">
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</object>
</child>
</object>
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index b613d3f4d176..abfa4044442c 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -6394,6 +6394,12 @@
</info>
<value/>
</prop>
+ <prop oor:name="Hidden" oor:type="xs:boolean" oor:nillable="false">
+ <info>
+ <desc>Specifies whether invisible content should be hidden or not.</desc>
+ </info>
+ <value>true</value>
+ </prop>
</group>
<group oor:name="I18N">
<info>
diff --git a/sw/source/uibase/app/docsh2.cxx b/sw/source/uibase/app/docsh2.cxx
index f264775577ba..c36bd1c900ac 100644
--- a/sw/source/uibase/app/docsh2.cxx
+++ b/sw/source/uibase/app/docsh2.cxx
@@ -115,6 +115,9 @@
#include <com/sun/star/script/vba/VBAEventId.hpp>
#include <editeng/acorrcfg.hxx>
#include <SwStyleNameMapper.hxx>
+#include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/container/XNameAccess.hpp>
+#include <com/sun/star/configuration/theDefaultProvider.hpp>
#include <sfx2/fcontnr.hxx>
@@ -130,6 +133,9 @@ using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star;
using namespace ::sfx2;
+using com::sun::star::container::XNameAccess;
+using com::sun::star::beans::PropertyValue;
+using namespace com::sun::star::configuration;
// create DocInfo (virtual)
SfxDocumentInfoDialog* SwDocShell::CreateDocumentInfoDialog(
@@ -835,7 +841,26 @@ void SwDocShell::Execute(SfxRequest& rReq)
mpWrtShell->StartAllAction();
mpDoc->getIDocumentFieldsAccess().UpdateFlds( NULL, false );
mpDoc->getIDocumentLinksAdministration().EmbedAllLinks();
- mpDoc->RemoveInvisibleContent();
+ OUString aConfigRoot = "org.openoffice.Office.Common/ExternalMailer";
+
+ PropertyValue aProperty;
+ aProperty.Name = "nodepath";
+ aProperty.Value = makeAny( aConfigRoot );
+
+ Sequence< Any > aArgumentList( 1 );
+ aArgumentList[0] = makeAny( aProperty );
+ uno::Reference< uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xConfigurationProvider;
+ m_xConfigurationProvider = theDefaultProvider::get(xContext);
+ Reference< XNameAccess > xNameAccess =
+ Reference< XNameAccess > (m_xConfigurationProvider->createInstanceWithArguments(
+ OUString("com.sun.star.configuration.ConfigurationAccess"),
+ aArgumentList ),
+ UNO_QUERY );
+ bool bRemoveInvisible;
+ xNameAccess->getByName("Hidden") >>= bRemoveInvisible;
+ if(bRemoveInvisible)
+ mpDoc->RemoveInvisibleContent();
if(mpWrtShell)
mpWrtShell->EndAllAction();
}