summaryrefslogtreecommitdiff
authoralwin <alwin>2005-03-05 17:46:46 (UTC)
committer alwin <alwin>2005-03-05 17:46:46 (UTC)
commita287cf7aad0660d4c7a573ff4da8ef35c78bb712 (patch) (side-by-side diff)
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
@@ -3,12 +3,13 @@
#include <qheader.h>
#include <qtimer.h>
#include <qlayout.h>
#include <opie2/odebug.h>
#include <qpe/qpeapplication.h>
+#include <qpe/qcopenvelope_qws.h>
#include "defines.h"
#include "mainwindow.h"
using namespace Opie::Core;
@@ -83,13 +84,12 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
//setCentralWidget( view );
QVBox* wrapperBox = new QVBox( this );
setCentralWidget( wrapperBox );
QWidget *view = new QWidget( wrapperBox );
-
layout = new QBoxLayout ( view, QBoxLayout::LeftToRight );
folderView = new AccountView( view );
folderView->header()->hide();
folderView->setRootIsDecorated( true );
folderView->addColumn( tr( "Mailbox" ) );
@@ -110,12 +110,14 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
statusWidget->hide();
layout->addWidget( mailView );
layout->setStretchFactor( folderView, 1 );
layout->setStretchFactor( mailView, 2 );
+ m_Rotate = (QApplication::desktop()->width() > QApplication::desktop()->height()?0:90);
+
slotAdjustLayout();
QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold);
QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold);
connect( mailView, SIGNAL( mouseButtonClicked(int,QListViewItem*,const QPoint&,int) ),this,
@@ -130,35 +132,51 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) );
// Added by Stefan Eilers to allow starting by addressbook..
// copied from old mail2
#if !defined(QT_NO_COP)
connect( qApp, SIGNAL( appMessage(const QCString&,const QByteArray&) ),
this, SLOT( appMessage(const QCString&,const QByteArray&) ) );
+ m_sysChannel = new QCopChannel( "QPE/System", this );
+ connect( m_sysChannel, SIGNAL( received(const QCString&,const QByteArray&) ),
+ this, SLOT( systemMessage(const QCString&,const QByteArray&) ) );
#endif
QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) );
}
MainWindow::~MainWindow()
{
}
+void MainWindow::systemMessage( const QCString& msg, const QByteArray& data )
+{
+ int _newrotation;
+ QDataStream stream( data, IO_ReadOnly );
+ if ( msg == "setCurrentRotation(int)" )
+ {
+ stream >> _newrotation;
+ if (m_Rotate != _newrotation) {
+ slotAdjustLayout();
+ m_Rotate = _newrotation;
+ }
+ }
+}
+
void MainWindow::appMessage(const QCString &, const QByteArray &)
{
odebug << "appMessage not reached" << oendl;
}
void MainWindow::slotAdjustLayout() {
- QWidget *d = QApplication::desktop();
-
- if ( d->width() < d->height() ) {
- layout->setDirection( QBoxLayout::TopToBottom );
+ QWidget *d = QApplication::desktop();
+ if ( d->width() < d->height() ) {
+ layout->setDirection( QBoxLayout::TopToBottom );
} else {
- layout->setDirection( QBoxLayout::LeftToRight );
- }
+ layout->setDirection( QBoxLayout::LeftToRight );
+ }
}
void MainWindow::slotAdjustColumns()
{
bool hidden = folderView->isHidden();
if ( hidden ) folderView->show();
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
@@ -12,12 +12,13 @@
#include "statuswidget.h"
#include <libmailwrapper/mailtypes.h>
#include <opie2/osmartpointer.h>
class RecMail;
+class QCopChannel;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
@@ -25,12 +26,13 @@ public:
virtual ~MainWindow();
public slots:
virtual void slotAdjustColumns();
virtual void appMessage(const QCString &msg, const QByteArray &data);
virtual void slotComposeMail();
+ virtual void systemMessage( const QCString&, const QByteArray& );
protected slots:
virtual void slotSendQueued();
virtual void slotEditAccounts();
virtual void slotShowFolders( bool show );
virtual void refreshMailView(const QValueList<RecMailP>&);
@@ -48,9 +50,11 @@ protected:
QPopupMenu *mailMenu, *settingsMenu;
QAction *composeMail, *sendQueued, *showFolders, *searchMails, *deleteMails,
*editSettings, *editAccounts, *syncFolders;
AccountView *folderView;
QListView *mailView;
QBoxLayout *layout;
+ int m_Rotate;
+ QCopChannel* m_sysChannel;
};
#endif