summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2012-05-08 16:08:02 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2012-05-08 16:08:02 -0400
commitcd708b56dc614a3e81921f1b28d3102264dfa53a (patch)
tree1a142ed6f27d58cdc2ffef8992cfd83853b097b3 /sc/source
parentaceff35230dab8d22a5fdd4cd9a7a982b9754fa2 (diff)
Support document title field in cells.
Change-Id: Ie874ba4c5bffbd36d38868b0602687c64649c3f0
Diffstat (limited to 'sc/source')
-rw-r--r--sc/source/core/tool/editutil.cxx9
-rw-r--r--sc/source/ui/src/popup.src5
-rw-r--r--sc/source/ui/unoobj/fielduno.cxx3
-rw-r--r--sc/source/ui/unoobj/servuno.cxx4
-rw-r--r--sc/source/ui/view/editsh.cxx8
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;