Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QWindowsNativeFileDialogBase Class Referenceabstract

Windows native file dialog wrapper around IFileOpenDialog, IFileSaveDialog. More...

+ Inheritance diagram for QWindowsNativeFileDialogBase:
+ Collaboration diagram for QWindowsNativeFileDialogBase:

Public Slots

void close () override
 
- Public Slots inherited from QWindowsNativeDialogBase
virtual void close ()=0
 
- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 

Signals

void directoryEntered (const QUrl &directory)
 
void currentChanged (const QUrl &file)
 
void filterSelected (const QString &filter)
 
- Signals inherited from QWindowsNativeDialogBase
void accepted ()
 
void rejected ()
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

 ~QWindowsNativeFileDialogBase () override
 
void setWindowTitle (const QString &title) override
 
void setMode (QFileDialogOptions::FileMode mode, QFileDialogOptions::AcceptMode acceptMode, QFileDialogOptions::FileDialogOptions options)
 
void setDirectory (const QUrl &directory)
 
void updateDirectory ()
 
QString directory () const
 
void doExec (HWND owner=nullptr) override
 
virtual void setNameFilters (const QStringList &f)
 
void selectNameFilter (const QString &filter)
 
void updateSelectedNameFilter ()
 
QString selectedNameFilter () const
 
void selectFile (const QString &fileName) const
 
bool hideFiltersDetails () const
 
void setHideFiltersDetails (bool h)
 
void setDefaultSuffix (const QString &s)
 
bool hasDefaultSuffix () const
 
void setLabelText (QFileDialogOptions::DialogLabel l, const QString &text)
 
virtual QList< QUrlselectedFiles () const =0
 
virtual QList< QUrldialogResult () const =0
 
void onFolderChange (IShellItem *)
 
void onSelectionChange ()
 
void onTypeChange ()
 
bool onFileOk ()
 
- Public Member Functions inherited from QWindowsNativeDialogBase
bool executed () const
 
void exec (HWND owner=nullptr)
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool event (QEvent *event)
 This virtual function receives events to an object and should return true if the event e was recognized and processed.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 

Static Public Member Functions

static QWindowsNativeFileDialogBasecreate (QFileDialogOptions::AcceptMode am, const QWindowsFileDialogSharedData &data)
 Factory method for QWindowsNativeFileDialogBase returning QWindowsNativeOpenFileDialog or QWindowsNativeSaveFileDialog depending on QFileDialog::AcceptMode.
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 

Protected Member Functions

 QWindowsNativeFileDialogBase (const QWindowsFileDialogSharedData &data)
 
bool init (const CLSID &clsId, const IID &iid)
 
void setDefaultSuffixSys (const QString &s)
 
IFileDialog * fileDialog () const
 
const QWindowsFileDialogSharedDatadata () const
 
QWindowsFileDialogSharedDatadata ()
 
- Protected Member Functions inherited from QWindowsNativeDialogBase
 QWindowsNativeDialogBase ()
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 

Static Protected Member Functions

static IShellItem * shellItem (const QUrl &url)
 

Properties

bool hideFiltersDetails
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Additional Inherited Members

- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 

Detailed Description

Windows native file dialog wrapper around IFileOpenDialog, IFileSaveDialog.

Provides convenience methods. Note that only IFileOpenDialog has multi-file functionality.

See also
QWindowsNativeFileDialogEventHandler, QWindowsFileDialogHelper

Definition at line 727 of file qwindowsdialoghelpers.cpp.

Constructor & Destructor Documentation

◆ ~QWindowsNativeFileDialogBase()

QWindowsNativeFileDialogBase::~QWindowsNativeFileDialogBase ( )
override

Definition at line 798 of file qwindowsdialoghelpers.cpp.

◆ QWindowsNativeFileDialogBase()

QWindowsNativeFileDialogBase::QWindowsNativeFileDialogBase ( const QWindowsFileDialogSharedData & data)
explicitprotected

Definition at line 793 of file qwindowsdialoghelpers.cpp.

Member Function Documentation

◆ close

void QWindowsNativeFileDialogBase::close ( )
overrideslot

Definition at line 1199 of file qwindowsdialoghelpers.cpp.

References QWindowsDialogs::getHWND(), and qCDebug.

+ Here is the call graph for this function:

◆ create()

QWindowsNativeFileDialogBase * QWindowsNativeFileDialogBase::create ( QFileDialogOptions::AcceptMode am,
const QWindowsFileDialogSharedData & data )
inlinestatic

Factory method for QWindowsNativeFileDialogBase returning QWindowsNativeOpenFileDialog or QWindowsNativeSaveFileDialog depending on QFileDialog::AcceptMode.

Definition at line 1460 of file qwindowsdialoghelpers.cpp.

References QFileDialogOptions::AcceptOpen.

Referenced by QWindowsFileDialogHelper::createNativeDialog().

+ Here is the caller graph for this function:

◆ currentChanged

void QWindowsNativeFileDialogBase::currentChanged ( const QUrl & file)
signal

