summaryrefslogtreecommitdiff
path: root/libopie
Side-by-side diff
Diffstat (limited to 'libopie') (more/less context) (show whitespace changes)
-rw-r--r--libopie/big-screen/big-screen.pro2
-rw-r--r--libopie/big-screen/osplitter.cpp35
-rw-r--r--libopie/big-screen/osplitter.h11
-rw-r--r--libopie/libopie.pro2
4 files changed, 44 insertions, 6 deletions
diff --git a/libopie/big-screen/big-screen.pro b/libopie/big-screen/big-screen.pro
new file mode 100644
index 0000000..e5111f2
--- a/dev/null
+++ b/libopie/big-screen/big-screen.pro
@@ -0,0 +1,2 @@
+HEADERS += big-screen/obigscreen_p.h big-screen/osplitter.h
+SOURCES += big-screen/osplitter.cpp \ No newline at end of file
diff --git a/libopie/big-screen/osplitter.cpp b/libopie/big-screen/osplitter.cpp
index ce53ee1..1cd0fd5 100644
--- a/libopie/big-screen/osplitter.cpp
+++ b/libopie/big-screen/osplitter.cpp
@@ -2,3 +2,3 @@
               =. This file is part of the OPIE Project
-             .=l. Copyright (c) 2002 hOlgAr <zecke@handhelds.org>
+             .=l. Copyright (c) 2003 hOlgAr <zecke@handhelds.org>
           .>+-=
@@ -61,3 +61,6 @@ OSplitter::OSplitter( Orientation orient, QWidget* parent, const char* name, WFl
- m_tabWidget = new OTabWidget(this);
+ /* start by default with the tab widget */
+ m_tabWidget = 0;
+ changeTab();
+
}
@@ -79,4 +82,8 @@ OSplitter::~OSplitter() {
* If this size marked is crossed the splitter will relayout.
- * Note that depending on the set Orientation it'll either look
+ * Note: that depending on the set Orientation it'll either look
* at the width or height.
+ * Note: If you want to from side to side view to tabbed view you need
+ * to make sure that the size you supply is not smaller than the minimum
+ * size of your added widgets. Note that if you use widgets like QComboBoxes
+ * you need to teach them to accept smaller sizes as well @see QWidget::setSizePolicy
*
@@ -189,2 +196,14 @@ void OSplitter::setCurrentWidget( const QString& label ) {
/**
+ * This will only work when the TabWidget is active
+ * If everything is visible this signal is kindly ignored
+ * @see OTabWidget::setCurrentTab(int)
+ *
+ * @param tab The tab to make current
+ */
+void OSplitter::setCurrentWidget( int tab ) {
+ if (m_tabWidget )
+ m_tabWidget->setCurrentTab( tab );
+}
+
+/**
* return the currently activated widget if in tab widget mode
@@ -205,2 +224,4 @@ QWidget* OSplitter::currentWidget() {
QSize OSplitter::sizeHint()const {
+ return QSize(10, 10);
+
if (m_hbox )
@@ -210,2 +231,6 @@ QSize OSplitter::sizeHint()const {
}
+
+QSize OSplitter::minimumSizeHint()const {
+ return QSize(10, 10 );
+}
#endif
@@ -221,3 +246,3 @@ void OSplitter::resizeEvent( QResizeEvent* res ) {
// qWarning("Old size was width = %d height = %d", res->oldSize().width(), res->oldSize().height() );
-// qWarning("New size is width = %d height = %d", res->size().width(), res->size().height() );
+ qWarning("New size is width = %d height = %d", res->size().width(), res->size().height() );
if ( res->size().width() > m_size_policy &&
@@ -265,2 +290,4 @@ void OSplitter::changeTab() {
m_tabWidget = new OTabWidget( this );
+ connect(m_tabWidget, SIGNAL(currentChanged(QWidget*) ),
+ this, SIGNAL(currentChanged(QWidget*) ) );
diff --git a/libopie/big-screen/osplitter.h b/libopie/big-screen/osplitter.h
index bc4f80b..db69fc6 100644
--- a/libopie/big-screen/osplitter.h
+++ b/libopie/big-screen/osplitter.h
@@ -2,3 +2,3 @@
               =. This file is part of the OPIE Project
-             .=l. Copyright (c) 2002 hOlgAr <zecke@handhelds.org>
+             .=l. Copyright (c) 2003 hOlgAr <zecke@handhelds.org>
           .>+-=
@@ -76,5 +76,14 @@ public:
void setCurrentWidget( const QString& label );
+ void setCurrentWidget( int );
QWidget* currentWidget();
+signals:
+ /**
+ * Emitted if in tab and comes directly from the tab widget
+ *
+ */
+ void currentChanged( QWidget* );
+public:
// QSize sizeHint()const;
+// QSize minimumSizeHint()const;
diff --git a/libopie/libopie.pro b/libopie/libopie.pro
index 6fbd449..2148233 100644
--- a/libopie/libopie.pro
+++ b/libopie/libopie.pro
@@ -118,3 +118,3 @@ TRANSLATIONS = ../i18n/de/libopie.ts \
-
+include ( big-screen/big-screen.pro )