summaryrefslogtreecommitdiffstats
path: root/style/qtcurve.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'style/qtcurve.cpp')
-rw-r--r--style/qtcurve.cpp375
1 files changed, 215 insertions, 160 deletions
diff --git a/style/qtcurve.cpp b/style/qtcurve.cpp
index 87aea38..e8c07ca 100644
--- a/style/qtcurve.cpp
+++ b/style/qtcurve.cpp
@@ -110,6 +110,7 @@ dimension, so as to draw the scrollbar at the correct size.
#include <iostream>
#define COMMON_FUNCTIONS
#include "qtcurve.h"
+#include "shortcuthandler.h"
#define CONFIG_READ
#include "config_file.c"
#include "pixmaps.h"
@@ -511,6 +512,20 @@ static bool inStackWidget(const TQWidget *w)
return false;
}
+static bool isOnToolbar(const TQWidget *widget, TQPainter *p)
+{
+ const TQWidget *wid=widget ? widget->parentWidget() : (p && p->device() ? dynamic_cast<TQWidget *>(p->device()) : 0L);
+
+ while(wid)
+ {
+ if(::tqqt_cast<const TQToolBar *>(wid))
+ return true;
+ wid=wid->parentWidget();
+ }
+
+ return false;
+}
+
static void setRgb(TQColor *col, const TQStringList &rgb)
{
if(3==rgb.size())
@@ -715,11 +730,11 @@ enum ECacheFlags
CACHE_COL_SEL_TAB
};
-static TQString createKey(int size, TQRgb color, bool horiz, int app, ECacheFlags flags)
+static TQString createKey(int size, TQRgb color, TQRgb bgnd, bool horiz, int app, ECacheFlags flags)
{
TQString key;
- TQTextOStream(&key) << size << '-' << color << '-' << horiz << '-' << app << '-' << flags;
+ TQTextOStream(&key) << size << '-' << color << '-' << bgnd << '-' << horiz << '-' << app << '-' << flags;
return key;
}
@@ -841,6 +856,7 @@ QtCurveStyle::QtCurveStyle(const TQString &name)
QtCurveStyle::QtCurveStyle()
#endif
: BASE_STYLE(AllowMenuTransparency, WindowsStyleScrollBar),
+ itsPopupMenuCols(0L),
itsSliderCols(0L),
itsDefBtnCols(0L),
itsMouseOverCols(0L),
@@ -866,7 +882,8 @@ QtCurveStyle::QtCurveStyle()
itsActive(true),
itsIsSpecialHover(false),
itsDragWidget(0L),
- itsDragWidgetHadMouseTracking(false)
+ itsDragWidgetHadMouseTracking(false),
+ itsShortcutHandler(new ShortcutHandler(this))
{
#ifdef TQTC_STYLE_SUPPORT
TQString rcFile;
@@ -1108,10 +1125,6 @@ QtCurveStyle::QtCurveStyle()
setMenuColors(TQApplication::palette().active());
- if(USE_LIGHTER_POPUP_MENU)
- itsLighterPopupMenuBgndCol=shade(itsBackgroundCols[ORIGINAL_SHADE],
- TO_FACTOR(opts.lighterPopupMenuBgnd));
-
if ((SHADE_CUSTOM==opts.shadeMenubars || SHADE_BLEND_SELECTED==opts.shadeMenubars || SHADE_SELECTED==opts.shadeMenubars) &&
"soffice.bin"==TQString(tqApp->argv()[0]) && TOO_DARK(SHADE_CUSTOM==opts.shadeMenubars
? opts.customMenubarsColor
@@ -1143,9 +1156,10 @@ QtCurveStyle::QtCurveStyle()
QtCurveStyle::~QtCurveStyle()
{
- if(itsSidebarButtonsCols!=itsSliderCols &&
- itsSidebarButtonsCols!=itsDefBtnCols)
+ if(itsSidebarButtonsCols!=itsSliderCols && itsSidebarButtonsCols!=itsDefBtnCols)
delete [] itsSidebarButtonsCols;
+ if(itsPopupMenuCols && itsPopupMenuCols!=itsMenubarCols && itsPopupMenuCols!=itsBackgroundCols && itsPopupMenuCols!=itsActiveMdiColors)
+ delete [] itsPopupMenuCols;
if(itsActiveMdiColors && itsActiveMdiColors!=itsHighlightCols && itsActiveMdiColors!=itsBackgroundCols)
delete [] itsActiveMdiColors;
if(itsMdiColors && itsMdiColors!=itsBackgroundCols)
@@ -1184,6 +1198,12 @@ static TQString getFile(const TQString &f)
return d;
}
+inline void addEventFilter(TQObject *object, TQObject *filter)
+{
+ object->removeEventFilter(filter);
+ object->installEventFilter(filter);
+}
+
void QtCurveStyle::applicationPolish(const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr)
{
if (ceData.widgetObjectTypes.contains(TQAPPLICATION_OBJECT_NAME_STRING)) {
@@ -1276,6 +1296,19 @@ void QtCurveStyle::applicationPolish(const TQStyleControlElementData &ceData, Co
if(opts.fixParentlessDialogs && (opts.noDlgFixApps.contains(appName) || opts.noDlgFixApps.contains("kde")))
opts.fixParentlessDialogs=false;
#endif
+// BASE_STYLE::polish(app);
+ if(opts.hideShortcutUnderline)
+ addEventFilter(app, itsShortcutHandler);
+ }
+}
+
+void QtCurveStyle::applicationUnPolish(const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr)
+{
+ if (ceData.widgetObjectTypes.contains(TQAPPLICATION_OBJECT_NAME_STRING)) {
+ TQApplication *app = reinterpret_cast<TQApplication*>(ptr);
+ if(opts.hideShortcutUnderline)
+ app->removeEventFilter(itsShortcutHandler);
+// BASE_STYLE::unPolish(app);
}
}
@@ -1408,10 +1441,6 @@ void QtCurveStyle::polish(TQPalette &pal)
shadeColors(midColor(itsHighlightCols[ORIGINAL_SHADE],
itsButtonCols[ORIGINAL_SHADE]), itsSidebarButtonsCols);
- if(USE_LIGHTER_POPUP_MENU && newGray)
- itsLighterPopupMenuBgndCol=shade(itsBackgroundCols[ORIGINAL_SHADE],
- TO_FACTOR(opts.lighterPopupMenuBgnd));
-
if(newCheckRadioSelCols) {
if(SHADE_BLEND_SELECTED==opts.crColor) {
shadeColors(midColor(itsHighlightCols[ORIGINAL_SHADE], itsButtonCols[ORIGINAL_SHADE]), itsCheckRadioSelCols);
@@ -2130,7 +2159,8 @@ bool QtCurveStyle::objectEventHandler( const TQStyleControlElementData &ceData,
{
TQWidget *widget=(TQWidget*)object;
TQPainter painter(widget);
- TQColor col(popupMenuCol(widget->palette().active()));
+ const TQColor *pc(popupMenuCols(widget->palette().active()));
+ TQColor col(pc[ORIGINAL_SHADE]);
if(APPEARANCE_STRIPED==opts.menuBgndAppearance)
{
@@ -2143,7 +2173,7 @@ bool QtCurveStyle::objectEventHandler( const TQStyleControlElementData &ceData,
}
else
{
- drawBevelGradientReal(col, &painter, ceData.rect, GT_HORIZ==opts.menuBgndGrad, false,
+ drawBevelGradientReal(col, col, &painter, ceData.rect, GT_HORIZ==opts.menuBgndGrad, false,
opts.menuBgndAppearance, WIDGET_OTHER);
}
return false;
@@ -2478,12 +2508,13 @@ bool QtCurveStyle::objectEventHandler( const TQStyleControlElementData &ceData,
itsHoverTab=0L;
itsHoverWidget->repaint(false);
}
- else if(!itsHoverWidget->hasMouseTracking() ||
- (itsFormMode=isFormWidget(itsHoverWidget)))
+ else if(!itsHoverWidget->hasMouseTracking() || (itsFormMode=isFormWidget(itsHoverWidget)))
{
itsHoverWidget->repaint(false);
itsFormMode=false;
}
+ else if(opts.highlightScrollViews && ::tqqt_cast<TQScrollView *>(itsHoverWidget))
+ itsHoverWidget->repaint(false);
}
else
itsHoverWidget=0L;
@@ -2519,38 +2550,38 @@ bool QtCurveStyle::objectEventHandler( const TQStyleControlElementData &ceData,
return BASE_STYLE::objectEventHandler(ceData, elementFlags, source, event);
}
-void QtCurveStyle::drawLightBevel(const TQColor &bgnd, TQPainter *p, const TQRect &rOrig,
- const TQColorGroup &cg, SFlags flags,
- int round, const TQColor &fill, const TQColor *custom,
- bool doBorder, bool doCorners, EWidget w) const
+void QtCurveStyle::drawLightBevel(const TQColor &bgnd, TQPainter *p, const TQRect &rOrig, const TQColorGroup &cg, SFlags flags, int round,
+ const TQColor &fill, const TQColor *custom, bool doBorder, bool doCorners, EWidget w, const TQWidget *widget) const
{
- EAppearance app(widgetApp(w, &opts));
+ EAppearance app(widgetApp(APPEARANCE_NONE!=opts.tbarBtnAppearance &&
+ (WIDGET_TOOLBAR_BUTTON==w || (WIDGET_BUTTON(w) && isOnToolbar(widget, p)))
+ ? WIDGET_TOOLBAR_BUTTON : w, &opts));
TQRect r(rOrig),
- br(r);
- bool bevelledButton(WIDGET_BUTTON(w) && APPEARANCE_BEVELLED==app),
- sunken(flags &(Style_Down|Style_On|Style_Sunken)),
- flatWidget(WIDGET_PROGRESSBAR==w && !opts.borderProgress),
- lightBorder(!flatWidget && DRAW_LIGHT_BORDER(sunken , w, app)),
- draw3dfull(!flatWidget && !lightBorder && DRAW_3D_FULL_BORDER(sunken, app)),
- draw3d(!flatWidget && (draw3dfull || (!lightBorder && DRAW_3D_BORDER(sunken, app)))),
- doColouredMouseOver(!sunken && doBorder &&
+ br(r);
+ bool bevelledButton(WIDGET_BUTTON(w) && APPEARANCE_BEVELLED==app),
+ sunken(flags &(Style_Down|Style_On|Style_Sunken)),
+ flatWidget(WIDGET_PROGRESSBAR==w && !opts.borderProgress),
+ lightBorder(!flatWidget && DRAW_LIGHT_BORDER(sunken , w, app)),
+ draw3dfull(!flatWidget && !lightBorder && DRAW_3D_FULL_BORDER(sunken, app)),
+ draw3d(!flatWidget && (draw3dfull || (!lightBorder && DRAW_3D_BORDER(sunken, app)))),
+ doColouredMouseOver(!sunken && doBorder &&
opts.coloredMouseOver && flags&Style_MouseOver &&
WIDGET_SPIN!=w && WIDGET_COMBO_BUTTON!=w && WIDGET_SB_BUTTON!=w &&
(WIDGET_SB_SLIDER!=w || !opts.colorSliderMouseOver) &&
!(flags&DW_CLOSE_BUTTON) &&
(opts.coloredTbarMo || !(flags&STD_TOOLBUTTON)) &&
(flags&CHECK_BUTTON || flags&TOGGLE_BUTTON || !sunken)),
- plastikMouseOver(doColouredMouseOver && MO_PLASTIK==opts.coloredMouseOver),
- colouredMouseOver(doColouredMouseOver &&
+ plastikMouseOver(doColouredMouseOver && MO_PLASTIK==opts.coloredMouseOver),
+ colouredMouseOver(doColouredMouseOver &&
(MO_COLORED==opts.coloredMouseOver || MO_COLORED_THICK==opts.coloredMouseOver ||
(MO_GLOW==opts.coloredMouseOver && itsFormMode))),
- doEtch(!itsFormMode && doBorder && ETCH_WIDGET(w) && !(flags&CHECK_BUTTON) &&
+ doEtch(!itsFormMode && doBorder && ETCH_WIDGET(w) && !(flags&CHECK_BUTTON) &&
DO_EFFECT),
- glowFocus(doEtch && USE_GLOW_FOCUS(flags&Style_MouseOver) && flags&Style_HasFocus && flags&Style_Enabled),
- sunkenToggleMo(sunken && !(flags&Style_Down) && flags&(Style_MouseOver|TOGGLE_BUTTON)),
- horiz(flags&Style_Horizontal);
+ glowFocus(doEtch && USE_GLOW_FOCUS(flags&Style_MouseOver) && flags&Style_HasFocus && flags&Style_Enabled),
+ sunkenToggleMo(sunken && !(flags&Style_Down) && flags&(Style_MouseOver|TOGGLE_BUTTON)),
+ horiz(flags&Style_Horizontal);
const TQColor *cols(custom ? custom : itsBackgroundCols),
- *border(colouredMouseOver ? borderColors(flags, cols) : cols);
+ *border(colouredMouseOver ? borderColors(flags, cols) : cols);
p->save();
@@ -2570,7 +2601,7 @@ void QtCurveStyle::drawLightBevel(const TQColor &bgnd, TQPainter *p, const TQRec
p->setClipRegion(p->clipRegion().eor(TQRegion(br)));
}
br.addCoords(1, 1,-1,-1);
- drawBevelGradient(fill, p, br, horiz, sunken, app, w);
+ drawBevelGradient(fill, bgnd, p, br, horiz, sunken, app, w);
br.addCoords(-1, -1, 1, 1);
if(WIDGET_PROGRESSBAR==w && opts.stripedProgress)
p->restore();
@@ -2581,7 +2612,7 @@ void QtCurveStyle::drawLightBevel(const TQColor &bgnd, TQPainter *p, const TQRec
else if(colouredMouseOver || (draw3d && flags&Style_Raised))
{
int dark(/*bevelledButton ? */2/* : 4*/);
-
+
if(colouredMouseOver)
p->setPen(border[MO_STD_LIGHT(w, sunken)]);
else
@@ -2642,16 +2673,16 @@ void QtCurveStyle::drawLightBevel(const TQColor &bgnd, TQPainter *p, const TQRec
if(horiz)
{
- drawBevelGradient(itsMouseOverCols[col], p, TQRect(r.x()+so, r.y(), len, r.height()),
+ drawBevelGradient(itsMouseOverCols[col], bgnd, p, TQRect(r.x()+so, r.y(), len, r.height()),
horiz, sunken, app, w);
- drawBevelGradient(itsMouseOverCols[col], p, TQRect(r.x()+r.width()-eo, r.y(), len, r.height()),
+ drawBevelGradient(itsMouseOverCols[col], bgnd, p, TQRect(r.x()+r.width()-eo, r.y(), len, r.height()),
horiz, sunken, app, w);
}
else
{
- drawBevelGradient(itsMouseOverCols[col], p, TQRect(r.x(), r.y()+so, r.width(), len),
+ drawBevelGradient(itsMouseOverCols[col], bgnd, p, TQRect(r.x(), r.y()+so, r.width(), len),
horiz, sunken, app, w);
- drawBevelGradient(itsMouseOverCols[col], p, TQRect(r.x(), r.y()+r.height()-eo, r.width(), len),
+ drawBevelGradient(itsMouseOverCols[col], bgnd, p, TQRect(r.x(), r.y()+r.height()-eo, r.width(), len),
horiz, sunken, app, w);
}
}
@@ -2712,7 +2743,7 @@ void QtCurveStyle::drawLightBevel(const TQColor &bgnd, TQPainter *p, const TQRec
? itsMouseOverCols
: itsButtonCols
: cols;
-
+
if((!sunken || sunkenToggleMo) && flags&Style_Enabled && !glowFocus &&
((((doEtch && WIDGET_OTHER!=w && WIDGET_SLIDER_TROUGH!=w) || WIDGET_COMBO==w || WIDGET_SB_SLIDER==w) &&
MO_GLOW==opts.coloredMouseOver && flags&Style_MouseOver) ||
@@ -2728,7 +2759,7 @@ void QtCurveStyle::drawLightBevel(const TQColor &bgnd, TQPainter *p, const TQRec
}
if(doEtch || glowFocus) {
- if( (!sunken || sunkenToggleMo) && !(opts.thin&THIN_FRAMES) &&
+ if( (!sunken || sunkenToggleMo) && !(opts.thin&THIN_FRAMES) &&
((WIDGET_OTHER!=w && WIDGET_SLIDER_TROUGH!=w && MO_GLOW==opts.coloredMouseOver && flags&Style_MouseOver) ||
glowFocus ||
(WIDGET_DEF_BUTTON==w && IND_GLOW==opts.defBtnIndicator)/* ||
@@ -2736,7 +2767,7 @@ void QtCurveStyle::drawLightBevel(const TQColor &bgnd, TQPainter *p, const TQRec
drawGlow(p, rOrig, cg, WIDGET_DEF_BUTTON==w && flags&Style_MouseOver ? WIDGET_STD_BUTTON : w,
glowFocus ? itsFocusCols : 0);
else
- drawEtch(p, rOrig, cg, EFFECT_SHADOW==opts.buttonEffect && WIDGET_BUTTON(w) && !sunken, ROUNDED_NONE==round);
+ drawEtch(p, rOrig, cg, EFFECT_SHADOW==opts.buttonEffect && WIDGET_BUTTON(w) && !sunken, ROUNDED_NONE==round, w);
}
p->restore();
@@ -2777,12 +2808,15 @@ void QtCurveStyle::drawGlow(TQPainter *p, const TQRect &r, const TQColorGroup &c
}
}
-void QtCurveStyle::drawEtch(TQPainter *p, const TQRect &r, const TQColorGroup &cg, bool raised, bool square) const
+void QtCurveStyle::drawEtch(TQPainter *p, const TQRect &r, const TQColorGroup &cg, bool raised, bool square, EWidget w) const
{
square=square || ROUND_NONE==opts.round;
int mod(square ? 0 : 2);
+ if(WIDGET_TOOLBAR_BUTTON==w && EFFECT_ETCH==opts.tbarBtnEffect)
+ raised=false;
+
{
TQColor col(raised ? shade(cg.background(), ETCHED_DARK) : itsBackgroundCols[1]);
@@ -3288,7 +3322,7 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
bool menuTitle(widget && (ceData.widgetObjectTypes.count() > 0) && 0==qstrcmp(ceData.widgetObjectTypes[ceData.widgetObjectTypes.count()-1].ascii(), "TDEPopupTitle"));
const TQColor *use(buttonColors(cg));
TQRect r2(r);
-
+
if(menuTitle)
r2.addCoords(2, 2, -2, -2);
drawLightBevel(p, r2, cg, flags|Style_Horizontal, ROUNDED_ALL, getFill(flags, use), use);
@@ -3298,7 +3332,7 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
const TQColor *use(flags&Style_Enabled && itsSortedLvColors && isSort
? itsSortedLvColors
: opts.lvButton ? buttonColors(cg) : backgroundColors(cg));
-
+
flags=((flags|Style_Sunken)^Style_Sunken)| Style_Raised;
if(NO_SECT!=itsHoverSect && HOVER_HEADER==itsHover && itsHoverWidget)
@@ -3311,7 +3345,7 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
bool sunken(flags &(Style_Down | Style_On | Style_Sunken));
- drawBevelGradient(getFill(flags, use), p, r, flags&Style_Horizontal,
+ drawBevelGradient(getFill(flags, use), cg.background(), p, r, flags&Style_Horizontal,
sunken, opts.lvAppearance, WIDGET_LISTVIEW_HEADER);
if(APPEARANCE_RAISED==opts.lvAppearance)
@@ -3589,7 +3623,7 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
if(IS_FLAT(opts.appearance))
p->fillRect(TQRect(rect.x()+1, rect.y()+1, rect.width()-2, rect.height()-2), bgnd);
else
- drawBevelGradient(bgnd, p, TQRect(rect.x()+1, rect.y()+1, rect.width()-2, rect.height()-2), true,
+ drawBevelGradient(bgnd, bgnd, p, TQRect(rect.x()+1, rect.y()+1, rect.width()-2, rect.height()-2), true,
drawSunken, app, wid);
if(MO_NONE!=opts.coloredMouseOver && !glow && sflags&Style_MouseOver && sflags&Style_Enabled)
@@ -3722,7 +3756,7 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
p->save();
if(opts.crHighlight && sflags&Style_MouseOver)
- drawBevelGradient(shade(cg.background(), TO_FACTOR(opts.crHighlight)), p, r, true,
+ drawBevelGradient(shade(cg.background(), TO_FACTOR(opts.crHighlight)), cg.background(), p, r, true,
false, opts.selectionAppearance, WIDGET_SELECTION);
else
p->fillRect(r, cg.background());
@@ -3739,7 +3773,7 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
if(IS_FLAT(opts.appearance))
p->fillRect(TQRect(x+1, y+1, rect.width()-2, rect.height()-2), bgnd);
else
- drawBevelGradient(bgnd, p, TQRect(x+1, y+1, rect.width()-2, rect.height()-2), true,
+ drawBevelGradient(bgnd, bgnd, p, TQRect(x+1, y+1, rect.width()-2, rect.height()-2), true,
drawSunken, app, wid);
if(coloredMo)
@@ -3863,9 +3897,9 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
if(0!=opts.tabBgnd && p->device() && inStackWidget(dynamic_cast<const TQWidget *>(p->device())))
color=shade(color, TO_FACTOR(opts.tabBgnd));
-
+
if(flags&Style_MouseOver && opts.splitterHighlight)
- drawBevelGradient(shade(cg.background(), TO_FACTOR(opts.splitterHighlight)), p, r, !(flags&Style_Horizontal),
+ drawBevelGradient(shade(cg.background(), TO_FACTOR(opts.splitterHighlight)), cg.background(), p, r, !(flags&Style_Horizontal),
false, opts.selectionAppearance, WIDGET_SELECTION);
else
p->fillRect(r, color);
@@ -3897,7 +3931,7 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
(!((TQGroupBox *)(p->device()))->title().isEmpty() || ((TQGroupBox *)(p->device()))->isCheckable()))
r2.addCoords(8, 0, -8, 0);
p->setPen(backgroundColors(cg)[STD_BORDER]);
- p->drawLine(r2.x(), r2.y(), r2.x()+r2.width()-1, r2.y());
+ p->drawLine(r2.x(), r2.y(), r2.x()+r2.width()-1, r2.y());
}
else if (FRAME_NONE!=opts.groupBox) {
if(APP_OPENOFFICE==itsThemedApp || data.lineWidth()>0 || data.isDefault())
@@ -3930,8 +3964,6 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
(sv ||
(widget && widget->parentWidget() && ::tqqt_cast<const TQFrame *>(widget) &&
widget->parentWidget()->inherits("KateView"))));
- const TQColor *use(opts.highlightScrollViews && /*!square &&*/ flags&Style_HasFocus ? itsHighlightCols :
- backgroundColors(cg));
// if(square)
// {
@@ -3950,19 +3982,29 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
flags&=~Style_HasFocus;
if(sv && opts.etchEntry && ((TQFrame *)widget)->lineWidth()>2)
{
- drawEntryField(p, r, cg, flags, flags&Style_Enabled
- ? /*flags&Style_MouseOver
+ drawEntryField(p, r, cg, flags, flags&Style_Enabled && opts.highlightScrollViews
+ ? flags&Style_MouseOver
? ENTRY_MOUSE_OVER
- :*/ flags&Style_HasFocus
+ : flags&Style_HasFocus
? ENTRY_FOCUS
: ENTRY_NONE
: ENTRY_NONE, square ? ROUNDED_NONE : ROUNDED_ALL, WIDGET_SCROLLVIEW);
}
else
+ {
+ const TQColor *use(sv && opts.highlightScrollViews
+ ? widget==itsHoverWidget
+ ? itsMouseOverCols
+ : flags&Style_HasFocus
+ ? itsFocusCols
+ : backgroundColors(cg)
+ : backgroundColors(cg));
+
drawBorder(cg.background(), p, r, cg,
(SFlags)(flags|Style_Horizontal|Style_Enabled),
square ? ROUNDED_NONE : ROUNDED_ALL, use, sv ? WIDGET_SCROLLVIEW : WIDGET_OTHER, APP_KICKER!=itsThemedApp,
itsIsTransKicker ? BORDER_FLAT : (flags&Style_Sunken ? BORDER_SUNKEN : BORDER_RAISED) );
+ }
itsFormMode=false;
}
}
@@ -3996,7 +4038,7 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
else
{
if(GB_3D==border)
- p->setPen(popupMenuCol(cg));
+ p->setPen(use[ORIGINAL_SHADE]);
p->drawLine(r.x()+1, r.y()+1, r.x()+r.width()-2, r.y()+1);
p->drawLine(r.x()+1, r.y()+1, r.x()+1, r.y()+r.height()-2);
p->setPen(use[FRAME_DARK_SHADOW]);
@@ -4006,7 +4048,7 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
}
else if(IS_FLAT_BGND(opts.menuBgndAppearance))
{
- p->setPen(/*USE_LIGHTER_POPUP_MENU ? */popupMenuCol(cg)/* : cg.background()*/);
+ p->setPen(/*USE_LIGHTER_POPUP_MENU ? */use[ORIGINAL_SHADE]/* : cg.background()*/);
p->drawRect(TQRect(r.x()+1, r.y()+1, r.width()-2, r.height()-2));
}
break;
@@ -4037,7 +4079,7 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
case PE_PanelDockWindow:
case PE_PanelMenuBar:
{
- // fix for toolbar lag (from Mosfet Liquid)
+ // fix for toolbar lag (from Mosfet Liquid)
TQWidget *w = dynamic_cast<TQWidget *>(p->device());
if(w)
@@ -4140,7 +4182,7 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
p->setClipRegion(TQRegion(s2)+TQRegion(addpage));
if(opts.flatSbarButtons && SCROLLBAR_NONE!=opts.scrollbarType && ROUNDED && !IS_FLAT(opts.sbarBgndAppearance))
- drawBevelGradient(itsBackgroundCols[ORIGINAL_SHADE], p, r, flags&Style_Horizontal, false,
+ drawBevelGradient(itsBackgroundCols[ORIGINAL_SHADE], itsBackgroundCols[ORIGINAL_SHADE], p, r, flags&Style_Horizontal, false,
opts.sbarBgndAppearance, WIDGET_SB_BGND);
else if(opts.thinSbarGroove && (SCROLLBAR_NONE==opts.scrollbarType || opts.flatSbarButtons) && IS_FLAT(opts.sbarBgndAppearance))
{
@@ -4307,7 +4349,7 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
? cg.highlightedText()
: itsFocusCols[FOCUS_SHADE(flags&Style_Selected)]);
p->drawLine(r.x(), r.y()+r.height()-1, r.x()+r.width()-1, r.y()+r.height()-1);
- }
+ }
else if(r.width()<4 || r.height()<4 || view)
{
// TQRect r2(r);
@@ -4390,7 +4432,7 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
// if((opts.square&SQUARE_SCROLLVIEW) && scrollView)
// {
// const TQColor *use(backgroundColors(cg));
-//
+//
// p->setPen(use[STD_BORDER]);
// p->drawLine(r.bottomLeft(), r.topLeft());
// p->drawLine(r.topLeft(), r.topRight());
@@ -4414,7 +4456,7 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
if(flags&Style_Enabled && isReadOnly)
flags-=Style_Enabled;
}
-
+
// HACK!! (From Plastik)
//
// In this place there is no reliable way to detect if we are in tdehtml; the
@@ -4430,8 +4472,8 @@ void QtCurveStyle::drawPrimitive(TQ_PrimitiveElement pe, TQPainter *p, const TQS
TQRect r2(r);
r2.addCoords(1, 1, -1, -1);
// p->fillRect(r2, flags&Style_Enabled ? cg.base() : cg.background());
- drawEntryField(p, r, cg, flags, !isReadOnly && isEnabled
- ? flags&Style_MouseOver && !scrollView
+ drawEntryField(p, r, cg, flags, !isReadOnly && isEnabled && (!scrollView || opts.highlightScrollViews)
+ ? flags&Style_MouseOver
? ENTRY_MOUSE_OVER
: flags&Style_HasFocus
? ENTRY_FOCUS
@@ -4557,7 +4599,7 @@ void QtCurveStyle::drawTDEStylePrimitive(TDEStylePrimitive kpe, TQPainter *p, co
r.rect(&x, &y, &w, &h);
if(!IS_FLAT(opts.dwtAppearance))
- drawBevelGradient(cg.background(), p, r, horizontal, false, opts.dwtAppearance, WIDGET_DOCK_WIDGET_TITLE);
+ drawBevelGradient(cg.background(), cg.background(), p, r, horizontal, false, opts.dwtAppearance, WIDGET_DOCK_WIDGET_TITLE);
else
p->fillRect(r, cg.background()); // .dark(DW_BGND));
// p->setPen(itsBackgroundCols[STD_BORDER]);
@@ -4753,7 +4795,7 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
rx.addCoords(1, 0, -1, -6);
p->fillRect(rx, shade(cg.background(), TO_FACTOR(opts.tabBgnd)));
}
-
+
if(!active) {
if(top) {
tr.addCoords(0, 2, 0, 0);
@@ -4780,11 +4822,11 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
if(opts.tabBgnd)
col=shade(col, TO_FACTOR(opts.tabBgnd));
-
+
if(invertedSel)
p->fillRect(glowTr, col);
else
- drawBevelGradient(col, p, glowTr, true,
+ drawBevelGradient(col, cg.background(), p, glowTr, true,
active, active ? SEL_TAB_APP : NORM_TAB_APP, top ? WIDGET_TAB_TOP : WIDGET_TAB_BOT);
drawBorder(cg.background(), p, glowTr, cg, flags|Style_Horizontal|Style_Enabled,
@@ -4901,7 +4943,7 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
}
p->setPen(itsBackgroundCols[STD_BORDER]);
p->drawLine(r.x(), r.y()+1, r.x()+r.width()-1, r.y()+1);
-
+
if(opts.coloredMouseOver && itsHover && TAB_MO_GLOW!=opts.tabMouseOver)
drawHighlight(p, TQRect(tr.x()+(firstTab ? moOffset : 1),
tr.y()+(TAB_MO_TOP==opts.tabMouseOver ? tr.height()-2 : 1),
@@ -4914,7 +4956,7 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
p->setPen(itsBackgroundCols[STD_BORDER]);
p->drawPoint(r.x(), r.y());
}
-
+
if(active && opts.highlightTab)
{
p->setPen(itsHighlightCols[0]);
@@ -4989,7 +5031,7 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
}
}
- drawItem(p, tr, AlignCenter | ShowPrefix, cg, flags & Style_Enabled, 0, t->text());
+ drawItem(p, tr, AlignCenter | ShowPrefix | (styleHint(SH_UnderlineAccelerator, ceData, elementFlags, data, 0, widget) ? 0 : NoAccel), cg, flags & Style_Enabled, 0, t->text());
if ((flags & Style_HasFocus) && !t->text().isEmpty())
{
@@ -5072,7 +5114,7 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
int cw(iw+pw+constSpace);
- xo=cw<w ? (w-cw)>>1 : constSpace;
+ xo=cw<w ? (w-cw)>>1 : constSpace;
p->drawPixmap(x+xo, y + (h>>1) - (pixmap.height()>>1), pixmap);
xo+=pw;
}
@@ -5095,7 +5137,8 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
// Make the label indicate if the button is a default button or not
int i,
- j(opts.embolden && (elementFlags & CEF_IsDefault) ? 2 : 1);
+ j(opts.embolden && button->isDefault() ? 2 : 1),
+ textFlags(AlignCenter|ShowPrefix|(styleHint(SH_UnderlineAccelerator, ceData, elementFlags, data, 0, widget) ? 0 : NoAccel));
bool sidebar(!opts.stdSidebarButtons &&
(((elementFlags & CEF_IsFlat) && button->inherits("KMultiTabBarTab")) ||
((elementFlags & CEF_HasParentWidget) && button->inherits("Ideal::Button") &&
@@ -5105,7 +5148,7 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
: ceData.colorGroup.buttonText());
for(i=0; i<j; i++)
- drawItem(p, TQRect(x+i, y, w, h), AlignCenter|ShowPrefix, ceData.colorGroup,
+ drawItem(p, TQRect(x+i, y, w, h), textFlags, ceData.colorGroup,
(elementFlags & CEF_IsEnabled),
button->pixmap(), button->text(), -1, &textCol);
@@ -5127,6 +5170,7 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
maxpmw(data.maxIconWidth()),
x, y, w, h;
bool reverse(TQApplication::reverseLayout());
+ const TQColor *use(popupMenuCols(cg));
maxpmw=TQMAX(maxpmw, constMenuPixmapWidth);
r.rect(&x, &y, &w, &h);
@@ -5136,17 +5180,17 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
else
{
if(IS_FLAT_BGND(opts.menuBgndAppearance))
- p->fillRect(r, popupMenuCol(cg));
+ p->fillRect(r, use[ORIGINAL_SHADE]);
if(opts.menuStripe)
- drawBevelGradient(menuStripeCol(cg), p,
+ drawBevelGradient(menuStripeCol(cg), use[ORIGINAL_SHADE], p,
TQRect(reverse ? r.right()-maxpmw : r.x(),
r.y(), maxpmw, r.height()), false,
false, opts.menuStripeAppearance, WIDGET_OTHER);
}
if((flags&Style_Active) && (flags&Style_Enabled))
- drawMenuItem(p, r, flags, cg, false, ROUNDED_ALL, popupMenuCol(cg),
+ drawMenuItem(p, r, flags, cg, false, ROUNDED_ALL, use[ORIGINAL_SHADE],
opts.useHighlightForMenu ? itsHighlightCols : itsBackgroundCols);
if(!mi)
@@ -5224,15 +5268,18 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
if(!text.isNull())
{
- int t(text.find('\t'));
+ int t(text.find('\t')),
+ textFlags=AlignVCenter|ShowPrefix|DontClip|SingleLine;
+
+ if (!styleHint(SH_UnderlineAccelerator, ceData, elementFlags, data, 0, widget))
+ textFlags |= NoAccel;
// draw accelerator/tab-text
if(t>=0)
- p->drawText(tr, AlignVCenter|ShowPrefix|DontClip|SingleLine|(reverse ? AlignLeft : AlignRight),
- text.mid(t+1));
+ p->drawText(tr, textFlags|(reverse ? AlignLeft : AlignRight), text.mid(t+1));
- p->drawText(ir, AlignVCenter|ShowPrefix|DontClip|SingleLine|(reverse ? AlignRight : AlignLeft), text, t);
- }
+ p->drawText(ir, textFlags|(reverse ? AlignRight : AlignLeft), text, t);
+ }
else if(mi->pixmap())
{
TQPixmap *pixmap(mi->pixmap());
@@ -5279,8 +5326,7 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
TQMenuItem *mi(data.menuItem());
if(mi->text().isEmpty()) // Draw pixmap...
- drawItem(p, r, AlignCenter|ShowPrefix|DontClip|SingleLine, cg, flags&Style_Enabled,
- mi->pixmap(), TQString());
+ drawItem(p, r, AlignCenter|ShowPrefix|DontClip|SingleLine, cg, flags&Style_Enabled, mi->pixmap(), TQString());
else
{
const TQColor *col=((opts.colorMenubarMouseOver && active) || (!opts.colorMenubarMouseOver && down))
@@ -5292,7 +5338,7 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
: &cg.foreground();
p->setPen(*col);
- p->drawText(r, AlignCenter|ShowPrefix|DontClip|SingleLine, mi->text());
+ p->drawText(r, AlignCenter|ShowPrefix|DontClip|SingleLine|(styleHint(SH_UnderlineAccelerator, ceData, elementFlags, data, 0, widget) ? 0 : NoAccel), mi->text());
}
break;
@@ -5331,8 +5377,7 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
col=itsBackgroundCols[2];
}
- drawBevelGradient(col, p, rx, true,
- false, opts.progressGrooveAppearance, WIDGET_PBAR_TROUGH);
+ drawBevelGradient(col, cg.background(), p, rx, true, false, opts.progressGrooveAppearance, WIDGET_PBAR_TROUGH);
const TQColor *use(backgroundColors(cg));
@@ -5346,7 +5391,7 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
p->drawLine(r.topLeft(), r.topRight());
p->drawLine(r.bottomLeft(), r.bottomRight());
}
-
+
if(doEtch)
drawEtch(p, r, cg, false, (opts.square&SQUARE_PROGRESS));
@@ -5531,13 +5576,13 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
r-=visualRect(subRect(SR_CheckBoxIndicator, ceData, elementFlags, widget), ceData, elementFlags);
p->setClipRegion(r);
- drawBevelGradient(shade(cg.background(), TO_FACTOR(opts.crHighlight)), p, checkbox->rect(), true,
+ drawBevelGradient(shade(cg.background(), TO_FACTOR(opts.crHighlight)), cg.background(), p, checkbox->rect(), true,
false, opts.selectionAppearance, WIDGET_SELECTION);
p->setClipping(false);
}
int alignment(TQApplication::reverseLayout() ? AlignRight : AlignLeft);
- drawItem(p, r, alignment | AlignVCenter | ShowPrefix, cg,
+ drawItem(p, r, alignment|AlignVCenter|ShowPrefix|(styleHint(SH_UnderlineAccelerator, ceData, elementFlags, data, 0, widget) ? 0 : NoAccel), cg,
flags & Style_Enabled, checkbox->pixmap(), checkbox->text());
if(checkbox->hasFocus() && FOCUS_GLOW!=opts.focus)
@@ -5569,15 +5614,15 @@ void QtCurveStyle::drawControl(ControlElement control, TQPainter *p, const TQSty
rb.height()));
r-=visualRect(subRect(SR_RadioButtonIndicator, ceData, elementFlags, widget), ceData, elementFlags);
p->setClipRegion(r);
- drawBevelGradient(shade(cg.background(), TO_FACTOR(opts.crHighlight)), p, ceData.rect, true,
+ drawBevelGradient(shade(cg.background(), TO_FACTOR(opts.crHighlight)), cg.background(), p, ceData.rect, true,
false, opts.selectionAppearance, WIDGET_SELECTION);
p->setClipping(false);
}
int alignment(TQApplication::reverseLayout() ? AlignRight : AlignLeft);
- drawItem(p, r, alignment | AlignVCenter | ShowPrefix, cg, flags & Style_Enabled,
- radiobutton->pixmap(), radiobutton->text());
+ drawItem(p, r, alignment|AlignVCenter|ShowPrefix|(styleHint(SH_UnderlineAccelerator, ceData, elementFlags, data, 0, widget) ? 0 : NoAccel),
+ cg, flags & Style_Enabled, radiobutton->pixmap(), radiobutton->text());
if((elementFlags & CEF_HasFocus) && FOCUS_GLOW!=opts.focus)
drawPrimitive(PE_FocusRect, p, ceData, elementFlags, visualRect(subRect(SR_RadioButtonFocusRect, ceData, elementFlags,
@@ -5701,7 +5746,7 @@ void QtCurveStyle::drawComplexControl(ComplexControl control, TQPainter *p, cons
case CC_ToolButton:
{
const TQToolButton *toolbutton((const TQToolButton *)widget);
- TQRect button(querySubControlMetrics(control, ceData, elementFlags, SC_ToolButton, data, widget)),
+ TQRect button(querySubControlMetrics(control, ceData, elementFlags, SC_ToolButton, data, widget)),
menuarea(querySubControlMetrics(control, ceData, elementFlags, SC_ToolButtonMenu,
data, widget));
SFlags bflags(flags|STD_TOOLBUTTON),
@@ -5731,7 +5776,7 @@ void QtCurveStyle::drawComplexControl(ComplexControl control, TQPainter *p, cons
break;
bflags|=DW_CLOSE_BUTTON;
}
-
+
if (!tb && !onExtender && (elementFlags & CEF_HasParentWidget) &&
!qstrcmp(ceData.parentWidgetData.name.ascii(), "qt_maxcontrols"))
onControlButtons = true;
@@ -5947,7 +5992,7 @@ void QtCurveStyle::drawComplexControl(ComplexControl control, TQPainter *p, cons
getFill(fillFlags, cols, false, (SHADE_DARKEN==opts.comboBtn ||
(SHADE_NONE!=opts.comboBtn && !(flags&Style_Enabled))) &&
editable),
- cols, true, true, editable ? WIDGET_COMBO_BUTTON : WIDGET_COMBO);
+ cols, true, true, editable ? WIDGET_COMBO_BUTTON : WIDGET_COMBO, widget);
}
}
@@ -5976,7 +6021,7 @@ void QtCurveStyle::drawComplexControl(ComplexControl control, TQPainter *p, cons
: fieldFlags&Style_HasFocus
? ENTRY_FOCUS
: ENTRY_NONE
- : ENTRY_NONE,
+ : ENTRY_NONE,
(opts.square&SQUARE_ENTRY)
? ROUNDED_NONE
: opts.unifyCombo
@@ -6046,7 +6091,7 @@ void QtCurveStyle::drawComplexControl(ComplexControl control, TQPainter *p, cons
drawLightBevel(p, btn, cg, btnFlags|Style_Horizontal, reverse ? ROUNDED_LEFT : ROUNDED_RIGHT,
getFill(btnFlags, cols, false, SHADE_DARKEN==opts.comboBtn ||
(SHADE_NONE!=opts.comboBtn && !(flags&Style_Enabled))),
- cols, true, true, WIDGET_COMBO);
+ cols, true, true, WIDGET_COMBO, widget);
p->restore();
}
@@ -6062,7 +6107,7 @@ void QtCurveStyle::drawComplexControl(ComplexControl control, TQPainter *p, cons
{
bool glowFocus(USE_GLOW_FOCUS(flags&Style_MouseOver) && flags&Style_HasFocus && flags&Style_Enabled);
- if(!sunken && !editable && !(opts.thin&THIN_FRAMES) &&
+ if(!sunken && !editable && !(opts.thin&THIN_FRAMES) &&
((MO_GLOW==opts.coloredMouseOver && flags&Style_MouseOver)/* ||
(FOCUS_FULL==opts.focus && flags&Style_HasFocus)*/ || glowFocus))
drawGlow(p, widget ? TQT_TQRECT_OBJECT(ceData.rect) : r, cg, WIDGET_COMBO, glowFocus ? itsFocusCols : NULL);
@@ -6102,7 +6147,7 @@ void QtCurveStyle::drawComplexControl(ComplexControl control, TQPainter *p, cons
if(opts.unifySpin)
drawEntryField(p, all, cg, flags, ceData.widgetObjectTypes.contains(TQSPINWIDGET_OBJECT_NAME_STRING) && flags&Style_Enabled
- ? flags&Style_MouseOver || hw
+ ? flags&Style_MouseOver || hw
? ENTRY_MOUSE_OVER
: flags&Style_HasFocus || (elementFlags & CEF_HasFocus)
? ENTRY_FOCUS
@@ -6136,14 +6181,14 @@ void QtCurveStyle::drawComplexControl(ComplexControl control, TQPainter *p, cons
btnFlags|=Style_Horizontal;
drawLightBevel(p, btns, cg, btnFlags, reverse ? ROUNDED_LEFT : ROUNDED_RIGHT, getFill(btnFlags, use),
- use, true, true, WIDGET_SPIN);
+ use, true, true, WIDGET_SPIN, widget);
if(hw && (HOVER_SW_DOWN==itsHover || HOVER_SW_UP==itsHover) && flags&Style_Enabled && !(flags&Style_Sunken))
{
btnFlags|=Style_MouseOver;
p->save();
p->setClipRect(HOVER_SW_UP==itsHover ? up : down);
drawLightBevel(p, btns, cg, btnFlags, reverse ? ROUNDED_LEFT : ROUNDED_RIGHT, getFill(btnFlags, use),
- use, true, true, WIDGET_SPIN);
+ use, true, true, WIDGET_SPIN, widget);
p->restore();
}
p->setPen(use[BORDER_VAL(style&Style_Enabled)]);
@@ -6191,7 +6236,7 @@ void QtCurveStyle::drawComplexControl(ComplexControl control, TQPainter *p, cons
frame.setWidth(frame.width()+1);
drawEntryField(p, frame, cg, flags,
ceData.widgetObjectTypes.contains(TQSPINWIDGET_OBJECT_NAME_STRING) && flags&Style_Enabled
- ? flags&Style_MouseOver || hw
+ ? flags&Style_MouseOver || hw
? ENTRY_MOUSE_OVER
: flags&Style_HasFocus || (elementFlags & CEF_HasFocus)
? ENTRY_FOCUS
@@ -6342,7 +6387,7 @@ void QtCurveStyle::drawComplexControl(ComplexControl control, TQPainter *p, cons
if(opts.thinSbarGroove) {
if(opts.flatSbarButtons && SCROLLBAR_NONE!=opts.scrollbarType && ROUNDED) {
- drawBevelGradient(itsBackgroundCols[ORIGINAL_SHADE], p, slider, flags&Style_Horizontal, false,
+ drawBevelGradient(itsBackgroundCols[ORIGINAL_SHADE], itsBackgroundCols[ORIGINAL_SHADE], p, slider, flags&Style_Horizontal, false,
opts.sbarBgndAppearance, WIDGET_SB_BGND);
}
else if(opts.thinSbarGroove && (SCROLLBAR_NONE==opts.scrollbarType || opts.flatSbarButtons) &&
@@ -6496,7 +6541,7 @@ void QtCurveStyle::drawComplexControl(ComplexControl control, TQPainter *p, cons
textRect(full ? tb->rect().x() : ir.x(), ir.y(), full ? tb->rect().width() : ir.width(), ir.height());
EAppearance app=isActive ? opts.titlebarAppearance : opts.inactiveTitlebarAppearance;
- drawBevelGradient(cols[ORIGINAL_SHADE], p, r, true, false, app, WIDGET_MDI_WINDOW);
+ drawBevelGradient(cols[ORIGINAL_SHADE], cg.background(), p, r, true, false, app, WIDGET_MDI_WINDOW);
ir.addCoords(2, 0, -4, 0);
TQFontMetrics fm(TQFontMetrics(ceData.font));
@@ -7103,6 +7148,8 @@ int QtCurveStyle::styleHint(StyleHint stylehint, const TQStyleControlElementData
{
switch(stylehint)
{
+ case SH_UnderlineAccelerator:
+ return widget && opts.hideShortcutUnderline ? itsShortcutHandler->showShortcut(widget) : true;
case SH_PopupMenu_SubMenuPopupDelay:
return opts.menuDelay;
case SH_ScrollView_FrameOnlyAroundContents:
@@ -7176,9 +7223,8 @@ void QtCurveStyle::drawItem(TQPainter *p, const TQRect &r, int flags, const TQCo
f.setBold(true);
p->setPen(box->colorGroup().foreground());
p->setFont(f);
- p->drawText(TQRect(left, top, width, th), (TQApplication::reverseLayout()
- ? AlignRight
- : AlignLeft)|AlignVCenter|ShowPrefix|SingleLine,
+ p->drawText(TQRect(left, top, width, th), (TQApplication::reverseLayout() ? AlignRight : AlignLeft)|
+ AlignVCenter|ShowPrefix|SingleLine,
text);
return;
}
@@ -7247,7 +7293,7 @@ void QtCurveStyle::drawItem(TQPainter *p, const TQRect &r, int flags, const TQCo
del = !TQPixmapCache::insert(k, mask);
}
pm = *mask;
- if (del)
+ if (del)
delete mask;
#endif
}
@@ -7265,8 +7311,7 @@ void QtCurveStyle::drawItem(TQPainter *p, const TQRect &r, int flags, const TQCo
}
}
-void QtCurveStyle::drawMenuItem(TQPainter *p, const TQRect &r, int flags, const TQColorGroup &cg,
- bool mbi, int round, const TQColor &bgnd, const TQColor *cols) const
+void QtCurveStyle::drawMenuItem(TQPainter *p, const TQRect &r, int flags, const TQColorGroup &cg, bool mbi, int round, const TQColor &bgnd, const TQColor *cols) const
{
int fill=opts.useHighlightForMenu && (!mbi || itsHighlightCols==cols) ? ORIGINAL_SHADE : 4,
border=opts.borderMenuitems ? 0 : fill;
@@ -7274,25 +7319,25 @@ void QtCurveStyle::drawMenuItem(TQPainter *p, const TQRect &r, int flags, const
if(itsHighlightCols!=cols && mbi && !((flags&Style_Enabled) && (flags&Style_Active) && (flags&Style_Down)) &&
!opts.colorMenubarMouseOver && (opts.borderMenuitems || !IS_FLAT(opts.menuitemAppearance)))
fill=ORIGINAL_SHADE;
-
+
if(!mbi && APPEARANCE_FADE==opts.menuitemAppearance)
{
- bool reverse=TQApplication::reverseLayout();
- int roundOffet=ROUNDED ? 1 : 0;
- TQRect main(r.x()+(reverse ? 1+MENUITEM_FADE_SIZE : roundOffet+1), r.y()+roundOffet+1,
- r.width()-(1+MENUITEM_FADE_SIZE), r.height()-(2+(roundOffet*2))),
- fade(reverse ? r.x()+1 : r.width()-MENUITEM_FADE_SIZE, r.y()+1, MENUITEM_FADE_SIZE, r.height()-2);
+ bool reverse=TQApplication::reverseLayout();
+ int roundOffet=ROUNDED ? 1 : 0;
+ TQRect main(r.x()+(reverse ? 1+MENUITEM_FADE_SIZE : roundOffet+1), r.y()+roundOffet+1,
+ r.width()-(1+MENUITEM_FADE_SIZE), r.height()-(2+(roundOffet*2))),
+ fade(reverse ? r.x()+1 : r.width()-MENUITEM_FADE_SIZE, r.y()+1, MENUITEM_FADE_SIZE, r.height()-2);
+ const TQColor *pc(popupMenuCols(cg));
p->fillRect(main, cols[fill]);
if(ROUNDED)
{
main.addCoords(-1, -1, 1, 1);
- drawBorder(popupMenuCol(cg), p, main, cg, Style_Horizontal|Style_Raised, reverse ? ROUNDED_RIGHT : ROUNDED_LEFT,
- cols, WIDGET_MENU_ITEM, false, BORDER_FLAT, false, fill);
+ drawBorder(pc[ORIGINAL_SHADE], p, main, cg, Style_Horizontal|Style_Raised, reverse ? ROUNDED_RIGHT : ROUNDED_LEFT,
+ pc, WIDGET_MENU_ITEM, false, BORDER_FLAT, false, fill);
}
- TQColor bgnd(popupMenuCol(cg));
- drawGradient(reverse ? bgnd : cols[fill], reverse ? cols[fill] : bgnd, p, fade, false);
+ drawGradient(reverse ? pc[ORIGINAL_SHADE] : cols[fill], reverse ? cols[fill] : pc[ORIGINAL_SHADE], p, fade, false);
}
else if(mbi || opts.borderMenuitems)
{
@@ -7312,13 +7357,13 @@ void QtCurveStyle::drawMenuItem(TQPainter *p, const TQRect &r, int flags, const
fr.addCoords(1, 1, -1, -1);
if(fr.width()>0 && fr.height()>0)
- drawBevelGradient(cols[fill], p, fr, true, false, opts.menuitemAppearance, WIDGET_MENU_ITEM);
+ drawBevelGradient(cols[fill], cg.background(), p, fr, true, false, opts.menuitemAppearance, WIDGET_MENU_ITEM);
drawBorder(bgnd, p, r, cg, flags, round, cols, WIDGET_OTHER, false, BORDER_FLAT, false, border);
}
itsFormMode=false;
}
else
- drawBevelGradient(cols[fill], p, r, true, false, opts.menuitemAppearance, WIDGET_MENU_ITEM);
+ drawBevelGradient(cols[fill], cg.background(), p, r, true, false, opts.menuitemAppearance, WIDGET_MENU_ITEM);
}
void QtCurveStyle::drawProgress(TQPainter *p, const TQRect &rx, const TQColorGroup &cg, SFlags flags,
@@ -7414,7 +7459,7 @@ void QtCurveStyle::drawProgress(TQPainter *p, const TQRect &rx, const TQColorGro
}
}
-void QtCurveStyle::drawBevelGradient(const TQColor &base, TQPainter *p, const TQRect &origRect, bool horiz, bool sel, EAppearance bevApp, EWidget w) const
+void QtCurveStyle::drawBevelGradient(const TQColor &base, const TQColor &bgnd, TQPainter *p, const TQRect &origRect, bool horiz, bool sel, EAppearance bevApp, EWidget w) const
{
if(IS_FLAT(bevApp) && opts.colorSelTab && sel)
bevApp=APPEARANCE_GRADIENT;
@@ -7435,7 +7480,7 @@ void QtCurveStyle::drawBevelGradient(const TQColor &base, TQPainter *p, const TQ
: APPEARANCE_GRADIENT);
TQRect r(0, 0, horiz ? PIXMAP_DIMENSION : origRect.width(),
horiz ? origRect.height() : PIXMAP_DIMENSION);
- TQString key(createKey(horiz ? r.height() : r.width(), base.rgb(), horiz, app,
+ TQString key(createKey(horiz ? r.height() : r.width(), base.rgb(), bgnd.rgb(), horiz, app,
tab && sel && opts.colorSelTab ? CACHE_COL_SEL_TAB : CACHE_STD));
TQPixmap *pix(itsPixmapCache.find(key));
bool inCache(true);
@@ -7444,9 +7489,9 @@ void QtCurveStyle::drawBevelGradient(const TQColor &base, TQPainter *p, const TQ
{
pix=new TQPixmap(r.width(), r.height());
- TQPainter pixPainter(pix);
+ TQPainter pixPainter(pix);
- drawBevelGradientReal(base, &pixPainter, r, horiz, sel, app, w);
+ drawBevelGradientReal(base, bgnd, &pixPainter, r, horiz, sel, app, w);
pixPainter.end();
int cost(pix->width()*pix->height()*(pix->depth()/8));
@@ -7462,7 +7507,7 @@ void QtCurveStyle::drawBevelGradient(const TQColor &base, TQPainter *p, const TQ
}
}
-void QtCurveStyle::drawBevelGradientReal(const TQColor &base, TQPainter *p, const TQRect &r, bool horiz, bool sel, EAppearance app, EWidget w) const
+void QtCurveStyle::drawBevelGradientReal(const TQColor &base, const TQColor &bgnd, TQPainter *p, const TQRect &r, bool horiz, bool sel, EAppearance app, EWidget w) const
{
const Gradient *grad=getGradient(app, &opts);
@@ -7490,7 +7535,8 @@ void QtCurveStyle::drawBevelGradientReal(const TQColor &base, TQPainter *p, cons
if(/*sel && */opts.colorSelTab && i>0)
col=tint(col, itsHighlightCols[0], (1.0-(*it).pos)*(0.2+TO_ALPHA(opts.colorSelTab)));
-
+ if((*it).alpha<0.9999)
+ col=tint(bgnd, col, (*it).alpha);
if(i)
drawGradient(prev, col, p,
horiz
@@ -7518,7 +7564,8 @@ void QtCurveStyle::drawBevelGradientReal(const TQColor &base, TQPainter *p, cons
if(sel && opts.colorSelTab && topTab && i<numStops-1)
col=tint(col, itsHighlightCols[0], (1.0-(*it).pos)*(0.2+TO_ALPHA(opts.colorSelTab)));
-
+ if((*it).alpha<0.9999)
+ col=tint(bgnd, col, (*it).alpha);
if(i)
drawGradient(prev, col, p,
horiz
@@ -7531,8 +7578,7 @@ void QtCurveStyle::drawBevelGradientReal(const TQColor &base, TQPainter *p, cons
}
}
-void QtCurveStyle::drawGradient(const TQColor &top, const TQColor &bot,
- TQPainter *p, TQRect const &r, bool horiz) const
+void QtCurveStyle::drawGradient(const TQColor &top, const TQColor &bot, TQPainter *p, TQRect const &r, bool horiz) const
{
if(r.width()>0 && r.height()>0)
{
@@ -7616,7 +7662,7 @@ void QtCurveStyle::drawSbSliderHandle(TQPainter *p, const TQRect &orig, const TQ
r.addCoords(-1, 0, 0, 0);
else
r.addCoords(horiz ? 1 : 0, horiz ? 0 : 1, 0, 0);
-
+
switch(opts.sliderThumbs)
{
case LINE_FLAT:
@@ -7733,7 +7779,7 @@ void QtCurveStyle::drawSliderHandle(TQPainter *p, const TQRect &r, const TQColor
}
else
{
- drawBevelGradient(fill, p, TQRect(x, y, horiz ? r.width()-1 : size, horiz ? size : r.height()-1),
+ drawBevelGradient(fill, cg.background(), p, TQRect(x, y, horiz ? r.width()-1 : size, horiz ? size : r.height()-1),
horiz, false, opts.sliderAppearance);
if(MO_PLASTIK==opts.coloredMouseOver && flags&Style_MouseOver && !opts.colorSliderMouseOver)
@@ -7743,18 +7789,18 @@ void QtCurveStyle::drawSliderHandle(TQPainter *p, const TQRect &r, const TQColor
if(horiz)
{
- drawBevelGradient(itsMouseOverCols[col], p, TQRect(x+1, y+1, len, size-2),
+ drawBevelGradient(itsMouseOverCols[col], cg.background(), p, TQRect(x+1, y+1, len, size-2),
horiz, false, opts.sliderAppearance);
- drawBevelGradient(itsMouseOverCols[col], p,
+ drawBevelGradient(itsMouseOverCols[col], cg.background(), p,
TQRect(x+r.width()-((SLIDER_ROUND_ROTATED==opts.sliderStyle ? 3 : 1)+len),
y+1, len, size-2),
horiz, false, opts.sliderAppearance);
}
else
{
- drawBevelGradient(itsMouseOverCols[col], p, TQRect(x+1, y+1, size-2, len),
+ drawBevelGradient(itsMouseOverCols[col], cg.background(), p, TQRect(x+1, y+1, size-2, len),
horiz, false, opts.sliderAppearance);
- drawBevelGradient(itsMouseOverCols[col], p,
+ drawBevelGradient(itsMouseOverCols[col], cg.background(), p,
TQRect(x+1, y+r.height()-((SLIDER_ROUND_ROTATED==opts.sliderStyle ? 3 : 1)+len),
size-2, len),
horiz, false, opts.sliderAppearance);
@@ -7856,7 +7902,7 @@ void QtCurveStyle::drawSliderGroove(TQPainter *p, const TQRect &r, const TQColor
itsBackgroundCols[flags&Style_Enabled ? 2 : ORIGINAL_SHADE],
itsBackgroundCols, true, true, WIDGET_SLIDER_TROUGH);
- if(opts.fillSlider && (horiz ? ceData.currentStep>0 : ceData.currentStep<ceData.maxSteps) &&
+ if(opts.fillSlider && (horiz ? ceData.currentStep>0 : ceData.currentStep<ceData.maxSteps) &&
ceData.maxSteps!=ceData.minSteps && flags&Style_Enabled)
{
TQRect used(groove);
@@ -7901,7 +7947,7 @@ void QtCurveStyle::drawMenuOrToolBarBackground(TQPainter *p, const TQRect &r, co
if(menu && BLEND_TITLEBAR)
rx.addCoords(0, -qtcGetWindowBorderSize().titleHeight, 0, 0);
- drawBevelGradient(color, p, rx, horiz, false, app);
+ drawBevelGradient(color, cg.background(), p, rx, horiz, false, app);
}
void QtCurveStyle::drawHandleMarkers(TQPainter *p, const TQRect &r, SFlags flags, bool tb,
@@ -8000,15 +8046,6 @@ const TQColor * QtCurveStyle::popupMenuCols(const TQColorGroup &cg) const
return opts.shadePopupMenu ? menuColors(cg, true) : backgroundColors(cg);
}
-const TQColor & QtCurveStyle::popupMenuCol(const TQColorGroup &cg, int shade) const
-{
- return opts.shadePopupMenu
- ? menuColors(cg, true)[ORIGINAL_SHADE]
- : USE_LIGHTER_POPUP_MENU
- ? itsLighterPopupMenuBgndCol
- : itsBackgroundCols[shade];
-}
-
const TQColor * QtCurveStyle::checkRadioColors(const TQColorGroup &cg, SFlags flags) const
{
return opts.crColor && flags&Style_Enabled && (flags&Style_On || !(flags&Style_Off))
@@ -8086,6 +8123,21 @@ void QtCurveStyle::setMenuColors(const TQColorGroup &cg)
case SHADE_WINDOW_BORDER:
break;
}
+
+ TQColor *base=opts.shadePopupMenu
+ ? SHADE_WINDOW_BORDER==opts.shadeMenubars
+ ? (TQColor *)getMdiColors(cg, true)
+ : itsMenubarCols
+ : itsBackgroundCols;
+
+ if(USE_LIGHTER_POPUP_MENU)
+ {
+ if(!itsPopupMenuCols)
+ itsPopupMenuCols=new TQColor [TOTAL_SHADES+1];
+ shadeColors(shade(base[ORIGINAL_SHADE], TO_FACTOR(opts.lighterPopupMenuBgnd)), itsPopupMenuCols);
+ }
+ else
+ itsPopupMenuCols=base;
}
void QtCurveStyle::setMenuTextColors(TQWidget *widget, bool isMenuBar) const
@@ -8106,7 +8158,8 @@ void QtCurveStyle::setMenuTextColors(TQWidget *widget, bool isMenuBar) const
}
else if(opts.shadePopupMenu)
{
- pal.setBrush(TQPalette::Disabled, TQColorGroup::Foreground, midColor(itsActiveMdiTextColor, popupMenuCol(pal.active())));
+ pal.setBrush(TQPalette::Disabled, TQColorGroup::Foreground, midColor(itsActiveMdiTextColor,
+ popupMenuCols(pal.active())[ORIGINAL_SHADE]));
pal.setBrush(TQPalette::Disabled, TQColorGroup::Text, pal.brush(TQPalette::Disabled, TQColorGroup::Foreground));
}
@@ -8132,8 +8185,9 @@ void QtCurveStyle::setMenuTextColors(TQWidget *widget, bool isMenuBar) const
}
else if(!isMenuBar && opts.shadePopupMenu)
{
+ const TQColor *pc(popupMenuCols(pal.active()));
pal.setBrush(TQPalette::Disabled, TQColorGroup::Foreground,
- midColor(pal.brush(TQPalette::Active, TQColorGroup::Foreground).color(), popupMenuCol(pal.active())));
+ midColor(pal.brush(TQPalette::Active, TQColorGroup::Foreground).color(), pc[ORIGINAL_SHADE]));
pal.setBrush(TQPalette::Disabled, TQColorGroup::Text, pal.brush(TQPalette::Disabled, TQColorGroup::Foreground));
}
widget->setPalette(pal);
@@ -8601,6 +8655,7 @@ const TQColor & QtCurveStyle::getTabFill(bool current, bool highlight, const TQC
const TQColor & QtCurveStyle::menuStripeCol(const TQColorGroup &cg) const
{
+ const TQColor *pc(popupMenuCols(cg));
switch(opts.menuStripe)
{
default:
@@ -8611,12 +8666,12 @@ const TQColor & QtCurveStyle::menuStripeCol(const TQColorGroup &cg) const
case SHADE_BLEND_SELECTED:
// Hack! Use opts.customMenuStripeColor to store this setting!
if(IS_BLACK(opts.customMenuStripeColor))
- opts.customMenuStripeColor=midColor(itsHighlightCols[ORIGINAL_SHADE], popupMenuCol(cg));
+ opts.customMenuStripeColor=midColor(itsHighlightCols[ORIGINAL_SHADE], pc[ORIGINAL_SHADE]);
return opts.customMenuStripeColor;
case SHADE_SELECTED:
return itsHighlightCols[MENU_STRIPE_SHADE];
case SHADE_DARKEN:
- return popupMenuCol(cg);
+ return pc[MENU_STRIPE_SHADE];
}
}
@@ -8684,7 +8739,7 @@ TQPixmap * QtCurveStyle::createStripePixmap(const TQColor &col, bool forWindow)
pix=new TQPixmap(64, 64);
pix->fill(col.rgb());
-
+
TQPainter p;
p.begin(pix);
p.setPen(TQColor((3*col.red()+col2.red())/4,