From aed06eed3fe9a2d9a2ba7b86e7313cf403fabf36 Mon Sep 17 00:00:00 2001 From: harlekin Date: Tue, 03 Sep 2002 13:58:53 +0000 Subject: forgot something --- (limited to 'libopie') diff --git a/libopie/otabbar.cpp b/libopie/otabbar.cpp new file mode 100644 index 0000000..b5b93ba --- a/dev/null +++ b/libopie/otabbar.cpp @@ -0,0 +1,81 @@ +/* +                This file is part of the Opie Project + +              Copyright (c) 2002 Dan Williams + =. + .=l. +           .>+-= + _;:,     .>    :=|. This program is free software; you can +.> <`_,   >  .   <= redistribute it and/or modify it under +:`=1 )Y*s>-.--   : the terms of the GNU Library General Public +.="- .-=="i,     .._ License as published by the Free Software + - .   .-<_>     .<> Foundation; either version 2 of the License, +     ._= =}       : or (at your option) any later version. +    .%`+i>       _;_. +    .i_,=:_.      -`: PARTICULAR PURPOSE. See the GNU +..}^=.=       =       ; Library General Public License for more +++=   -.     .`     .: details. + :     =  ...= . :.=- + -.   .:....=;==+<; You should have received a copy of the GNU +  -_. . .   )=.  = Library General Public License along with +    --        :-=` this library; see the file COPYING.LIB. + If not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +#include "otabbar.h" + +OTabBar::OTabBar( QWidget *parent = 0, const char *name = 0 ) + : QTabBar( parent, name ) +{ +} + +void OTabBar::paintLabel( QPainter* p, const QRect& br, QTab* t, bool has_focus ) const +{ + + QRect r = br; + if ( t->iconset) + { + QIconSet::Mode mode = (t->enabled && isEnabled()) ? QIconSet::Normal : QIconSet::Disabled; + if ( mode == QIconSet::Normal && has_focus ) { + mode = QIconSet::Active; + } + QPixmap pixmap = t->iconset->pixmap( QIconSet::Small, mode ); + int pixw = pixmap.width(); + int pixh = pixmap.height(); + r.setLeft( r.left() + pixw + 2 ); + p->drawPixmap( br.left()+2, br.center().y()-pixh/2, pixmap ); + } + + QRect tr = r; + if ( t->id == currentTab() ) + { + tr.setBottom( tr.bottom() - style().defaultFrameWidth() ); + } + + if ( t->enabled && isEnabled() ) + { + p->setPen( colorGroup().foreground() ); + p->drawText( tr, AlignCenter | ShowPrefix, t->label ); + } + else if ( style() == MotifStyle ) + { + p->setPen( palette().disabled().foreground() ); + p->drawText( tr, AlignCenter | ShowPrefix, t->label ); + } + else + { + p->setPen( colorGroup().light() ); + QRect wr = tr; + wr.moveBy( 1, 1 ); + p->drawText( wr, AlignCenter | ShowPrefix, t->label ); + p->setPen( palette().disabled().foreground() ); + p->drawText( tr, AlignCenter | ShowPrefix, t->label ); + } +} diff --git a/libopie/otabbar.h b/libopie/otabbar.h new file mode 100644 index 0000000..16797a3 --- a/dev/null +++ b/libopie/otabbar.h @@ -0,0 +1,75 @@ +/* +                This file is part of the Opie Project + +              Copyright (c) 2002 Dan Williams + =. + .=l. +           .>+-= + _;:,     .>    :=|. This program is free software; you can +.> <`_,   >  .   <= redistribute it and/or modify it under +:`=1 )Y*s>-.--   : the terms of the GNU Library General Public +.="- .-=="i,     .._ License as published by the Free Software + - .   .-<_>     .<> Foundation; either version 2 of the License, +     ._= =}       : or (at your option) any later version. +    .%`+i>       _;_. +    .i_,=:_.      -`: PARTICULAR PURPOSE. See the GNU +..}^=.=       =       ; Library General Public License for more +++=   -.     .`     .: details. + :     =  ...= . :.=- + -.   .:....=;==+<; You should have received a copy of the GNU +  -_. . .   )=.  = Library General Public License along with +    --        :-=` this library; see the file COPYING.LIB. + If not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +#ifndef OTABBAR_H +#define OTABBAR_H + +#include + +/** + * @class OTabBar + * @brief The OTabBar class is a derivative of QTabBar. + * + * OTabBar is a derivation of TrollTech's QTabBar which provides + * a row of tabs for selection. The only difference between this + * class and QTabBar is that there is no dotted line box around + * the label of the tab with the current focus. + */ +class OTabBar : public QTabBar +{ + Q_OBJECT + +public: +/** + * @fn OTabBar( QWidget *parent = 0, const char *name = 0 ) + * @brief Object constructor. + * + * @param parent Pointer to parent of this control. + * @param name Name of control. + * + * Constructs a new OTabBar control with parent and name. + */ + OTabBar( QWidget * = 0, const char * = 0 ); + +protected: +/** + * @fn paintLabel( QPainter* p, const QRect& br, QTab* t, bool has_focus ) + * @brief Internal function to draw a tab's label. + * + * @param p Pointer to QPainter used for drawing. + * @param br QRect providing region to draw label in. + * @param t Tab to draw label for. + * @param has_focus Boolean value not used, retained for compatibility reasons. + */ + void paintLabel( QPainter *, const QRect &, QTab *, bool ) const; +}; + +#endif diff --git a/libopie/otimepickerbase.h b/libopie/otimepickerbase.h deleted file mode 100644 index 09598f9..0000000 --- a/libopie/otimepickerbase.h +++ b/dev/null @@ -1,47 +0,0 @@ -/**************************************************************************** -** Form interface generated from reading ui file 'otimepickerbase.ui' -** -** Created: Tue Sep 3 13:12:19 2002 -** by: The User Interface Compiler (uic) -** -** WARNING! All changes made in this file will be lost! -****************************************************************************/ -#ifndef OTIMEPICKERDIALOGBASE_H -#define OTIMEPICKERDIALOGBASE_H - -#include -#include -class QVBoxLayout; -class QHBoxLayout; -class QGridLayout; -class OTimePicker; -class QFrame; -class QGroupBox; -class QLabel; -class QLineEdit; - -class OTimePickerDialogBase : public QDialog -{ - Q_OBJECT - -public: - OTimePickerDialogBase( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); - ~OTimePickerDialogBase(); - - QFrame* Frame10; - QFrame* Frame4; - QLabel* TextLabel1; - QLineEdit* hourField; - QLabel* TextLabel1_2; - QLineEdit* minuteField; - QGroupBox* GroupBox1; - OTimePicker* m_timePicker; - -protected: - QVBoxLayout* OTimePickerDialogBaseLayout; - QHBoxLayout* Frame10Layout; - QHBoxLayout* Frame4Layout; - bool event( QEvent* ); -}; - -#endif // OTIMEPICKERDIALOGBASE_H -- cgit v0.9.0.2