diff options
author | Kohei Yoshida <kohei.yoshida@gmail.com> | 2012-05-08 16:08:02 -0400 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@gmail.com> | 2012-05-08 16:08:02 -0400 |
commit | cd708b56dc614a3e81921f1b28d3102264dfa53a (patch) | |
tree | 1a142ed6f27d58cdc2ffef8992cfd83853b097b3 /sc/source | |
parent | aceff35230dab8d22a5fdd4cd9a7a982b9754fa2 (diff) |
Support document title field in cells.
Change-Id: Ie874ba4c5bffbd36d38868b0602687c64649c3f0
Diffstat (limited to 'sc/source')
-rw-r--r-- | sc/source/core/tool/editutil.cxx | 9 | ||||
-rw-r--r-- | sc/source/ui/src/popup.src | 5 | ||||
-rw-r--r-- | sc/source/ui/unoobj/fielduno.cxx | 3 | ||||
-rw-r--r-- | sc/source/ui/unoobj/servuno.cxx | 4 | ||||
-rw-r--r-- | sc/source/ui/view/editsh.cxx | 8 |
5 files changed, 27 insertions, 2 deletions
diff --git a/sc/source/core/tool/editutil.cxx b/sc/source/core/tool/editutil.cxx index 29fe83d1f474..5724202375c8 100644 --- a/sc/source/core/tool/editutil.cxx +++ b/sc/source/core/tool/editutil.cxx @@ -51,6 +51,7 @@ #include <unotools/syslocale.hxx> #include <com/sun/star/text/textfield/Type.hpp> +#include <com/sun/star/document/XDocumentProperties.hpp> #include "editutil.hxx" #include "global.hxx" @@ -762,6 +763,14 @@ String ScFieldEditEngine::CalcFieldValue( const SvxFieldItem& rField, aRet = ScGlobal::pLocaleData->getDate(aDate); } break; + case text::textfield::Type::FILE: + { + SfxObjectShell* pDocShell = mpDoc->GetDocumentShell(); + aRet = pDocShell->getDocProperties()->getTitle(); + if (aRet.isEmpty()) + aRet = pDocShell->GetTitle(); + } + break; case text::textfield::Type::TABLE: { const SvxTableField* pField = static_cast<const SvxTableField*>(pFieldData); diff --git a/sc/source/ui/src/popup.src b/sc/source/ui/src/popup.src index 67f4089a3380..e3e9a112878d 100644 --- a/sc/source/ui/src/popup.src +++ b/sc/source/ui/src/popup.src @@ -446,6 +446,11 @@ Menu RID_POPUP_EDIT Identifier = SID_INSERT_FIELD_SHEET ; Text [ en-US ] = "Sheet Name" ; }; + MenuItem + { + Identifier = SID_INSERT_FIELD_TITLE ; + Text [ en-US ] = "Title" ; + }; }; }; }; diff --git a/sc/source/ui/unoobj/fielduno.cxx b/sc/source/ui/unoobj/fielduno.cxx index 1168b12589a5..60c8e755f535 100644 --- a/sc/source/ui/unoobj/fielduno.cxx +++ b/sc/source/ui/unoobj/fielduno.cxx @@ -972,6 +972,7 @@ ScEditFieldObj::ScEditFieldObj( { switch (meType) { + case text::textfield::Type::FILE: case text::textfield::Type::EXTENDED_FILE: pPropSet = lcl_GetFileFieldPropertySet(); break; @@ -1151,6 +1152,7 @@ void SAL_CALL ScEditFieldObj::setPropertyValue( case text::textfield::Type::URL: setPropertyValueURL(aPropertyName, aValue); break; + case text::textfield::Type::FILE: case text::textfield::Type::EXTENDED_FILE: setPropertyValueFile(aPropertyName, aValue); break; @@ -1204,6 +1206,7 @@ uno::Any SAL_CALL ScEditFieldObj::getPropertyValue( const rtl::OUString& aProper { case text::textfield::Type::URL: return getPropertyValueURL(aPropertyName); + case text::textfield::Type::FILE: case text::textfield::Type::EXTENDED_FILE: return getPropertyValueFile(aPropertyName); case text::textfield::Type::DATE: diff --git a/sc/source/ui/unoobj/servuno.cxx b/sc/source/ui/unoobj/servuno.cxx index e4c1558fc4fc..32cfb755cc45 100644 --- a/sc/source/ui/unoobj/servuno.cxx +++ b/sc/source/ui/unoobj/servuno.cxx @@ -274,7 +274,7 @@ static const ProvNamesId_Type aProvNamesId[] = { "com.sun.star.text.TextField.Date", SC_SERVICE_DATEFIELD }, { "com.sun.star.text.TextField.Time", SC_SERVICE_TIMEFIELD }, { "com.sun.star.text.TextField.DateTime", SC_SERVICE_EXT_TIMEFIELD }, - { "com.sun.star.text.TextField.DocumentTitle", SC_SERVICE_TITLEFIELD }, + { "com.sun.star.text.TextField.DocInfo.Title", SC_SERVICE_TITLEFIELD }, { "com.sun.star.text.TextField.FileName", SC_SERVICE_FILEFIELD }, { "com.sun.star.text.TextField.SheetName", SC_SERVICE_SHEETFIELD }, { "com.sun.star.style.CellStyle", SC_SERVICE_CELLSTYLE }, @@ -324,7 +324,7 @@ static const ProvNamesId_Type aProvNamesId[] = { "com.sun.star.text.textfield.Date", SC_SERVICE_DATEFIELD }, { "com.sun.star.text.textfield.Time", SC_SERVICE_TIMEFIELD }, { "com.sun.star.text.textfield.DateTime", SC_SERVICE_EXT_TIMEFIELD }, - { "com.sun.star.text.textfield.DocumentTitle", SC_SERVICE_TITLEFIELD }, + { "com.sun.star.text.textfield.docinfo.Title", SC_SERVICE_TITLEFIELD }, { "com.sun.star.text.textfield.FileName", SC_SERVICE_FILEFIELD }, { "com.sun.star.text.textfield.SheetName", SC_SERVICE_SHEETFIELD }, { "ooo.vba.VBAGlobals", SC_SERVICE_VBAGLOBALS }, diff --git a/sc/source/ui/view/editsh.cxx b/sc/source/ui/view/editsh.cxx index adb60bb5a485..79c1e9bc466a 100644 --- a/sc/source/ui/view/editsh.cxx +++ b/sc/source/ui/view/editsh.cxx @@ -621,6 +621,13 @@ void ScEditShell::Execute( SfxRequest& rReq ) pTableView->InsertField(aItem); } break; + case SID_INSERT_FIELD_TITLE: + { + SvxFileField aField; + SvxFieldItem aItem(aField, EE_FEATURE_FIELD); + pTableView->InsertField(aItem); + } + break; case SID_INSERT_FIELD_DATE_VAR: { SvxDateField aField; @@ -729,6 +736,7 @@ void ScEditShell::GetState( SfxItemSet& rSet ) } break; case SID_INSERT_FIELD_SHEET: + case SID_INSERT_FIELD_TITLE: case SID_INSERT_FIELD_DATE_VAR: break; |