OSDN Git Service

QGuiPlatformPlugin review
authorIvailo Monev <xakepa10@laimg.moc>
Fri, 7 Jun 2019 13:53:50 +0000 (13:53 +0000)
committerIvailo Monev <xakepa10@laimg.moc>
Fri, 7 Jun 2019 13:53:50 +0000 (13:53 +0000)
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
src/gui/kernel/qguiplatformplugin.cpp
src/gui/kernel/qguiplatformplugin.h

index 1ccd323..c94ce9d 100644 (file)
@@ -56,9 +56,6 @@ QT_BEGIN_NAMESPACE
 /*! \internal
     Return (an construct if necesseray) the Gui Platform plugin.
 
-    The plugin key to be loaded is inside the QT_PLATFORM_PLUGIN environment variable.
-    If it is not set, it will be the DESKTOP_SESSION on X11.
-
     If no plugin can be loaded, the default one is returned.
  */
 QGuiPlatformPlugin *qt_guiPlatformPlugin()
@@ -88,40 +85,69 @@ QGuiPlatformPlugin *qt_guiPlatformPlugin()
 }
 
 
-/* \class QPlatformPlugin
-    QGuiPlatformPlugin can be used to integrate Qt applications in a platform built on top of Qt.
-    The application developer should not know or use the plugin, it is only used by Qt internaly.
+/*!
+    \class QGuiPlatformPlugin
+    \brief The QGuiPlatformPlugin provides abstraction between several other
+    classes and the platform defaults
+
+    Applications that are built on top of Qt may provide a plugin so 3rd party
+    Qt application running in the platform are integrated and behaviour is
+    consistent across all applications. The plugin to be loaded can be
+    specified with QT_PLATFORM_PLUGIN environment variable. If it is not set,
+    DESKTOP_SESSION will be used as fallback on X11.
 
-    But full platform that are built on top of Qt may provide a plugin so 3rd party Qt application
-    running in the platform are integrated.
+    \sa QIcon, QFileIconProvider, QStyle
  */
 
-/*
+/*!
     The constructor can be used to install hooks in Qt
  */
-QGuiPlatformPlugin::QGuiPlatformPlugin(QObject *parent) : QObject(parent) {}
-QGuiPlatformPlugin::~QGuiPlatformPlugin() {}
+QGuiPlatformPlugin::QGuiPlatformPlugin(QObject *parent)
+    : QObject(parent)
+{
+}
+
+QGuiPlatformPlugin::~QGuiPlatformPlugin()
+{
+}
 
+/*!
+    Retuns the plugin keys, reimplementations should return keys other than
+    the default
+*/
+QStringList QGuiPlatformPlugin::keys() const
+{
+    return QStringList() << QLatin1String("default");
+};
 
-/* return the string key to be used by default the application */
+/*!
+    Returns the style string key to be used by application
+*/
 QString QGuiPlatformPlugin::styleName()
 {
     return QLatin1String("cleanlooks");
 }
 
-/* return an additional default palette  (only work on X11) */
+/*
+    returns an additional palette (only work on X11)
+*/
 QPalette QGuiPlatformPlugin::palette()
 {
     return QPalette();
 }
 
-/* the default icon theme name for QIcon::fromTheme. */
+/*!
+    Returns the icon theme name for QIcon::fromTheme.
+*/
 QString QGuiPlatformPlugin::systemIconThemeName()
 {
     return QString::fromLatin1("hicolor");
 }
 
-
+/*!
+    Returns list of system icon theme search paths. The environment
+    variable XDG_DATA_DIRS affects the behaviour of the result
+*/
 QStringList QGuiPlatformPlugin::iconThemeSearchPaths()
 {
     QStringList paths;
@@ -145,19 +171,27 @@ QStringList QGuiPlatformPlugin::iconThemeSearchPaths()
     return paths;
 }
 
-/* backend for QIcon::fromTheme,  null icon means default */
+/*!
+    Returns system icon. If the icon returned is null (default) the
+    result from \p QIcon::fromTheme will be used instead
+*/
 QIcon QGuiPlatformPlugin::systemIcon(const QString &)
 {
     return QIcon();
 }
 
-/* backend for QFileIconProvider,  null icon means default */
+/*!
+    Returns file icon. If the icon returned is null (default) the
+    result from \p QFileIconProvider will be used instead
+*/
 QIcon QGuiPlatformPlugin::fileSystemIcon(const QFileInfo &)
 {
     return QIcon();
 }
 
-/* Like QStyle::styleHint */
+/*!
+    Like QStyle::styleHint
+*/
 int QGuiPlatformPlugin::platformHint(PlatformHint hint)
 {
     int ret = 0;
@@ -175,8 +209,68 @@ int QGuiPlatformPlugin::platformHint(PlatformHint hint)
     return ret;
 }
 
+void QGuiPlatformPlugin::fileDialogDelete(QFileDialog *)
+{
+}
 
-QT_END_NAMESPACE
+bool QGuiPlatformPlugin::fileDialogSetVisible(QFileDialog *, bool)
+{
+    return false;
+}
 
