include/svtools/RemoteFilesDialog.hxx | 6 ++++ sfx2/sdi/sfx.sdi | 2 - sfx2/source/appl/appopen.cxx | 11 ++++++++- svtools/source/dialogs/RemoteFilesDialog.cxx | 33 ++++++++++++++++++++++++--- 4 files changed, 47 insertions(+), 5 deletions(-)
New commits: commit b400a14d8db8978b5423a3f5991ae8dd0e62714f Author: Szymon KÅos <eszka...@gmail.com> Date: Wed Jun 24 18:15:26 2015 +0200 OK button handler & opening the files (very basic) Change-Id: I14ea89b118fdd5d97cb162523b55ca61cee0c97a diff --git a/include/svtools/RemoteFilesDialog.hxx b/include/svtools/RemoteFilesDialog.hxx index 67f1609..033e8c0 100644 --- a/include/svtools/RemoteFilesDialog.hxx +++ b/include/svtools/RemoteFilesDialog.hxx @@ -135,6 +135,8 @@ private: DECL_LINK( TreeExpandHdl, SvTreeListBox * ); DECL_LINK( SelectBreadcrumbHdl, Breadcrumb * ); + + DECL_LINK( OkHdl, void * ); }; #endif // INCLUDED_SVTOOLS_REMOTEFILESDIALOG_HXX diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi index eee99af..eb6cccc 100644 --- a/sfx2/sdi/sfx.sdi +++ b/sfx2/sdi/sfx.sdi @@ -3801,7 +3801,7 @@ SfxObjectItem Open SID_OPENDOC ] SfxObjectItem OpenRemote SID_OPENREMOTE -() +(SfxStringItem URL SID_FILE_NAME,SfxStringItem FilterName SID_FILTER_NAME,SfxStringItem OpenFlags SID_OPTIONS,SfxStringItem Password SID_PASSWORD,SfxStringItem FilterOptions SID_FILE_FILTEROPTIONS,SfxInt16Item Version SID_VERSION,SfxStringItem Referer SID_REFERER,SfxStringItem SuggestedSaveAsDir SID_DEFAULTFILEPATH,SfxStringItem SuggestedSaveAsName SID_DEFAULTFILENAME) [ /* flags: */ AutoUpdate = FALSE, diff --git a/sfx2/source/appl/appopen.cxx b/sfx2/source/appl/appopen.cxx index f1a4677..9ae4b91 100644 --- a/sfx2/source/appl/appopen.cxx +++ b/sfx2/source/appl/appopen.cxx @@ -1121,7 +1121,7 @@ void SfxApplication::OpenDocExec_Impl( SfxRequest& rReq ) } } -void SfxApplication::OpenRemoteExec_Impl( SfxRequest& ) +void SfxApplication::OpenRemoteExec_Impl( SfxRequest& rReq ) { ScopedVclPtrInstance< RemoteFilesDialog > aDlg((vcl::Window*)NULL, WB_OPEN); @@ -1131,6 +1131,15 @@ void SfxApplication::OpenRemoteExec_Impl( SfxRequest& ) aDlg->AddFilter("ODS files", "*.ods"); aDlg->Execute(); + + OUString sFileName = aDlg->GetPath(); + + rReq.AppendItem( SfxStringItem( SID_TARGETNAME, OUString("_default") ) ); + rReq.AppendItem( SfxStringItem( SID_REFERER, "private:user" ) ); + rReq.RemoveItem( SID_FILE_NAME ); + rReq.AppendItem( SfxStringItem( SID_FILE_NAME, sFileName ) ); + + GetDispatcher_Impl()->Execute( SID_OPENDOC, SfxCallMode::SYNCHRON, *rReq.GetArgs() ); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx index 253417f..b7734e0 100644 --- a/svtools/source/dialogs/RemoteFilesDialog.cxx +++ b/svtools/source/dialogs/RemoteFilesDialog.cxx @@ -163,6 +163,8 @@ RemoteFilesDialog::RemoteFilesDialog(vcl::Window* pParent, WinBits nBits) m_pOpen_btn->Hide(); } + m_pOpen_btn->SetClickHdl( LINK( this, RemoteFilesDialog, OkHdl ) ); + m_pPath = VclPtr<Breadcrumb>::Create( get<vcl::Window>("breadcrumb_container") ); m_pPath->set_hexpand(true); m_pPath->SetClickHdl( LINK( this, RemoteFilesDialog, SelectBreadcrumbHdl ) ); @@ -650,9 +652,12 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, SelectHdl ) m_sPath = pData->maURL; m_pName_ed->SetText( INetURLObject::decode( aURL.GetLastName(), INetURLObject::DECODE_WITH_CHARSET ) ); + + m_pOpen_btn->Enable( true ); } else { + m_pOpen_btn->Enable( false ); m_sPath = ""; m_pName_ed->SetText( "" ); } @@ -721,4 +726,10 @@ IMPL_LINK ( RemoteFilesDialog, SelectBreadcrumbHdl, Breadcrumb*, pPtr ) return 1; } +IMPL_LINK_NOARG ( RemoteFilesDialog, OkHdl ) +{ + EndDialog( RET_OK ); + return 1; +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 96222dabc0b5ff430f4d8e76949f43bf39fff0c1 Author: Szymon KÅos <eszka...@gmail.com> Date: Wed Jun 24 16:23:54 2015 +0200 RemoteFilesDialog: the path getter Change-Id: I63a72f3629ab0bf8fb616b44deaa8b37545bd964 diff --git a/include/svtools/RemoteFilesDialog.hxx b/include/svtools/RemoteFilesDialog.hxx index c437e1e..67f1609 100644 --- a/include/svtools/RemoteFilesDialog.hxx +++ b/include/svtools/RemoteFilesDialog.hxx @@ -76,6 +76,8 @@ public: void AddFilter( OUString sName, OUString sType ); + OUString GetPath() const; + private: ::com::sun::star::uno::Reference < com::sun::star::uno::XComponentContext > m_context; @@ -85,6 +87,8 @@ private: bool m_bIsUpdated; Image m_aFolderImage; + OUString m_sPath; + Reference< XCommandEnvironment > m_xEnv; ::osl::Mutex m_aMutex; diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx index d95cba5..253417f 100644 --- a/svtools/source/dialogs/RemoteFilesDialog.cxx +++ b/svtools/source/dialogs/RemoteFilesDialog.cxx @@ -374,6 +374,11 @@ void RemoteFilesDialog::AddFilter( OUString sName, OUString sType ) m_pFilter_lb->SelectEntryPos( 0 ); } +OUString RemoteFilesDialog::GetPath() const +{ + return m_sPath; +} + OUString RemoteFilesDialog::getCurrentFilter() { OUString sFilter; @@ -642,10 +647,13 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, SelectHdl ) || ( !pData->mbIsFolder && ( m_eType == REMOTEDLG_TYPE_FILEDLG ) ) ) { INetURLObject aURL( pData->maURL ); + m_sPath = pData->maURL; + m_pName_ed->SetText( INetURLObject::decode( aURL.GetLastName(), INetURLObject::DECODE_WITH_CHARSET ) ); } else { + m_sPath = ""; m_pName_ed->SetText( "" ); } commit f6baab8b52753e144e37ba28f1f1ce1477d666db Author: Szymon KÅos <eszka...@gmail.com> Date: Wed Jun 24 16:07:08 2015 +0200 RemoteFilesDialog: showing of the filename depends on the dialog's type Change-Id: I753beb28d07a5cc74634d5fa2cd9a78c8711628f diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx index 8b0b1bc..d95cba5 100644 --- a/svtools/source/dialogs/RemoteFilesDialog.cxx +++ b/svtools/source/dialogs/RemoteFilesDialog.cxx @@ -638,8 +638,16 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, SelectHdl ) SvTreeListEntry* pEntry = m_pFileView->FirstSelected(); SvtContentEntry* pData = static_cast< SvtContentEntry* >( pEntry->GetUserData() ); - INetURLObject aURL( pData->maURL ); - m_pName_ed->SetText( INetURLObject::decode( aURL.GetLastName(), INetURLObject::DECODE_WITH_CHARSET ) ); + if( ( pData->mbIsFolder && ( m_eType == REMOTEDLG_TYPE_PATHDLG ) ) + || ( !pData->mbIsFolder && ( m_eType == REMOTEDLG_TYPE_FILEDLG ) ) ) + { + INetURLObject aURL( pData->maURL ); + m_pName_ed->SetText( INetURLObject::decode( aURL.GetLastName(), INetURLObject::DECODE_WITH_CHARSET ) ); + } + else + { + m_pName_ed->SetText( "" ); + } return 1; } commit eb66c46c292cacf3db65ad460848b376f8170525 Author: Szymon KÅos <eszka...@gmail.com> Date: Wed Jun 24 15:48:58 2015 +0200 RemoteFilesDialog: decode file name Change-Id: I0ab4e7778f7b7f085b02cef3c4504882aa414b15 diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx index 0d4541b..8b0b1bc 100644 --- a/svtools/source/dialogs/RemoteFilesDialog.cxx +++ b/svtools/source/dialogs/RemoteFilesDialog.cxx @@ -636,10 +636,10 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, DoubleClickHdl ) IMPL_LINK_NOARG ( RemoteFilesDialog, SelectHdl ) { SvTreeListEntry* pEntry = m_pFileView->FirstSelected(); - SvtContentEntry* pData = static_cast<SvtContentEntry*>(pEntry->GetUserData()); + SvtContentEntry* pData = static_cast< SvtContentEntry* >( pEntry->GetUserData() ); - INetURLObject aURL(pData->maURL); - m_pName_ed->SetText(aURL.GetLastName()); + INetURLObject aURL( pData->maURL ); + m_pName_ed->SetText( INetURLObject::decode( aURL.GetLastName(), INetURLObject::DECODE_WITH_CHARSET ) ); return 1; }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits