diff options
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/graphicsview/qgraphicsscene.h | 4 | ||||
-rw-r--r-- | src/widgets/itemviews/qtreeview.cpp | 4 | ||||
-rw-r--r-- | src/widgets/util/qsystemtrayicon_win.cpp | 43 |
3 files changed, 27 insertions, 24 deletions
diff --git a/src/widgets/graphicsview/qgraphicsscene.h b/src/widgets/graphicsview/qgraphicsscene.h index f0940b1611..5535295676 100644 --- a/src/widgets/graphicsview/qgraphicsscene.h +++ b/src/widgets/graphicsview/qgraphicsscene.h @@ -159,7 +159,7 @@ public: #if QT_DEPRECATED_SINCE(5, 0) QT_DEPRECATED inline QGraphicsItem *itemAt(const QPointF &position) const { QList<QGraphicsItem *> itemsAtPoint = items(position); - return itemsAtPoint.isEmpty() ? 0 : itemsAtPoint.first(); + return itemsAtPoint.isEmpty() ? Q_NULLPTR : itemsAtPoint.first(); } #endif QGraphicsItem *itemAt(const QPointF &pos, const QTransform &deviceTransform) const; @@ -173,7 +173,7 @@ public: #if QT_DEPRECATED_SINCE(5, 0) QT_DEPRECATED inline QGraphicsItem *itemAt(qreal x, qreal y) const { QList<QGraphicsItem *> itemsAtPoint = items(QPointF(x, y)); - return itemsAtPoint.isEmpty() ? 0 : itemsAtPoint.first(); + return itemsAtPoint.isEmpty() ? Q_NULLPTR : itemsAtPoint.first(); } #endif inline QGraphicsItem *itemAt(qreal x, qreal y, const QTransform &deviceTransform) const diff --git a/src/widgets/itemviews/qtreeview.cpp b/src/widgets/itemviews/qtreeview.cpp index d2e1a10566..b6fd9f8ba8 100644 --- a/src/widgets/itemviews/qtreeview.cpp +++ b/src/widgets/itemviews/qtreeview.cpp @@ -2303,8 +2303,8 @@ QModelIndex QTreeView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifie int visualColumn = d->header->visualIndex(current.column()) + 1; while (visualColumn < d->model->columnCount(current.parent()) && isColumnHidden(d->header->logicalIndex(visualColumn))) visualColumn++; - - QModelIndex next = current.sibling(current.row(), visualColumn); + const int newColumn = d->header->logicalIndex(visualColumn); + const QModelIndex next = current.sibling(current.row(), newColumn); if (next.isValid()) return next; } diff --git a/src/widgets/util/qsystemtrayicon_win.cpp b/src/widgets/util/qsystemtrayicon_win.cpp index f34714c016..7cbf979901 100644 --- a/src/widgets/util/qsystemtrayicon_win.cpp +++ b/src/widgets/util/qsystemtrayicon_win.cpp @@ -236,22 +236,9 @@ void QSystemTrayIconSys::setIconContents(NOTIFYICONDATA &tnd) qStringToLimitedWCharArray(tip, tnd.szTip, sizeof(tnd.szTip)/sizeof(wchar_t)); } -static int iconFlag( QSystemTrayIcon::MessageIcon icon ) -{ - switch (icon) { - case QSystemTrayIcon::Information: - return NIIF_INFO; - case QSystemTrayIcon::Warning: - return NIIF_WARNING; - case QSystemTrayIcon::Critical: - return NIIF_ERROR; - case QSystemTrayIcon::NoIcon: - return NIIF_NONE; - default: - Q_ASSERT_X(false, "QSystemTrayIconSys::showMessage", "Invalid QSystemTrayIcon::MessageIcon value"); - return NIIF_NONE; - } -} +#ifndef NIIF_LARGE_ICON +# define NIIF_LARGE_ICON 0x00000020 +#endif bool QSystemTrayIconSys::showMessage(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon type, uint uSecs) { @@ -261,7 +248,22 @@ bool QSystemTrayIconSys::showMessage(const QString &title, const QString &messag qStringToLimitedWCharArray(title, tnd.szInfoTitle, 64); tnd.uID = q_uNOTIFYICONID; - tnd.dwInfoFlags = iconFlag(type); + switch (type) { + case QSystemTrayIcon::Information: + tnd.dwInfoFlags = NIIF_INFO; + break; + case QSystemTrayIcon::Warning: + tnd.dwInfoFlags = NIIF_WARNING; + break; + case QSystemTrayIcon::Critical: + tnd.dwInfoFlags = NIIF_ERROR; + break; + case QSystemTrayIcon::NoIcon: + tnd.dwInfoFlags = hIcon ? NIIF_USER : NIIF_NONE; + break; + } + if (QSysInfo::windowsVersion() >= QSysInfo::WV_VISTA) + tnd.dwInfoFlags |= NIIF_LARGE_ICON; tnd.cbSize = notifyIconSize; tnd.hWnd = m_hwnd; tnd.uTimeout = uSecs; @@ -302,9 +304,10 @@ HICON QSystemTrayIconSys::createIcon() const QIcon icon = q->icon(); if (icon.isNull()) return oldIcon; - const int iconSizeX = GetSystemMetrics(SM_CXSMICON); - const int iconSizeY = GetSystemMetrics(SM_CYSMICON); - const QSize size = icon.actualSize(QSize(iconSizeX, iconSizeY)); + const QSize requestedSize = QSysInfo::windowsVersion() >= QSysInfo::WV_VISTA + ? QSize(GetSystemMetrics(SM_CXICON), GetSystemMetrics(SM_CYICON)) + : QSize(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON)); + const QSize size = icon.actualSize(requestedSize); const QPixmap pm = icon.pixmap(size); if (pm.isNull()) return oldIcon; |