2008-10-16 Kevin Kofler - beta 8

- quarticurve.cpp (drawPrimitive): use style options instead of widgets for PE_PanelLineEdit and PE_FrameTabWidget
  (drawControl, drawComplexControl): check that widget is non-NULL before comparing it with hoverWidget
  (drawControl): use style options instead of widgets for CE_TabBarTabShape, CE_PushButtonLabel and CE_MenuItem
                 for CE_TabBarTabShape, we still need the widget rect, so check the widget for NULL first
                 don't draw mouseover indicators in CE_CheckBoxLabel and CE_RadioButtonLabel (Qt 4 does it automatically)
                 delegate them to the QCleanlooksStyle (the remainder is trivial and can't handle having both icon and text)
                 don't draw focus rect in CE_PushButtonLabel
  (subElementRect): use style options instead of widgets
                    fix SE_CheckBoxIndicator and QStyle::SE_RadioButtonIndicator to use the x and y offsets and visualRect
  (drawComplexControl): use style options instead of widgets
                        try harder to find a widget to map global cursor coordinate to
  (subControlRect): use style options instead of widgets for CC_ScrollBar
  (pixelMetric): use style options instead of widgets for PM_SliderLength
  (sizeFromContents): use style option instead of widget for CT_PushButton
                      make non-expanding conditional for CT_PushButton on empty text, not just non-empty icon
                      support NULL widget for CT_MenuItem
  (drawTextRect, drawLightBevel, drawPrimitive, drawControl, drawComplexControl, drawGradient, drawGradientBox): disable anti-aliasing of graphics
- readme.txt: update Quarticurve-KWin link, section about bluecurve-icon-theme
- quarticurve.pro: fix KDE4_APPSDIR detection

2008-02-14 Kevin Kofler

- quarticurve.cpp (pixelMetric): override PM_ListViewIconSize to 16 and PM_MessageBoxIconSize to 32 (to match KDE 3)
  (sizeFromContents): for CT_MenuItem, always request a 16x16 pixmap instead of QIcon::Small for the icon (matches KDE 3 look)
  (drawControl): likewise for CE_MenuItem

2008-01-25 Kevin Kofler - beta 7

- readme.txt: update color scheme for KDE 4.0.0 release (add ColorEffects:Disabled and Colors:Tooltip sections), add WM section
- Quarticurve.colors: new file: color scheme for kcm_colors
- readme.txt: mention it
- quarticurve.pro: install it

2007-12-03 Kevin Kofler - beta 6

- quarticurve.cpp (standardPixmap): call QApplication::setDesktopSettingsAware(true); before forwarding to QCleanlooksStyle
  (standardIconImplementation): new reimplemented slot, do the same

2007-10-26 Kevin Kofler - beta 5

- quarticurve.cpp (adjustPalette): new function, force selection colors to always active
  (drawPrimitive, drawControl, drawComplexControl): use adjustPalette
  (drawPrimitive): for PE_PanelButtonTool, override auto-raise for QDockWidgetTitleButton to match Qt 3
  (drawControl): handle CE_DockWidgetTitle, make it look as in KDE 3 (recolor, center text when not floated)
  (standardPixmap): new (reimplemented virtual) function, bypass Cleanlooks-themed title bar buttons and use QWindowsStyle ones
  (drawPrimitive): add case for QStyle::PE_FrameStatusBar

2007-10-15 Kevin Kofler - beta 4

- readme.txt: update (color scheme for KDE >= 3.91.0, KDE4HOME->KDEHOME, .kde4->.kde, redhat-artwork->bluecurve-icon-theme, widgetStyle4)
- quarticurve.cpp (drawControl): honor QPushButton::iconSize()

2007-06-08 Kevin Kofler - beta 3

- readme.txt: add link to Quarticurve-KWin, improve installation instructions
- quarticurve.pro: add DISTFILES, add support for make install

2007-06-05 Kevin Kofler - beta 2

- quarticurve.cpp (drawComplexControl): in case CC_SpinBox, only pass State_Sunken to arrow/plus/minus primitives if the button is actually sunken
  (drawControl): don't draw menu arrow in case CE_PushButtonLabel, it's done by Qt 4 already
  (drawGradientBox): adjust rect for drawRect by 0,0,-1,-1
  (subControlRect): prefer option->rect to widget->rect() in case CC_SpinBox
  (drawControl): in case CE_PushButtonLabel, change csp from -2 to 5 (to match KDE 3 KPushButton) and request PM_ButtonIconSize instead of QIcon::Small
  (pixelMetric): default PM_ButtonIconSize to 16 (to match KDE 3 KPushButton)
  (drawControl): tweak tab coordinates some more and add cases for west/east tabs
  (drawPrimitive): likewise

2007-06-05 Kevin Kofler - beta 1
- quarticurve.cpp (drawComplexControl): move p->save() and p->restore() directly around the painter-changing sections
  (drawControl, drawComplexControl): fix parameter order for QStyle::visualRect (reverse of Qt 3 order)
  (drawPrimitive): don't make arrow white on State_Selected
  (subControlRect): base CC_ComboBox metrics on QWindowsStyle rather than QCleanlooksStyle
  (drawTextRect, drawPrimitive): draw frameless line edits correctly
  (drawComplexControl): "active" for spinbox arrows can now also mean mouseover so distinguish the 2 cases
                        cast to QAbstractSpinBox instead of QSpinBox
  (drawControl): change TabBarLabel adjustment from 5,2 to 5,5, also adapt focus rect adjustment (-2,-2,-8,-8 instead of -2,-2,-2,-2)
                 don't draw focus rects for checkboxes and radiobuttons manually, Qt now does it automatically
                 fix "break instructions between p->save(); and p->restore();" bug in case QStyle::CE_ScrollBarSlider
  (drawPrimitive): hit test mouse pointer against scrollbar components here too because State_MouseOver might be set if the cursor is somewhere else on the widget
  (drawControl): change TabBarTab case to TabBarTabShape, disable fallthrough to TabBarTabLabel
                 disable TabBarTabLabel code, let the base class handle these, so tabs with icons work
  (subControlRect): fix sliderstart computation
  (drawLightBevel): adjust rect coordinates by 0,0,-1,-1
  (drawTextRect): likewise, except in the borderless case
  (drawControl): in case CE_MenuItem, correctly set changedOptions.rect = cr; for the check mark
                 adjust tab bar handle coordinates
                 delegate horizontal tabs to QCleanlooksStyle for now because there's no code to draw them
                 delegate CE_PushButtonLabel to QCleanlooksStyle when not called with a QPushButton
                 adjust CE_ProgressBarGroove rect coordinates by 0,0,-1,-1
  (drawPrimitive): add case for QStyle::PE_FrameGroupBox
  (drawLightBevel): allow both Raised and Sunken to be set, for group boxes

2007-06-04 Kevin Kofler - alpha 1
- quarticurve.cpp, quarticurve.h:
  - disable CC_ListView in drawComplexControl (let base class handle it)
  - change Q3PopupMenu to QMenu, CE_PopupMenuItem to CE_MenuItem, CT_PopupMenuItem to CT_MenuItem, CE_TabBarLabel to CE_TabBarTabLabel, QTab to QStyleOptionTab (also port to new API), QMenuItem to QStyleOptionMenuItem (also port to new API), Q3ProgressBar to QStyleOptionProgressBar (also port to new API), CE_DockWindowEmptyArea to CE_Q3DockWindowEmptyArea, PM_PopupMenuFrameVerticalExtra to PM_MenuVMargin, PM_MenuBarFrameWidth to PM_MenuBarPanelWidth, PM_DockWindow* to PM_DockWidget*, SH_PopupMenu_* to SH_Menu_*, QWidgetStack to Q3WidgetStack, Q3SpinWidget to QSpinBox, *SpinWidget* to *SpinBox*
  - add widget->layoutDirection() parameter to visualRect calls, add ->rect() to 3rd parameter where it was a QWidget
  - remove obsolete QT_VERSION checks
  - disable SH_GUIStyle because there's no GtkStyle, let base class pick one (should be Qt::WindowsStyle)
  - test for non-null widget before using widget->inherits("QSlider")
  - change base class again to QCleanlooksStyle
  - save/restore painter state when changing settings
  - disable unneeded and broken CE_CheckBox case in drawControl
  - override button layout to KDE layout
  - fall through from CE_TabBarTab to CE_TabBarTabLabel
  - use State_Selected instead of State_Active for menu items and arrows
  - fill PE_PanelLineEdit with &cg.brush(QColorGroup::Base)
  - remove State_DownArrow or replace with State_Sunken where appropriate
  - explicitly disable SH_ComboBox_Popup because QCleanlooksStyle enables it
  - disable metrics code for SC_SpinWidgetButtonField because Qt 4 doesn't use/need this
  - subControlRect: use sliderstart calculation from QCommonStyle because QScrollBar::sliderStart doesn't exist anymore
  - drawComplexControl: use subControlRect instead of no longer existing QSpinBox::upRect and QSpinBox::downRect
- bits.h: comment out unused inconsistent_alpha

2007-06-03 Kevin Kofler
- run qt3to4
- convert build system to qmake
- change theme name, file names etc. to Quarticurve
- rename bits.cpp to bits.h
- quarticurve.cpp: #include ".moc/moc_quarticurve.cpp" instead of "quarticurve.moc"
- quarticurve.cpp, quarticurve.h:
  - derive from QPlastiqueStyle instead of QCommonStyle
  - drop basestyle delegation
  - delete QuarticurveStyle::polishPopupMenu
  - rename QuarticurveStyle::unPolish to QuarticurveStyle::polish
  - change PE_* to QStyle::PE_*, Style_* to QStyle::State_*, Style_Down to QStyle::State_DownArrow, Style_Up to QStyle::State_UpArrow, SubRect to SubElement, PE_HeaderSection to CE_HeaderSection, PE_HeaderArrow to PE_IndicatorHeaderArrow, PE_Arrow* to PE_IndicatorArrow*, PE_ButtonDefault to PE_FrameDefaultButton, PE_ButtonDropDown to PE_IndicatorButtonDropDown, PE_Button* (others) to PE_PanelButton*, PE_CheckMark to PE_IndicatorMenuCheckMark, PE_Indicator to PE_IndicatorCheckBox, PE_ExclusiveIndicator to PE_IndicatorRadioButton, PE_DockWindowHandle to PE_IndicatorToolBarHandle, PE_DockWindowSeparator to PE_Q3DockWindowSeparator, PE_DockWindowResizeHandle to PE_IndicatorDockWidgetResizeHandle, PE_Splitter to CE_Splitter, PE_PanelTabWidget to PE_FrameTabWidget, PE_Panel to PE_Frame, PE_WindowFrame to PE_FrameWindow, PE_PanelDockWindow to PE_FrameDockWidget, PE_ScrollBar* to CE_ScrollBar*, PE_FocusRect to PE_FrameFocusRect, PE_ProgressBarChunk to PE_IndicatorProgressChunk, PE_SpinWidget* to PE_IndicatorSpin*, PE_PanelPopup to PE_FrameMenu, &cg.buttonText() to QPalette::ButtonText, &cg.highlightedText() to QPalette::HighlightedText, SR_* to QStyle::SE_*
  - delete QuarticurveStyle::stylePixmap (now standardIcon/standardIconImplementation, but only called base style anyway)
  - disable QuarticurveStyle::drawControlMask and code for PE_*IndicatorMask
  - delete QuarticurveStyle::querySubControl (now hitTestComplexControl, but only called QCommonStyle implementation anyway)
  - port remaining functions to the Qt 4 API, rename: subRect -> subElementRect, querySubControlMetrics -> subControlRect
  - move handling of former PE_* elements which are now CE_* from drawPrimitive to drawControl
  - add Quarticurve::drawItem method calling drawItemPixmap and drawItemText

