summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorRafael Dominguez <venccsralph@gmail.com>2013-03-13 09:44:56 -0430
committerFridrich Strba <fridrich@documentfoundation.org>2013-03-13 15:52:01 +0000
commit8d5c061cd66c2a0d41ceda7b61cacef1365f7c4f (patch)
tree0c9b47fcaa91e9daf5de7a1a9323a0e4d8bfa969 /sfx2
parent9b080b47c69ed696cf0479be2f3acc030472cc01 (diff)
Add a button to create a new empty folder in template manager.
Change-Id: I13f77790f26c972bd74dac08c0cb8fd77b049dbf Reviewed-on: https://gerrit.libreoffice.org/2704 Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org> Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/inc/sfx2/templateabstractview.hxx2
-rw-r--r--sfx2/inc/sfx2/templatelocalview.hxx2
-rw-r--r--sfx2/inc/sfx2/templateremoteview.hxx2
-rw-r--r--sfx2/inc/templatedlg.hxx1
-rw-r--r--sfx2/source/control/templateremoteview.cxx6
-rw-r--r--sfx2/source/doc/templatedlg.cxx17
-rw-r--r--sfx2/source/doc/templatedlg.hrc2
-rw-r--r--sfx2/source/doc/templatedlg.src11
8 files changed, 42 insertions, 1 deletions
diff --git a/sfx2/inc/sfx2/templateabstractview.hxx b/sfx2/inc/sfx2/templateabstractview.hxx
index 90dba099f375..bfbd2aa01bfb 100644
--- a/sfx2/inc/sfx2/templateabstractview.hxx
+++ b/sfx2/inc/sfx2/templateabstractview.hxx
@@ -87,6 +87,8 @@ public:
virtual void filterTemplatesByApp (const FILTER_APPLICATION &eApp);
+ virtual sal_uInt16 createRegion (const OUString &rName) = 0;
+
void showOverlay (bool bVisible);
void setItemDimensions (long ItemWidth, long ThumbnailHeight, long DisplayHeight, int itemPadding);
diff --git a/sfx2/inc/sfx2/templatelocalview.hxx b/sfx2/inc/sfx2/templatelocalview.hxx
index 432b008be60c..5fc14c931f60 100644
--- a/sfx2/inc/sfx2/templatelocalview.hxx
+++ b/sfx2/inc/sfx2/templatelocalview.hxx
@@ -42,7 +42,7 @@ public:
std::vector<TemplateItemProperties>
getFilteredItems (const boost::function<bool (const TemplateItemProperties&) > &rFunc) const;
- sal_uInt16 createRegion (const OUString &rName);
+ virtual sal_uInt16 createRegion (const OUString &rName);
bool removeRegion (const sal_uInt16 nItemId);
diff --git a/sfx2/inc/sfx2/templateremoteview.hxx b/sfx2/inc/sfx2/templateremoteview.hxx
index b760f009ae3c..34da0850c5f0 100644
--- a/sfx2/inc/sfx2/templateremoteview.hxx
+++ b/sfx2/inc/sfx2/templateremoteview.hxx
@@ -27,6 +27,8 @@ public:
bool loadRepository (TemplateRepository* pRepository, bool bRefresh);
+ virtual sal_uInt16 createRegion (const OUString &rName);
+
private:
com::sun::star::uno::Reference< com::sun::star::ucb::XCommandEnvironment > m_xCmdEnv;
diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx
index 1cc9ae54d47e..53a70ff10e9d 100644
--- a/sfx2/inc/templatedlg.hxx
+++ b/sfx2/inc/templatedlg.hxx
@@ -84,6 +84,7 @@ private:
void OnTemplateDelete ();
void OnTemplateAsDefault ();
void OnTemplateExport ();
+ void OnFolderNew ();
void OnFolderDelete ();
void OnRepositoryDelete ();
void OnTemplateSaveAs ();
diff --git a/sfx2/source/control/templateremoteview.cxx b/sfx2/source/control/templateremoteview.cxx
index acf0703c0e39..b67b8aa2326a 100644
--- a/sfx2/source/control/templateremoteview.cxx
+++ b/sfx2/source/control/templateremoteview.cxx
@@ -156,4 +156,10 @@ bool TemplateRemoteView::loadRepository (TemplateRepository* pItem, bool bRefres
return true;
}
+sal_uInt16 TemplateRemoteView::createRegion(const OUString &/*rName*/)
+{
+ // TODO: Create new folder in current remote repository
+ return 0;
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index 8826ccc732c7..c2bbf7c1729b 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -374,6 +374,9 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg,TBXViewHdl)
else
OnRepositoryDelete();
break;
+ case TBI_TEMPLATE_FOLDER_NEW:
+ OnFolderNew();
+ break;
case TBI_TEMPLATE_SAVE:
OnTemplateSaveAs();
break;
@@ -1111,6 +1114,20 @@ void SfxTemplateManagerDlg::OnTemplateAsDefault ()
}
}
+void SfxTemplateManagerDlg::OnFolderNew()
+{
+ InputDialog dlg(SfxResId(STR_INPUT_NEW).toString(),this);
+
+ int ret = dlg.Execute();
+
+ if (ret)
+ {
+ OUString aName = dlg.getEntryText();
+
+ mpCurView->createRegion(aName);
+ }
+}
+
void SfxTemplateManagerDlg::OnFolderDelete()
{
QueryBox aQueryDlg(this, WB_YES_NO | WB_DEF_YES, SfxResId(STR_QMSG_SEL_FOLDER_DELETE).toString());
diff --git a/sfx2/source/doc/templatedlg.hrc b/sfx2/source/doc/templatedlg.hrc
index 7eeca35f8c00..b56cb522f1d5 100644
--- a/sfx2/source/doc/templatedlg.hrc
+++ b/sfx2/source/doc/templatedlg.hrc
@@ -41,6 +41,8 @@
#define TBI_TEMPLATE_SAVE 28
+#define TBI_TEMPLATE_FOLDER_NEW 29
+
#define STR_ACTION_REFRESH 263
#define STR_ACTION_SORT_NAME 264
diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src
index 8446d622e43f..fcd53bce6367 100644
--- a/sfx2/source/doc/templatedlg.src
+++ b/sfx2/source/doc/templatedlg.src
@@ -230,6 +230,17 @@ ModelessDialog DLG_TEMPLATE_MANAGER
ImageBitmap = Bitmap { File = "actionview028.png" ; };
};
};
+
+ ToolBoxItem
+ {
+ Identifier = TBI_TEMPLATE_FOLDER_NEW;
+ Text [ en-US ] = "New folder";
+
+ ItemImage = Image
+ {
+ ImageBitmap = Bitmap { File = "actionview029.png"; };
+ };
+ };
};
};