author | alwin <alwin> | 2005-03-05 17:46:46 (UTC) |
---|---|---|
committer | alwin <alwin> | 2005-03-05 17:46:46 (UTC) |
commit | a287cf7aad0660d4c7a573ff4da8ef35c78bb712 (patch) (unidiff) | |
tree | df6b26dca01f4b41710197b1653225c52b4b287b | |
parent | c017febf6f4092bb968d12df5a30a0af30066048 (diff) | |
download | opie-a287cf7aad0660d4c7a573ff4da8ef35c78bb712.zip opie-a287cf7aad0660d4c7a573ff4da8ef35c78bb712.tar.gz opie-a287cf7aad0660d4c7a573ff4da8ef35c78bb712.tar.bz2 |
change the layoutdirection of main window when display is rotating
(LeftToRight when 0 rotation, TopToButtom when 90)
-rw-r--r-- | noncore/net/mail/mainwindow.cpp | 32 | ||||
-rw-r--r-- | noncore/net/mail/mainwindow.h | 4 |
2 files changed, 29 insertions, 7 deletions
diff --git a/noncore/net/mail/mainwindow.cpp b/noncore/net/mail/mainwindow.cpp index c115b32..93d80d9 100644 --- a/noncore/net/mail/mainwindow.cpp +++ b/noncore/net/mail/mainwindow.cpp | |||
@@ -6,6 +6,7 @@ | |||
6 | 6 | ||
7 | #include <opie2/odebug.h> | 7 | #include <opie2/odebug.h> |
8 | #include <qpe/qpeapplication.h> | 8 | #include <qpe/qpeapplication.h> |
9 | #include <qpe/qcopenvelope_qws.h> | ||
9 | 10 | ||
10 | #include "defines.h" | 11 | #include "defines.h" |
11 | #include "mainwindow.h" | 12 | #include "mainwindow.h" |
@@ -86,7 +87,6 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | |||
86 | setCentralWidget( wrapperBox ); | 87 | setCentralWidget( wrapperBox ); |
87 | 88 | ||
88 | QWidget *view = new QWidget( wrapperBox ); | 89 | QWidget *view = new QWidget( wrapperBox ); |
89 | |||
90 | layout = new QBoxLayout ( view, QBoxLayout::LeftToRight ); | 90 | layout = new QBoxLayout ( view, QBoxLayout::LeftToRight ); |
91 | 91 | ||
92 | folderView = new AccountView( view ); | 92 | folderView = new AccountView( view ); |
@@ -113,6 +113,8 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | |||
113 | layout->setStretchFactor( folderView, 1 ); | 113 | layout->setStretchFactor( folderView, 1 ); |
114 | layout->setStretchFactor( mailView, 2 ); | 114 | layout->setStretchFactor( mailView, 2 ); |
115 | 115 | ||
116 | m_Rotate = (QApplication::desktop()->width() > QApplication::desktop()->height()?0:90); | ||
117 | |||
116 | slotAdjustLayout(); | 118 | slotAdjustLayout(); |
117 | 119 | ||
118 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); | 120 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); |
@@ -133,6 +135,9 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | |||
133 | #if !defined(QT_NO_COP) | 135 | #if !defined(QT_NO_COP) |
134 | connect( qApp, SIGNAL( appMessage(const QCString&,const QByteArray&) ), | 136 | connect( qApp, SIGNAL( appMessage(const QCString&,const QByteArray&) ), |
135 | this, SLOT( appMessage(const QCString&,const QByteArray&) ) ); | 137 | this, SLOT( appMessage(const QCString&,const QByteArray&) ) ); |
138 | m_sysChannel = new QCopChannel( "QPE/System", this ); | ||
139 | connect( m_sysChannel, SIGNAL( received(const QCString&,const QByteArray&) ), | ||
140 | this, SLOT( systemMessage(const QCString&,const QByteArray&) ) ); | ||
136 | #endif | 141 | #endif |
137 | 142 | ||
138 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); | 143 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); |
@@ -142,6 +147,20 @@ MainWindow::~MainWindow() | |||
142 | { | 147 | { |
143 | } | 148 | } |
144 | 149 | ||
150 | void MainWindow::systemMessage( const QCString& msg, const QByteArray& data ) | ||
151 | { | ||
152 | int _newrotation; | ||
153 | QDataStream stream( data, IO_ReadOnly ); | ||
154 | if ( msg == "setCurrentRotation(int)" ) | ||
155 | { | ||
156 | stream >> _newrotation; | ||
157 | if (m_Rotate != _newrotation) { | ||
158 | slotAdjustLayout(); | ||
159 | m_Rotate = _newrotation; | ||
160 | } | ||
161 | } | ||
162 | } | ||
163 | |||
145 | void MainWindow::appMessage(const QCString &, const QByteArray &) | 164 | void MainWindow::appMessage(const QCString &, const QByteArray &) |
146 | { | 165 | { |
147 | odebug << "appMessage not reached" << oendl; | 166 | odebug << "appMessage not reached" << oendl; |
@@ -149,13 +168,12 @@ void MainWindow::appMessage(const QCString &, const QByteArray &) | |||
149 | 168 | ||
150 | void MainWindow::slotAdjustLayout() { | 169 | void MainWindow::slotAdjustLayout() { |
151 | 170 | ||
152 | QWidget *d = QApplication::desktop(); | 171 | QWidget *d = QApplication::desktop(); |
153 | 172 | if ( d->width() < d->height() ) { | |
154 | if ( d->width() < d->height() ) { | 173 | layout->setDirection( QBoxLayout::TopToBottom ); |
155 | layout->setDirection( QBoxLayout::TopToBottom ); | ||
156 | } else { | 174 | } else { |
157 | layout->setDirection( QBoxLayout::LeftToRight ); | 175 | layout->setDirection( QBoxLayout::LeftToRight ); |
158 | } | 176 | } |
159 | } | 177 | } |
160 | 178 | ||
161 | void MainWindow::slotAdjustColumns() | 179 | void MainWindow::slotAdjustColumns() |
diff --git a/noncore/net/mail/mainwindow.h b/noncore/net/mail/mainwindow.h index 8d004c6..8cec888 100644 --- a/noncore/net/mail/mainwindow.h +++ b/noncore/net/mail/mainwindow.h | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <opie2/osmartpointer.h> | 15 | #include <opie2/osmartpointer.h> |
16 | 16 | ||
17 | class RecMail; | 17 | class RecMail; |
18 | class QCopChannel; | ||
18 | 19 | ||
19 | class MainWindow : public QMainWindow | 20 | class MainWindow : public QMainWindow |
20 | { | 21 | { |
@@ -28,6 +29,7 @@ public slots: | |||
28 | virtual void slotAdjustColumns(); | 29 | virtual void slotAdjustColumns(); |
29 | virtual void appMessage(const QCString &msg, const QByteArray &data); | 30 | virtual void appMessage(const QCString &msg, const QByteArray &data); |
30 | virtual void slotComposeMail(); | 31 | virtual void slotComposeMail(); |
32 | virtual void systemMessage( const QCString&, const QByteArray& ); | ||
31 | 33 | ||
32 | protected slots: | 34 | protected slots: |
33 | virtual void slotSendQueued(); | 35 | virtual void slotSendQueued(); |
@@ -51,6 +53,8 @@ protected: | |||
51 | AccountView *folderView; | 53 | AccountView *folderView; |
52 | QListView *mailView; | 54 | QListView *mailView; |
53 | QBoxLayout *layout; | 55 | QBoxLayout *layout; |
56 | int m_Rotate; | ||
57 | QCopChannel* m_sysChannel; | ||
54 | }; | 58 | }; |
55 | 59 | ||
56 | #endif | 60 | #endif |