+QDialog::DialogCode QGuiPlatformPlugin::fileDialogResultCode(QFileDialog *)
+{
+    return QDialog::Rejected;
+}
+
+void QGuiPlatformPlugin::fileDialogSetDirectory(QFileDialog *, const QString &)
+{
+}
+
+QString QGuiPlatformPlugin::fileDialogDirectory(const QFileDialog *) const
+{
+    return QString();
+}
+
+void QGuiPlatformPlugin::fileDialogSelectFile(QFileDialog *, const QString &)
+{
+}
+
+QStringList QGuiPlatformPlugin::fileDialogSelectedFiles(const QFileDialog *) const
+{
+    return QStringList();
+}
+
+void QGuiPlatformPlugin::fileDialogSetFilter(QFileDialog *)
+{
+}
+
+void QGuiPlatformPlugin::fileDialogSetNameFilters(QFileDialog *, const QStringList &)
+{
+}
+
+void QGuiPlatformPlugin::fileDialogSelectNameFilter(QFileDialog *, const QString &)
+{
+}
+
+QString QGuiPlatformPlugin::fileDialogSelectedNameFilter(const QFileDialog *) const
+{
+    return QString();
+}
+
+void QGuiPlatformPlugin::colorDialogDelete(QColorDialog *)
+{
+}
+
+bool QGuiPlatformPlugin::colorDialogSetVisible(QColorDialog *, bool)
+{
+    return false;
+}
+
+void QGuiPlatformPlugin::colorDialogSetCurrentColor(QColorDialog *, const QColor &)
+{
+}
+
+QT_END_NAMESPACE
 
 #include "moc_qguiplatformplugin.h"
index e7ceb55..3c0c75a 100644 (file)
@@ -64,40 +64,44 @@ class Q_GUI_EXPORT QGuiPlatformPlugin : public QObject, public QGuiPlatformPlugi
     Q_OBJECT
     Q_INTERFACES(QGuiPlatformPluginInterface:QFactoryInterface)
     public:
+        enum PlatformHint {
+            PH_ToolButtonStyle,
+            PH_ToolBarIconSize,
+            PH_ItemView_ActivateItemOnSingleClick
+        };
+
         explicit QGuiPlatformPlugin(QObject *parent = Q_NULLPTR);
         ~QGuiPlatformPlugin();
 
-        virtual QStringList keys() const {  return QStringList() << QLatin1String("default");  };
+        virtual QStringList keys() const;
 
         virtual QString styleName();
         virtual QPalette palette();
         virtual QString systemIconThemeName();
         virtual QStringList iconThemeSearchPaths();
-        virtual QIcon systemIcon(const QString &);
-        virtual QIcon fileSystemIcon(const QFileInfo &);
+        virtual QIcon systemIcon(const QString &name);
+        virtual QIcon fileSystemIcon(const QFileInfo &name);
 
-        enum PlatformHint { PH_ToolButtonStyle, PH_ToolBarIconSize, PH_ItemView_ActivateItemOnSingleClick };
         virtual int platformHint(PlatformHint hint);
 
-
-        virtual void fileDialogDelete(QFileDialog *) {}
-        virtual bool fileDialogSetVisible(QFileDialog *, bool) { return false; }
-        virtual QDialog::DialogCode fileDialogResultCode(QFileDialog *) { return QDialog::Rejected; }
-        virtual void fileDialogSetDirectory(QFileDialog *, const QString &) {}
-        virtual QString fileDialogDirectory(const QFileDialog *) const { return QString(); }
-        virtual void fileDialogSelectFile(QFileDialog *, const QString &) {}
-        virtual QStringList fileDialogSelectedFiles(const QFileDialog *) const { return QStringList(); }
-        virtual void fileDialogSetFilter(QFileDialog *) {}
-        virtual void fileDialogSetNameFilters(QFileDialog *, const QStringList &) {}
-        virtual void fileDialogSelectNameFilter(QFileDialog *, const QString &) {}
-        virtual QString fileDialogSelectedNameFilter(const QFileDialog *) const { return QString(); }
-
-        virtual void colorDialogDelete(QColorDialog *) {}
-        virtual bool colorDialogSetVisible(QColorDialog *, bool) { return false; }
-        virtual void colorDialogSetCurrentColor(QColorDialog *, const QColor &) {}
+        virtual void fileDialogDelete(QFileDialog *);
+        virtual bool fileDialogSetVisible(QFileDialog *, bool);
+        virtual QDialog::DialogCode fileDialogResultCode(QFileDialog *);
+        virtual void fileDialogSetDirectory(QFileDialog *, const QString &);
+        virtual QString fileDialogDirectory(const QFileDialog *) const;
+        virtual void fileDialogSelectFile(QFileDialog *, const QString &);
+        virtual QStringList fileDialogSelectedFiles(const QFileDialog *) const;
+        virtual void fileDialogSetFilter(QFileDialog *);
+        virtual void fileDialogSetNameFilters(QFileDialog *, const QStringList &);
+        virtual void fileDialogSelectNameFilter(QFileDialog *, const QString &);
+        virtual QString fileDialogSelectedNameFilter(const QFileDialog *) const;
+
+        virtual void colorDialogDelete(QColorDialog *);
+        virtual bool colorDialogSetVisible(QColorDialog *, bool);
+        virtual void colorDialogSetCurrentColor(QColorDialog *, const QColor &);
 };
 
-//internal
+// internal
 QGuiPlatformPlugin *qt_guiPlatformPlugin();
 
 QT_END_NAMESPACE