summaryrefslogtreecommitdiff
authoralwin <alwin>2005-03-05 17:46:46 (UTC)
committer alwin <alwin>2005-03-05 17:46:46 (UTC)
commita287cf7aad0660d4c7a573ff4da8ef35c78bb712 (patch) (unidiff)
treedf6b26dca01f4b41710197b1653225c52b4b287b
parentc017febf6f4092bb968d12df5a30a0af30066048 (diff)
downloadopie-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)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/mainwindow.cpp32
-rw-r--r--noncore/net/mail/mainwindow.h4
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
150void 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
145void MainWindow::appMessage(const QCString &, const QByteArray &) 164void 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
150void MainWindow::slotAdjustLayout() { 169void 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
161void MainWindow::slotAdjustColumns() 179void 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
17class RecMail; 17class RecMail;
18class QCopChannel;
18 19
19class MainWindow : public QMainWindow 20class 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
32protected slots: 34protected 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