diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-08-13 20:54:52 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-08-13 20:51:41 +0000 |
commit | 8868f35fa68f22d929e88ccb06d03bde24ec479d (patch) | |
tree | d7e4a589f52d0800c74f19ef47418424b32f6fc4 | |
parent | 29783c4cccbcccc9ce071561c7682cc113ef5a45 (diff) |
Platform: add logging categories to help with debugging
Available categories:
- qt.labs.platform.dialogs
- qt.labs.platform.menus
- qt.labs.platform.tray
The output shows which implementation is used. Example:
$ QT_LOGGING_RULES=qt.labs.platform.*=true ./texteditor
qt.labs.platform.menus: MenuBar: QCocoaMenuBar(0x7fe27bdf7730)
qt.labs.platform.menus: Menu: QPlatformMenu(0x7fe27bdf8450)
qt.labs.platform.menus: Menu: QPlatformMenu(0x7fe27bdfa510)
qt.labs.platform.menus: Menu: QPlatformMenu(0x7fe27e500000)
qt.labs.platform.dialogs: FileDialog: QPlatformFileDialogHelper(0x7fe27e500f30)
qt.labs.platform.dialogs: FileDialog: QPlatformFileDialogHelper(0x7fe27e501ac0)
qt.labs.platform.dialogs: ColorDialog: QPlatformColorDialogHelper(0x7fe27e502920)
qt.labs.platform.dialogs: MessageDialog: QWidgetPlatformMessageDialog(0x7fe27e523b40)
qt.labs.platform.menus: Menu: QPlatformMenu(0x7fe27bcd9c30)
Change-Id: I07fc8b13f05f365337bc171149bb848639b3fbd0
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
8 files changed, 39 insertions, 0 deletions
diff --git a/src/imports/platform/qquickplatformcolordialog.cpp b/src/imports/platform/qquickplatformcolordialog.cpp index 37047fe6..c86c0030 100644 --- a/src/imports/platform/qquickplatformcolordialog.cpp +++ b/src/imports/platform/qquickplatformcolordialog.cpp @@ -36,6 +36,7 @@ #include "qquickplatformcolordialog_p.h" +#include <QtCore/qloggingcategory.h> #include <QtGui/qpa/qplatformtheme.h> #include <QtGui/private/qguiapplication_p.h> @@ -96,6 +97,8 @@ QT_BEGIN_NAMESPACE \sa currentColor */ +Q_DECLARE_LOGGING_CATEGORY(qtLabsPlatformDialogs) + QQuickPlatformColorDialog::QQuickPlatformColorDialog(QObject *parent) : QQuickPlatformDialog(parent), m_options(QColorDialogOptions::create()) { @@ -104,6 +107,8 @@ QQuickPlatformColorDialog::QQuickPlatformColorDialog(QObject *parent) if (!dialog) dialog = new QWidgetPlatformColorDialog(this); #endif + qCDebug(qtLabsPlatformDialogs) << "ColorDialog:" << dialog; + if (QPlatformColorDialogHelper *colorDialog = qobject_cast<QPlatformColorDialogHelper *>(dialog)) { connect(colorDialog, &QPlatformColorDialogHelper::currentColorChanged, this, &QQuickPlatformColorDialog::currentColorChanged); connect(colorDialog, &QPlatformColorDialogHelper::colorSelected, this, &QQuickPlatformColorDialog::colorSelected); diff --git a/src/imports/platform/qquickplatformfiledialog.cpp b/src/imports/platform/qquickplatformfiledialog.cpp index 23f696f8..8ff5c4ac 100644 --- a/src/imports/platform/qquickplatformfiledialog.cpp +++ b/src/imports/platform/qquickplatformfiledialog.cpp @@ -36,6 +36,7 @@ #include "qquickplatformfiledialog_p.h" +#include <QtCore/qloggingcategory.h> #include <QtGui/qpa/qplatformtheme.h> #include <QtGui/private/qguiapplication_p.h> @@ -110,6 +111,8 @@ QT_BEGIN_NAMESPACE \sa fileSelected(), currentFile */ +Q_DECLARE_LOGGING_CATEGORY(qtLabsPlatformDialogs) + QQuickPlatformFileDialog::QQuickPlatformFileDialog(QObject *parent) : QQuickPlatformDialog(parent), m_fileMode(OpenFile), m_options(QFileDialogOptions::create()) { @@ -121,6 +124,8 @@ QQuickPlatformFileDialog::QQuickPlatformFileDialog(QObject *parent) if (!dialog) dialog = new QWidgetPlatformFileDialog(this); #endif + qCDebug(qtLabsPlatformDialogs) << "FileDialog:" << dialog; + if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(dialog)) { connect(fileDialog, &QPlatformFileDialogHelper::fileSelected, [this](const QUrl &file) { emit fileSelected(addDefaultSuffix(file)); diff --git a/src/imports/platform/qquickplatformfolderdialog.cpp b/src/imports/platform/qquickplatformfolderdialog.cpp index b31d4d52..bf0ba09b 100644 --- a/src/imports/platform/qquickplatformfolderdialog.cpp +++ b/src/imports/platform/qquickplatformfolderdialog.cpp @@ -36,6 +36,7 @@ #include "qquickplatformfolderdialog_p.h" +#include <QtCore/qloggingcategory.h> #include <QtGui/qpa/qplatformtheme.h> #include <QtGui/private/qguiapplication_p.h> @@ -110,6 +111,8 @@ QT_BEGIN_NAMESPACE \sa folderSelected(), currentFolder */ +Q_DECLARE_LOGGING_CATEGORY(qtLabsPlatformDialogs) + QQuickPlatformFolderDialog::QQuickPlatformFolderDialog(QObject *parent) : QQuickPlatformDialog(parent), m_options(QFileDialogOptions::create()) { @@ -121,6 +124,8 @@ QQuickPlatformFolderDialog::QQuickPlatformFolderDialog(QObject *parent) if (!dialog) dialog = new QWidgetPlatformFileDialog(this); #endif + qCDebug(qtLabsPlatformDialogs) << "FolderDialog:" << dialog; + if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(dialog)) { connect(fileDialog, &QPlatformFileDialogHelper::fileSelected, this, &QQuickPlatformFolderDialog::folderSelected); connect(fileDialog, &QPlatformFileDialogHelper::filesSelected, this, &QQuickPlatformFolderDialog::foldersSelected); diff --git a/src/imports/platform/qquickplatformmenu.cpp b/src/imports/platform/qquickplatformmenu.cpp index 06ac88af..87a2c9dc 100644 --- a/src/imports/platform/qquickplatformmenu.cpp +++ b/src/imports/platform/qquickplatformmenu.cpp @@ -40,6 +40,7 @@ #include "qquickplatformiconloader_p.h" #include "qquickplatformsystemtrayicon_p.h" +#include <QtCore/qloggingcategory.h> #include <QtGui/qicon.h> #include <QtGui/qcursor.h> #include <QtGui/qpa/qplatformtheme.h> @@ -127,6 +128,8 @@ QT_BEGIN_NAMESPACE This signal is emitted when the menu is about to be hidden from the user. */ +Q_DECLARE_LOGGING_CATEGORY(qtLabsPlatformMenus) + QQuickPlatformMenu::QQuickPlatformMenu(QObject *parent) : QObject(parent), m_complete(false), @@ -182,6 +185,8 @@ QPlatformMenu * QQuickPlatformMenu::create() if (!m_handle) m_handle = QGuiApplicationPrivate::platformTheme()->createPlatformMenu(); + qCDebug(qtLabsPlatformMenus) << "Menu:" << m_handle; + #ifdef QT_WIDGETS_LIB if (!m_handle) m_handle = new QWidgetPlatformMenu; diff --git a/src/imports/platform/qquickplatformmenubar.cpp b/src/imports/platform/qquickplatformmenubar.cpp index 02acbb43..8c3624cb 100644 --- a/src/imports/platform/qquickplatformmenubar.cpp +++ b/src/imports/platform/qquickplatformmenubar.cpp @@ -37,6 +37,7 @@ #include "qquickplatformmenubar_p.h" #include "qquickplatformmenu_p.h" +#include <QtCore/qloggingcategory.h> #include <QtGui/qpa/qplatformmenu.h> #include <QtGui/qpa/qplatformtheme.h> #include <QtGui/private/qguiapplication_p.h> @@ -102,6 +103,8 @@ QT_BEGIN_NAMESPACE \sa Menu */ +Q_DECLARE_LOGGING_CATEGORY(qtLabsPlatformMenus) + QQuickPlatformMenuBar::QQuickPlatformMenuBar(QObject *parent) : QObject(parent), m_complete(false), @@ -109,6 +112,7 @@ QQuickPlatformMenuBar::QQuickPlatformMenuBar(QObject *parent) m_handle(nullptr) { m_handle = QGuiApplicationPrivate::platformTheme()->createPlatformMenuBar(); + qCDebug(qtLabsPlatformMenus) << "MenuBar:" << m_handle; } QQuickPlatformMenuBar::~QQuickPlatformMenuBar() diff --git a/src/imports/platform/qquickplatformmessagedialog.cpp b/src/imports/platform/qquickplatformmessagedialog.cpp index 1d11d808..62957de1 100644 --- a/src/imports/platform/qquickplatformmessagedialog.cpp +++ b/src/imports/platform/qquickplatformmessagedialog.cpp @@ -36,6 +36,7 @@ #include "qquickplatformmessagedialog_p.h" +#include <QtCore/qloggingcategory.h> #include <QtGui/qpa/qplatformtheme.h> #include <QtGui/private/qguiapplication_p.h> @@ -120,6 +121,8 @@ QT_BEGIN_NAMESPACE \sa buttons */ +Q_DECLARE_LOGGING_CATEGORY(qtLabsPlatformDialogs) + QQuickPlatformMessageDialog::QQuickPlatformMessageDialog(QObject *parent) : QQuickPlatformDialog(parent), m_options(QMessageDialogOptions::create()) { @@ -128,6 +131,8 @@ QQuickPlatformMessageDialog::QQuickPlatformMessageDialog(QObject *parent) if (!dialog) dialog = new QWidgetPlatformMessageDialog(this); #endif + qCDebug(qtLabsPlatformDialogs) << "MessageDialog:" << dialog; + if (QPlatformMessageDialogHelper *messageDialog = qobject_cast<QPlatformMessageDialogHelper *>(dialog)) { connect(messageDialog, &QPlatformMessageDialogHelper::clicked, this, &QQuickPlatformMessageDialog::handleClick); messageDialog->setOptions(m_options); diff --git a/src/imports/platform/qquickplatformsystemtrayicon.cpp b/src/imports/platform/qquickplatformsystemtrayicon.cpp index 49f1d281..4b39d835 100644 --- a/src/imports/platform/qquickplatformsystemtrayicon.cpp +++ b/src/imports/platform/qquickplatformsystemtrayicon.cpp @@ -38,6 +38,7 @@ #include "qquickplatformmenu_p.h" #include "qquickplatformiconloader_p.h" +#include <QtCore/qloggingcategory.h> #include <QtGui/qpa/qplatformtheme.h> #include <QtGui/private/qguiapplication_p.h> @@ -164,6 +165,8 @@ QT_BEGIN_NAMESPACE \sa showMessage() */ +Q_DECLARE_LOGGING_CATEGORY(qtLabsPlatformTray) + QQuickPlatformSystemTrayIcon::QQuickPlatformSystemTrayIcon(QObject *parent) : QObject(parent), m_complete(false), @@ -177,6 +180,8 @@ QQuickPlatformSystemTrayIcon::QQuickPlatformSystemTrayIcon(QObject *parent) if (!m_handle) m_handle = new QWidgetPlatformSystemTrayIcon(this); #endif + qCDebug(qtLabsPlatformTray) << "SystemTrayIcon:" << m_handle; + if (m_handle) { connect(m_handle, &QPlatformSystemTrayIcon::activated, this, &QQuickPlatformSystemTrayIcon::activated); connect(m_handle, &QPlatformSystemTrayIcon::messageClicked, this, &QQuickPlatformSystemTrayIcon::messageClicked); diff --git a/src/imports/platform/qtlabsplatformplugin.cpp b/src/imports/platform/qtlabsplatformplugin.cpp index 5e139268..12e8eb51 100644 --- a/src/imports/platform/qtlabsplatformplugin.cpp +++ b/src/imports/platform/qtlabsplatformplugin.cpp @@ -36,6 +36,7 @@ #include <QtQml/qqmlextensionplugin.h> #include <QtQml/qqml.h> +#include <QtCore/qloggingcategory.h> #include "qquickplatformdialog_p.h" #include "qquickplatformcolordialog_p.h" @@ -61,6 +62,10 @@ static inline void initResources() QT_BEGIN_NAMESPACE +Q_LOGGING_CATEGORY(qtLabsPlatformDialogs, "qt.labs.platform.dialogs") +Q_LOGGING_CATEGORY(qtLabsPlatformMenus, "qt.labs.platform.menus") +Q_LOGGING_CATEGORY(qtLabsPlatformTray, "qt.labs.platform.tray") + class QtLabsPlatformPlugin: public QQmlExtensionPlugin { Q_OBJECT |