author | simon <simon> | 2003-03-25 20:30:12 (UTC) |
---|---|---|
committer | simon <simon> | 2003-03-25 20:30:12 (UTC) |
commit | 3a4ee8d8a53ca17703b34f84e1a411056ee7e50f (patch) (unidiff) | |
tree | 6010cc8c464767725a7ab8b973428945dca62994 | |
parent | f7395e72a415322101ee3e22cb0e10b6bdf60a63 (diff) | |
download | opie-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)
-rw-r--r-- | core/launcher/desktop.cpp | 31 | ||||
-rw-r--r-- | core/launcher/desktop.h | 2 | ||||
-rw-r--r-- | core/launcher/taskbar.h | 3 |
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 | |||
@@ -507,7 +507,7 @@ Desktop::Desktop() : | |||
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(); |
@@ -524,6 +524,7 @@ Desktop::Desktop() : | |||
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 | } |
@@ -732,12 +733,7 @@ void Desktop::toggleCapsLockState() | |||
732 | void Desktop::styleChange( QStyle &s ) | 733 | void 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 | ||
743 | void DesktopApplication::shutdown() | 739 | void DesktopApplication::shutdown() |
@@ -806,6 +802,17 @@ void DesktopApplication::restart() | |||
806 | #endif | 802 | #endif |
807 | } | 803 | } |
808 | 804 | ||
805 | void 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 | |||
809 | void Desktop::startTransferServer() | 816 | void Desktop::startTransferServer() |
810 | { | 817 | { |
811 | // start qcop bridge server | 818 | // start qcop bridge server |
@@ -830,6 +837,16 @@ void Desktop::timerEvent( QTimerEvent *e ) | |||
830 | startTransferServer(); | 837 | startTransferServer(); |
831 | } | 838 | } |
832 | 839 | ||
840 | bool 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 | |||
833 | void Desktop::terminateServers() | 850 | void Desktop::terminateServers() |
834 | { | 851 | { |
835 | delete transferServer; | 852 | delete transferServer; |
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 | |||
@@ -134,12 +134,14 @@ protected: | |||
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 | ||
142 | private: | 143 | private: |
144 | void layout(); | ||
143 | void startTransferServer(); | 145 | void startTransferServer(); |
144 | bool recoverMemory(); | 146 | bool recoverMemory(); |
145 | 147 | ||
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 | |||
@@ -61,8 +61,9 @@ protected: | |||
61 | void styleChange( QStyle & ); | 61 | void styleChange( QStyle & ); |
62 | void setStatusMessage( const QString &text ); | 62 | void setStatusMessage( const QString &text ); |
63 | 63 | ||
64 | private slots: | 64 | public slots: |
65 | void calcMaxWindowRect(); | 65 | void calcMaxWindowRect(); |
66 | private slots: | ||
66 | void receive( const QCString &msg, const QByteArray &data ); | 67 | void receive( const QCString &msg, const QByteArray &data ); |
67 | 68 | ||
68 | private: | 69 | private: |