summaryrefslogtreecommitdiff
path: root/noncore/settings/sysinfo/otabwidget.h
authordrw <drw>2002-07-31 00:20:25 (UTC)
committer drw <drw>2002-07-31 00:20:25 (UTC)
commit012abe9b9c667d24052a9f078030bfa7874b404e (patch) (side-by-side diff)
treec781fc00f048010835d7f7a1346ac16c87c8479e /noncore/settings/sysinfo/otabwidget.h
parentaedd5172ae67346f491dcd58e89e8e3f50247f2b (diff)
downloadopie-012abe9b9c667d24052a9f078030bfa7874b404e.zip
opie-012abe9b9c667d24052a9f078030bfa7874b404e.tar.gz
opie-012abe9b9c667d24052a9f078030bfa7874b404e.tar.bz2
Added advanced config option to determine tabs to display, and otabwidget updates
Diffstat (limited to 'noncore/settings/sysinfo/otabwidget.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/sysinfo/otabwidget.h54
1 files changed, 43 insertions, 11 deletions
diff --git a/noncore/settings/sysinfo/otabwidget.h b/noncore/settings/sysinfo/otabwidget.h
index 4588cb9..38f4d20 100644
--- a/noncore/settings/sysinfo/otabwidget.h
+++ b/noncore/settings/sysinfo/otabwidget.h
@@ -20,43 +20,75 @@
#ifndef OTABWIDGET_H
#define OTABWIDGET_H
-#include <qtabwidget.h>
+#include <qwidget.h>
+
+class QComboBox;
+class QPixmap;
+class QTabBar;
+class QWidgetStack;
class TabInfo
{
public:
- TabInfo() : c( 0 ), i( 0 ), l( QString::null ) {}
- TabInfo( QWidget *control, const QString &icon, const QString &label )
- : c( control ), i( icon ), l( label ) {}
+ TabInfo() : i( -1 ), c( 0 ), p( 0 ), l( QString::null ) {}
+ TabInfo( int id, QWidget *control, const QString &icon, const QString &label )
+ : i( id ), c( control ), p( icon ), l( label ) {}
+ int id() const { return i; }
QString label() const { return l; }
QWidget *control() const { return c; }
- QString icon() const { return i; }
+ QString icon() const { return p; }
private:
+ int i;
QWidget *c;
- QString i;
+ QString p;
QString l;
};
typedef QValueList<TabInfo> TabInfoList;
-class OTabWidget : public QTabWidget
+class OTabWidget : public QWidget
{
Q_OBJECT
public:
- OTabWidget( QWidget *, const char * );
+ enum TabStyle { Global, TextTab, IconTab, TextList, IconList };
+ TabStyle tabStyle() const;
+ void setTabStyle( TabStyle );
+
+ enum TabPosition { Top, Bottom };
+ TabPosition tabPosition() const;
+ void setTabPosition( TabPosition );
+
+ OTabWidget( QWidget *, const char *, TabStyle, TabPosition );
~OTabWidget();
void addTab( QWidget *, const QString &, const QString & );
+ QSize sizeHint() const;
+
+
+protected:
+ void resizeEvent( QResizeEvent * );
private:
- TabInfoList Tabs;
- TabInfoList::Iterator CurrentTab;
+ TabInfoList tabs;
+ TabInfoList::Iterator currentTab;
+
+ TabStyle tabBarStyle;
+ TabPosition tabBarPosition;
+
+ QWidgetStack *tabBarStack;
+ QTabBar *tabBar;
+ QComboBox *tabList;
+
+ QWidgetStack *widgetStack;
QPixmap loadSmooth( const QString & );
+ void selectTab( TabInfoList::Iterator );
+ void setUpLayout( bool );
private slots:
- void tabChangedSlot( QWidget * );
+ void slotTabBarSelected( int );
+ void slotTabListSelected( int );
};
#endif