diff options
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/accessible/qaccessiblewidget.cpp | 2 | ||||
-rw-r--r-- | src/widgets/accessible/simplewidgets.cpp | 5 | ||||
-rw-r--r-- | src/widgets/dialogs/qfiledialog.cpp | 4 | ||||
-rw-r--r-- | src/widgets/dialogs/qfiledialog_p.h | 41 | ||||
-rw-r--r-- | src/widgets/dialogs/qmessagebox.cpp | 2 | ||||
-rw-r--r-- | src/widgets/doc/images/tableWidget-stylesheet.png | bin | 3478 -> 14135 bytes | |||
-rw-r--r-- | src/widgets/doc/snippets/code/doc_src_stylesheet.qdoc | 6 | ||||
-rw-r--r-- | src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc | 6 | ||||
-rw-r--r-- | src/widgets/itemviews/qabstractitemdelegate.cpp | 2 | ||||
-rw-r--r-- | src/widgets/kernel/qapplication.cpp | 4 | ||||
-rw-r--r-- | src/widgets/styles/qmacstyle_mac.mm | 12 | ||||
-rw-r--r-- | src/widgets/util/qflickgesture.cpp | 2 | ||||
-rw-r--r-- | src/widgets/util/qsystemtrayicon.cpp | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qmenu.cpp | 30 | ||||
-rw-r--r-- | src/widgets/widgets/qwidgetlinecontrol.cpp | 2 |
15 files changed, 76 insertions, 44 deletions
diff --git a/src/widgets/accessible/qaccessiblewidget.cpp b/src/widgets/accessible/qaccessiblewidget.cpp index 94cf58ae3b..d5f7449e57 100644 --- a/src/widgets/accessible/qaccessiblewidget.cpp +++ b/src/widgets/accessible/qaccessiblewidget.cpp @@ -148,6 +148,8 @@ QString qt_accHotKey(const QString &text) int ampIndex = qt_accAmpIndex(text); if (ampIndex != -1) return QKeySequence(Qt::ALT).toString(QKeySequence::NativeText) + text.at(ampIndex + 1); +#else + Q_UNUSED(text) #endif return QString(); diff --git a/src/widgets/accessible/simplewidgets.cpp b/src/widgets/accessible/simplewidgets.cpp index a53e5eaf30..aa075cad1b 100644 --- a/src/widgets/accessible/simplewidgets.cpp +++ b/src/widgets/accessible/simplewidgets.cpp @@ -327,9 +327,8 @@ int QAccessibleToolButton::childCount() const QAccessible::Role QAccessibleToolButton::role() const { - QAbstractButton *ab = button(); - #ifndef QT_NO_MENU + QAbstractButton *ab = button(); QToolButton *tb = qobject_cast<QToolButton*>(ab); if (!tb->menu()) return tb->isCheckable() ? QAccessible::CheckBox : QAccessible::PushButton; @@ -347,6 +346,8 @@ QAccessibleInterface *QAccessibleToolButton::child(int index) const { return QAccessible::queryAccessibleInterface(toolButton()->menu()); } +#else + Q_UNUSED(index) #endif return 0; } diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index 78e304950a..98f8147236 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -3812,8 +3812,8 @@ void QFileDialogPrivate::_q_nativeEnterDirectory(const QUrl &directory) */ bool QFileDialogPrivate::itemViewKeyboardEvent(QKeyEvent *event) { - Q_Q(QFileDialog); #if QT_CONFIG(shortcut) + Q_Q(QFileDialog); if (event->matches(QKeySequence::Cancel)) { q->reject(); return true; @@ -4018,7 +4018,9 @@ void QFileDialogLineEdit::keyPressEvent(QKeyEvent *e) } #endif // QT_KEYPAD_NAVIGATION +#if QT_CONFIG(shortcut) int key = e->key(); +#endif QLineEdit::keyPressEvent(e); #if QT_CONFIG(shortcut) if (!e->matches(QKeySequence::Cancel) && key != Qt::Key_Back) diff --git a/src/widgets/dialogs/qfiledialog_p.h b/src/widgets/dialogs/qfiledialog_p.h index b665b54a9b..d5df7542b6 100644 --- a/src/widgets/dialogs/qfiledialog_p.h +++ b/src/widgets/dialogs/qfiledialog_p.h @@ -253,15 +253,15 @@ public: bool canBeNativeDialog() const Q_DECL_OVERRIDE; inline bool usingWidgets() const; - void setDirectory_sys(const QUrl &directory); - QUrl directory_sys() const; - void selectFile_sys(const QUrl &filename); - QList<QUrl> selectedFiles_sys() const; - void setFilter_sys(); - void selectMimeTypeFilter_sys(const QString &filter); - QString selectedMimeTypeFilter_sys() const; - void selectNameFilter_sys(const QString &filter); - QString selectedNameFilter_sys() const; + inline void setDirectory_sys(const QUrl &directory); + inline QUrl directory_sys() const; + inline void selectFile_sys(const QUrl &filename); + inline QList<QUrl> selectedFiles_sys() const; + inline void setFilter_sys(); + inline void selectMimeTypeFilter_sys(const QString &filter); + inline QString selectedMimeTypeFilter_sys() const; + inline void selectNameFilter_sys(const QString &filter); + inline QString selectedNameFilter_sys() const; ////////////////////////////////////////////// QScopedPointer<Ui_QFileDialog> qFileDialogUi; @@ -341,14 +341,14 @@ private: QFileDialogPrivate *d_ptr; }; -inline QModelIndex QFileDialogPrivate::mapToSource(const QModelIndex &index) const { +QModelIndex QFileDialogPrivate::mapToSource(const QModelIndex &index) const { #ifdef QT_NO_PROXYMODEL return index; #else return proxyModel ? proxyModel->mapToSource(index) : index; #endif } -inline QModelIndex QFileDialogPrivate::mapFromSource(const QModelIndex &index) const { +QModelIndex QFileDialogPrivate::mapFromSource(const QModelIndex &index) const { #ifdef QT_NO_PROXYMODEL return index; #else @@ -356,11 +356,12 @@ inline QModelIndex QFileDialogPrivate::mapFromSource(const QModelIndex &index) c #endif } -inline QString QFileDialogPrivate::rootPath() const { +QString QFileDialogPrivate::rootPath() const +{ return (model ? model->rootPath() : QStringLiteral("/")); } -inline void QFileDialogPrivate::setDirectory_sys(const QUrl &directory) +void QFileDialogPrivate::setDirectory_sys(const QUrl &directory) { QPlatformFileDialogHelper *helper = platformFileDialogHelper(); @@ -371,14 +372,14 @@ inline void QFileDialogPrivate::setDirectory_sys(const QUrl &directory) helper->setDirectory(directory); } -inline QUrl QFileDialogPrivate::directory_sys() const +QUrl QFileDialogPrivate::directory_sys() const { if (QPlatformFileDialogHelper *helper = platformFileDialogHelper()) return helper->directory(); return QUrl(); } -inline void QFileDialogPrivate::selectFile_sys(const QUrl &filename) +void QFileDialogPrivate::selectFile_sys(const QUrl &filename) { QPlatformFileDialogHelper *helper = platformFileDialogHelper(); @@ -389,20 +390,20 @@ inline void QFileDialogPrivate::selectFile_sys(const QUrl &filename) helper->selectFile(filename); } -inline QList<QUrl> QFileDialogPrivate::selectedFiles_sys() const +QList<QUrl> QFileDialogPrivate::selectedFiles_sys() const { if (QPlatformFileDialogHelper *helper = platformFileDialogHelper()) return helper->selectedFiles(); return QList<QUrl>(); } -inline void QFileDialogPrivate::setFilter_sys() +void QFileDialogPrivate::setFilter_sys() { if (QPlatformFileDialogHelper *helper = platformFileDialogHelper()) helper->setFilter(); } -inline void QFileDialogPrivate::selectMimeTypeFilter_sys(const QString &filter) +void QFileDialogPrivate::selectMimeTypeFilter_sys(const QString &filter) { if (QPlatformFileDialogHelper *helper = platformFileDialogHelper()) helper->selectMimeTypeFilter(filter); @@ -416,13 +417,13 @@ QString QFileDialogPrivate::selectedMimeTypeFilter_sys() const return QString(); } -inline void QFileDialogPrivate::selectNameFilter_sys(const QString &filter) +void QFileDialogPrivate::selectNameFilter_sys(const QString &filter) { if (QPlatformFileDialogHelper *helper = platformFileDialogHelper()) helper->selectNameFilter(filter); } -inline QString QFileDialogPrivate::selectedNameFilter_sys() const +QString QFileDialogPrivate::selectedNameFilter_sys() const { if (QPlatformFileDialogHelper *helper = platformFileDialogHelper()) return helper->selectedNameFilter(); diff --git a/src/widgets/dialogs/qmessagebox.cpp b/src/widgets/dialogs/qmessagebox.cpp index fe32611ed8..7a98fae99c 100644 --- a/src/widgets/dialogs/qmessagebox.cpp +++ b/src/widgets/dialogs/qmessagebox.cpp @@ -1404,8 +1404,8 @@ void QMessageBox::changeEvent(QEvent *ev) */ void QMessageBox::keyPressEvent(QKeyEvent *e) { - Q_D(QMessageBox); #if QT_CONFIG(shortcut) + Q_D(QMessageBox); if (e->matches(QKeySequence::Cancel)) { if (d->detectedEscapeButton) { #ifdef Q_OS_MAC diff --git a/src/widgets/doc/images/tableWidget-stylesheet.png b/src/widgets/doc/images/tableWidget-stylesheet.png Binary files differindex e99e7a97c8..8c0669838c 100644 --- a/src/widgets/doc/images/tableWidget-stylesheet.png +++ b/src/widgets/doc/images/tableWidget-stylesheet.png diff --git a/src/widgets/doc/snippets/code/doc_src_stylesheet.qdoc b/src/widgets/doc/snippets/code/doc_src_stylesheet.qdoc index afe38b24e9..dfea9f2ca4 100644 --- a/src/widgets/doc/snippets/code/doc_src_stylesheet.qdoc +++ b/src/widgets/doc/snippets/code/doc_src_stylesheet.qdoc @@ -1883,3 +1883,9 @@ QTabBar::close-button:hover { * { lineedit-password-mask-delay: 1000 } //! [160] +//! [161] +QTableView::indicator:unchecked { + background-color: #d7d6d5 +} +//! [161] + diff --git a/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc b/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc index 61379fb2f0..6745b78898 100644 --- a/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc +++ b/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc @@ -3904,6 +3904,12 @@ \snippet code/doc_src_stylesheet.qdoc 150 + The QTableView's checkbox indicator can also be customized. In the + following snippet the indicator \c background-color in unchecked state is + customized: + + \snippet code/doc_src_stylesheet.qdoc 161 + \section2 Customizing QToolBar The background and the handle of a QToolBar is customized as below: diff --git a/src/widgets/itemviews/qabstractitemdelegate.cpp b/src/widgets/itemviews/qabstractitemdelegate.cpp index f63e258e8e..f7c170f0bb 100644 --- a/src/widgets/itemviews/qabstractitemdelegate.cpp +++ b/src/widgets/itemviews/qabstractitemdelegate.cpp @@ -547,6 +547,8 @@ bool QAbstractItemDelegatePrivate::tryFixup(QWidget *editor) return e->hasAcceptableInput(); } } +#else + Q_UNUSED(editor) #endif // QT_NO_LINEEDIT return true; diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index 0e4ee30c19..4ab43628b9 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -564,6 +564,10 @@ QApplication::QApplication(int &argc, char **argv, int _internal) */ void QApplicationPrivate::init() { +#if defined(Q_OS_MACOS) + QMacAutoReleasePool pool; +#endif + QGuiApplicationPrivate::init(); initResources(); diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index 0bd2894402..8d0fe1196c 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -2470,11 +2470,13 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW case PM_ButtonDefaultIndicator: ret = 0; break; - case PM_TitleBarHeight: - // Always use NSTitledWindowMask since we never need any other type of window here + case PM_TitleBarHeight: { + NSUInteger style = NSTitledWindowMask; + if (widget && ((widget->windowFlags() & Qt::Tool) == Qt::Tool)) + style |= NSUtilityWindowMask; ret = int([NSWindow frameRectForContentRect:NSZeroRect - styleMask:NSTitledWindowMask].size.height); - break; + styleMask:style].size.height); + break; } case QStyle::PM_TabBarTabHSpace: switch (d->aquaSizeConstrain(opt, widget)) { case QAquaSizeLarge: @@ -2503,7 +2505,7 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW ret = 0; break; case PM_TabBarBaseHeight: - ret = 21; + ret = 0; break; case PM_TabBarTabOverlap: ret = 1; diff --git a/src/widgets/util/qflickgesture.cpp b/src/widgets/util/qflickgesture.cpp index 10e92e04e1..71c4458b79 100644 --- a/src/widgets/util/qflickgesture.cpp +++ b/src/widgets/util/qflickgesture.cpp @@ -292,6 +292,8 @@ protected: qFGDebug() << "QFG: ungrabbing" << grabber; grabber->ungrabMouse(); } +#else + Q_UNUSED(flags); #endif // QT_NO_GRAPHICSVIEW if (me) { diff --git a/src/widgets/util/qsystemtrayicon.cpp b/src/widgets/util/qsystemtrayicon.cpp index 1e0d2ab857..11214d93eb 100644 --- a/src/widgets/util/qsystemtrayicon.cpp +++ b/src/widgets/util/qsystemtrayicon.cpp @@ -738,6 +738,8 @@ void QSystemTrayIconPrivate::addPlatformMenu(QMenu *menu) const QPlatformMenu *platformMenu = qpa_sys->createMenu(); if (platformMenu) menu->setPlatformMenu(platformMenu); +#else + Q_UNUSED(menu) #endif // QT_CONFIG(menu) } diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index d62c010c60..2cafe462b1 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -130,7 +130,7 @@ public: setAttribute(Qt::WA_X11NetWmWindowTypeMenu, true); updateWindowTitle(); setEnabled(p->isEnabled()); -#if QT_CONFIG(cssparser) +#if QT_CONFIG(style_stylesheet) setStyleSheet(p->styleSheet()); #endif if (style() != p->style()) @@ -327,8 +327,8 @@ void QMenuPrivate::updateActionRects(const QRect &screen) const const int deskFw = style->pixelMetric(QStyle::PM_MenuDesktopFrameWidth, &opt, q); const int tearoffHeight = tearoff ? style->pixelMetric(QStyle::PM_MenuTearoffHeight, &opt, q) : 0; const int base_y = vmargin + fw + topmargin + (scroll ? scroll->scrollOffset : 0) + tearoffHeight; + const int column_max_y = screen.height() - 2 * deskFw - (vmargin + bottommargin + fw); int max_column_width = 0; - int dh = screen.height(); int y = base_y; //for compatibility now - will have to refactor this away @@ -406,8 +406,7 @@ void QMenuPrivate::updateActionRects(const QRect &screen) const if (!sz.isEmpty()) { max_column_width = qMax(max_column_width, sz.width()); //wrapping - if (!scroll && - y + sz.height() + vmargin + bottommargin + fw > dh - (deskFw * 2)) { + if (!scroll && y + sz.height() > column_max_y) { ncols++; y = base_y; } else { @@ -433,8 +432,7 @@ void QMenuPrivate::updateActionRects(const QRect &screen) const QRect &rect = actionRects[i]; if (rect.isNull()) continue; - if (!scroll && - y + rect.height() + vmargin + bottommargin + fw > dh - deskFw * 2) { + if (!scroll && y + rect.height() > column_max_y) { x += max_column_width + hmargin; y = base_y; } @@ -2325,16 +2323,7 @@ void QMenu::popup(const QPoint &p, QAction *atAction) ensurePolished(); // Get the right font emit aboutToShow(); const bool actionListChanged = d->itemsDirty; - d->updateActionRects(); - QPoint pos; - QPushButton *causedButton = qobject_cast<QPushButton*>(d->causedPopup.widget); - if (actionListChanged && causedButton) - pos = QPushButtonPrivate::get(causedButton)->adjustedMenuPosition(); - else - pos = p; - const QSize menuSizeHint(sizeHint()); - QSize size = menuSizeHint; QRect screen; #ifndef QT_NO_GRAPHICSVIEW bool isEmbedded = !bypassGraphicsProxyWidget(this) && d->nearestGraphicsProxyWidget(this); @@ -2343,6 +2332,17 @@ void QMenu::popup(const QPoint &p, QAction *atAction) else #endif screen = d->popupGeometry(QApplication::desktop()->screenNumber(p)); + d->updateActionRects(screen); + + QPoint pos; + QPushButton *causedButton = qobject_cast<QPushButton*>(d->causedPopup.widget); + if (actionListChanged && causedButton) + pos = QPushButtonPrivate::get(causedButton)->adjustedMenuPosition(); + else + pos = p; + + const QSize menuSizeHint(sizeHint()); + QSize size = menuSizeHint; const int desktopFrame = style()->pixelMetric(QStyle::PM_MenuDesktopFrameWidth, 0, this); bool adjustToDesktop = !window()->testAttribute(Qt::WA_DontShowOnScreen); diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp index 363e7157ac..905bc0f586 100644 --- a/src/widgets/widgets/qwidgetlinecontrol.cpp +++ b/src/widgets/widgets/qwidgetlinecontrol.cpp @@ -1704,7 +1704,9 @@ void QWidgetLineControl::processKeyEvent(QKeyEvent* event) } bool unknown = false; +#if QT_CONFIG(shortcut) bool visual = cursorMoveStyle() == Qt::VisualMoveStyle; +#endif if (false) { } |