summaryrefslogtreecommitdiff
authorsimon <simon>2003-03-25 20:30:12 (UTC)
committer simon <simon>2003-03-25 20:30:12 (UTC)
commit3a4ee8d8a53ca17703b34f84e1a411056ee7e50f (patch) (unidiff)
tree6010cc8c464767725a7ab8b973428945dca62994
parentf7395e72a415322101ee3e22cb0e10b6bdf60a63 (diff)
downloadopie-3a4ee8d8a53ca17703b34f84e1a411056ee7e50f.zip
opie-3a4ee8d8a53ca17703b34f84e1a411056ee7e50f.tar.gz
opie-3a4ee8d8a53ca17703b34f84e1a411056ee7e50f.tar.bz2
- keep an eye on resize events on the desktop widget, which are an
indication for things like life rotation. upon a resize re-layout things (taskbar, tabs and maxwindow rect)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/desktop.cpp31
-rw-r--r--core/launcher/desktop.h2
-rw-r--r--core/launcher/taskbar.h3
3 files changed, 28 insertions, 8 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp
index 86527f6..6def126 100644
--- a/core/launcher/desktop.cpp
+++ b/core/launcher/desktop.cpp
@@ -504,13 +504,13 @@ Desktop::Desktop() :
504 int displayh = qApp->desktop() ->height(); 504 int displayh = qApp->desktop() ->height();
505 505
506 506
507 QSize sz = tb->sizeHint(); 507 QSize sz = tb->sizeHint();
508 508
509 setGeometry( 0, displayh - sz.height(), displayw, sz.height() ); 509 setGeometry( 0, displayh - sz.height(), displayw, sz.height() );
510 tb->setGeometry( 0, displayh - sz.height(), displayw, sz.height() ); 510 layout();
511 511
512 tb->show(); 512 tb->show();
513 launcher->showMaximized(); 513 launcher->showMaximized();
514 launcher->show(); 514 launcher->show();
515 launcher->raise(); 515 launcher->raise();
516#if defined(QPE_HAVE_MEMALERTER) 516#if defined(QPE_HAVE_MEMALERTER)
@@ -521,12 +521,13 @@ Desktop::Desktop() :
521 startTransferServer(); 521 startTransferServer();
522 ( void ) new IrServer( this ); 522 ( void ) new IrServer( this );
523 523
524 packageSlave = new PackageSlave( this ); 524 packageSlave = new PackageSlave( this );
525 525
526 qApp->installEventFilter( this ); 526 qApp->installEventFilter( this );
527 qApp->desktop()->installEventFilter( this );
527 528
528 qApp-> setMainWidget ( launcher ); 529 qApp-> setMainWidget ( launcher );
529} 530}
530 531
531void Desktop::show() 532void Desktop::show()
532{ 533{
@@ -729,18 +730,13 @@ void Desktop::toggleCapsLockState()
729 tb->toggleCapsLockState(); 730 tb->toggleCapsLockState();
730} 731}
731 732
732void Desktop::styleChange( QStyle &s ) 733void Desktop::styleChange( QStyle &s )
733{ 734{
734 QWidget::styleChange( s ); 735 QWidget::styleChange( s );
735 int displayw = qApp->desktop() ->width(); 736 layout();
736 int displayh = qApp->desktop() ->height();
737
738 QSize sz = tb->sizeHint();
739
740 tb->setGeometry( 0, displayh - sz.height(), displayw, sz.height() );
741} 737}
742 738
743void DesktopApplication::shutdown() 739void DesktopApplication::shutdown()
744{ 740{
745 if ( type() != GuiServer ) 741 if ( type() != GuiServer )
746 return ; 742 return ;
@@ -803,12 +799,23 @@ void DesktopApplication::restart()
803#endif 799#endif
804 800
805 exit( 1 ); 801 exit( 1 );
806#endif 802#endif
807} 803}
808 804
805void Desktop::layout()
806{
807 int displayw = qApp->desktop() ->width();
808 int displayh = qApp->desktop() ->height();
809
810 QSize sz = tb->sizeHint();
811
812 tb->setGeometry( 0, displayh - sz.height(), displayw, sz.height() );
813 tb->calcMaxWindowRect();
814}
815
809void Desktop::startTransferServer() 816void Desktop::startTransferServer()
810{ 817{
811 // start qcop bridge server 818 // start qcop bridge server
812 qcopBridge = new QCopBridge( 4243 ); 819 qcopBridge = new QCopBridge( 4243 );
813 if ( !qcopBridge->ok() ) { 820 if ( !qcopBridge->ok() ) {
814 delete qcopBridge; 821 delete qcopBridge;
@@ -827,12 +834,22 @@ void Desktop::startTransferServer()
827void Desktop::timerEvent( QTimerEvent *e ) 834void Desktop::timerEvent( QTimerEvent *e )
828{ 835{
829 killTimer( e->timerId() ); 836 killTimer( e->timerId() );
830 startTransferServer(); 837 startTransferServer();
831} 838}
832 839
840bool Desktop::eventFilter( QObject *o, QEvent *ev )
841{
842 if ( o != qApp->desktop() || ev->type() != QEvent::Resize )
843 return QWidget::eventFilter( o, ev );
844
845 layout();
846
847 return QWidget::eventFilter( o, ev );
848}
849
833void Desktop::terminateServers() 850void Desktop::terminateServers()
834{ 851{
835 delete transferServer; 852 delete transferServer;
836 delete qcopBridge; 853 delete qcopBridge;
837 transferServer = 0; 854 transferServer = 0;
838 qcopBridge = 0; 855 qcopBridge = 0;
diff --git a/core/launcher/desktop.h b/core/launcher/desktop.h
index 4024c38..86d8aa8 100644
--- a/core/launcher/desktop.h
+++ b/core/launcher/desktop.h
@@ -131,18 +131,20 @@ public slots:
131 void terminateServers(); 131 void terminateServers();
132 132
133protected: 133protected:
134 void executeOrModify( const QString& appLnkFile ); 134 void executeOrModify( const QString& appLnkFile );
135 void styleChange( QStyle & ); 135 void styleChange( QStyle & );
136 void timerEvent( QTimerEvent *e ); 136 void timerEvent( QTimerEvent *e );
137 virtual bool eventFilter( QObject *o, QEvent *ev );
137 138
138 QWidget *bg; 139 QWidget *bg;
139 Launcher *launcher; 140 Launcher *launcher;
140 TaskBar *tb; 141 TaskBar *tb;
141 142
142private: 143private:
144 void layout();
143 void startTransferServer(); 145 void startTransferServer();
144 bool recoverMemory(); 146 bool recoverMemory();
145 147
146 QCopBridge *qcopBridge; 148 QCopBridge *qcopBridge;
147 TransferServer *transferServer; 149 TransferServer *transferServer;
148 PackageSlave *packageSlave; 150 PackageSlave *packageSlave;
diff --git a/core/launcher/taskbar.h b/core/launcher/taskbar.h
index cd631ef..a0bf395 100644
--- a/core/launcher/taskbar.h
+++ b/core/launcher/taskbar.h
@@ -58,14 +58,15 @@ public slots:
58 58
59protected: 59protected:
60 void resizeEvent( QResizeEvent * ); 60 void resizeEvent( QResizeEvent * );
61 void styleChange( QStyle & ); 61 void styleChange( QStyle & );
62 void setStatusMessage( const QString &text ); 62 void setStatusMessage( const QString &text );
63 63
64private slots: 64public slots:
65 void calcMaxWindowRect(); 65 void calcMaxWindowRect();
66private slots:
66 void receive( const QCString &msg, const QByteArray &data ); 67 void receive( const QCString &msg, const QByteArray &data );
67 68
68private: 69private:
69 70
70 QTimer *waitTimer; 71 QTimer *waitTimer;
71 Wait *waitIcon; 72 Wait *waitIcon;