summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/big-screen/osplitter.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/libopie/big-screen/osplitter.cpp b/libopie/big-screen/osplitter.cpp
index 47f856d..b09bc94 100644
--- a/libopie/big-screen/osplitter.cpp
+++ b/libopie/big-screen/osplitter.cpp
@@ -357,108 +357,111 @@ void OSplitter::resizeEvent( QResizeEvent* res ) {
357 qWarning("Changng to vbox %s", name() ); 357 qWarning("Changng to vbox %s", name() );
358 changeVBox(); 358 changeVBox();
359 mode = false; 359 mode = false;
360 } 360 }
361 361
362 emit sizeChanged(mode, m_orient ); 362 emit sizeChanged(mode, m_orient );
363} 363}
364 364
365/* 365/*
366 * Adds a container to a tab either the parent tab 366 * Adds a container to a tab either the parent tab
367 * or our own 367 * or our own
368 */ 368 */
369void OSplitter::addToTab( const Opie::OSplitterContainer& con ) { 369void OSplitter::addToTab( const Opie::OSplitterContainer& con ) {
370 QWidget *wid = con.widget; 370 QWidget *wid = con.widget;
371// not needed widgetstack will reparent as well wid.reparent(m_tabWidget, wid->getWFlags(), QPoint(0, 0) ); 371// not needed widgetstack will reparent as well wid.reparent(m_tabWidget, wid->getWFlags(), QPoint(0, 0) );
372 if (m_parentTab ) 372 if (m_parentTab )
373 m_parentTab->addTab( wid, con.icon, con.name ); 373 m_parentTab->addTab( wid, con.icon, con.name );
374 else 374 else
375 m_tabWidget->addTab( wid, con.icon, con.name ); 375 m_tabWidget->addTab( wid, con.icon, con.name );
376} 376}
377 377
378 378
379/* 379/*
380 * adds a container to the box 380 * adds a container to the box
381 */ 381 */
382void OSplitter::addToBox( const Opie::OSplitterContainer& con ) { 382void OSplitter::addToBox( const Opie::OSplitterContainer& con ) {
383 QWidget* wid = con.widget; 383 QWidget* wid = con.widget;
384 wid->reparent(m_hbox, 0, QPoint(0, 0) ); 384 wid->reparent(m_hbox, 0, QPoint(0, 0) );
385} 385}
386 386
387 387
388/* 388/*
389 * Removes a widget from the tab 389 * Removes a widget from the tab
390 */ 390 */
391void OSplitter::removeFromTab( QWidget* wid ) { 391void OSplitter::removeFromTab( QWidget* wid ) {
392 if (m_parentTab ) 392 if (m_parentTab )
393 m_parentTab->removePage( wid ); 393 m_parentTab->removePage( wid );
394 else 394 else
395 m_tabWidget->removePage( wid ); 395 m_tabWidget->removePage( wid );
396} 396}
397 397
398/* 398/*
399 * switches over to a OTabWidget layout 399 * switches over to a OTabWidget layout
400 * it is recursive 400 * it is recursive
401 */ 401 */
402void OSplitter::changeTab() { 402void OSplitter::changeTab() {
403 /* if we're the owner of the tab widget */ 403 /* if we're the owner of the tab widget */
404 if (m_tabWidget ) { 404 if (m_tabWidget ) {
405 raise();
406 show();
405 m_tabWidget->setGeometry( frameRect() ); 407 m_tabWidget->setGeometry( frameRect() );
406 return; 408 return;
407 } 409 }
408 410
409 qWarning(" New Tab Widget %s", name() ); 411 qWarning(" New Tab Widget %s", name() );
410 /* 412 /*
411 * and add all widgets this will reparent them 413 * and add all widgets this will reparent them
412 * delete m_hbox set it to 0 414 * delete m_hbox set it to 0
413 * 415 *
414 */ 416 */
415 OTabWidget *tab; 417 OTabWidget *tab;
416 if ( m_parentTab ) { 418 if ( m_parentTab ) {
419 hide();
417 tab = m_parentTab; 420 tab = m_parentTab;
418 /* expensive but needed cause we're called from setTabWidget and resizeEvent*/ 421 /* expensive but needed cause we're called from setTabWidget and resizeEvent*/
419 if (!m_container.isEmpty() ) { 422 if (!m_container.isEmpty() ) {
420 ContainerList::Iterator it = m_container.begin(); 423 ContainerList::Iterator it = m_container.begin();
421 for (; it != m_container.end(); ++it ) 424 for (; it != m_container.end(); ++it )
422 m_parentTab->removePage( (*it).widget ); 425 m_parentTab->removePage( (*it).widget );
423 } 426 }
424 }else 427 }else
425 tab = m_tabWidget = new OTabWidget( this ); 428 tab = m_tabWidget = new OTabWidget( this );
426 429
427 connect(tab, SIGNAL(currentChanged(QWidget*) ), 430 connect(tab, SIGNAL(currentChanged(QWidget*) ),
428 this, SIGNAL(currentChanged(QWidget*) ) ); 431 this, SIGNAL(currentChanged(QWidget*) ) );
429 432
430 for ( ContainerList::Iterator it = m_container.begin(); it != m_container.end(); ++it ) { 433 for ( ContainerList::Iterator it = m_container.begin(); it != m_container.end(); ++it ) {
431 qWarning("Widget is %s", (*it).name.latin1() ); 434 qWarning("Widget is %s", (*it).name.latin1() );
432 addToTab( (*it) ); 435 addToTab( (*it) );
433 } 436 }
434 437
435 for ( OSplitter* split = m_splitter.first(); split; split = m_splitter.next() ) { 438 for ( OSplitter* split = m_splitter.first(); split; split = m_splitter.next() ) {
436 split->reparent(this, 0, QPoint(0, 0) ); 439 split->reparent(this, 0, QPoint(0, 0) );
437 split->setTabWidget( tab ); 440 split->setTabWidget( tab );
438 } 441 }
439 442
440 443
441 delete m_hbox; 444 delete m_hbox;
442 m_hbox = 0; 445 m_hbox = 0;
443 if (!m_tabWidget ) 446 if (!m_tabWidget )
444 return; 447 return;
445 448
446 m_tabWidget->setGeometry( frameRect() ); 449 m_tabWidget->setGeometry( frameRect() );
447 m_tabWidget->show(); 450 m_tabWidget->show();
448 451
449} 452}
450 453
451/* 454/*
452 * changes over to a box 455 * changes over to a box
453 * this is recursive as well 456 * this is recursive as well
454 */ 457 */
455void OSplitter::changeHBox() { 458void OSplitter::changeHBox() {
456 if (m_hbox ) { 459 if (m_hbox ) {
457 m_hbox->setGeometry( frameRect() ); 460 m_hbox->setGeometry( frameRect() );
458 return; 461 return;
459 } 462 }
460 463
461 qWarning("new HBox %s", name() ); 464 qWarning("new HBox %s", name() );
462 m_hbox = new QHBox( this ); 465 m_hbox = new QHBox( this );
463 commonChangeBox(); 466 commonChangeBox();
464} 467}
@@ -500,82 +503,80 @@ void OSplitter::commonChangeBox() {
500// con.widget = split->m_tabWidget ? static_cast<QWidget*>(split->m_tabWidget) 503// con.widget = split->m_tabWidget ? static_cast<QWidget*>(split->m_tabWidget)
501// : static_cast<QWidget*>(split->m_hbox); 504// : static_cast<QWidget*>(split->m_hbox);
502 addToBox( con ); 505 addToBox( con );
503 } 506 }
504 507
505 508
506 509
507 if (m_parentTab ) 510 if (m_parentTab )
508 m_parentTab->addTab(m_hbox, iconName(), label() ); 511 m_parentTab->addTab(m_hbox, iconName(), label() );
509 else { 512 else {
510 qWarning(" setting Box geometry for %s", name() ); 513 qWarning(" setting Box geometry for %s", name() );
511 m_hbox->setGeometry( frameRect() ); 514 m_hbox->setGeometry( frameRect() );
512 m_hbox->show(); 515 m_hbox->show();
513 delete m_tabWidget; 516 delete m_tabWidget;
514 m_tabWidget = 0; 517 m_tabWidget = 0;
515 } 518 }
516} 519}
517 520
518/* 521/*
519 * sets the tabwidget, removes tabs, and relayouts the widget 522 * sets the tabwidget, removes tabs, and relayouts the widget
520 */ 523 */
521void OSplitter::setTabWidget( OTabWidget* wid) { 524void OSplitter::setTabWidget( OTabWidget* wid) {
522 /* clean up cause m_parentTab will not be available for us */ 525 /* clean up cause m_parentTab will not be available for us */
523 if ( m_parentTab ) { 526 if ( m_parentTab ) {
524 if (m_hbox ) 527 if (m_hbox )
525 m_parentTab->removePage( m_hbox ); 528 m_parentTab->removePage( m_hbox );
526 else if (!m_container.isEmpty() ){ 529 else if (!m_container.isEmpty() ){
527 ContainerList::Iterator it = m_container.begin(); 530 ContainerList::Iterator it = m_container.begin();
528 for ( ; it != m_container.end(); ++it ) 531 for ( ; it != m_container.end(); ++it )
529 m_parentTab->removePage( (*it).widget ); 532 m_parentTab->removePage( (*it).widget );
530 } 533 }
531 } 534 }
532 /* the parent Splitter changed so either make us indepent or dep */ 535 /* the parent Splitter changed so either make us indepent or dep */
533 536
534 m_parentTab = wid; 537 m_parentTab = wid;
535 538
536 QWidget *tab = m_tabWidget; 539 QWidget *tab = m_tabWidget;
537 QWidget *box = m_hbox; 540 QWidget *box = m_hbox;
538 m_hbox = 0; m_tabWidget = 0; 541 m_hbox = 0; m_tabWidget = 0;
539 542
540 if ( layoutMode() ) 543 if ( layoutMode() )
541 changeTab(); 544 changeTab();
542 else if (m_orient == Horizontal ) 545 else if (m_orient == Horizontal )
543 changeHBox(); 546 changeHBox();
544 else 547 else
545 changeVBox(); 548 changeVBox();
546 549
547 /* our own crap is added and children from change* */ 550 /* our own crap is added and children from change* */
548 if (m_parentTab ) { 551 delete tab;
549 delete tab; 552 delete box;
550 delete box;
551 }
552} 553}
553 554
554 555
555#if 0 556#if 0
556void OSplitter::reparentAll() { 557void OSplitter::reparentAll() {
557 if (m_container.isEmpty() ) 558 if (m_container.isEmpty() )
558 return; 559 return;
559 560
560 ContainerList::Iterator it = m_container.begin(); 561 ContainerList::Iterator it = m_container.begin();
561 for ( ; it != m_container.end(); ++it ) 562 for ( ; it != m_container.end(); ++it )
562 (*it).wid->reparent(0, 0, QPoint(0, 0) ); 563 (*it).wid->reparent(0, 0, QPoint(0, 0) );
563 564
564 565
565} 566}
566#endif 567#endif
567 568
568/** 569/**
569 * @internal 570 * @internal
570 */ 571 */
571bool OSplitter::layoutMode()const { 572bool OSplitter::layoutMode()const {
572 if ( size().width() > m_size_policy && 573 if ( size().width() > m_size_policy &&
573 m_orient == Horizontal ) { 574 m_orient == Horizontal ) {
574 return false; 575 return false;
575 }else if ( size().height() > m_size_policy && 576 }else if ( size().height() > m_size_policy &&
576 m_orient == Vertical ) { 577 m_orient == Vertical ) {
577 return false; 578 return false;
578 } 579 }
579 580
580 return true; 581 return true;
581} 582}