diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-10-04 13:23:55 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-10-05 16:06:59 +0200 |
commit | 76c5f33e65e9a36c94c46f1ed0b6d33721d21cfb (patch) | |
tree | 35efc002c6f8e300b6fb7b408f5727cf999361a8 /include/svtools | |
parent | The checks should apparenty be maArguments.getLength() >= 5 (diff) | |
download | core-76c5f33e65e9a36c94c46f1ed0b6d33721d21cfb.tar.gz core-76c5f33e65e9a36c94c46f1ed0b6d33721d21cfb.zip |
move file picker only code to fpicker
Change-Id: I47cc2cb7db396a06a2abeffe4a5d40a039f21c58
Reviewed-on: https://gerrit.libreoffice.org/80222
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'include/svtools')
-rw-r--r-- | include/svtools/fileview.hxx | 224 | ||||
-rw-r--r-- | include/svtools/foldertree.hxx | 50 | ||||
-rw-r--r-- | include/svtools/querydelete.hxx | 52 | ||||
-rw-r--r-- | include/svtools/urlfilter.hxx (renamed from include/svtools/iconview.hxx) | 27 |
4 files changed, 67 insertions, 286 deletions
diff --git a/include/svtools/fileview.hxx b/include/svtools/fileview.hxx deleted file mode 100644 index ea3a23e1fd47..000000000000 --- a/include/svtools/fileview.hxx +++ /dev/null @@ -1,224 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ -#ifndef INCLUDED_VCL_FILEVIEW_HXX -#define INCLUDED_VCL_FILEVIEW_HXX - -#include <memory> -#include <svtools/svtdllapi.h> -#include <com/sun/star/uno/Sequence.h> -#include <vcl/ctrl.hxx> -#include <vcl/weld.hxx> -#include <rtl/ustring.hxx> - -namespace com :: sun :: star :: ucb { class XContent; } - -// class SvtFileView ----------------------------------------------------- - -class SvtFileView_Impl; -class SvTreeListEntry; -class HeaderBar; -struct SvtContentEntry; -class SvTreeListBox; - -/// the result of an action in the FileView -enum FileViewResult -{ - eSuccess, - eFailure, - eTimeout, - eStillRunning -}; - -enum FileViewMode -{ - eDetailedList, - eIcon -}; - -/// describes parameters for doing an action on the FileView asynchronously -struct FileViewAsyncAction -{ - sal_uInt32 nMinTimeout; /// minimum time to wait for a result, in milliseconds - sal_uInt32 nMaxTimeout; /// maximum time to wait for a result, in milliseconds, until eTimeout is returned - Link<void*,void> aFinishHandler; /// the handler to be called when the action is finished. Called in every case, no matter of the result - - FileViewAsyncAction() - { - nMinTimeout = nMaxTimeout = 0; - } -}; - -class SVT_DLLPUBLIC SvtFileView : public Control -{ -private: - std::unique_ptr<SvtFileView_Impl> mpImpl; - css::uno::Sequence< OUString > mpBlackList; - - DECL_DLLPRIVATE_LINK( HeaderSelect_Impl, HeaderBar*, void ); - DECL_DLLPRIVATE_LINK( HeaderEndDrag_Impl, HeaderBar*, void ); - -protected: - virtual void GetFocus() override; - -public: - SvtFileView( vcl::Window* pParent, WinBits nBits, bool bOnlyFolder, bool bMultiSelection, bool bShowType = true ); - virtual ~SvtFileView() override; - virtual void dispose() override; - - virtual Size GetOptimalSize() const override; - - void SetViewMode( FileViewMode eMode ); - - const OUString& GetViewURL() const; - static OUString GetURL( SvTreeListEntry const * pEntry ); - OUString GetCurrentURL() const; - - bool GetParentURL( OUString& _rParentURL ) const; - void CreatedFolder( const OUString& rUrl, const OUString& rNewFolder ); - - void SetHelpId( const OString& rHelpId ); - const OString& GetHelpId( ) const; - void SetSizePixel( const Size& rNewSize ) override; - virtual void SetPosSizePixel( const Point& rNewPos, const Size& rNewSize ) override; - - /** initialize the view with the content of a folder given by URL, and apply an immediate filter - - @param rFolderURL - the URL of the folder whose content is to be read - @param rFilter - the initial filter to be applied - @param pAsyncDescriptor - If not <NULL/>, this struct describes the parameters for doing the - action asynchronously. - */ - FileViewResult Initialize( - const OUString& rFolderURL, - const OUString& rFilter, - const FileViewAsyncAction* pAsyncDescriptor, - const css::uno::Sequence< OUString >& rBlackList - ); - - /** initializes the view with the content of a folder given by a UCB content - */ - bool Initialize( const css::uno::Reference< css::ucb::XContent>& _xContent ); - - /** reads the current content of the current folder again, and applies the given filter to it - - Note 1: The folder is really read a second time. This implies that any new elements (which were - not present when you called Initialize the last time) are now displayed. - - Note 2: This method must not be called when you previously initialized the view from a sequence - of strings, or a UNO content object. - - @param rFilter - the filter to be applied - @param pAsyncDescriptor - If not <NULL/>, this struct describes the parameters for doing the - action asynchronously. - */ - FileViewResult ExecuteFilter( - const OUString& rFilter, - const FileViewAsyncAction* pAsyncDescriptor - ); - - /** cancels a running async action (if any) - - @seealso Initialize - @seealso ExecuteFilter - @seealso FileViewAsyncAction - */ - void CancelRunningAsyncAction(); - - /** initializes the view with the parent folder of the current folder - - @param rNewURL - the URL of the folder which we just navigated to - @param pAsyncDescriptor - If not <NULL/>, this struct describes the parameters for doing the - action asynchronously. - */ - FileViewResult PreviousLevel( - const FileViewAsyncAction* pAsyncDescriptor - ); - - void SetNoSelection(); - - void SetSelectHdl( const Link<SvTreeListBox*,void>& rHdl ); - void SetDoubleClickHdl( const Link<SvTreeListBox*,bool>& rHdl ); - void SetOpenDoneHdl( const Link<SvtFileView*,void>& rHdl ); - - sal_uLong GetSelectionCount() const; - SvTreeListEntry* FirstSelected() const; - SvTreeListEntry* NextSelected( SvTreeListEntry* pEntry ) const; - void EnableAutoResize(); - - void EnableDelete( bool bEnable ); - - // save and load column size and sort order - OUString GetConfigString() const; - void SetConfigString( const OUString& rCfgStr ); - - void EndInplaceEditing(); - - ::std::vector< SvtContentEntry > GetContent(); - -protected: - virtual void StateChanged( StateChangedType nStateChange ) override; -}; - -// struct SvtContentEntry ------------------------------------------------ - -struct SvtContentEntry -{ - bool const mbIsFolder; - OUString maURL; - - SvtContentEntry( const OUString& rURL, bool bIsFolder ) : - mbIsFolder( bIsFolder ), maURL( rURL ) {} -}; - -namespace svtools { - - -// QueryDeleteDlg_Impl - - -enum QueryDeleteResult_Impl -{ - QUERYDELETE_YES = RET_YES, - QUERYDELETE_ALL = 101 -}; - -class SVT_DLLPUBLIC QueryDeleteDlg_Impl : public weld::MessageDialogController -{ -private: - std::unique_ptr<weld::Button> m_xAllButton; -public: - - QueryDeleteDlg_Impl(weld::Widget* pParent, const OUString& rName); - virtual ~QueryDeleteDlg_Impl() override; - - void EnableAllButton() { m_xAllButton->set_sensitive(true); } -}; - -} - -#endif // INCLUDED_VCL_FILEVIEW_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/svtools/foldertree.hxx b/include/svtools/foldertree.hxx deleted file mode 100644 index f62cc71be6f3..000000000000 --- a/include/svtools/foldertree.hxx +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -#ifndef INCLUDED_SVTOOLS_FOLDERTREE_HXX -#define INCLUDED_SVTOOLS_FOLDERTREE_HXX - -#include <com/sun/star/uno/Sequence.hxx> - -#include <svtools/svtdllapi.h> - -#include <tools/wintypes.hxx> -#include <vcl/treelistbox.hxx> - -namespace com :: sun :: star :: ucb { class XCommandEnvironment; } - -class SvTreeListEntry; - -using namespace ::com::sun::star::ucb; -using namespace ::com::sun::star::uno; -using namespace ::svt; - -class SVT_DLLPUBLIC FolderTree : public SvTreeListBox -{ -private: - Reference< XCommandEnvironment > m_xEnv; - ::osl::Mutex m_aMutex; - Sequence< OUString > m_aBlackList; - - OUString m_sLastUpdatedDir; - -public: - FolderTree( vcl::Window* pParent, WinBits nBits ); - - virtual void RequestingChildren( SvTreeListEntry* pEntry ) override; - - void FillTreeEntry( SvTreeListEntry* pEntry ); - void FillTreeEntry( const OUString & rUrl, const ::std::vector< std::pair< OUString, OUString > >& rFolders ); - void SetTreePath( OUString const & sUrl ); - void SetBlackList( const css::uno::Sequence< OUString >& rBlackList ); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/svtools/querydelete.hxx b/include/svtools/querydelete.hxx new file mode 100644 index 000000000000..91e2096615ee --- /dev/null +++ b/include/svtools/querydelete.hxx @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef INCLUDED_SVTOOLS_FILEVIEW_HXX +#define INCLUDED_SVTOOLS_FILEVIEW_HXX + +#include <memory> +#include <vcl/weld.hxx> +#include <rtl/ustring.hxx> +#include <svtools/svtdllapi.h> + +namespace svtools +{ +// QueryDeleteDlg_Impl + +enum QueryDeleteResult_Impl +{ + QUERYDELETE_YES = RET_YES, + QUERYDELETE_ALL = 101 +}; + +class SVT_DLLPUBLIC QueryDeleteDlg_Impl : public weld::MessageDialogController +{ +private: + std::unique_ptr<weld::Button> m_xAllButton; + +public: + QueryDeleteDlg_Impl(weld::Widget* pParent, const OUString& rName); + virtual ~QueryDeleteDlg_Impl() override; + + void EnableAllButton() { m_xAllButton->set_sensitive(true); } +}; +} + +#endif // INCLUDED_SVTOOLS_FILEVIEW_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/svtools/iconview.hxx b/include/svtools/urlfilter.hxx index 17a9103e9c2f..9ca75ed5b57e 100644 --- a/include/svtools/iconview.hxx +++ b/include/svtools/urlfilter.hxx @@ -17,25 +17,28 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#ifndef INCLUDED_SVTOOLS_ICONVIEW_HXX -#define INCLUDED_SVTOOLS_ICONVIEW_HXX +#ifndef INCLUDED_SVL_URLFILTER_HXX +#define INCLUDED_SVL_URLFILTER_HXX -#include <vcl/treelistbox.hxx> +#include <svtools/svtdllapi.h> +#include <tools/wldcrd.hxx> +#include <vector> -class IconView : public SvTreeListBox +struct SVT_DLLPUBLIC FilterMatch { +private: + const OUString& m_rCompareString; public: - IconView( vcl::Window* pParent, WinBits nBits ); + FilterMatch( const OUString& _rCompareString ) : m_rCompareString( _rCompareString ) { } - virtual void Resize() override; + bool operator()( const WildCard& _rMatcher ) + { + return _rMatcher.Matches( m_rCompareString ); + } - virtual tools::Rectangle GetFocusRect( SvTreeListEntry*, long nEntryPos ) override; - - void ClearAll(); - - void PaintEntry( SvTreeListEntry&, long nX, long nY, vcl::RenderContext& rRenderContext); + static void createWildCardFilterList(const OUString& _rFilterList,::std::vector< WildCard >& _rFilters); }; -#endif +#endif // INCLUDED_SVL_URLFILTER_HXX /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |