diff options
Diffstat (limited to 'src/plugins/platforms/windows/qwindowsdialoghelpers.cpp')
-rw-r--r-- | src/plugins/platforms/windows/qwindowsdialoghelpers.cpp | 340 |
1 files changed, 10 insertions, 330 deletions
diff --git a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp index d5e5f87e5c..a7106c972b 100644 --- a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp +++ b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp @@ -70,300 +70,10 @@ #include <algorithm> -#include "qtwindows_additional.h" +#include <QtCore/qt_windows.h> // #define USE_NATIVE_COLOR_DIALOG /* Testing purposes only */ -#ifdef Q_CC_MINGW /* Add missing declarations for MinGW */ - -#ifndef __IShellLibrary_FWD_DEFINED__ - -/* Constants obtained by running the below stream operator for - * CLSID, IID on the constants in the Windows SDK libraries. */ - -static const IID IID_IFileOpenDialog = {0xd57c7288, 0xd4ad, 0x4768, {0xbe, 0x02, 0x9d, 0x96, 0x95, 0x32, 0xd9, 0x60}}; -static const IID IID_IFileSaveDialog = {0x84bccd23, 0x5fde, 0x4cdb,{0xae, 0xa4, 0xaf, 0x64, 0xb8, 0x3d, 0x78, 0xab}}; -#ifdef __MINGW64_VERSION_MAJOR -static const IID q_IID_IShellItem = {0x43826d1e, 0xe718, 0x42ee, {0xbc, 0x55, 0xa1, 0xe2, 0x61, 0xc3, 0x7b, 0xfe}}; -#define IID_IShellItem q_IID_IShellItem -#else -static const IID IID_IShellItem = {0x43826d1e, 0xe718, 0x42ee, {0xbc, 0x55, 0xa1, 0xe2, 0x61, 0xc3, 0x7b, 0xfe}}; -static const IID IID_IShellItemArray = {0xb63ea76d, 0x1f85, 0x456f, {0xa1, 0x9c, 0x48, 0x15, 0x9e, 0xfa, 0x85, 0x8b}}; -# define LFF_FORCEFILESYSTEM 1 -#endif -static const IID IID_IFileDialogEvents = {0x973510db, 0x7d7f, 0x452b,{0x89, 0x75, 0x74, 0xa8, 0x58, 0x28, 0xd3, 0x54}}; -static const CLSID CLSID_FileOpenDialog = {0xdc1c5a9c, 0xe88a, 0x4dde, {0xa5, 0xa1, 0x60, 0xf8, 0x2a, 0x20, 0xae, 0xf7}}; -static const CLSID CLSID_FileSaveDialog = {0xc0b4e2f3, 0xba21, 0x4773,{0x8d, 0xba, 0x33, 0x5e, 0xc9, 0x46, 0xeb, 0x8b}}; - -typedef struct _COMDLG_FILTERSPEC -{ - LPCWSTR pszName; - LPCWSTR pszSpec; -} COMDLG_FILTERSPEC; - - -#define FOS_OVERWRITEPROMPT 0x2 -#define FOS_STRICTFILETYPES 0x4 -#define FOS_NOCHANGEDIR 0x8 -#define FOS_PICKFOLDERS 0x20 -#define FOS_FORCEFILESYSTEM 0x40 -#define FOS_ALLNONSTORAGEITEMS 0x80 -#define FOS_NOVALIDATE 0x100 -#define FOS_ALLOWMULTISELECT 0x200 -#define FOS_PATHMUSTEXIST 0x800 -#define FOS_FILEMUSTEXIST 0x1000 -#define FOS_CREATEPROMPT 0x2000 -#define FOS_SHAREAWARE 0x4000 -#define FOS_NOREADONLYRETURN 0x8000 -#define FOS_NOTESTFILECREATE 0x10000 -#define FOS_HIDEMRUPLACES 0x20000 -#define FOS_HIDEPINNEDPLACES 0x40000 -#define FOS_NODEREFERENCELINKS 0x100000 -#define FOS_DONTADDTORECENT 0x2000000 -#define FOS_FORCESHOWHIDDEN 0x10000000 -#define FOS_DEFAULTNOMINIMODE 0x20000000 -#define FOS_FORCEPREVIEWPANEON 0x40000000 - -#if __MINGW64_VERSION_MAJOR < 2 -typedef int GETPROPERTYSTOREFLAGS; -#define GPS_DEFAULT 0x00000000 -#define GPS_HANDLERPROPERTIESONLY 0x00000001 -#define GPS_READWRITE 0x00000002 -#define GPS_TEMPORARY 0x00000004 -#define GPS_FASTPROPERTIESONLY 0x00000008 -#define GPS_OPENSLOWITEM 0x00000010 -#define GPS_DELAYCREATION 0x00000020 -#define GPS_BESTEFFORT 0x00000040 -#define GPS_MASK_VALID 0x0000007F -#endif - -typedef int (QT_WIN_CALLBACK* BFFCALLBACK)(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData); -// message from browser -#define BFFM_INITIALIZED 1 -#define BFFM_SELCHANGED 2 -#define BFFM_ENABLEOK (WM_USER + 101) -// Browsing for directory. -#define BIF_NONEWFOLDERBUTTON 0x0200 -#define BIF_NOTRANSLATETARGETS 0x0400 -#define BIF_BROWSEFORCOMPUTER 0x1000 -#define BIF_BROWSEFORPRINTER 0x2000 -#define BIF_BROWSEINCLUDEFILES 0x4000 -#define BIF_SHAREABLE 0x8000 - -//the enums -typedef enum { - SIATTRIBFLAGS_AND = 0x1, - SIATTRIBFLAGS_OR = 0x2, - SIATTRIBFLAGS_APPCOMPAT = 0x3, - SIATTRIBFLAGS_MASK = 0x3 -} SIATTRIBFLAGS; -#ifndef __MINGW64_VERSION_MAJOR -typedef enum { - SIGDN_NORMALDISPLAY = 0x00000000, - SIGDN_PARENTRELATIVEPARSING = 0x80018001, - SIGDN_PARENTRELATIVEFORADDRESSBAR = 0x8001c001, - SIGDN_DESKTOPABSOLUTEPARSING = 0x80028000, - SIGDN_PARENTRELATIVEEDITING = 0x80031001, - SIGDN_DESKTOPABSOLUTEEDITING = 0x8004c000, - SIGDN_FILESYSPATH = 0x80058000, - SIGDN_URL = 0x80068000 -} SIGDN; -#endif -typedef enum { - FDAP_BOTTOM = 0x00000000, - FDAP_TOP = 0x00000001 -} FDAP; -typedef enum { - FDESVR_DEFAULT = 0x00000000, - FDESVR_ACCEPT = 0x00000001, - FDESVR_REFUSE = 0x00000002 -} FDE_SHAREVIOLATION_RESPONSE; -typedef FDE_SHAREVIOLATION_RESPONSE FDE_OVERWRITE_RESPONSE; - -//the structs -typedef struct { - LPCWSTR pszName; - LPCWSTR pszSpec; -} qt_COMDLG_FILTERSPEC; -typedef struct { - GUID fmtid; - DWORD pid; -} qt_PROPERTYKEY; - -typedef struct { - USHORT cb; - BYTE abID[1]; -} qt_SHITEMID, *qt_LPSHITEMID; -typedef struct { - qt_SHITEMID mkid; -} qt_ITEMIDLIST, *qt_LPITEMIDLIST; -typedef const qt_ITEMIDLIST *qt_LPCITEMIDLIST; -typedef struct { - HWND hwndOwner; - qt_LPCITEMIDLIST pidlRoot; - LPWSTR pszDisplayName; - LPCWSTR lpszTitle; - UINT ulFlags; - BFFCALLBACK lpfn; - LPARAM lParam; - int iImage; -} qt_BROWSEINFO; - -#endif // __IShellLibrary_FWD_DEFINED__ - -#ifndef __IFileDialogEvents_FWD_DEFINED__ -DECLARE_INTERFACE(IFileDialogEvents); -#endif - -#ifndef __IShellItem_INTERFACE_DEFINED__ -DECLARE_INTERFACE_(IShellItem, IUnknown) -{ - STDMETHOD(BindToHandler)(THIS_ IBindCtx *pbc, REFGUID bhid, REFIID riid, void **ppv) PURE; - STDMETHOD(GetParent)(THIS_ IShellItem **ppsi) PURE; - STDMETHOD(GetDisplayName)(THIS_ SIGDN sigdnName, LPWSTR *ppszName) PURE; - STDMETHOD(GetAttributes)(THIS_ ULONG sfgaoMask, ULONG *psfgaoAttribs) PURE; - STDMETHOD(Compare)(THIS_ IShellItem *psi, DWORD hint, int *piOrder) PURE; -}; -#endif - -#ifndef __IShellItemFilter_INTERFACE_DEFINED__ -DECLARE_INTERFACE_(IShellItemFilter, IUnknown) -{ - STDMETHOD(IncludeItem)(THIS_ IShellItem *psi) PURE; - STDMETHOD(GetEnumFlagsForItem)(THIS_ IShellItem *psi, DWORD *pgrfFlags) PURE; -}; -#endif - -#ifndef __IEnumShellItems_INTERFACE_DEFINED__ -DECLARE_INTERFACE_(IEnumShellItems, IUnknown) -{ - STDMETHOD(Next)(THIS_ ULONG celt, IShellItem **rgelt, ULONG *pceltFetched) PURE; - STDMETHOD(Skip)(THIS_ ULONG celt) PURE; - STDMETHOD(Reset)(THIS_) PURE; - STDMETHOD(Clone)(THIS_ IEnumShellItems **ppenum) PURE; -}; -#endif - -#ifndef __IShellItemArray_INTERFACE_DEFINED__ -DECLARE_INTERFACE_(IShellItemArray, IUnknown) -{ - STDMETHOD(BindToHandler)(THIS_ IBindCtx *pbc, REFGUID rbhid, REFIID riid, void **ppvOut) PURE; - STDMETHOD(GetPropertyStore)(THIS_ GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv) PURE; - STDMETHOD(GetPropertyDescriptionList)(THIS_ const qt_PROPERTYKEY *keyType, REFIID riid, void **ppv) PURE; - STDMETHOD(GetAttributes)(THIS_ SIATTRIBFLAGS dwAttribFlags, ULONG sfgaoMask, ULONG *psfgaoAttribs) PURE; - STDMETHOD(GetCount)(THIS_ DWORD *pdwNumItems) PURE; - STDMETHOD(GetItemAt)(THIS_ DWORD dwIndex, IShellItem **ppsi) PURE; - STDMETHOD(EnumItems)(THIS_ IEnumShellItems **ppenumShellItems) PURE; -}; -#endif - -#ifndef __IShellLibrary_INTERFACE_DEFINED__ - -enum LIBRARYOPTIONFLAGS {}; -enum DEFAULTSAVEFOLDERTYPE { DSFT_DETECT = 1 }; -enum LIBRARYSAVEFLAGS {}; - -DECLARE_INTERFACE_(IShellLibrary, IUnknown) -{ - STDMETHOD(LoadLibraryFromItem)(THIS_ IShellItem *psiLibrary, DWORD grfMode) PURE; - STDMETHOD(LoadLibraryFromKnownFolder)(THIS_ const GUID &kfidLibrary, DWORD grfMode) PURE; - STDMETHOD(AddFolder)(THIS_ IShellItem *psiLocation) PURE; - STDMETHOD(RemoveFolder)(THIS_ IShellItem *psiLocation) PURE; - STDMETHOD(GetFolders)(THIS_ int lff, REFIID riid, void **ppv) PURE; - STDMETHOD(ResolveFolder)(THIS_ IShellItem *psiFolderToResolve, DWORD dwTimeout, REFIID riid, void **ppv) PURE; - STDMETHOD(GetDefaultSaveFolder)(THIS_ DEFAULTSAVEFOLDERTYPE dsft, REFIID riid, void **ppv) PURE; - STDMETHOD(SetDefaultSaveFolder)(THIS_ DEFAULTSAVEFOLDERTYPE dsft, IShellItem *psi) PURE; - STDMETHOD(GetOptions)(THIS_ LIBRARYOPTIONFLAGS *plofOptions) PURE; - STDMETHOD(SetOptions)(THIS_ LIBRARYOPTIONFLAGS lofMask, LIBRARYOPTIONFLAGS lofOptions) PURE; - STDMETHOD(GetFolderType)(THIS_ GUID *pftid) PURE; - STDMETHOD(SetFolderType)(THIS_ const GUID &ftid) PURE; - STDMETHOD(GetIcon)(THIS_ LPWSTR *ppszIcon) PURE; - STDMETHOD(SetIcon)(THIS_ LPCWSTR pszIcon) PURE; - STDMETHOD(Commit)(THIS_) PURE; - STDMETHOD(Save)(THIS_ IShellItem *psiFolderToSaveIn, LPCWSTR pszLibraryName, LIBRARYSAVEFLAGS lsf, IShellItem **ppsiSavedTo) PURE; - STDMETHOD(SaveInKnownFolder)(THIS_ const GUID &kfidToSaveIn, LPCWSTR pszLibraryName, LIBRARYSAVEFLAGS lsf,IShellItem **ppsiSavedTo) PURE; -}; -#endif - -#ifndef __IModalWindow_INTERFACE_DEFINED__ -DECLARE_INTERFACE_(IModalWindow, IUnknown) -{ - STDMETHOD(Show)(THIS_ HWND hwndParent) PURE; -}; -#endif - -#ifndef __IFileDialog_INTERFACE_DEFINED__ -DECLARE_INTERFACE_(IFileDialog, IModalWindow) -{ - STDMETHOD(SetFileTypes)(THIS_ UINT cFileTypes, const COMDLG_FILTERSPEC *rgFilterSpec) PURE; - STDMETHOD(SetFileTypeIndex)(THIS_ UINT iFileType) PURE; - STDMETHOD(GetFileTypeIndex)(THIS_ UINT *piFileType) PURE; - STDMETHOD(Advise)(THIS_ IFileDialogEvents *pfde, DWORD *pdwCookie) PURE; - STDMETHOD(Unadvise)(THIS_ DWORD dwCookie) PURE; - STDMETHOD(SetOptions)(THIS_ DWORD fos) PURE; - STDMETHOD(GetOptions)(THIS_ DWORD *pfos) PURE; - STDMETHOD(SetDefaultFolder)(THIS_ IShellItem *psi) PURE; - STDMETHOD(SetFolder)(THIS_ IShellItem *psi) PURE; - STDMETHOD(GetFolder)(THIS_ IShellItem **ppsi) PURE; - STDMETHOD(GetCurrentSelection)(THIS_ IShellItem **ppsi) PURE; - STDMETHOD(SetFileName)(THIS_ LPCWSTR pszName) PURE; - STDMETHOD(GetFileName)(THIS_ LPWSTR *pszName) PURE; - STDMETHOD(SetTitle)(THIS_ LPCWSTR pszTitle) PURE; - STDMETHOD(SetOkButtonLabel)(THIS_ LPCWSTR pszText) PURE; - STDMETHOD(SetFileNameLabel)(THIS_ LPCWSTR pszLabel) PURE; - STDMETHOD(GetResult)(THIS_ IShellItem **ppsi) PURE; - STDMETHOD(AddPlace)(THIS_ IShellItem *psi, FDAP fdap) PURE; - STDMETHOD(SetDefaultExtension)(THIS_ LPCWSTR pszDefaultExtension) PURE; - STDMETHOD(Close)(THIS_ HRESULT hr) PURE; - STDMETHOD(SetClientGuid)(THIS_ REFGUID guid) PURE; - STDMETHOD(ClearClientData)(THIS_) PURE; - STDMETHOD(SetFilter)(THIS_ IShellItemFilter *pFilter) PURE; -}; -#endif - -#ifndef __IFileDialogEvents_INTERFACE_DEFINED__ -DECLARE_INTERFACE_(IFileDialogEvents, IUnknown) -{ - STDMETHOD(OnFileOk)(THIS_ IFileDialog *pfd) PURE; - STDMETHOD(OnFolderChanging)(THIS_ IFileDialog *pfd, IShellItem *psiFolder) PURE; - STDMETHOD(OnFolderChange)(THIS_ IFileDialog *pfd) PURE; - STDMETHOD(OnSelectionChange)(THIS_ IFileDialog *pfd) PURE; - STDMETHOD(OnShareViolation)(THIS_ IFileDialog *pfd, IShellItem *psi, FDE_SHAREVIOLATION_RESPONSE *pResponse) PURE; - STDMETHOD(OnTypeChange)(THIS_ IFileDialog *pfd) PURE; - STDMETHOD(OnOverwrite)(THIS_ IFileDialog *pfd, IShellItem *psi, FDE_OVERWRITE_RESPONSE *pResponse) PURE; -}; -#endif - -#ifndef __IFileOpenDialog_INTERFACE_DEFINED__ -DECLARE_INTERFACE_(IFileOpenDialog, IFileDialog) -{ - STDMETHOD(GetResults)(THIS_ IShellItemArray **ppenum) PURE; - STDMETHOD(GetSelectedItems)(THIS_ IShellItemArray **ppsai) PURE; -}; -#endif - -#ifndef __IPropertyStore_FWD_DEFINED__ -typedef IUnknown IPropertyStore; -#endif - -#ifndef __IFileOperationProgressSink_FWD_DEFINED__ -typedef IUnknown IFileOperationProgressSink; -#endif - -#ifndef __IFileSaveDialog_INTERFACE_DEFINED__ -DECLARE_INTERFACE_(IFileSaveDialog, IFileDialog) -{ -public: - STDMETHOD(SetSaveAsItem)(THIS_ IShellItem *psi) PURE; - STDMETHOD(SetProperties)(THIS_ IPropertyStore *pStore) PURE; - STDMETHOD(SetCollectedProperties)(THIS_ IPropertyStore *pStore) PURE; - STDMETHOD(GetProperties)(THIS_ IPropertyStore **ppStore) PURE; - STDMETHOD(ApplyProperties)(THIS_ IShellItem *psi, IPropertyStore *pStore, HWND hwnd, IFileOperationProgressSink *pSink) PURE; -}; -#endif - -#endif // Q_CC_MINGW - QT_BEGIN_NAMESPACE #ifndef QT_NO_DEBUG_STREAM @@ -637,7 +347,6 @@ void QWindowsDialogHelperBase<BaseClass>::stopTimer() } } -#ifndef Q_OS_WINCE // Find a file dialog window created by IFileDialog by process id, window // title and class, which starts with a hash '#'. @@ -673,7 +382,6 @@ static inline HWND findDialogWindow(const QString &title) EnumWindows(findDialogEnumWindowsProc, reinterpret_cast<LPARAM>(&context)); return context.hwnd; } -#endif // !Q_OS_WINCE template <class BaseClass> void QWindowsDialogHelperBase<BaseClass>::hide() @@ -989,24 +697,19 @@ void QWindowsNativeFileDialogBase::setWindowTitle(const QString &title) IShellItem *QWindowsNativeFileDialogBase::shellItem(const QUrl &url) { -#ifndef Q_OS_WINCE if (url.isLocalFile()) { - if (!QWindowsContext::shell32dll.sHCreateItemFromParsingName) - return Q_NULLPTR; IShellItem *result = Q_NULLPTR; const QString native = QDir::toNativeSeparators(url.toLocalFile()); const HRESULT hr = - QWindowsContext::shell32dll.sHCreateItemFromParsingName(reinterpret_cast<const wchar_t *>(native.utf16()), - NULL, IID_IShellItem, - reinterpret_cast<void **>(&result)); + SHCreateItemFromParsingName(reinterpret_cast<const wchar_t *>(native.utf16()), + NULL, IID_IShellItem, + reinterpret_cast<void **>(&result)); if (FAILED(hr)) { qErrnoWarning("%s: SHCreateItemFromParsingName(%s)) failed", __FUNCTION__, qPrintable(url.toString())); return Q_NULLPTR; } return result; } else if (url.scheme() == QLatin1String("clsid")) { - if (!QWindowsContext::shell32dll.sHGetKnownFolderIDList || !QWindowsContext::shell32dll.sHCreateItemFromIDList) - return Q_NULLPTR; // Support for virtual folders via GUID // (see https://msdn.microsoft.com/en-us/library/windows/desktop/dd378457(v=vs.85).aspx) // specified as "clsid:<GUID>" (without '{', '}'). @@ -1017,12 +720,12 @@ IShellItem *QWindowsNativeFileDialogBase::shellItem(const QUrl &url) return Q_NULLPTR; } PIDLIST_ABSOLUTE idList; - HRESULT hr = QWindowsContext::shell32dll.sHGetKnownFolderIDList(uuid, 0, 0, &idList); + HRESULT hr = SHGetKnownFolderIDList(uuid, 0, 0, &idList); if (FAILED(hr)) { qErrnoWarning("%s: SHGetKnownFolderIDList(%s)) failed", __FUNCTION__, qPrintable(url.toString())); return Q_NULLPTR; } - hr = QWindowsContext::shell32dll.sHCreateItemFromIDList(idList, IID_IShellItem, reinterpret_cast<void **>(&result)); + hr = SHCreateItemFromIDList(idList, IID_IShellItem, reinterpret_cast<void **>(&result)); CoTaskMemFree(idList); if (FAILED(hr)) { qErrnoWarning("%s: SHCreateItemFromIDList(%s)) failed", __FUNCTION__, qPrintable(url.toString())); @@ -1032,9 +735,6 @@ IShellItem *QWindowsNativeFileDialogBase::shellItem(const QUrl &url) } else { qWarning() << __FUNCTION__ << ": Unhandled scheme: " << url.scheme(); } -#else // !Q_OS_WINCE - Q_UNUSED(url) -#endif return 0; } @@ -1050,11 +750,9 @@ void QWindowsNativeFileDialogBase::setDirectory(const QUrl &directory) QString QWindowsNativeFileDialogBase::directory() const { -#ifndef Q_OS_WINCE IShellItem *item = 0; if (m_fileDialog && SUCCEEDED(m_fileDialog->GetFolder(&item)) && item) return QWindowsNativeFileDialogBase::itemPath(item); -#endif return QString(); } @@ -1106,7 +804,7 @@ void QWindowsNativeFileDialogBase::setMode(QFileDialogOptions::FileMode mode, qErrnoWarning("%s: SetOptions() failed", __FUNCTION__); } -#if !defined(Q_OS_WINCE) && defined(__IShellLibrary_INTERFACE_DEFINED__) // Windows SDK 7 +#if defined(__IShellLibrary_INTERFACE_DEFINED__) // Windows SDK 7 // Helper for "Libraries": collections of folders appearing from Windows 7 // on, visible in the file dialogs. @@ -1159,7 +857,7 @@ QString QWindowsNativeFileDialogBase::libraryItemDefaultSaveFolder(IShellItem *i return result; } -#else // !Q_OS_WINCE && __IShellLibrary_INTERFACE_DEFINED__ +#else // __IShellLibrary_INTERFACE_DEFINED__ QList<QUrl> QWindowsNativeFileDialogBase::libraryItemFolders(IShellItem *) { @@ -1171,7 +869,7 @@ QString QWindowsNativeFileDialogBase::libraryItemDefaultSaveFolder(IShellItem *) return QString(); } -#endif // Q_OS_WINCE || !__IShellLibrary_INTERFACE_DEFINED__ +#endif // !__IShellLibrary_INTERFACE_DEFINED__ QString QWindowsNativeFileDialogBase::itemPath(IShellItem *item) { @@ -1417,14 +1115,12 @@ bool QWindowsNativeFileDialogBase::onFileOk() void QWindowsNativeFileDialogBase::close() { m_fileDialog->Close(S_OK); -#ifndef Q_OS_WINCE // IFileDialog::Close() does not work unless invoked from a callback. // Try to find the window and send it a WM_CLOSE in addition. const HWND hwnd = findDialogWindow(m_title); qCDebug(lcQpaDialogs) << __FUNCTION__ << "closing" << hwnd; if (hwnd && IsWindowVisible(hwnd)) PostMessageW(hwnd, WM_CLOSE, 0, 0); -#endif // !Q_OS_WINCE } HRESULT QWindowsNativeFileDialogEventHandler::OnFolderChanging(IFileDialog *, IShellItem *item) @@ -1725,8 +1421,6 @@ QString QWindowsFileDialogHelper::selectedNameFilter() const return m_data.selectedNameFilter(); } -#ifndef Q_OS_WINCE - /*! \class QWindowsXpNativeFileDialog \brief Native Windows directory dialog for Windows XP using SHlib-functions. @@ -2050,8 +1744,6 @@ QString QWindowsXpFileDialogHelper::selectedNameFilter() const return m_data.selectedNameFilter(); } -#endif // Q_OS_WINCE - /*! \class QWindowsNativeColorDialog \brief Native Windows color dialog. @@ -2179,7 +1871,6 @@ namespace QWindowsDialogs { // QWindowsDialogHelperBase creation functions bool useHelper(QPlatformTheme::DialogType type) { -#if !defined(_WIN32_WCE) || _WIN32_WCE < 0x800 if (QWindowsIntegration::instance()->options() & QWindowsIntegration::NoNativeDialogs) return false; switch (type) { @@ -2198,28 +1889,20 @@ bool useHelper(QPlatformTheme::DialogType type) break; } return false; -#else - return false; -#endif // !defined(_WIN32_WCE) || _WIN32_WCE < 0x800 } QPlatformDialogHelper *createHelper(QPlatformTheme::DialogType type) { -#if !defined(_WIN32_WCE) || _WIN32_WCE < 0x800 if (QWindowsIntegration::instance()->options() & QWindowsIntegration::NoNativeDialogs) return 0; switch (type) { - case QPlatformTheme::FileDialog: -#ifndef Q_OS_WINCE // Note: "Windows XP Professional x64 Edition has version number WV_5_2 (WV_2003). + case QPlatformTheme::FileDialog: // Note: "Windows XP Professional x64 Edition has version number WV_5_2 (WV_2003). if (QWindowsIntegration::instance()->options() & QWindowsIntegration::XpNativeDialogs || QSysInfo::windowsVersion() <= QSysInfo::WV_2003) { return new QWindowsXpFileDialogHelper(); } if (QSysInfo::windowsVersion() > QSysInfo::WV_2003) return new QWindowsFileDialogHelper(); -#else - return new QWindowsFileDialogHelper(); -#endif // Q_OS_WINCE case QPlatformTheme::ColorDialog: #ifdef USE_NATIVE_COLOR_DIALOG return new QWindowsColorDialogHelper(); @@ -2233,9 +1916,6 @@ QPlatformDialogHelper *createHelper(QPlatformTheme::DialogType type) break; } return 0; -#else - return 0; -#endif // !defined(_WIN32_WCE) || _WIN32_WCE < 0x800 } } // namespace QWindowsDialogs |