diff options
author | Efe Gürkan YALAMAN <efeyalaman@gmail.com> | 2014-06-25 14:36:34 +0300 |
---|---|---|
committer | Efe Gürkan YALAMAN <efeyalaman@gmail.com> | 2014-06-25 14:36:34 +0300 |
commit | 661e12f5dae20db37fca3806cb9ef06b0d8b35ba (patch) | |
tree | 40d5f43f5842ac20cd4e52160f83785d2624c842 | |
parent | 521c549ea611c136f9e078e5f00c3b86ee46c40f (diff) |
Selecting and opening templates implemented.
All editing related code commented out. Code needs to be cleaned up.
Change-Id: Ibe901684d8747552b8ebeeea848c8f5e050ae726
-rw-r--r-- | sfx2/source/dialog/backingwindow.cxx | 159 | ||||
-rw-r--r-- | sfx2/source/dialog/backingwindow.hxx | 11 |
2 files changed, 113 insertions, 57 deletions
diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx index 3b0a342e03e3..8cc1f3a97d29 100644 --- a/sfx2/source/dialog/backingwindow.cxx +++ b/sfx2/source/dialog/backingwindow.cxx @@ -281,18 +281,21 @@ void BackingWindow::initControls() mpViewBar->SetButtonType(BUTTON_SYMBOLTEXT); mpViewBar->SetItemBits(mpViewBar->GetItemId("repository"), TIB_DROPDOWNONLY); - mpViewBar->SetClickHdl(LINK(this,BackingWindow,TBXViewHdl)); + //mpViewBar->SetClickHdl(LINK(this,BackingWindow,TBXViewHdl)); //mpViewBar->SetDropdownClickHdl(LINK(this,BackingWindow,TBXDropdownHdl)); mpViewBar->Hide(); + mpViewBar->HideItem("import"); mpTemplateBar->SetButtonType(BUTTON_SYMBOLTEXT); mpTemplateBar->SetItemBits(mpTemplateBar->GetItemId(TEMPLATEBAR_MOVE), TIB_DROPDOWNONLY); - mpTemplateBar->SetClickHdl( LINK( this, BackingWindow,TBXTemplateHdl ) ); + //mpTemplateBar->SetClickHdl( LINK( this, BackingWindow,TBXTemplateHdl ) ); + //mpTemplateBar->SetDoubleClickHdl( LINK(this, BackingWindow, OpenTemplateHdl) ); //mpTemplateBar->SetDropdownClickHdl(LINK(this, BackingWindow,TBXDropdownHdl)); //set handlers mpLocalView->setItemStateHdl(LINK(this, BackingWindow, TVItemStateHdl)); mpLocalView->setOpenRegionHdl(LINK(this, BackingWindow, OpenRegionHdl)); + mpLocalView->setOpenTemplateHdl(LINK(this,BackingWindow,OpenTemplateHdl)); /*FIXME: Add other things for Local View *Filter and the bars*/ @@ -487,6 +490,8 @@ void BackingWindow::Resize() Invalidate(); } +//Editing related method +/* void BackingWindow::OnTemplateImport () { size_t nDialogType = @@ -606,9 +611,10 @@ void BackingWindow::OnTemplateImport () } } } -} +}*/ -void BackingWindow::OnFolderDelete() +//Editing related method +/*void BackingWindow::OnFolderDelete() { QueryBox aQueryDlg(this, WB_YES_NO | WB_DEF_YES, SfxResId(STR_QMSG_SEL_FOLDER_DELETE).toString()); @@ -640,10 +646,10 @@ void BackingWindow::OnFolderDelete() OUString aMsg( SfxResId(STR_MSG_ERROR_DELETE_FOLDER).toString() ); ErrorBox(this, WB_OK,aMsg.replaceFirst("$1",aFolderList)).Execute(); } -} +}*/ - -void BackingWindow::OnFolderNew() +//Editing related method +/*void BackingWindow::OnFolderNew() { InputDialog dlg(SfxResId(STR_INPUT_NEW).toString(),this); @@ -655,34 +661,34 @@ void BackingWindow::OnFolderNew() mpCurrentView->createRegion(aName); } -} - - -void BackingWindow::OnRegionState (const ThumbnailViewItem *pItem) -{ - if (pItem->isSelected()) - { - if (maSelFolders.empty() && !mbIsSaveMode) - { - mpViewBar->ShowItem("import"); - mpViewBar->ShowItem("delete"); - mpViewBar->HideItem("new_folder"); - } - - maSelFolders.insert(pItem); - } - else - { - maSelFolders.erase(pItem); - - if (maSelFolders.empty() && !mbIsSaveMode) - { - mpViewBar->HideItem("import"); - mpViewBar->HideItem("delete"); - mpViewBar->ShowItem("new_folder"); - } - } -} +}*/ + + +// void BackingWindow::OnRegionState (const ThumbnailViewItem *pItem) +// { +// if (pItem->isSelected()) +// { +// if (maSelFolders.empty() && !mbIsSaveMode) +// { +// mpViewBar->ShowItem("import"); +// mpViewBar->ShowItem("delete"); +// mpViewBar->HideItem("new_folder"); +// } + +// maSelFolders.insert(pItem); +// } +// else +// { +// maSelFolders.erase(pItem); + +// if (maSelFolders.empty() && !mbIsSaveMode) +// { +// mpViewBar->HideItem("import"); +// mpViewBar->HideItem("delete"); +// mpViewBar->ShowItem("new_folder"); +// } +// } +// } IMPL_LINK(BackingWindow, ExtLinkClickHdl, Button*, pButton) @@ -764,36 +770,83 @@ IMPL_LINK( BackingWindow, ClickHdl, Button*, pButton ) */ mpAllRecentThumbnails->Hide(); mpLocalView->Show(); - mpViewBar->Show(); + mpViewBar->Hide(); + mpViewBar->HideItem("import"); + mpViewBar->HideItem("delete"); + mpViewBar->HideItem("new_folder"); } return 0; } +IMPL_LINK_NOARG(BackingWindow, DoubleClickHdl) +{ + ThumbnailViewItem *pItem = const_cast<ThumbnailViewItem*>(*maSelTemplates.begin()); + + OpenTemplateHdl(pItem); + return 0; +} + + //FIXME: Obvious enough IMPL_LINK_NOARG( BackingWindow, OpenRegionHdl) { maSelFolders.clear(); maSelTemplates.clear(); - mpViewBar->ShowItem("new_folder", mpCurrentView->isNestedRegionAllowed()); + //mpViewBar->ShowItem("new_folder", mpCurrentView->isNestedRegionAllowed()); - if (!mbIsSaveMode) - mpViewBar->ShowItem("import", mpCurrentView->isImportAllowed()); + //if (!mbIsSaveMode) + // mpViewBar->ShowItem("import", mpCurrentView->isImportAllowed()); - //mpTemplateBar->Hide(); - mpViewBar->Show(); + mpTemplateBar->Hide(); + mpViewBar->Hide(); + mpViewBar->HideItem("import"); + mpViewBar->HideItem("delete"); + mpViewBar->HideItem("new_folder"); //mpActionBar->Show(); return 0; } -//FIXME: Implement OnSomething() methods -IMPL_LINK_NOARG(BackingWindow,TBXViewHdl) +//FIXME: Cleanup the code +IMPL_LINK(BackingWindow, OpenTemplateHdl, ThumbnailViewItem*, pItem) { - const size_t nCurItemId = mpViewBar->GetCurItemId(); + if (!mbIsSaveMode) + { + uno::Sequence< PropertyValue > aArgs(4); + aArgs[0].Name = "AsTemplate"; + aArgs[0].Value <<= sal_True; + aArgs[1].Name = "MacroExecutionMode"; + aArgs[1].Value <<= MacroExecMode::USE_CONFIG; + aArgs[2].Name = "UpdateDocMode"; + aArgs[2].Value <<= UpdateDocMode::ACCORDING_TO_CONFIG; + aArgs[3].Name = "InteractionHandler"; + aArgs[3].Value <<= task::InteractionHandler::createWithParent( ::comphelper::getProcessComponentContext(), 0 ); + + TemplateViewItem *pTemplateItem = static_cast<TemplateViewItem*>(pItem); + + Reference< XDispatchProvider > xFrame( mxFrame, UNO_QUERY ); + + try + { + dispatchURL( pTemplateItem->getPath(), "_default", xFrame, aArgs ); + //mxDesktop->loadComponentFromURL(pTemplateItem->getPath(),"_default", 0, aArgs ); + } + catch( const uno::Exception& ) + { + } + } + + return 0; +} - if (nCurItemId == mpViewBar->GetItemId("import")) - OnTemplateImport(); +//FIXME: Implement OnSomething() methods +//IMPL_LINK_NOARG(BackingWindow,TBXViewHdl) +//{ + // const size_t nCurItemId = mpViewBar->GetCurItemId(); + + /*//if (nCurItemId == mpViewBar->GetItemId("import")) + // OnTemplateImport(); else if (nCurItemId == mpViewBar->GetItemId("delete")) { if (mpCurrentView == mpLocalView) @@ -805,11 +858,11 @@ IMPL_LINK_NOARG(BackingWindow,TBXViewHdl) OnFolderNew(); //else if (nCurItemId == mpViewBar->GetItemId("save")) ////OnTemplateSaveAs(); + */ + //return 0; +//} - return 0; -} - -//FIXME: Implement OnSomething() methods +//FIXME: Implement OnSomething() methods // might be deleted IMPL_LINK_NOARG(BackingWindow,TBXTemplateHdl) { //const size_t nCurItemId = mpTemplateBar->GetCurItemId(); @@ -833,10 +886,10 @@ IMPL_LINK_NOARG(BackingWindow,TBXTemplateHdl) IMPL_LINK(BackingWindow, TVItemStateHdl, const ThumbnailViewItem*, pItem) { - const TemplateContainerItem *pCntItem = dynamic_cast<const TemplateContainerItem*>(pItem); + //const TemplateContainerItem *pCntItem = dynamic_cast<const TemplateContainerItem*>(pItem); - if (pCntItem) - OnRegionState(pItem); + //if (pCntItem) + //OnRegionState(pItem); //else //FIXME:Move this to here //OnTemplateState(pItem); diff --git a/sfx2/source/dialog/backingwindow.hxx b/sfx2/source/dialog/backingwindow.hxx index f46596f00002..452ada2a0098 100644 --- a/sfx2/source/dialog/backingwindow.hxx +++ b/sfx2/source/dialog/backingwindow.hxx @@ -99,10 +99,11 @@ class BackingWindow void setupButton( PushButton* pButton ); //Template Manager - void OnTemplateImport (); - void OnFolderNew (); - void OnFolderDelete (); - void OnRegionState (const ThumbnailViewItem *pItem); + void OnTemplateOpen (); + //void OnTemplateImport (); + //void OnFolderNew (); + //void OnFolderDelete (); + //void OnRegionState (const ThumbnailViewItem *pItem); void dispatchURL( const OUString& i_rURL, const OUString& i_rTarget = OUString( "_default" ), @@ -119,6 +120,8 @@ class BackingWindow DECL_LINK(TBXViewHdl, void*); DECL_LINK(TBXTemplateHdl, void*); DECL_LINK(TVItemStateHdl, const ThumbnailViewItem*); + DECL_LINK(OpenTemplateHdl, ThumbnailViewItem*); + DECL_LINK(DoubleClickHdl, void*); void initControls(); |