summaryrefslogtreecommitdiffstats
path: root/src/widgets/styles
Commit message (Collapse)AuthorAgeFilesLines
...
* QGtkStyle: GTK3 compatible gtk_adjustment_new()J-P Nurmi2012-11-082-5/+4
| | | | | | | | | In GTK3, gtk_adjustment_new() returns GtkAdjustment* and there's no such thing as GtkObject anymore. Just typedef the function pointer appropriately and as a bonus we'll save ourselves from the casts. ;) Change-Id: I2f17ab10b835dd0bffabb86345488e84aea51f3c Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QGtkStyle: remove references to gtk_progress_configure()J-P Nurmi2012-11-073-6/+0
| | | | | | | gtk_progress_configure() is deprecated and no longer exists in GTK3. Change-Id: I02d58456285326b8aee6050da1a155cacbb86eee Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QGtkStyle: GTK3 compatible combo boxesJ-P Nurmi2012-11-063-19/+24
| | | | | | | | | | | | Use gtk_combo_box_new_with_entry when gtk_combo_box_entry_new is not available. The latter was deprecated since 2.24 and is no longer available in GTK3. Notice that gtk_combo_box_new_with_entry returns a GtkComboBox, whereas the old gtk_combo_box_entry_new returned a GtkComboBoxEntry. Change-Id: I4aa3c528c6e04967ed783fce72036acb6063445b Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QGtkStyle: GTK3 compatible type checkingJ-P Nurmi2012-11-062-5/+5
| | | | | | | | | | | - GtkType -> GType - GTK_CHECK_TYPE -> G_TYPE_CHECK_INSTANCE_TYPE Both are deprecated aliases in GTK2 and do not exist in GTK3. Change-Id: If2dc4ba09451cabb6730f8b23e15db7554a9f829 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QGtkStyle: handle focus & default widgets in GTK3 compatible wayJ-P Nurmi2012-11-063-20/+70
| | | | | Change-Id: Ib4409c15599953a6626738543b27d14d711e7109 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* De-inline some destructors in QtWidgetsMarc Mutz2012-11-068-0/+34
| | | | | | | | | | | | | | | | | | | | | | Destructors should be out-of-line so that the compiler doesn't generate one per translation unit. Apart from creating more work for the compiler, it can also lead to duplicated vtables if the dtor is the first virtual function (reimplementation), and all other virtuals are inline, too. Duplicate vtables then break RTTI. In addition, having virtual dtors de-inlined allows us to add code to them in a BC way. As a final argument, this change may lead to less code app-side, since a sequence of cross-DLL calls (to member variable dtors) is replaced by a single cross-DLL call to the new out-of-line dtor. Change-Id: Ifb8c4aa992c75d61ba9ac8de5ab41d1e96b0a0b1 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* QGtkPainter: use gtk_widget_get_style()J-P Nurmi2012-11-051-1/+1
| | | | | | | Do not access GtkWidget::style directly, it doesn't exist in GTK3. Change-Id: I1ee4ad5ca0894c9277219fc2a70f5f1c69ec632f Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QWindowsVistaStyle: Restore altered brush origin.Friedemann Kleint2012-11-051-0/+2
| | | | | | | | | | | The line to restore it was missing, and the leftover variable caused a warning, which was removed in abe5a0a432116963d22c4ef501a4dfd2393d66fb . Task-number: QTBUG-27828 Change-Id: I00b8b89b07bec38a1660c3a9c61220b6d0d7eb48 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Doc fixes.Frederik Gladhorn2012-11-031-2/+0
| | | | | Change-Id: Id2042c33a9762261756d1065781005dfef341797 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Mac: refactor scrollbar animationsJ-P Nurmi2012-11-026-219/+104
| | | | | | | | | 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-022-18/+20
| | | | | | | | 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>
* QWindowsVistaAnimation: inherit QBlendStyleAnimationJ-P Nurmi2012-11-022-131/+10
| | | | | Change-Id: I15b348eb842730513480ecbb90bca87174d7c771 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Introduce QBlendStyleAnimation (based on QWindowsVistaAnimation)J-P Nurmi2012-11-022-1/+132
| | | | | Change-Id: Ie289debe69ea7f6bb7833f979e39bb91290cc49c Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@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>
* Some Vista style cleanupJens Bache-Wiig2012-11-011-25/+28
| | | | | | | | Creates a function for cloning the style options used by Vista style. Change-Id: I4d83661acd6bdfff5c633447046a206018b537af Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Make ToolButton work with Macstyle for componentsJens Bache-Wiig2012-11-013-2/+22
| | | | | | | | | | 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>
* Fix QCommonStylePrivate::stopAnimation()J-P Nurmi2012-10-301-7/+3
| | | | | | | | Make sure that QCommonStylePrivate::animation() does not return an animation that was already stopped. Change-Id: I35b7f8e0fabff9908f247b3632e35388e2c95a6d Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Add QNumberStyleAnimation for fading out scroll bars on MacJ-P Nurmi2012-10-302-0/+69
| | | | | Change-Id: I6a85ed069a418d62078af6490a3d3186d5599a95 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Remove some dead code in switch statementsSergio Ahumada2012-10-291-1/+0
| | | | | | | | | | Following the Code Style described in http://qt-project.org/wiki/Qt_Coding_Style#e289ee44592e9c32d4212069f0806daf There is no need for a 'break' after a 'return'. Change-Id: I1eca350391a7e4e14e504d60b24b69982cc5ac47 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove Windows as a dependency of mac styleJens Bache-Wiig2012-10-253-46/+103
| | | | | | | | | | 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>
* Remove widget dependencies on Vista style animationsJens Bache-Wiig2012-10-251-329/+350
| | | | | | | | This patch will make it possible to get animations on desktop components without using the widget pointer. Change-Id: I2d2eca111dab0d96f276ff3627505c0652c4b4e5 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* QStyleAnimation: writable duration & delay propertiesJ-P Nurmi2012-10-252-11/+35
| | | | | | | These will be needed by upcoming QFadeStyleAnimation and QBlendStyleAnimation. Change-Id: Ibc5092d5dbd834cb9b16353d3e83b95b04d9484b Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* QMacStyle: make default button animations independent of QWidgetJ-P Nurmi2012-10-252-114/+62
| | | | | Change-Id: I63c078050288e3151a9c6aad5d4ae28a58afd84f Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix widget borders when using global stylesheetstyleMiikka Heikkinen2012-10-251-9/+5
| | | | | | | | | | Recent fixes to stylesheetstyle caused not calling fixupBorder() when globalStyleSheetStyle is used. Task-number: QTBUG-27651 Change-Id: I73263c951e2db7d574e81da3f60a1b79f3852716 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
* Add QStyleAnimation::updateTarget()J-P Nurmi2012-10-232-4/+10
| | | | | | | | | For example a paused "default button" animation might want to update the target to get "non-default button" looks meanwhile the animation is paused. Change-Id: Ibb854a40f38a8971e7233b1f34a83056e6a9d827 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QStyleAnimation: fix threaded renderingJ-P Nurmi2012-10-232-5/+7
| | | | | Change-Id: I00875adf2e4b157a3f8b0b99e5280b1275635026 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Remove Cleanlooks and PlastiqueJens Bache-Wiig2012-10-2215-10650/+26
| | | | | | | | | We have a new style Fusion that will replace these styles. They will be moved to a separate module rather than included in platforms that do not need them. Change-Id: I51ebbcad5406e99130e5b12e62ba624d1489088c Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix clipping and font problems with groupbox in Fusion styleJens Bache-Wiig2012-10-221-10/+14
| | | | | | | | | | | The groupbox did not take custom fonts into account when calculating the height of its titlebar. This resulted in clipping issues on Windows. Task-number: QTBUG-27655 Change-Id: I7252bc94d2bbb0731b9dbc1caa6cdd2074fdd7ab Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Move some icon code from WindowsStyle to CommonStyleJens Bache-Wiig2012-10-223-456/+456
| | | | | | | | | | | Fusion style only depends on CommonStyle and it seems the autotest for tst_QFileSystemModel:iconProvider assumes an icon will be returned from standardPixmap. Since we dont want the icons to depend on style in this case we should move all this to commonstyle. Change-Id: I3a26367e5c0aefe2a39838f0c2cadc4f7afad89d Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Mac: Adapt scrollbar fadeout animation for QStyleAnimationGabriel de Dietrich2012-10-192-2/+11
| | | | | Change-Id: I39f1089e8d6ba1bb412d33aa4ebc0971aba52681 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QStyleSheetStyle: kill more dependencies to QWidgetJ-P Nurmi2012-10-191-10/+12
| | | | | | Change-Id: I5e58ec68c5d20fd7b201c83743f9d284e7c4dc52 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QStyleSheetStyle: QObject-based style & render rulesJ-P Nurmi2012-10-192-97/+101
| | | | | | | | | The goal is to cut as many QWidget dependencies as possible and make stylesheets eventually work for the desktop components. Change-Id: Ib4aa47af07379fc39fd6df1961e113d03df6df35 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fixed inconsistent QPainter fill rules for aliased painting.Samuel Rødal2012-10-192-0/+13
| | | | | | | | | | | | | | | | | | | | | | Qt 5 is the time to get rid of all the old inconsistencies in the raster paint engine caused by trying to preserve the old X11 based coordinate system where (0, 0) is in the center of the top-left pixel instead of the upper left corner of said pixel. However, this was only adhered for line drawing and path / rect filling, and not for image or pixmap drawing and not at all when doing antialiased painting. By defining the antialiased coordinate system as being the right one and letting the aliased fill rules follow from that we finally end up with some consistent behavior that doesn't lead to surprises and workarounds in application code. It is still possible for applications to get the old behavior by setting the QPainter::Qt4CompatiblePainting render hint. This should make porting easier for the few cases where an application relies on the aliased fill rules we used to have in Qt 4. Task-number: QTBUG-27500 Change-Id: If86b95e77d838ec83033d64af86632b9a73c74a9 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Introduce new style FusionJens Bache-Wiig2012-10-189-136/+3990
| | | | | | | | | | This is a new non-native style for Qt. It is intended as a replacement for the now aging Plastique and Cleanlooks styles. Change-Id: I30c0518a69e4e3b8b2b05ee7d84c3a5a1f307578 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@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>
* Remove dependency on QWindowsStyle in QGtkStyleJens Bache-Wiig2012-10-184-84/+115
| | | | | | | | | Now that we no longer re-use the animation code in gtk, it is time to remove this strange dependency. Change-Id: Ib672a9b110dfba08d79b8654e572994007675957 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@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>
* Improve branch indicators in common styleJens Bache-Wiig2012-10-183-72/+13
| | | | | | | | | | | | | | The branch indicators in common style was painted based on motif style, effectively making it useless. Since most styles inherit from Windows style, I moved that into common style. It was already duplicating most of the code used in commonstyle. Change-Id: I1a383d90254bb97aebc038fa058ec0f225cf9dab Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix potential crash in QStyleAnimation::updateCurrentTime()J-P Nurmi2012-10-171-9/+11
| | | | | | | | | A parentless/targetless QStyleAnimation calls updateCurrentTime() from QAbstractAnimation constructor. Avoid the potential crash even if it's not a valid use case for QStyleAnimation. Change-Id: I9cd263d105c8ea4b5cbabac9a7680991745ccd95 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Styles: revise indeterminate progress bar animationsJ-P Nurmi2012-10-1713-207/+76
| | | | | | | | | 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>
* Bring back MacSizeChange eventGabriel de Dietrich2012-10-171-3/+3
| | | | | | | | | | This ensures WA_MacNormalSize & Co. work (almost) properly. Task-number: QTCREATORBUG-7966 Change-Id: Ib03b5c0f163409e2bc387f6cf9b56c72c43caec7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Fix incorrectly scaled constants on MacJens Bache-Wiig2012-10-161-0/+5
| | | | | | | | | | | | | This fixes several scaled constants on mac that are inherited from commonstyle. (such as toolbutton arrows) It is probably easiest to see when running Windows style on mac. The problem was that the code assumed a default dpi of 96 would be used on all platforms. Change-Id: I83789589009b268dcb1d96629c3ec9e8f968a891 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Add QObject* QStyleOption::styleObjectJ-P Nurmi2012-10-162-4/+17
| | | | | | | | | The object is used, amongst other things, as a target for sending style animation updates. Change-Id: Ic210e7ae2111bc08b70331a3a2030a494919a06d Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QPA: Introducing QPlatformTheme standardPixmap(), fileIconPixmap()Gabriel de Dietrich2012-10-165-300/+86
| | | | | | | | | | | | | | | | | | | | 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>
* Add HasFrame feature to QStyleOptionTabJens Bache-Wiig2012-10-162-2/+18
| | | | | | | | This makes it possible for styles like Fusion to draw tabbars different when they have a frame. Change-Id: I1bb21198c0c3caf44c757f6f39310bf2509054bf Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Introduce (private) QStyleAnimationJ-P Nurmi2012-10-1620-377/+475
| | | | | | | | | | | | | | | | 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>