summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--libopie/otabbar.cpp81
-rw-r--r--libopie/otabbar.h75
-rw-r--r--libopie/otimepickerbase.h47
3 files changed, 156 insertions, 47 deletions
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 <williamsdr@acm.org>
+ =.
+ .=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_,=:_.      -<s. This program is distributed in the hope that
+     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
+    : ..    .:,     . . . without even the implied warranty of
+    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
+  _.=:.       :    :=>`: 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 <williamsdr@acm.org>
+ =.
+ .=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_,=:_.      -<s. This program is distributed in the hope that
+     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
+    : ..    .:,     . . . without even the implied warranty of
+    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
+  _.=:.       :    :=>`: 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 <qtabbar.h>
+
+/**
+ * @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 <qvariant.h>
-#include <qdialog.h>
-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