summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/tabwidget.cpp
Side-by-side diff
Diffstat (limited to 'noncore/apps/opie-console/tabwidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/tabwidget.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/noncore/apps/opie-console/tabwidget.cpp b/noncore/apps/opie-console/tabwidget.cpp
new file mode 100644
index 0000000..6091aa2
--- a/dev/null
+++ b/noncore/apps/opie-console/tabwidget.cpp
@@ -0,0 +1,28 @@
+
+#include "tabwidget.h"
+
+TabWidget::TabWidget( QWidget* parent, const char* name )
+ : QTabWidget( parent, name )
+{
+ connect(this, SIGNAL(currentChanged(QWidget*) ),
+ this, SLOT(slotCurChanged(QWidget*) ) );
+}
+TabWidget::~TabWidget() {
+}
+void TabWidget::add( Session* ses ) {
+ if ( !ses->widget() ) return;
+ addTab( ses->widget(), ses->name() );
+ m_map.insert( ses->widget(), ses );
+}
+void TabWidget::remove( Session* ses ) {
+ m_map.remove( ses->widget() );
+ removePage( ses->widget() );
+}
+void TabWidget::slotCurChanged( QWidget* wid ) {
+ QMap<QWidget*, Session*>::Iterator it;
+ it = m_map.find(wid );
+ if (it == m_map.end() )
+ return;
+
+ emit activated( it.data() );
+}