Referenced by QWindowsFileDialogHelper::createNativeDialog(), and onSelectionChange().

+ Here is the caller graph for this function:

◆ data() [1/2]

QWindowsFileDialogSharedData & QWindowsNativeFileDialogBase::data ( )
inlineprotected

Definition at line 780 of file qwindowsdialoghelpers.cpp.

◆ data() [2/2]

const QWindowsFileDialogSharedData & QWindowsNativeFileDialogBase::data ( ) const
inlineprotected

Definition at line 779 of file qwindowsdialoghelpers.cpp.

◆ dialogResult()

virtual QList< QUrl > QWindowsNativeFileDialogBase::dialogResult ( ) const
pure virtual

Implemented in QWindowsNativeSaveFileDialog, and QWindowsNativeOpenFileDialog.

Referenced by onFileOk().

+ Here is the caller graph for this function:

◆ directory()

QString QWindowsNativeFileDialogBase::directory ( ) const
inline

Definition at line 889 of file qwindowsdialoghelpers.cpp.

References item, and QWindowsShellItem::path().

Referenced by onFolderChange(), and setDirectory().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ directoryEntered

void QWindowsNativeFileDialogBase::directoryEntered ( const QUrl & directory)
signal

Referenced by QWindowsFileDialogHelper::createNativeDialog(), and onFolderChange().

+ Here is the caller graph for this function:

◆ doExec()

void QWindowsNativeFileDialogBase::doExec ( HWND owner = nullptr)
overridevirtual

Implements QWindowsNativeDialogBase.

Definition at line 900 of file qwindowsdialoghelpers.cpp.

References QWindowsNativeDialogBase::accepted(), QWindowsDialogs::eatMouseMove(), emit, Qt::hex(), QList< T >::isEmpty(), qCDebug, QWindowsNativeDialogBase::rejected(), and QWindowsFileDialogSharedData::selectedFiles().

+ Here is the call graph for this function:

◆ fileDialog()

IFileDialog * QWindowsNativeFileDialogBase::fileDialog ( ) const
inlineprotected

Definition at line 776 of file qwindowsdialoghelpers.cpp.

Referenced by QWindowsNativeSaveFileDialog::dialogResult(), and QWindowsNativeSaveFileDialog::selectedFiles().

+ Here is the caller graph for this function:

◆ filterSelected

void QWindowsNativeFileDialogBase::filterSelected ( const QString & filter)
signal

Referenced by QWindowsFileDialogHelper::createNativeDialog(), and onTypeChange().

+ Here is the caller graph for this function:

◆ hasDefaultSuffix()

bool QWindowsNativeFileDialogBase::hasDefaultSuffix ( ) const
inline

Definition at line 750 of file qwindowsdialoghelpers.cpp.

Referenced by QWindowsNativeSaveFileDialog::setNameFilters().

+ Here is the caller graph for this function:

◆ hideFiltersDetails()

bool QWindowsNativeFileDialogBase::hideFiltersDetails ( ) const
inline

Definition at line 747 of file qwindowsdialoghelpers.cpp.

◆ init()

bool QWindowsNativeFileDialogBase::init ( const CLSID & clsId,
const IID & iid )
protected

Definition at line 808 of file qwindowsdialoghelpers.cpp.

References QWindowsNativeFileDialogEventHandler::create(), qCDebug, and qErrnoWarning().

+ Here is the call graph for this function:

◆ onFileOk()

bool QWindowsNativeFileDialogBase::onFileOk ( )
inline

Definition at line 1192 of file qwindowsdialoghelpers.cpp.

References dialogResult(), and QWindowsFileDialogSharedData::setSelectedFiles().

Referenced by QWindowsNativeFileDialogEventHandler::OnFileOk().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ onFolderChange()

void QWindowsNativeFileDialogBase::onFolderChange ( IShellItem * item)
inline

Definition at line 1166 of file qwindowsdialoghelpers.cpp.

References directory(), directoryEntered(), emit, item, QWindowsFileDialogSharedData::setDirectory(), and QWindowsShellItem::url().

Referenced by QWindowsNativeFileDialogEventHandler::OnFolderChanging().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ onSelectionChange()

void QWindowsNativeFileDialogBase::onSelectionChange ( )
inline

Definition at line 1175 of file qwindowsdialoghelpers.cpp.

References currentChanged(), emit, qCDebug, selectedFiles(), and QWindowsFileDialogSharedData::setSelectedFiles().

Referenced by QWindowsNativeFileDialogEventHandler::OnSelectionChange().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ onTypeChange()

void QWindowsNativeFileDialogBase::onTypeChange ( )
inline

Definition at line 1185 of file qwindowsdialoghelpers.cpp.

References emit, filterSelected(), selectedNameFilter(), and QWindowsFileDialogSharedData::setSelectedNameFilter().

Referenced by QWindowsNativeFileDialogEventHandler::OnTypeChange().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ selectedFiles()

virtual QList< QUrl > QWindowsNativeFileDialogBase::selectedFiles ( ) const
pure virtual

Implemented in QWindowsNativeSaveFileDialog, and QWindowsNativeOpenFileDialog.

