summaryrefslogtreecommitdiff
path: root/fpicker
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2016-11-23 11:32:36 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2016-11-23 11:55:09 +0200
commite77c931f44c91c40fd67863fd6c3c6c4167ad3ff (patch)
tree209a40394906fd98dc3f4b57d45c821faf35fbf4 /fpicker
parenta31e1f1a3204b2265bfda9ab77d704a93bb40d51 (diff)
convert FLT constants to o3tl::typed_flags
and remove the unused ALLFILESFILTER value Change-Id: I4d7484ed2d9a5efacac652c6557f14caadd89d34
Diffstat (limited to 'fpicker')
-rw-r--r--fpicker/source/office/iodlg.cxx41
-rw-r--r--fpicker/source/office/iodlg.hxx17
2 files changed, 28 insertions, 30 deletions
diff --git a/fpicker/source/office/iodlg.cxx b/fpicker/source/office/iodlg.cxx
index 4630e33455e9..fc6418b1465e 100644
--- a/fpicker/source/office/iodlg.cxx
+++ b/fpicker/source/office/iodlg.cxx
@@ -761,7 +761,7 @@ IMPL_LINK_NOARG( SvtFileDialog, NewFolderHdl_Impl, Button*, void)
}
}
-bool SvtFileDialog::createNewUserFilter( const OUString& _rNewFilter )
+void SvtFileDialog::createNewUserFilter( const OUString& _rNewFilter )
{
// delete the old user filter and create a new one
DELETEZ( pImpl->_pUserFilter );
@@ -781,26 +781,17 @@ bool SvtFileDialog::createNewUserFilter( const OUString& _rNewFilter )
SetDefaultExt( pImpl->GetCurFilter( )->GetExtension() );
else
EraseDefaultExt();
-
- // outta here
- return bIsAllFiles;
}
-#define FLT_NONEMPTY 0x0001
-#define FLT_CHANGED 0x0002
-#define FLT_USERFILTER 0x0004
-#define FLT_ALLFILESFILTER 0x0008
-
-
-sal_uInt16 SvtFileDialog::adjustFilter( const OUString& _rFilter )
+AdjustFilterFlags SvtFileDialog::adjustFilter( const OUString& _rFilter )
{
- sal_uInt16 nReturn = 0;
+ AdjustFilterFlags nReturn = AdjustFilterFlags::NONE;
const bool bNonEmpty = !_rFilter.isEmpty();
if ( bNonEmpty )
{
- nReturn |= FLT_NONEMPTY;
+ nReturn |= AdjustFilterFlags::NonEmpty;
bool bFilterChanged = true;
@@ -812,17 +803,13 @@ sal_uInt16 SvtFileDialog::adjustFilter( const OUString& _rFilter )
pFilter = FindFilter_Impl( _rFilter, true, bFilterChanged );
if ( bFilterChanged )
- nReturn |= FLT_CHANGED;
+ nReturn |= AdjustFilterFlags::Changed;
if ( !pFilter )
{
- nReturn |= FLT_USERFILTER;
+ nReturn |= AdjustFilterFlags::UserFilter;
// no filter found : use it as user defined filter
- if ( createNewUserFilter( _rFilter ) )
- { // it's the "all files" filter
- nReturn |= FLT_ALLFILESFILTER;
-
- }
+ createNewUserFilter( _rFilter );
}
}
@@ -946,8 +933,8 @@ void SvtFileDialog::OpenHdl_Impl(void* pVoid)
return;
// if a filter was retrieved, there were wildcards !
- sal_uInt16 nNewFilterFlags = adjustFilter( aFilter );
- if ( nNewFilterFlags & FLT_CHANGED )
+ AdjustFilterFlags nNewFilterFlags = adjustFilter( aFilter );
+ if ( nNewFilterFlags & AdjustFilterFlags::Changed )
{
// cut off all text before wildcard in edit and select wildcard
pImpl->_pEdFileName->SetText( aFilter );
@@ -1048,14 +1035,14 @@ void SvtFileDialog::OpenHdl_Impl(void* pVoid)
}
else
{
- if ( nNewFilterFlags & FLT_CHANGED )
+ if ( nNewFilterFlags & AdjustFilterFlags::Changed )
ExecuteFilter();
}
return;
}
}
- else if ( !( nNewFilterFlags & FLT_NONEMPTY ) )
+ else if ( !( nNewFilterFlags & AdjustFilterFlags::NonEmpty ) )
{
// if applicable save URL
_aPath = aFileName;
@@ -1063,7 +1050,7 @@ void SvtFileDialog::OpenHdl_Impl(void* pVoid)
else
{
// if applicable filter again
- if ( nNewFilterFlags & FLT_CHANGED )
+ if ( nNewFilterFlags & AdjustFilterFlags::Changed )
ExecuteFilter();
return;
}
@@ -1946,8 +1933,8 @@ short SvtFileDialog::PrepareExecute()
if ( !IsolateFilterFromPath_Impl( _aPath, aFilter ) )
return 0;
- sal_uInt16 nNewFilterFlags = adjustFilter( aFilter );
- if ( nNewFilterFlags & ( FLT_NONEMPTY | FLT_USERFILTER ) )
+ AdjustFilterFlags nNewFilterFlags = adjustFilter( aFilter );
+ if ( nNewFilterFlags & ( AdjustFilterFlags::NonEmpty | AdjustFilterFlags::UserFilter ) )
{
pImpl->_pEdFileName->SetText( aFilter );
}
diff --git a/fpicker/source/office/iodlg.hxx b/fpicker/source/office/iodlg.hxx
index c76956bcb138..cd9f3f28868d 100644
--- a/fpicker/source/office/iodlg.hxx
+++ b/fpicker/source/office/iodlg.hxx
@@ -40,6 +40,7 @@
#include <comphelper/configuration.hxx>
#include <comphelper/processfactory.hxx>
#include "fpdialogbase.hxx"
+#include <o3tl/typed_flags_set.hxx>
#include <set>
@@ -51,6 +52,17 @@ class SvtURLBox;
class SvtExpFileDlg_Impl;
class CustomContainer;
+enum class AdjustFilterFlags {
+ NONE = 0x0000,
+ NonEmpty = 0x0001,
+ Changed = 0x0002,
+ UserFilter = 0x0004,
+};
+namespace o3tl {
+ template<> struct typed_flags<AdjustFilterFlags> : is_typed_flags<AdjustFilterFlags, 0x0007> {};
+}
+
+
class SvtFileDialog : public SvtFileDialog_Base
{
private:
@@ -238,11 +250,10 @@ private:
/** updates _pUserFilter with a new filter
<p>No checks for necessity are made.</p>
- @return <TRUE/> if the new filter is "*.*"
*/
- bool createNewUserFilter( const OUString& _rNewFilter );
+ void createNewUserFilter( const OUString& _rNewFilter );
- sal_uInt16 adjustFilter( const OUString& _rFilter );
+ AdjustFilterFlags adjustFilter( const OUString& _rFilter );
// IFilePickerController, needed by OControlAccess
virtual Control* getControl( sal_Int16 _nControlId, bool _bLabelControl = false ) const override;