summaryrefslogtreecommitdiff
path: root/embeddedobj
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2017-07-11 17:56:23 +0200
committerAndras Timar <andras.timar@collabora.com>2017-07-14 16:01:58 +0200
commit077e11ea9bb4caf5c02314eefd668e41ea08491d (patch)
tree45cf2789044ffb0e5f2ed95f5d9586cae2aa0306 /embeddedobj
parentada8c921794a79ced76b8b8772b779312c9fbe70 (diff)
Show document title for embedded documents
Embedded documents had "Untitled" name. This patch shows "<root document> (Embedded document)" string in the title bar. Change-Id: I6283240415f9e0c07c4c69672732a7c14eea9f5d Reviewed-on: https://gerrit.libreoffice.org/39835 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Reviewed-on: https://gerrit.libreoffice.org/39934 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'embeddedobj')
-rw-r--r--embeddedobj/Library_embobj.mk1
-rw-r--r--embeddedobj/source/general/docholder.cxx16
-rw-r--r--embeddedobj/source/inc/commonembobj.hxx1
-rw-r--r--embeddedobj/source/msole/oleembed.cxx3
4 files changed, 21 insertions, 0 deletions
diff --git a/embeddedobj/Library_embobj.mk b/embeddedobj/Library_embobj.mk
index 7de4e48dd5e8..551a41013387 100644
--- a/embeddedobj/Library_embobj.mk
+++ b/embeddedobj/Library_embobj.mk
@@ -29,6 +29,7 @@ $(eval $(call gb_Library_use_libraries,embobj,\
svt \
vcl \
tl \
+ i18nlangtag \
$(gb_UWINAPI) \
))
diff --git a/embeddedobj/source/general/docholder.cxx b/embeddedobj/source/general/docholder.cxx
index d465c215356c..a67091ff3f5d 100644
--- a/embeddedobj/source/general/docholder.cxx
+++ b/embeddedobj/source/general/docholder.cxx
@@ -19,6 +19,8 @@
#include <com/sun/star/embed/Aspects.hpp>
#include <com/sun/star/frame/TaskCreator.hpp>
+#include <com/sun/star/frame/XTitle.hpp>
+#include <com/sun/star/frame/TerminationVetoException.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/frame/XSynchronousFrameLoader.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
@@ -65,6 +67,9 @@
#include <rtl/process.h>
#include <vcl/svapp.hxx>
#include <svtools/embedhlp.hxx>
+#include <tools/resmgr.hxx>
+#include <vcl/settings.hxx>
+#include <sfx2/sfx.hrc>
#include <comphelper/processfactory.hxx>
#include <comphelper/namedvaluecollection.hxx>
@@ -971,6 +976,17 @@ bool DocumentHolder::LoadDocToFrame( bool bInPlace )
::comphelper::NamedValueCollection aArgs;
aArgs.put( "Model", m_xComponent );
aArgs.put( "ReadOnly", m_bReadOnly );
+
+ // set document title to show in the title bar
+ css::uno::Reference< css::frame::XTitle > xModelTitle( xDoc, css::uno::UNO_QUERY );
+ if( xModelTitle.is() )
+ {
+ LanguageTag aLocale( Application::GetSettings().GetUILanguageTag() );
+ ResMgr* pResMgr = ResMgr::SearchCreateResMgr( "sfx", aLocale );
+ OUString nTitle = ResId( STR_EMBEDDED_TITLE, *pResMgr );
+ xModelTitle->setTitle( m_pEmbedObj->getContainerName() + nTitle );
+ }
+
if ( bInPlace )
aArgs.put( "PluginMode", sal_Int16(1) );
OUString sUrl;
diff --git a/embeddedobj/source/inc/commonembobj.hxx b/embeddedobj/source/inc/commonembobj.hxx
index 174e110b3d10..b1e95020bcd5 100644
--- a/embeddedobj/source/inc/commonembobj.hxx
+++ b/embeddedobj/source/inc/commonembobj.hxx
@@ -247,6 +247,7 @@ public:
// not a real listener and should not be
void PostEvent_Impl( const OUString& aEventName );
+ OUString getContainerName() { return m_aContainerName; }
// XInterface
virtual css::uno::Any SAL_CALL queryInterface( const css::uno::Type& rType )
diff --git a/embeddedobj/source/msole/oleembed.cxx b/embeddedobj/source/msole/oleembed.cxx
index b43904fa14d1..11a037c0cd2f 100644
--- a/embeddedobj/source/msole/oleembed.cxx
+++ b/embeddedobj/source/msole/oleembed.cxx
@@ -356,6 +356,9 @@ bool OleEmbeddedObject::TryToConvertToOOo( const uno::Reference< io::XStream >&
nStep = 4;
m_xWrappedObject.set( xEmbCreator->createInstanceInitFromEntry( m_xParentStorage, m_aEntryName, uno::Sequence< beans::PropertyValue >(), uno::Sequence< beans::PropertyValue >() ), uno::UNO_QUERY_THROW );
+ // remember parent document name to show in the title bar
+ m_xWrappedObject->setContainerName( m_aContainerName );
+
bResult = true; // the change is no more revertable
try
{