Referenced by onSelectionChange().

+ Here is the caller graph for this function:

◆ selectedNameFilter()

QString QWindowsNativeFileDialogBase::selectedNameFilter ( ) const
inline

Definition at line 1155 of file qwindowsdialoghelpers.cpp.

Referenced by onTypeChange().

+ Here is the caller graph for this function:

◆ selectFile()

void QWindowsNativeFileDialogBase::selectFile ( const QString & fileName) const

Definition at line 1119 of file qwindowsdialoghelpers.cpp.

References fileName, and isClsid().

Referenced by QWindowsFileDialogHelper::selectFile().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ selectNameFilter()

void QWindowsNativeFileDialogBase::selectNameFilter ( const QString & filter)
inline

Definition at line 1141 of file qwindowsdialoghelpers.cpp.

References indexOfNameFilter(), qPrintable, and qWarning.

Referenced by updateSelectedNameFilter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setDefaultSuffix()

void QWindowsNativeFileDialogBase::setDefaultSuffix ( const QString & s)

Definition at line 1046 of file qwindowsdialoghelpers.cpp.

References setDefaultSuffixSys().

+ Here is the call graph for this function:

◆ setDefaultSuffixSys()

void QWindowsNativeFileDialogBase::setDefaultSuffixSys ( const QString & s)
protected

Definition at line 1052 of file qwindowsdialoghelpers.cpp.

Referenced by setDefaultSuffix(), and QWindowsNativeSaveFileDialog::setNameFilters().

+ Here is the caller graph for this function:

◆ setDirectory()

void QWindowsNativeFileDialogBase::setDirectory ( const QUrl & directory)
inline

Definition at line 879 of file qwindowsdialoghelpers.cpp.

References directory(), QString::isEmpty(), and shellItem().

Referenced by updateDirectory().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setHideFiltersDetails()

void QWindowsNativeFileDialogBase::setHideFiltersDetails ( bool h)
inline

Definition at line 748 of file qwindowsdialoghelpers.cpp.

◆ setLabelText()

void QWindowsNativeFileDialogBase::setLabelText ( QFileDialogOptions::DialogLabel l,
const QString & text )
inline

Definition at line 1068 of file qwindowsdialoghelpers.cpp.

References QFileDialogOptions::Accept, QFileDialogOptions::DialogLabelCount, QFileDialogOptions::FileName, QFileDialogOptions::FileType, getFileDialog2(), QFileDialogOptions::LookIn, QFileDialogOptions::Reject, text, and QString::utf16().

+ Here is the call graph for this function:

◆ setMode()

void QWindowsNativeFileDialogBase::setMode ( QFileDialogOptions::FileMode mode,
QFileDialogOptions::AcceptMode acceptMode,
QFileDialogOptions::FileDialogOptions options )
inline

◆ setNameFilters()

void QWindowsNativeFileDialogBase::setNameFilters ( const QStringList & f)
virtual

Reimplemented in QWindowsNativeSaveFileDialog.

Definition at line 1004 of file qwindowsdialoghelpers.cpp.

References QString::back(), QString::chop(), filters, filterSpecs(), i, QString::isEmpty(), QString::lastIndexOf(), pos, ptr(), QString::toWCharArray(), and QString::truncate().

Referenced by QWindowsNativeSaveFileDialog::setNameFilters().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setWindowTitle()

void QWindowsNativeFileDialogBase::setWindowTitle ( const QString & title)
overridevirtual

Implements QWindowsNativeDialogBase.

Definition at line 830 of file qwindowsdialoghelpers.cpp.

References title, and QString::utf16().

+ Here is the call graph for this function:

◆ shellItem()

IShellItem * QWindowsNativeFileDialogBase::shellItem ( const QUrl & url)
staticprotected

Definition at line 836 of file qwindowsdialoghelpers.cpp.

References QUuid::fromString(), QUrl::isLocalFile(), QUrl::path(), qErrnoWarning(), qPrintable, qWarning, QUrl::scheme(), QUrl::toLocalFile(), QDir::toNativeSeparators(), QUrl::toString(), url, and QString::utf16().

Referenced by setDirectory().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateDirectory()

void QWindowsNativeFileDialogBase::updateDirectory ( )
inline

Definition at line 739 of file qwindowsdialoghelpers.cpp.

References QWindowsFileDialogSharedData::directory(), and setDirectory().

Referenced by QWindowsFileDialogHelper::setDirectory().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateSelectedNameFilter()

void QWindowsNativeFileDialogBase::updateSelectedNameFilter ( )
inline

Definition at line 744 of file qwindowsdialoghelpers.cpp.

References QWindowsFileDialogSharedData::selectedNameFilter(), and selectNameFilter().

Referenced by QWindowsFileDialogHelper::selectNameFilter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Property Documentation

◆ hideFiltersDetails

bool QWindowsNativeFileDialogBase::hideFiltersDetails
readwrite

Definition at line 730 of file qwindowsdialoghelpers.cpp.


The documentation for this class was generated from the following file: