summaryrefslogtreecommitdiff
authorzecke <zecke>2004-09-13 00:54:39 (UTC)
committer zecke <zecke>2004-09-13 00:54:39 (UTC)
commit3ea857919c16be19d44181a1be01ab8328b3ccea (patch) (side-by-side diff)
tree0c2172ae03ca987ed66bb35cbe12ec413dcbc308
parent848be27ce441430b6946221cd288ff9d6297096c (diff)
downloadopie-3ea857919c16be19d44181a1be01ab8328b3ccea.zip
opie-3ea857919c16be19d44181a1be01ab8328b3ccea.tar.gz
opie-3ea857919c16be19d44181a1be01ab8328b3ccea.tar.bz2
Try to make the tabbar a bit 'higher' but less wide
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/styles/phase/phasestyle.cpp6
-rw-r--r--noncore/styles/phase/phasestyle.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/noncore/styles/phase/phasestyle.cpp b/noncore/styles/phase/phasestyle.cpp
index 139505f..ba8c460 100644
--- a/noncore/styles/phase/phasestyle.cpp
+++ b/noncore/styles/phase/phasestyle.cpp
@@ -661,192 +661,198 @@ void PhaseStyle::drawPopupMenuItem ( QPainter * p, bool checkable,
// draw check
if(mi->isChecked() ) {
drawCheckMark(p, x, y, maxpmw, h, itemg, act, !enabled );
}
// draw text
int xm = maxpmw + 2;
int xp = x + xm;
int tw = w -xm - 2;
p->setPen( enabled ? ( act ? g.highlightedText() : g.buttonText() ) :
g.mid() );
if ( mi->custom() ) {
p->save();
mi->custom()->paint(p, g, act, enabled,
xp, y+1, tw, h-2 );
p->restore();
}else { // draw label
QString text = mi->text();
if (!text.isNull() ) {
int t = text.find('\t');
const int tflags = AlignVCenter | DontClip |
ShowPrefix | SingleLine |
AlignLeft;
if (t >= 0) {
int tabx = x + w - tabwidth - RIGHTBORDER -
ITEMHMARGIN - ITEMFRAME;
p->drawText(tabx, y+ITEMVMARGIN, tabwidth,
h-2*ITEMVMARGIN, tflags,
text.mid(t+1) );
text = text.left(t );
}
// draw left label
p->drawText(xp, y+ITEMVMARGIN,
tw, h-2*ITEMVMARGIN,
tflags, text, t);
}else if ( mi->pixmap() ) { // pixmap as label
QPixmap pixmap = *mi->pixmap();
if ( pixmap.depth() == 1 )
p->setBackgroundMode( OpaqueMode );
int dx = ((w-pixmap.width() ) /2 ) +
((w - pixmap.width()) %2 );
p->drawPixmap(x+dx, y+ITEMFRAME, pixmap );
if ( pixmap.depth() == 1 )
p->setBackgroundMode( TransparentMode );
}
}
if ( mi->popup() ) { // draw submenu arrow
int dim = (h-2*ITEMFRAME) / 2;
drawArrow( p, RightArrow, false,
x+w-ARROWMARGIN-ITEMFRAME-dim,
y+h/2-dim/2, dim, dim, g, enabled );
}
}
QRect PhaseStyle::comboButtonRect ( int x, int y, int w, int h ) {
return QRect(x+2, y+2, w-4-17, h-5 );
}
void PhaseStyle::drawComboButton( QPainter * p, int x, int y,
int w, int h,
const QColorGroup & g,
bool sunken,
bool editable,
bool,
const QBrush *) {
drawButton(p, x, y, w, h, g,
sunken, &g.brush(QColorGroup::Button ));
for ( int n = 0; n < 2; ++n )
kColorBitmaps(p, g, w-16+(6*n), y+(h/2)-2,
0, &doodad_mid, &doodad_light, 0, 0, 0 );
if (editable ) {
const int x2 = x+w-1; const int y2 = y+h-1;
p->setPen(g.dark());
p->drawLine(x2+1, y, x2+1, y2);
p->setPen(g.midlight());
p->drawLine(x2+2, y, x2+2, y2-1);
p->setPen(g.button());
p->drawPoint(x2+2, y2);
}
p->setPen(g.buttonText() );
}
+void PhaseStyle::tabbarMetrics( const QTabBar* t, int &hframe, int &vframe, int& ov ) {
+ QCommonStyle::tabbarMetrics( t, hframe, vframe, ov );
+ hframe -= 2;
+ vframe += 1;
+}
+
void PhaseStyle::drawTab(QPainter* painter, const QTabBar* bar, QTab* tab,
bool selected ) {
bool edge = false;
int x, y, w, h;
QRect r = tab->rect();
r.rect(&x,&y,&w,&h);
const int x2 = x+w-1;
const int y2 = y+h-1;
const QColorGroup &group = bar->colorGroup();
painter->save();
// what position is the tab?
if ((bar->count() == 1 ))
edge = true;
else
edge = false;
switch (QTabBar::Shape(bar->shape())) {
case QTabBar::RoundedAbove:
case QTabBar::TriangularAbove: {
if (!selected) { // shorten
y += 2; h -= 2;
}
if (selected) {
painter->setPen(Qt::NoPen);
painter->fillRect(x+1, y+1, w-1, h-1,
group.brush(QColorGroup::Background));
} else
drawPhaseGradient(painter, QRect(x+1, y+1, w-1, h-2),
group.background().dark(contrast) );
// draw tab
painter->setPen(group.dark());
painter->drawLine(x, y, x, y2-2);
painter->drawLine(x+1, y, x2, y);
painter->drawLine(x2, y+1, x2, y2-2);
painter->setPen(group.mid());
painter->drawLine(x2-1, y+2, x2-1, y2-2);
painter->setPen(group.midlight());
painter->drawLine(x+1, y+1, x2-2, y+1);
if ((selected) || edge) painter->drawLine(x+1, y+2, x+1, y2-2);
// finish off bottom
if (selected) {
painter->setPen(group.dark());
painter->drawPoint(x, y2-1);
painter->drawPoint(x2, y2-1);
painter->setPen(group.midlight());
painter->drawPoint(x, y2);
painter->drawLine(x+1, y2-1, x+1, y2);
painter->drawPoint(x2, y2);
painter->setPen(group.mid());
painter->drawPoint(x2-1, y2-1);
if (edge) {
painter->setPen(group.dark());
painter->drawLine(x, y2-1, x, y2);
painter->setPen(group.midlight());
painter->drawPoint(x+1, y2);
}
} else {
painter->setPen(group.dark());
painter->drawLine(x, y2-1, x2, y2-1);
painter->setPen(group.midlight());
painter->drawLine(x, y2, x2, y2);
if (edge) {
painter->setPen(group.dark());
painter->drawLine(x, y2-1, x, y2);
}
}
break;
}
case QTabBar::RoundedBelow:
case QTabBar::TriangularBelow: {
painter->setBrush( group.background().dark(contrast));
painter->setPen(Qt::NoPen);
painter->fillRect(x+1, y+1, w-1, h-1, painter->brush());
// draw tab
painter->setPen(group.dark());
painter->drawLine(x, y+1, x, y2);
painter->drawLine(x+1, y2, x2, y2);
painter->drawLine(x2, y+1, x2, y2-1);
painter->setPen(group.mid());
painter->drawLine(x2-1, y+1, x2-1, y2-1);
diff --git a/noncore/styles/phase/phasestyle.h b/noncore/styles/phase/phasestyle.h
index ab593e6..cbaa534 100644
--- a/noncore/styles/phase/phasestyle.h
+++ b/noncore/styles/phase/phasestyle.h
@@ -28,139 +28,140 @@
#define PHASESTYLE_H
#include <qstyle.h>
#include <qwindowsstyle.h>
#include <qcolor.h>
class KPixmap;
class PhaseStyle : public QWindowsStyle
{
Q_OBJECT
public:
PhaseStyle();
virtual ~PhaseStyle();
void polish( QWidget * );
void polish( QPalette& );
void polish( QApplication* );
void drawCheckMark ( QPainter * p, int x, int y, int w,
int h, const QColorGroup & g,
bool act, bool dis );
void drawArrow(QPainter *p, Qt::ArrowType type, bool down,
int x, int y, int w, int h, const QColorGroup &g,
bool enabled=true, const QBrush *fill = 0);
void drawPushButton(QPushButton* btn, QPainter* p );
void drawPushButtonLabel(QPushButton* btn, QPainter* p );
void drawPanel(QPainter* p, int , int, int, int,
const QColorGroup&, bool sunken = false,
int lineWidth = 1, const QBrush *b = 0l );
void drawButton( QPainter*, int x, int y, int w, int h,
const QColorGroup&, bool sunken = false,
const QBrush* fill = 0);
void drawBevelButton(QPainter*, int, int, int, int,
const QColorGroup&, bool sunken = false,
const QBrush* fill = 0 );
void drawFocusRect( QPainter* p, const QRect& r,
const QColorGroup&, const QColor* = 0,
bool atBorder = false );
void drawButtonMask( QPainter* p, int x, int y,
int w, int h );
/* Menu Stuff */
void drawSeperator( QPainter* p, int x, int y, int w,
int h, const QColorGroup& group, bool sunken = true,
int lineWidth = 1, int midLineWidtth = 0 );
void drawMenuBarItem(QPainter* p, int x, int y, int w, int h,
QMenuItem *mi, QColorGroup& g, bool enabled,
bool act);
/* RadioButton, CheckBox... */
void drawIndicator(QPainter* p, int x, int y, int w, int h,
const QColorGroup &g, int state, bool down = FALSE,
bool enabled = TRUE );
void drawExclusiveIndicator( QPainter*, int, int, int, int,
const QColorGroup&, bool on,
bool down = false,bool enabled = true );
void drawExclusiveIndicatorMask (QPainter*, int, int, int, int, bool );
/* spacing,dimensions */
int defaultFrameWidth () const;
int popupMenuItemHeight ( bool checkable,
QMenuItem * mi,
const QFontMetrics & fm );
int extraPopupMenuItemWidth(bool checkable, int maxpmw,
QMenuItem* mi, const QFontMetrics& fm );
QSize indicatorSize()const;
QSize exclusiveIndicatorSize()const;
void getButtonShift( int &x, int &y );
/* popup drawing */
void drawPopupMenuItem ( QPainter * p, bool checkable, int maxpmw,
int tab, QMenuItem * mi,
const QPalette & pal, bool act,
bool enabled, int x, int y,
int w, int h );
/* combo box */
QRect comboButtonRect ( int x, int y, int w, int h );
void drawComboButton( QPainter * p, int x, int y,
int w, int h,
const QColorGroup & g,
bool sunken = FALSE,
bool editable = FALSE,
bool enabled = TRUE,
const QBrush * fill = 0 );
/* tabbar */
void drawTab(QPainter*, const QTabBar*, QTab*,
bool selected );
void drawTabMask( QPainter*, const QTabBar*, QTab*,
bool );
+ void tabbarMetrics( const QTabBar* t, int &hframe, int &vframe, int &overlap);
/* tool button */
void drawToolButton ( QPainter * p, int x, int y,
int w, int h,
const QColorGroup & g,
bool sunken = FALSE,
const QBrush * fill = 0 );
/* scrollbar */
void drawScrollBarControls ( QPainter *, const QScrollBar *,
int sliderStart, uint controls,
uint activeControl );
void scrollBarMetrics( const QScrollBar*, int&, int&, int&, int& );
QStyle::ScrollControl scrollBarPointOver( const QScrollBar*, int sliderStart,
const QPoint& );
/* slider drawing */
void drawSlider ( QPainter * p, int x, int y, int w, int h,
const QColorGroup & g, Orientation,
bool tickAbove, bool tickBelow );
void drawSliderGroove ( QPainter * p, int x, int y, int w,
int h, const QColorGroup & g,
QCOORD c, Orientation );
private:
void drawPhaseGradient(QPainter* p,
const QRect& rec,
const QColor& col )const;
static void scrollBarItemPositions( const QScrollBar *,
const bool horizontal,
int sliderStart,
int sliderMax,
int sliderLength,
int buttomDim,
QRect& sub,
QRect& add,
QRect& subPage,
QRect& addPage,
QRect& slider );
};
#endif