summaryrefslogtreecommitdiffstats
path: root/include/svtools
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-10-04 13:23:55 +0100
committerCaolán McNamara <caolanm@redhat.com>2019-10-05 16:06:59 +0200
commit76c5f33e65e9a36c94c46f1ed0b6d33721d21cfb (patch)
tree35efc002c6f8e300b6fb7b408f5727cf999361a8 /include/svtools
parentThe checks should apparenty be maArguments.getLength() >= 5 (diff)
downloadcore-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.hxx224
-rw-r--r--include/svtools/foldertree.hxx50
-rw-r--r--include/svtools/querydelete.hxx52
-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: */