summaryrefslogtreecommitdiffstats
path: root/src/widgets/styles/qmacstyle_mac.mm
Commit message (Collapse)AuthorAgeFilesLines
* Whitespace cleanup: remove trailing whitespaceAxel Waggershauser2013-03-161-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove all trailing whitespace from the following list of files: *.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README excluding 3rdparty, test-data and auto generated code. Note A): the only non 3rdparty c++-files that still have trailing whitespace after this change are: * src/corelib/codecs/cp949codetbl_p.h * src/corelib/codecs/qjpunicode.cpp * src/corelib/codecs/qbig5codec.cpp * src/corelib/xml/qxmlstream_p.h * src/tools/qdoc/qmlparser/qqmljsgrammar.cpp * src/tools/uic/ui4.cpp * tests/auto/other/qtokenautomaton/tokenizers/* * tests/benchmarks/corelib/tools/qstring/data.cpp * util/lexgen/tokenizer.cpp Note B): in about 30 files some overlapping 'leading tab' and 'TAB character in non-leading whitespace' issues have been fixed to make the sanity bot happy. Plus some general ws-fixes here and there as asked for during review. Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Improved appearance of mac toolbar handlesJens Bache-Wiig2013-03-131-9/+3
| | | | | | | The old ones were too heavy and cluttered to fit on mac. Change-Id: I5d9f1a8801992026af65af4c6b2aeae3a03a9f5c Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Improve the look and feel of Mac extension arrowJens Bache-Wiig2013-03-131-2/+4
| | | | | | | | This adds an improved extension arrow as well as a graphic for retina macs. Change-Id: Ie7395bbd87d6d354437bdbcc0cf258a27c09a360 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Draw StatusBar with gradient on macJens Bache-Wiig2013-03-131-12/+0
| | | | | | | | We can safely remove code applying to 10.3 on mac. We also should draw the gradient even on non unified toolbars. Change-Id: Ia97c3c93daf7a711c3ce4b61b74a5eb1d914519b Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* qtbase: Fix duplicate symbol errors in static build on MacGabriel de Dietrich2013-03-061-24/+30
| | | | | | | | | | | There is some code duplication between QMacStyle anf the Cocoa QPA plugin regarding painting and bridging with Cocoa. Task-number: QTBUG-29725 Change-Id: I347407a9bca47b6fccd77fb924688bd35135d96b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-03-051-1/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure qmake/generators/mac/pbuilder_pbx.cpp src/corelib/kernel/qtimerinfo_unix.cpp src/plugins/platforms/cocoa/qcocoabackingstore.mm src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/windows/qwindowswindow.cpp src/plugins/platforms/xcb/qglxintegration.cpp Change-Id: I8d125fe498f5304874e6976b53f588d3e98a66ac
| * Cocoa: Fix appearance of transient light scroll bars.Christoph Schleifenbaum2013-02-251-0/+2
| | | | | | | | | | | | | | | | | | On dark background scroll bars will be rendered light. Since the scroller object is shared across intances, this flag also has to be reset. Otherwise all scrollbars are drawn light. Change-Id: I3800cc783d7fd7ebff296d9db7454efb5b33e7a3 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| * QMacStyle::drawControl(CE_ProgressBar): add missing null pointer checkJ-P Nurmi2013-02-201-1/+1
| | | | | | | | | | | | | | | | Do not spin off progress bar animations if QStyleOption::styleObject is not set. Task-number: QTBUG-29748 Change-Id: I4e17a4892e82cae48250afa7a270b15ca5730f46 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-181-1/+2
|\| | | | | | | | | | | | | Conflicts: src/widgets/styles/qmacstyle_mac.mm Change-Id: If8326db9e7da3cbf45dbf7475fdff9915c7723b1
| * Mac: Fix transient scroll bar appearance.Christoph Schleifenbaum2013-02-131-7/+7
| | | | | | | | | | | | | | | | | | | | Transient scroll bars should never be used outside of scroll areas, since they would be unusable. Task-Number: QTBUG-29389 Change-Id: Ie52d2093a4ab66085300a19ca9a1b32f13a29e79 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | Remove ifdefs for supporting Mac OS <= 10.5Tor Arne Vestbø2013-02-181-4/+0
| | | | | | | | | | | | | | | | Qt5 requires Mac OS 10.6, so we can remove checks such as if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 Change-Id: Iea21727a277291148704ecf9677ed0b68c24920f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-141-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/concurrent/doc/qtconcurrent.qdocconf src/corelib/doc/qtcore.qdocconf src/corelib/global/qglobal.h src/dbus/doc/qtdbus.qdocconf src/dbus/qdbusmessage.h src/gui/doc/qtgui.qdocconf src/gui/image/qimagereader.cpp src/network/doc/qtnetwork.qdocconf src/opengl/doc/qtopengl.qdocconf src/opengl/qgl.h src/plugins/platforms/windows/qwindowswindow.cpp src/printsupport/doc/qtprintsupport.qdocconf src/sql/doc/qtsql.qdocconf src/testlib/doc/qttestlib.qdocconf src/tools/qdoc/doc/config/qt-cpp-ignore.qdocconf src/widgets/doc/qtwidgets.qdocconf src/xml/doc/qtxml.qdocconf Change-Id: Ie9a1fa2cc44bec22a0b942e817a1095ca3414629
| * Added missing null pointer check in QMacStyleJens Bache-Wiig2013-02-051-1/+1
| | | | | | | | | | | | | | | | | | QMacStyle::subElementRect could crash if SE_LineEditContents was used without providing a widget pointer. Task-number: QTBUG-27033 Change-Id: I15ef07ae1310be4257a8480d392f98dbf02168d3 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | Fix sizeHint for QAbstractSpinBoxCaroline Chao2013-02-121-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current size hint is not correct and the text is truncated when using prefix/suffix. Update QCommonStyle::sizeFromContents() to get the button and frame widths into account for the QSpinBox width. Update sizeFromContents() in the different styles to be consistent with the change in QCommonStyle. Update minimumSizeHint(), calculate it using the prefix and data range. The SpinBox can shrunk over the suffix if any. Task-number: QTBUG-28863 Change-Id: Ia742232edf8b11d0283e8136c2818928f8755103 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | QMacStyle: enable transient scrollbars for the desktop componentsJ-P Nurmi2013-01-311-8/+7
|/ | | | | Change-Id: I4f57a2c4eade779c594abaacaa872540b3b23cb1 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Compile in 32-bit mode.Morten Johan Sørvig2013-01-091-2/+2
| | | | | | | CGRect == NSRect only in 64-bit mode. Change-Id: I069b5b050ccf02654a65375c3ab0f58f7d5cc659 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Don't scale 0-region or region without rectsTor Arne Vestbø2013-01-091-0/+3
| | | | | Change-Id: Ieb523dadc5d726e26645b3a90652be95c2707ea8 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Mac: New rendering for disclose triangle, get proper color when selectedGabriel de Dietrich2012-12-191-16/+26
| | | | | Change-Id: I2be0a28df3f5dd2fdfae13be6ec98763a04187c1 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Mac: disable transient scrollbar animations for non-QScrollBarsJ-P Nurmi2012-12-111-1/+5
| | | | | | | | Task-number: QTBUG-28389 Task-number: QTBUG-28380 Change-Id: I91edd9c8aba60118d722bbf9ad5b85f994398823 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Mac: Animated expanding scrollbars on 10.8Gabriel de Dietrich2012-12-061-24/+56
| | | | | Change-Id: Ib57d0347a7828ac7582b0fa95adf8d437694cd41 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Mac: Cleaner transient scrollbar renderingGabriel de Dietrich2012-12-061-14/+7
| | | | | | Change-Id: I617588012aa5166775c3c6301ee70043b22553a3 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Basic high-dpi "retina" support for Qt 5.Morten Johan Sørvig2012-12-011-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | Bring Qt 5 on par with Qt 4, prepare for more comprehensive support later on. Introduce device independent pixels (dips), device pixels, and devicePixelRatio. Add high-dpi support to QPainter, QGLWidget, the cocoa platform plugin, mac and fusion styles. Dips are similar to CSS pixels, Apple points and Android density-independent pixels. Device pixels are pixels in the backing store/physical pixels on screen. devicePixelRatio is the ratio between them, which is 1.0 on standard displays and 2.0 on "retina" displays. New API: QImage::devicePixelRatio() and setDevicePixelRatio() QPixmap::devicePixelRatio() and setDevicePixelRatio() QWindow::devicePixelRatio() QScreen::devicePixelRatio() QGuiApplicaiton::devicePixelRatio() Change-Id: If98c3ca9bfdf0e1bdbcf7574cd5b912c9ff63856 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Mac: Fix small button metrics, menu indicator alignmentGabriel de Dietrich2012-12-011-2/+6
| | | | | | Task-number: QTBUG-28275 Change-Id: I08de3cc7fee3af725c66ed081072277b2ca32601 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Revise QMacStyle scrollbar animation handlingJ-P Nurmi2012-11-301-65/+51
| | | | | | | | Skip animations whether styleObject is not set. Task-number: QTBUG-27895 Change-Id: I1d2e4655b735627b672bc85f773605adcd375418 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Make Mac style not crash on null styleObject.Morten Johan Sørvig2012-11-291-0/+14
| | | | | | | | | | | | We generally expect styleObject to be set during style draw calls but this isn't always done, especially legacy code outside Qt (for example in Qt creator). Create a temporary stand-in QObject. This will disable scroll bar animations. Change-Id: I781967fe28f68f5952b368cd56be980b9e270ecd Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* QMacStyle: cleanup unused includesJ-P Nurmi2012-11-261-7/+0
| | | | | Change-Id: I8fbc33f86fac5abed4553d35fac2973f47a445e9 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Mac: Reworking flat QGroupBox lookGabriel de Dietrich2012-11-261-15/+25
| | | | | | | | The line has been removed, giving a globally cleaner appearance. Also, the label font size has been increased to normal size. Change-Id: I3ef9d59ca54755c6fa158e943e4a6ce94eb05065 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Made QMacStyle internalJ-P Nurmi2012-11-231-1/+1
| | | | | | | | | | | | | We will take this opportynity to remove various QStyle specializations from the public API in Qt5. This gives us much more freedom, for example changing the inheritance hierarchy, pluginizing etc. without worrying about BC. => Use QStyleFactory and/or QProxyStyle instead of creating an instance or inheriting QMacStyle directly. Change-Id: I44a2f5ee3fe08ecc837b593a2a2737eb90e8c267 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Add feature to enable rounded line edit on macJens Bache-Wiig2012-11-151-1/+2
| | | | | | | | This will not currently be exposed in the widget API but we can make use of it for qt quick components. Change-Id: I08300a3bcd58e68df633fe9b36a988eb6176ef9c Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Mac: add runtime check for not calling preferredScrollerStyle on 10.6Teemu Katajisto2012-11-141-0/+1
| | | | | | | | | Task-number: QTBUG-27915 Task-number: QTBUG-27913 Task-number: QTBUG-27911 Change-Id: I1da49c5a1455b30335dec53921a35dc09cd27aa4 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Mac: More accurate focus maskGabriel de Dietrich2012-11-091-4/+5
| | | | | | | Small artifacts were visible when tabing in and out QLineEdits several times. Change-Id: I56334e0534c67c94d357e3517d2470adcc1d8a1c Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Mac: refactor scrollbar animationsJ-P Nurmi2012-11-021-190/+69
| | | | | | | | | Get rid of QWidget-centric QMacStyle::eventFilter() and implement the fade out animations for scrollbars using QNumberStyleAnimation-based QFadeOutAnimation. Change-Id: I2000fa50d46b153e981ceafc12a53932a196382e Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Make it possible to use mini and small size on mac without widgetJens Bache-Wiig2012-11-021-17/+18
| | | | | | | | We need to add the styleoption when evaluating the small and mini size hints. Change-Id: I00f8709912aa2202caef4dbdeaebb5d67cc9a9b4 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Fix progressbar animation on macstyleJens Bache-Wiig2012-11-021-1/+2
| | | | | | | | The animation is not just supposed to run when indeterminate, but also while it is progressing. Change-Id: If176bd230c2f6f83781e01ea77526c24d54c8477 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Fix height of combobox in macstyle without a widgetJens Bache-Wiig2012-11-021-0/+1
| | | | | | | | When no widget is provided we hardcode the height and the value was off by 2. There is no change when a widget is provided. Change-Id: I555b5206b8750db06595a1e2572a3f8212635a9d Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Fix font and positioning of headerview labels on macJens Bache-Wiig2012-11-021-8/+16
| | | | | | | | | | | | | The old code rendered text too large. On desktop components, the widget workaround ensured that text was clipped. This should address both problems. Since we anyway do not adapt the height to font size, I dont se a point in supporting custom fonts here. Change-Id: If3c0509cdff4dbadfd98bd4b1934eaa665148cbf Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Make ToolButton work with Macstyle for componentsJens Bache-Wiig2012-11-011-2/+3
| | | | | | | | | | We needed a new helper function for this. The widget cast was breaking desktop components. By using accessible role, we can make it work for both use cases without depending on the widget. Change-Id: Ic854dc45a4e5b7a50c5be701e903d58a4a914ee5 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Fix groupboxes for desktop components on macJens Bache-Wiig2012-11-011-1/+1
| | | | | | | | | | The logic was a bit odd as it would check if the groupbox had a font set and then override it anyway. Since we anyway want the fallback to be used for components we just make sure that the fallback is to use the same code path. Change-Id: Ic5071b43cda76e2bb7356a6f71cc8458c4e8bf27 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Fix buttonsize on macstyle when no widget is definedJens Bache-Wiig2012-11-011-1/+1
| | | | | | | | | | | The previous size was incorrect and added far too much height when the widget was undefined. When it was defined it would get its size corrected so the patch should have very little effect on existing widget code. Change-Id: I7c22f4226eda270f0d71050bc4248686b035cb39 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Remove Windows as a dependency of mac styleJens Bache-Wiig2012-10-251-42/+99
| | | | | | | | | | There is not need to have this dependency any more since mac is overriding anything we depend on in Windows style anyway. Change-Id: I8fe0e0cc949265170947b492e04e08fdd4cf5027 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* QMacStyle: make default button animations independent of QWidgetJ-P Nurmi2012-10-251-109/+59
| | | | | Change-Id: I63c078050288e3151a9c6aad5d4ae28a58afd84f Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Mac: Adapt scrollbar fadeout animation for QStyleAnimationGabriel de Dietrich2012-10-191-1/+8
| | | | | Change-Id: I39f1089e8d6ba1bb412d33aa4ebc0971aba52681 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Modified vertical alignments of simple widgets on OSXTero Ahola2012-10-181-7/+7
| | | | | | | | | | | | | Adding QCheckBox, QComboBox, QLineEdit etc. into an HBox layout or grid layout makes the layout look like a snake's trail. Fixed the positioning of these widgets to make the layouts visually more appealing. Updated qmacstyle auto-test accordingly. Task-number: QTBUG-13635 Ammended-by: Gabriel de Dietrich Change-Id: I89461f9aad68ea8488070ed06257b9b8e7f493c5 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Mac: Fix QLineEdit shadowGabriel de Dietrich2012-10-181-3/+0
| | | | | | | | The cursor is still rendered 1px too low, but probably needs to be fixed in QTextLayout. Change-Id: Ie56c7140898b941c8d896f503ce1934d0d681a4d Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Styles: revise indeterminate progress bar animationsJ-P Nurmi2012-10-171-44/+22
| | | | | | | | | Remove dependencies to QProgressBar where possible. This makes it possible to animate for example QQuickItem based progress bars (read: the desktop components). Change-Id: If208506702365895576238c24191b8d70b90841c Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QPA: Introducing QPlatformTheme standardPixmap(), fileIconPixmap()Gabriel de Dietrich2012-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | The basic idea is that the platform theme is now responsible for providing the pixmaps for the given standard name, or any file or directory. Then, the QStyle implementation should query the platform theme for the pixmaps, and build the icons accordingly using ThemeHint::IconPixmapSizes. Same thing for QFileIconProvider. This also opens future support for getting platform dependent pixmaps in QtQuick components. Also includes the implementation for the Cocoa (QCocoaTheme) and Windows (QWindowsTheme) platform plugins. Task-number: QTBUG-27450 Change-Id: I4e8406585d970a9af481be10f6643cf0abbc38a3 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Introduce (private) QStyleAnimationJ-P Nurmi2012-10-161-110/+24
| | | | | | | | | | | | | | | | QStyleAnimation handles style animations in a generic fashion by sending StyleAnimationUpdate events back to the animation target instead of calling QWidget::update() directly. This decouples style animations from widgets and makes it possible to run style animations for QQuickItems (ie. the desktop components). The next step is to add "QObject* QStyleOption::target" and use that everywhere instead of the widget pointer passed to various QStyle methods. Change-Id: Ib963c54872805fc3f0123ff922f82c9962a68b90 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Cocoa: Speed up fading out scroll bars.Christoph Schleifenbaum2012-10-151-12/+14
| | | | | | | | This patch replaces QDateTime usage with msecs since epoch to calculate scroll bars opacity. This eliminates lots of QDateTime::msecsTo calls. Change-Id: Ic0c26806660c192c5fc6de0dafd86b4200e3cb4c Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QMacStyle: use proper pimplJ-P Nurmi2012-10-051-32/+53
| | | | | | | | | QMacStylePrivate needed to be revised in order for it to have access to QCommonStylePrivate that is planned to manage style animations in a generic fashion in the near future. Change-Id: I03185ae210d2cfc253a236d6b2da35d0201f7e13 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>