-rw-r--r-- | libopie/otabwidget.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/libopie/otabwidget.cpp b/libopie/otabwidget.cpp index aaf14ce..bed7ef1 100644 --- a/libopie/otabwidget.cpp +++ b/libopie/otabwidget.cpp | |||
@@ -132,25 +132,25 @@ void OTabWidget::addTab( QWidget *child, const QString &icon, const QString &lab | |||
132 | 132 | ||
133 | widgetStack->addWidget( child, tabid ); | 133 | widgetStack->addWidget( child, tabid ); |
134 | widgetStack->raiseWidget( child ); | 134 | widgetStack->raiseWidget( child ); |
135 | widgetStack->setFrameStyle( QFrame::StyledPanel | QFrame::Raised ); | 135 | widgetStack->setFrameStyle( QFrame::StyledPanel | QFrame::Raised ); |
136 | 136 | ||
137 | OTabInfo *tabinfo = new OTabInfo( tabid, child, icon, label ); | 137 | OTabInfo *tabinfo = new OTabInfo( tabid, child, icon, label ); |
138 | tabs.append( tabinfo ); | 138 | tabs.append( tabinfo ); |
139 | selectTab( tabinfo ); | 139 | selectTab( tabinfo ); |
140 | } | 140 | } |
141 | 141 | ||
142 | void OTabWidget::removePage( QWidget *childwidget ) | 142 | void OTabWidget::removePage( QWidget *childwidget ) |
143 | { | 143 | { |
144 | if ( childwidget ) | 144 | if ( childwidget ) |
145 | { | 145 | { |
146 | OTabInfo *tab = tabs.first(); | 146 | OTabInfo *tab = tabs.first(); |
147 | while ( tab && tab->control() != childwidget ) | 147 | while ( tab && tab->control() != childwidget ) |
148 | { | 148 | { |
149 | tab = tabs.next(); | 149 | tab = tabs.next(); |
150 | } | 150 | } |
151 | if ( tab && tab->control() == childwidget ) | 151 | if ( tab && tab->control() == childwidget ) |
152 | { | 152 | { |
153 | tabBar->setTabEnabled( tab->id(), FALSE ); | 153 | tabBar->setTabEnabled( tab->id(), FALSE ); |
154 | tabBar->removeTab( tabBar->tab( tab->id() ) ); | 154 | tabBar->removeTab( tabBar->tab( tab->id() ) ); |
155 | int i = 0; | 155 | int i = 0; |
156 | while ( i < tabList->count() && tabList->text( i ) != tab->label() ) | 156 | while ( i < tabList->count() && tabList->text( i ) != tab->label() ) |
@@ -192,24 +192,37 @@ void OTabWidget::setCurrentTab( const QString &tabname ) | |||
192 | { | 192 | { |
193 | OTabInfo *newtab = tabs.first(); | 193 | OTabInfo *newtab = tabs.first(); |
194 | while ( newtab && newtab->label() != tabname ) | 194 | while ( newtab && newtab->label() != tabname ) |
195 | { | 195 | { |
196 | newtab = tabs.next(); | 196 | newtab = tabs.next(); |
197 | } | 197 | } |
198 | if ( newtab && newtab->label() == tabname ) | 198 | if ( newtab && newtab->label() == tabname ) |
199 | { | 199 | { |
200 | selectTab( newtab ); | 200 | selectTab( newtab ); |
201 | } | 201 | } |
202 | } | 202 | } |
203 | 203 | ||
204 | void OTabWidget::setCurrentTab(int tabindex) { | ||
205 | OTabInfo *newtab = tabs.first(); | ||
206 | while ( newtab && newtab->id() != tabindex ) | ||
207 | { | ||
208 | newtab = tabs.next(); | ||
209 | } | ||
210 | if ( newtab && newtab->id() == tabindex ) | ||
211 | { | ||
212 | selectTab( newtab ); | ||
213 | } | ||
214 | } | ||
215 | |||
216 | |||
204 | OTabWidget::TabStyle OTabWidget::tabStyle() const | 217 | OTabWidget::TabStyle OTabWidget::tabStyle() const |
205 | { | 218 | { |
206 | return tabBarStyle; | 219 | return tabBarStyle; |
207 | } | 220 | } |
208 | 221 | ||
209 | void OTabWidget::setTabStyle( TabStyle s ) | 222 | void OTabWidget::setTabStyle( TabStyle s ) |
210 | { | 223 | { |
211 | tabBarStyle = s; | 224 | tabBarStyle = s; |
212 | } | 225 | } |
213 | 226 | ||
214 | OTabWidget::TabPosition OTabWidget::tabPosition() const | 227 | OTabWidget::TabPosition OTabWidget::tabPosition() const |
215 | { | 228 | { |
@@ -296,12 +309,21 @@ void OTabWidget::setUpLayout() | |||
296 | 309 | ||
297 | QSize OTabWidget::sizeHint() const | 310 | QSize OTabWidget::sizeHint() const |
298 | { | 311 | { |
299 | QSize s( widgetStack->sizeHint() ); | 312 | QSize s( widgetStack->sizeHint() ); |
300 | QSize t( tabBarStack->sizeHint() ); | 313 | QSize t( tabBarStack->sizeHint() ); |
301 | return QSize( QMAX( s.width(), t.width()), s.height() + t.height() ); | 314 | return QSize( QMAX( s.width(), t.width()), s.height() + t.height() ); |
302 | } | 315 | } |
303 | 316 | ||
304 | void OTabWidget::resizeEvent( QResizeEvent * ) | 317 | void OTabWidget::resizeEvent( QResizeEvent * ) |
305 | { | 318 | { |
306 | setUpLayout(); | 319 | setUpLayout(); |
307 | } | 320 | } |
321 | |||
322 | int OTabWidget::getCurrentTab() { | ||
323 | if ( currentTab ) | ||
324 | { | ||
325 | return currentTab->id(); | ||
326 | } | ||
327 | return -1; | ||
328 | } | ||
329 | |||