author | drw <drw> | 2002-12-05 23:28:33 (UTC) |
---|---|---|
committer | drw <drw> | 2002-12-05 23:28:33 (UTC) |
commit | 0e19980617d101f69d0540d62b89fe1894cfe0f2 (patch) (unidiff) | |
tree | b5ecf3cdc140a08e69a98202b60e84a17e3858bf | |
parent | 8a1c4b4b84d8a8de87bb6adb4df3f09961854633 (diff) | |
download | opie-0e19980617d101f69d0540d62b89fe1894cfe0f2.zip opie-0e19980617d101f69d0540d62b89fe1894cfe0f2.tar.gz opie-0e19980617d101f69d0540d62b89fe1894cfe0f2.tar.bz2 |
Allow changing styles/position at run-time (i.e. make setTabStyle/setTabPosition work).
-rw-r--r-- | libopie/otabwidget.cpp | 84 |
1 files changed, 58 insertions, 26 deletions
diff --git a/libopie/otabwidget.cpp b/libopie/otabwidget.cpp index 1fee919..bee3f35 100644 --- a/libopie/otabwidget.cpp +++ b/libopie/otabwidget.cpp | |||
@@ -47,6 +47,6 @@ OTabWidget::OTabWidget( QWidget *parent, const char *name, TabStyle s, TabPositi | |||
47 | config.setGroup( "Appearance" ); | 47 | config.setGroup( "Appearance" ); |
48 | tabBarStyle = ( TabStyle ) config.readNumEntry( "TabStyle", (int) IconTab ); | 48 | s = ( TabStyle ) config.readNumEntry( "TabStyle", (int) IconTab ); |
49 | if ( tabBarStyle <= Global || tabBarStyle > IconList) | 49 | if ( s <= Global || s > IconList) |
50 | { | 50 | { |
51 | tabBarStyle = IconTab; | 51 | s = IconTab; |
52 | } | 52 | } |
@@ -55,3 +55,3 @@ OTabWidget::OTabWidget( QWidget *parent, const char *name, TabStyle s, TabPositi | |||
55 | { | 55 | { |
56 | tabBarPosition = Bottom; | 56 | p = Bottom; |
57 | } | 57 | } |
@@ -59,10 +59,5 @@ OTabWidget::OTabWidget( QWidget *parent, const char *name, TabStyle s, TabPositi | |||
59 | { | 59 | { |
60 | tabBarPosition = Top; | 60 | p = Top; |
61 | } | 61 | } |
62 | } | 62 | } |
63 | else | ||
64 | { | ||
65 | tabBarStyle = s; | ||
66 | tabBarPosition = p; | ||
67 | } | ||
68 | 63 | ||
@@ -82,17 +77,5 @@ OTabWidget::OTabWidget( QWidget *parent, const char *name, TabStyle s, TabPositi | |||
82 | 77 | ||
83 | if ( tabBarStyle == TextTab || tabBarStyle == IconTab ) | 78 | setTabStyle( s ); |
84 | { | 79 | setTabPosition( p ); |
85 | tabBarStack->raiseWidget( tabBar ); | ||
86 | } | ||
87 | else if ( tabBarStyle == TextList || tabBarStyle == IconList ) | ||
88 | { | ||
89 | tabBarStack->raiseWidget( tabList ); | ||
90 | } | ||
91 | |||
92 | if ( tabBarPosition == Bottom ) | ||
93 | { | ||
94 | tabBar->setShape( QTabBar::RoundedBelow ); | ||
95 | } | ||
96 | 80 | ||
97 | //tabs.setAutoDelete( TRUE ); | ||
98 | currentTab= 0x0; | 81 | currentTab= 0x0; |
@@ -224,2 +207,41 @@ void OTabWidget::setTabStyle( TabStyle s ) | |||
224 | tabBarStyle = s; | 207 | tabBarStyle = s; |
208 | if ( tabBarStyle == TextTab || tabBarStyle == IconTab ) | ||
209 | { | ||
210 | QTab *currtab; | ||
211 | for ( OTabInfo *tabinfo = tabs.first(); tabinfo; tabinfo = tabs.next() ) | ||
212 | { | ||
213 | currtab = tabBar->tab( tabinfo->id() ); | ||
214 | if ( tabBarStyle == IconTab ) | ||
215 | { | ||
216 | currtab->iconset = new QIconSet( loadSmooth( tabinfo->icon() ) ); | ||
217 | if ( tabinfo == currentTab ) | ||
218 | currtab->setText( tabinfo->label() ); | ||
219 | else | ||
220 | currtab->setText( QString::null ); | ||
221 | } | ||
222 | else | ||
223 | { | ||
224 | currtab->iconset = 0x0; | ||
225 | currtab->setText( tabinfo->label() ); | ||
226 | } | ||
227 | } | ||
228 | tabBarStack->raiseWidget( tabBar ); | ||
229 | } | ||
230 | else if ( tabBarStyle == TextList || tabBarStyle == IconList ) | ||
231 | { | ||
232 | tabList->clear(); | ||
233 | for ( OTabInfo *tabinfo = tabs.first(); tabinfo; tabinfo = tabs.next() ) | ||
234 | { | ||
235 | if ( tabBarStyle == IconList ) | ||
236 | { | ||
237 | tabList->insertItem( loadSmooth( tabinfo->icon() ), tabinfo->label() ); | ||
238 | } | ||
239 | else | ||
240 | { | ||
241 | tabList->insertItem( tabinfo->label() ); | ||
242 | } | ||
243 | } | ||
244 | tabBarStack->raiseWidget( tabList ); | ||
245 | } | ||
246 | setUpLayout(); | ||
225 | } | 247 | } |
@@ -234,2 +256,11 @@ void OTabWidget::setTabPosition( TabPosition p ) | |||
234 | tabBarPosition = p; | 256 | tabBarPosition = p; |
257 | if ( tabBarPosition == Top ) | ||
258 | { | ||
259 | tabBar->setShape( QTabBar::RoundedAbove ); | ||
260 | } | ||
261 | else | ||
262 | { | ||
263 | tabBar->setShape( QTabBar::RoundedBelow ); | ||
264 | } | ||
265 | setUpLayout(); | ||
235 | } | 266 | } |
@@ -272,3 +303,3 @@ void OTabWidget::selectTab( OTabInfo *tab ) | |||
272 | { | 303 | { |
273 | tabBar->tab( currentTab->id() )->setText( "" ); | 304 | tabBar->tab( currentTab->id() )->setText( QString::null ); |
274 | setUpLayout(); | 305 | setUpLayout(); |
@@ -333,3 +364,4 @@ void OTabWidget::resizeEvent( QResizeEvent * ) | |||
333 | 364 | ||
334 | int OTabWidget::getCurrentTab() { | 365 | int OTabWidget::getCurrentTab() |
366 | { | ||
335 | if ( currentTab ) | 367 | if ( currentTab ) |