sfx2/inc/sfx2/templatefolderview.hxx | 5 sfx2/inc/sfx2/templateview.hxx | 2 sfx2/inc/sfx2/templateviewitem.hxx | 5 sfx2/inc/templatedlg.hxx | 11 ++ sfx2/source/control/templatefolderview.cxx | 59 ++++++++++ sfx2/source/control/templateview.cxx | 18 +++ sfx2/source/doc/templatedlg.cxx | 157 ++++++++++++++++++++++++++++- 7 files changed, 255 insertions(+), 2 deletions(-)
New commits: commit f7ef4c3808de41cd42ef9198f27b5f2ff84799c2 Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sun Jun 24 12:52:42 2012 -0430 Display/Hide search edit box when clicking the toolbox button. Change-Id: I553219699b0d132c115767d70511f11dd887bf8f diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx index 0ad84cb..d606fd4 100644 --- a/sfx2/inc/templatedlg.hxx +++ b/sfx2/inc/templatedlg.hxx @@ -15,6 +15,7 @@ #include <vcl/dialog.hxx> #include <vcl/button.hxx> +class Edit; class TemplateFolderView; class ThumbnailViewItem; class ToolBox; @@ -70,6 +71,7 @@ private: PushButton aButtonDraws; ImageButton maButtonSelMode; + Edit *mpSearchEdit; ToolBox *mpViewBar; ToolBox *mpActionBar; ToolBox *mpTemplateBar; diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index 23d5230..b1b6395 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -18,6 +18,7 @@ #include <sfx2/thumbnailviewitem.hxx> #include <tools/urlobj.hxx> #include <unotools/moduleoptions.hxx> +#include <vcl/edit.hxx> #include <vcl/toolbox.hxx> #include <com/sun/star/beans/PropertyValue.hpp> @@ -34,6 +35,7 @@ #define MAX_LINE_COUNT 2 #define PADDING_TOOLBAR_VIEW 15 +#define PADDING_DLG_BORDER 10 using namespace ::com::sun::star; using namespace ::com::sun::star::beans; @@ -47,6 +49,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) aButtonSheets(this,SfxResId(BTN_SELECT_SHEETS)), aButtonDraws(this,SfxResId(BTN_SELECT_DRAWS)), maButtonSelMode(this,SfxResId(BTN_SELECTION_MODE)), + mpSearchEdit(new Edit(this,WB_HIDE | WB_BORDER)), mpViewBar( new ToolBox(this, SfxResId(TBX_ACTION_VIEW))), mpActionBar( new ToolBox(this, SfxResId(TBX_ACTION_ACTION))), mpTemplateBar( new ToolBox(this, SfxResId(TBX_ACTION_TEMPLATES))), @@ -87,6 +90,13 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) aViewPos.setY(aActionPos.Y() + aActionSize.getHeight() + PADDING_TOOLBAR_VIEW); maView->SetPosPixel(aViewPos); + // Set search box position and size + Size aSearchSize = mpSearchEdit->CalcMinimumSize(); + aSearchSize.setWidth(aWinSize.getWidth() - 2*PADDING_DLG_BORDER); + + mpSearchEdit->SetSizePixel(aSearchSize); + mpSearchEdit->SetPosPixel(Point(PADDING_DLG_BORDER,aActionPos.Y()+aActionSize.getHeight())); + maView->SetStyle(WB_TABSTOP | WB_VSCROLL); maView->SetColCount(MAX_COLUMN_COUNT); maView->SetLineCount(MAX_LINE_COUNT); @@ -341,6 +351,22 @@ void SfxTemplateManagerDlg::OnTemplateImport () void SfxTemplateManagerDlg::OnTemplateSearch () { + Point aPos = maView->GetPosPixel(); + bool bVisible = mpSearchEdit->IsVisible(); + + if (bVisible) + { + aPos.setY(aPos.getY() - mpSearchEdit->GetSizePixel().getHeight()); + mpActionBar->SetItemState(TBI_TEMPLATE_SEARCH,STATE_NOCHECK); + } + else + { + aPos.setY(aPos.getY() + mpSearchEdit->GetSizePixel().getHeight()); + mpActionBar->SetItemState(TBI_TEMPLATE_SEARCH,STATE_CHECK); + } + + maView->SetPosPixel(aPos); + mpSearchEdit->Show(!bVisible); } void SfxTemplateManagerDlg::OnTemplateAction () commit 9cc086f46250156167f68cab81c42296b045438d Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sun Jun 24 10:00:17 2012 -0430 Delete selected templates when clicking delete toolbar button. Change-Id: I4ad2ea913ab7a8f68b6010cedc8a2a2a72eea0bd diff --git a/sfx2/inc/sfx2/templatefolderview.hxx b/sfx2/inc/sfx2/templatefolderview.hxx index 2558025..5ae7385 100644 --- a/sfx2/inc/sfx2/templatefolderview.hxx +++ b/sfx2/inc/sfx2/templatefolderview.hxx @@ -45,6 +45,8 @@ public: void setTemplateStateHdl (const Link &aLink) { maTemplateStateHdl = aLink; } + bool removeTemplate (const sal_uInt16 nItemId); + void copyFrom (TemplateFolderViewItem *pItem, const rtl::OUString &rPath); private: diff --git a/sfx2/source/control/templatefolderview.cxx b/sfx2/source/control/templatefolderview.cxx index 3f6419d..caef6bd 100644 --- a/sfx2/source/control/templatefolderview.cxx +++ b/sfx2/source/control/templatefolderview.cxx @@ -342,6 +342,42 @@ void TemplateFolderView::filterTemplatesByApp (const FILTER_APPLICATION &eApp) } } +bool TemplateFolderView::removeTemplate (const sal_uInt16 nItemId) +{ + sal_uInt16 nRegionId = mpItemView->getRegionId(); + sal_uInt16 nItemRegionId = nRegionId + 1; + sal_uInt16 nTemplateId = nItemId - 1; + + if (!mpDocTemplates->Delete(nRegionId,nTemplateId)) + return false; + + for (size_t i = 0, n = mItemList.size(); i < n; ++i) + { + if (mItemList[i]->mnId == nItemRegionId) + { + + TemplateFolderViewItem *pItem = static_cast<TemplateFolderViewItem*>(mItemList[i]); + std::vector<TemplateViewItem*>::iterator pIter; + for (pIter = pItem->maTemplates.begin(); pIter != pItem->maTemplates.end(); ++pIter) + { + if ((*pIter)->mnId == nItemId) + { + delete *pIter; + + pItem->maTemplates.erase(pIter); + + mpItemView->RemoveItem(nItemId); + break; + } + } + + break; + } + } + + return true; +} + void TemplateFolderView::copyFrom (TemplateFolderViewItem *pItem, const rtl::OUString &rPath) { sal_uInt16 nId = 0; diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index 16f398a..23d5230 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -381,6 +381,14 @@ void SfxTemplateManagerDlg::OnTemplateMove () void SfxTemplateManagerDlg::OnTemplateDelete () { + std::set<const ThumbnailViewItem*>::const_iterator pIter; + for (pIter = maSelTemplates.begin(); pIter != maSelTemplates.end();) + { + if (maView->removeTemplate((*pIter)->mnId)) + maSelTemplates.erase(pIter++); + else + ++pIter; + } } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 64f9aa20e2c46385f528bebebcf32680dd39dab6 Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sun Jun 24 08:33:30 2012 -0430 Set correct handler to keep track of folder item state. Change-Id: I4d2d30515f22f04ce259689b3ad210c149b1191a diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index 492d40a..16f398a 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -91,7 +91,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) maView->SetColCount(MAX_COLUMN_COUNT); maView->SetLineCount(MAX_LINE_COUNT); - maView->setItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVTemplateStateHdl)); + maView->setItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVFolderStateHdl)); maView->setTemplateStateHdl(LINK(this,SfxTemplateManagerDlg,TVTemplateStateHdl)); aButtonAll.SetClickHdl(LINK(this,SfxTemplateManagerDlg,ViewAllHdl)); commit 496c8232c4f97e5feb507ec1dda5d9454825737d Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sun Jun 24 08:25:32 2012 -0430 Import multiple templates from filesystem to selected folders. Change-Id: I285d2e429592bb170db6500d6751b6ef9bfad1db diff --git a/sfx2/inc/sfx2/templatefolderview.hxx b/sfx2/inc/sfx2/templatefolderview.hxx index 6433777..2558025 100644 --- a/sfx2/inc/sfx2/templatefolderview.hxx +++ b/sfx2/inc/sfx2/templatefolderview.hxx @@ -13,6 +13,7 @@ #include <sfx2/thumbnailview.hxx> class SfxDocumentTemplates; +class TemplateFolderViewItem; class TemplateView; enum FILTER_APPLICATION @@ -44,6 +45,8 @@ public: void setTemplateStateHdl (const Link &aLink) { maTemplateStateHdl = aLink; } + void copyFrom (TemplateFolderViewItem *pItem, const rtl::OUString &rPath); + private: virtual void OnSelectionMode (bool bMode); diff --git a/sfx2/inc/sfx2/templateview.hxx b/sfx2/inc/sfx2/templateview.hxx index f54f707..b3c6b6a 100644 --- a/sfx2/inc/sfx2/templateview.hxx +++ b/sfx2/inc/sfx2/templateview.hxx @@ -30,6 +30,8 @@ public: virtual void Paint (const Rectangle &rRect); + void InsertItem (const TemplateViewItem *pItem); + void InsertItems (const std::vector<TemplateViewItem*> &rTemplates); protected: diff --git a/sfx2/source/control/templatefolderview.cxx b/sfx2/source/control/templatefolderview.cxx index 104ae15..3f6419d 100644 --- a/sfx2/source/control/templatefolderview.cxx +++ b/sfx2/source/control/templatefolderview.cxx @@ -342,6 +342,28 @@ void TemplateFolderView::filterTemplatesByApp (const FILTER_APPLICATION &eApp) } } +void TemplateFolderView::copyFrom (TemplateFolderViewItem *pItem, const rtl::OUString &rPath) +{ + sal_uInt16 nId = 0; + sal_uInt16 nRegionId = pItem->mnId - 1; + String aPath(rPath); + + if (!mItemList.empty()) + nId = (mItemList.back())->mnId+1; + + if (mpDocTemplates->CopyFrom(nRegionId,nId,aPath)) + { + TemplateViewItem *pTemplate = new TemplateViewItem(*mpItemView,mpItemView); + pTemplate->mnId = nId; + pTemplate->maText = mpDocTemplates->GetName(nRegionId,nId); + pTemplate->maPreview1 = lcl_fetchThumbnail(rPath,128,128); + pTemplate->setPath(rPath); + pTemplate->setFileType(SvFileInformationManager::GetDescription(INetURLObject(rPath))); + + pItem->maTemplates.push_back(pTemplate); + } +} + void TemplateFolderView::OnSelectionMode (bool bMode) { if (mpItemView->IsVisible()) diff --git a/sfx2/source/control/templateview.cxx b/sfx2/source/control/templateview.cxx index 74088cc..eb81867 100644 --- a/sfx2/source/control/templateview.cxx +++ b/sfx2/source/control/templateview.cxx @@ -90,6 +90,23 @@ void TemplateView::Paint (const Rectangle &rRect) mpProcessor->process(aSeq); } +void TemplateView::InsertItem (const TemplateViewItem *pItem) +{ + TemplateViewItem *pCloneItem = new TemplateViewItem(*this,this); + + pCloneItem->mnId = pItem->mnId; + pCloneItem->maText = pItem->maText; + pCloneItem->setPath(pItem->getPath()); + pCloneItem->setFileType(pItem->getFileType()); + pCloneItem->maPreview1 = pItem->maPreview1; + + mItemList.push_back(pCloneItem); + + CalculateItemPositions(); + + Invalidate(); +} + void TemplateView::InsertItems (const std::vector<TemplateViewItem*> &rTemplates) { for (size_t i = 0, n = rTemplates.size(); i < n; ++i ) diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index ca97f85..492d40a 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -13,6 +13,7 @@ #include <sfx2/filedlghelper.hxx> #include <sfx2/sfxresid.hxx> #include <sfx2/templatefolderview.hxx> +#include <sfx2/templatefolderviewitem.hxx> #include <sfx2/templateviewitem.hxx> #include <sfx2/thumbnailviewitem.hxx> #include <tools/urlobj.hxx> @@ -318,15 +319,22 @@ void SfxTemplateManagerDlg::OnTemplateImport () aFileDlg.AddFilter( sFilterName, sFilterExt ); aFileDlg.SetCurrentFilter( sFilterName ); - aFileDlg.Execute(); + ErrCode nCode = aFileDlg.Execute(); - if ( aFileDlg.GetError() == ERRCODE_NONE ) + if ( nCode == ERRCODE_NONE ) { com::sun::star::uno::Sequence< ::rtl::OUString > aFiles = aFileDlg.GetSelectedFiles(); if (aFiles.hasElements()) { + std::set<const ThumbnailViewItem*>::const_iterator pIter; + for (pIter = maSelFolders.begin(); pIter != maSelFolders.end(); ++pIter) + { + TemplateFolderViewItem *pFolder = (TemplateFolderViewItem*)(*pIter); + for (size_t i = 0, n = aFiles.getLength(); i < n; ++i) + maView->copyFrom(pFolder,aFiles[i]); + } } } } commit 199b2f8023e4c1e9242d3b83f62027ee81cbaa3e Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sun Jun 24 08:23:15 2012 -0430 Keep track of selected folders in TemplateManager dialog. Change-Id: I9348d73ec70dc0ab222682736640bbe0ca28bf6f diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx index 75dd36f..0ad84cb 100644 --- a/sfx2/inc/templatedlg.hxx +++ b/sfx2/inc/templatedlg.hxx @@ -77,6 +77,7 @@ private: int mnSelectionCount; std::set<const ThumbnailViewItem*> maSelTemplates; + std::set<const ThumbnailViewItem*> maSelFolders; com::sun::star::uno::Reference< com::sun::star::frame::XComponentLoader > mxDesktop; }; diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index 83bc005..ca97f85 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -215,6 +215,15 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg,TBXTemplateHdl) IMPL_LINK(SfxTemplateManagerDlg, TVFolderStateHdl, const ThumbnailViewItem*, pItem) { + if (pItem->isSelected()) + { + maSelFolders.insert(pItem); + } + else + { + maSelFolders.erase(pItem); + } + return 0; } commit 4de494c8e73f35a66647c31ce61cb01f5d9353cd Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sun Jun 24 02:20:13 2012 -0430 Display file picker dialog when clicking import template toolbox button. Change-Id: Id4eba9076163f2d2b2916ad253236c0c377da37c diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index bb60bd5..83bc005 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -10,11 +10,13 @@ #include "templatedlg.hxx" #include <comphelper/processfactory.hxx> +#include <sfx2/filedlghelper.hxx> #include <sfx2/sfxresid.hxx> #include <sfx2/templatefolderview.hxx> #include <sfx2/templateviewitem.hxx> #include <sfx2/thumbnailviewitem.hxx> #include <tools/urlobj.hxx> +#include <unotools/moduleoptions.hxx> #include <vcl/toolbox.hxx> #include <com/sun/star/beans/PropertyValue.hpp> @@ -22,6 +24,7 @@ #include <com/sun/star/frame/XStorable.hpp> #include <com/sun/star/lang/XComponent.hpp> #include <com/sun/star/lang/XMultiServiceFactory.hpp> +#include <com/sun/star/ui/dialogs/TemplateDescription.hpp> #include "doc.hrc" #include "templatedlg.hrc" @@ -252,6 +255,71 @@ void SfxTemplateManagerDlg::OnTemplateCreate () void SfxTemplateManagerDlg::OnTemplateImport () { + sal_Int16 nDialogType = + com::sun::star::ui::dialogs::TemplateDescription::FILEOPEN_SIMPLE; + + sfx2::FileDialogHelper aFileDlg(nDialogType, SFXWB_MULTISELECTION); + + // add "All" filter + aFileDlg.AddFilter( String(SfxResId( STR_SFX_FILTERNAME_ALL) ), + DEFINE_CONST_UNICODE(FILEDIALOG_FILTER_ALL) ); + + // add template filter + rtl::OUString sFilterExt; + rtl::OUString sFilterName( SfxResId( STR_TEMPLATE_FILTER ).toString() ); + + // add filters of modules which are installed + SvtModuleOptions aModuleOpt; + if ( aModuleOpt.IsModuleInstalled( SvtModuleOptions::E_SWRITER ) ) + sFilterExt += "*.ott;*.stw;*.oth"; + + if ( aModuleOpt.IsModuleInstalled( SvtModuleOptions::E_SCALC ) ) + { + if ( !sFilterExt.isEmpty() ) + sFilterExt += ";"; + + sFilterExt += "*.ots;*.stc"; + } + + if ( aModuleOpt.IsModuleInstalled( SvtModuleOptions::E_SIMPRESS ) ) + { + if ( !sFilterExt.isEmpty() ) + sFilterExt += ";"; + + sFilterExt += "*.otp;*.sti"; + } + + if ( aModuleOpt.IsModuleInstalled( SvtModuleOptions::E_SDRAW ) ) + { + if ( !sFilterExt.isEmpty() ) + sFilterExt += ";"; + + sFilterExt += "*.otg;*.std"; + } + + if ( !sFilterExt.isEmpty() ) + sFilterExt += ";"; + + sFilterExt += "*.vor"; + + sFilterName += " ("; + sFilterName += sFilterExt; + sFilterName += ")"; + + aFileDlg.AddFilter( sFilterName, sFilterExt ); + aFileDlg.SetCurrentFilter( sFilterName ); + + aFileDlg.Execute(); + + if ( aFileDlg.GetError() == ERRCODE_NONE ) + { + com::sun::star::uno::Sequence< ::rtl::OUString > aFiles = aFileDlg.GetSelectedFiles(); + + if (aFiles.hasElements()) + { + + } + } } void SfxTemplateManagerDlg::OnTemplateSearch () commit 6cf42f89b1f4908405d75d6ed1072be57d914cdc Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sat Jun 23 23:16:06 2012 -0430 Open template for editing when clicking on the edit toolbox button. Change-Id: If965e52694a856bdd8827486682ce9531786a149 diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index 8b3bfad..bb60bd5 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -12,10 +12,14 @@ #include <comphelper/processfactory.hxx> #include <sfx2/sfxresid.hxx> #include <sfx2/templatefolderview.hxx> +#include <sfx2/templateviewitem.hxx> #include <sfx2/thumbnailviewitem.hxx> +#include <tools/urlobj.hxx> #include <vcl/toolbox.hxx> +#include <com/sun/star/beans/PropertyValue.hpp> #include <com/sun/star/frame/XComponentLoader.hpp> +#include <com/sun/star/frame/XStorable.hpp> #include <com/sun/star/lang/XComponent.hpp> #include <com/sun/star/lang/XMultiServiceFactory.hpp> @@ -28,6 +32,7 @@ #define PADDING_TOOLBAR_VIEW 15 using namespace ::com::sun::star; +using namespace ::com::sun::star::beans; using namespace ::com::sun::star::frame; SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) @@ -259,6 +264,26 @@ void SfxTemplateManagerDlg::OnTemplateAction () void SfxTemplateManagerDlg::OnTemplateEdit () { + uno::Sequence< PropertyValue > aArgs(1); + aArgs[0].Name = "AsTemplate"; + aArgs[0].Value <<= sal_False; + + uno::Reference< XStorable > xStorable; + std::set<const ThumbnailViewItem*>::const_iterator pIter; + for (pIter = maSelTemplates.begin(); pIter != maSelTemplates.end(); ++pIter) + { + const TemplateViewItem *pItem = static_cast<const TemplateViewItem*>(*pIter); + + try + { + xStorable = uno::Reference< XStorable >( + mxDesktop->loadComponentFromURL(pItem->getPath(),rtl::OUString("_blank"), 0, aArgs ), + uno::UNO_QUERY ); + } + catch( const uno::Exception& ) + { + } + } } void SfxTemplateManagerDlg::OnTemplateProperties () commit 3c5b59e3864ce231acd9697ed6a48155f74a34a6 Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sat Jun 23 23:15:18 2012 -0430 Read and set template path attribute in TemplateViewItem. Change-Id: Id9cca6d8a716d7f99904db8cba21d7f4c1fe2074 diff --git a/sfx2/inc/sfx2/templateviewitem.hxx b/sfx2/inc/sfx2/templateviewitem.hxx index f9797f4..ffb72cd 100644 --- a/sfx2/inc/sfx2/templateviewitem.hxx +++ b/sfx2/inc/sfx2/templateviewitem.hxx @@ -20,6 +20,10 @@ public: virtual ~TemplateViewItem (); + void setPath (const rtl::OUString &rPath) { maPath = rPath; } + + const rtl::OUString& getPath () const { return maPath; } + void setAuthor (const rtl::OUString &rAuthor) { maAuthor = rAuthor; } const rtl::OUString& getAuthor () const { return maAuthor; } @@ -34,6 +38,7 @@ public: private: + rtl::OUString maPath; rtl::OUString maAuthor; rtl::OUString maKeywords; rtl::OUString maFileType; diff --git a/sfx2/source/control/templatefolderview.cxx b/sfx2/source/control/templatefolderview.cxx index ac2fa43..104ae15 100644 --- a/sfx2/source/control/templatefolderview.cxx +++ b/sfx2/source/control/templatefolderview.cxx @@ -283,6 +283,7 @@ void TemplateFolderView::Populate () TemplateViewItem *pTemplateItem = new TemplateViewItem(*mpItemView,mpItemView); pTemplateItem->mnId = j+1; pTemplateItem->maText = mpDocTemplates->GetName(i,j); + pTemplateItem->setPath(aURL); pTemplateItem->setFileType(aType); pTemplateItem->maPreview1 = lcl_fetchThumbnail(aURL,128,128); diff --git a/sfx2/source/control/templateview.cxx b/sfx2/source/control/templateview.cxx index 6ff1c1f..74088cc 100644 --- a/sfx2/source/control/templateview.cxx +++ b/sfx2/source/control/templateview.cxx @@ -99,6 +99,7 @@ void TemplateView::InsertItems (const std::vector<TemplateViewItem*> &rTemplates pItem->mnId = pCur->mnId; pItem->maText = pCur->maText; + pItem->setPath(pCur->getPath()); pItem->setFileType(pCur->getFileType()); pItem->maPreview1 = pCur->maPreview1; commit 9ab2176b43647eedd4fcc1c47c747214433a7e1c Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sat Jun 23 22:20:11 2012 -0430 Create an instance of com.sun.star.frame.Desktop service. Change-Id: Iac9891502eed15ab60674f12d4efe1728937c22a diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx index 256f8ce..75dd36f 100644 --- a/sfx2/inc/templatedlg.hxx +++ b/sfx2/inc/templatedlg.hxx @@ -19,6 +19,12 @@ class TemplateFolderView; class ThumbnailViewItem; class ToolBox; +namespace com { + namespace sun { namespace star { namespace frame { + class XComponentLoader; + } } } +} + class SfxTemplateManagerDlg : public ModalDialog { public: @@ -71,6 +77,8 @@ private: int mnSelectionCount; std::set<const ThumbnailViewItem*> maSelTemplates; + + com::sun::star::uno::Reference< com::sun::star::frame::XComponentLoader > mxDesktop; }; #endif // TEMPLATEDLG_HXX diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index d490ff5..8b3bfad 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -9,11 +9,16 @@ #include "templatedlg.hxx" +#include <comphelper/processfactory.hxx> #include <sfx2/sfxresid.hxx> #include <sfx2/templatefolderview.hxx> #include <sfx2/thumbnailviewitem.hxx> #include <vcl/toolbox.hxx> +#include <com/sun/star/frame/XComponentLoader.hpp> +#include <com/sun/star/lang/XComponent.hpp> +#include <com/sun/star/lang/XMultiServiceFactory.hpp> + #include "doc.hrc" #include "templatedlg.hrc" @@ -22,6 +27,9 @@ #define PADDING_TOOLBAR_VIEW 15 +using namespace ::com::sun::star; +using namespace ::com::sun::star::frame; + SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) : ModalDialog(parent, SfxResId(DLG_TEMPLATE_MANAGER)), aButtonAll(this,SfxResId(BTN_SELECT_ALL)), @@ -34,7 +42,8 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) mpActionBar( new ToolBox(this, SfxResId(TBX_ACTION_ACTION))), mpTemplateBar( new ToolBox(this, SfxResId(TBX_ACTION_TEMPLATES))), maView(new TemplateFolderView(this,SfxResId(TEMPLATE_VIEW))), - mnSelectionCount(0) + mnSelectionCount(0), + mxDesktop(comphelper::getProcessServiceFactory()->createInstance( "com.sun.star.frame.Desktop" ),uno::UNO_QUERY ) { maButtonSelMode.SetStyle(maButtonSelMode.GetStyle() | WB_TOGGLE); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits