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 /noncore/net/mail/mainwindow.cpp | |
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)
Diffstat (limited to 'noncore/net/mail/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/mainwindow.cpp | 32 |
1 files changed, 25 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 | |||
@@ -1,32 +1,33 @@ | |||
1 | #include <qlabel.h> | 1 | #include <qlabel.h> |
2 | #include <qvbox.h> | 2 | #include <qvbox.h> |
3 | #include <qheader.h> | 3 | #include <qheader.h> |
4 | #include <qtimer.h> | 4 | #include <qtimer.h> |
5 | #include <qlayout.h> | 5 | #include <qlayout.h> |
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" |
12 | 13 | ||
13 | using namespace Opie::Core; | 14 | using namespace Opie::Core; |
14 | 15 | ||
15 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | 16 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) |
16 | : QMainWindow( parent, name, flags ) | 17 | : QMainWindow( parent, name, flags ) |
17 | { | 18 | { |
18 | 19 | ||
19 | setCaption( tr( "Mail" ) ); | 20 | setCaption( tr( "Mail" ) ); |
20 | setToolBarsMovable( false ); | 21 | setToolBarsMovable( false ); |
21 | 22 | ||
22 | toolBar = new QToolBar( this ); | 23 | toolBar = new QToolBar( this ); |
23 | menuBar = new QMenuBar( toolBar ); | 24 | menuBar = new QMenuBar( toolBar ); |
24 | mailMenu = new QPopupMenu( menuBar ); | 25 | mailMenu = new QPopupMenu( menuBar ); |
25 | menuBar->insertItem( tr( "Mail" ), mailMenu ); | 26 | menuBar->insertItem( tr( "Mail" ), mailMenu ); |
26 | settingsMenu = new QPopupMenu( menuBar ); | 27 | settingsMenu = new QPopupMenu( menuBar ); |
27 | menuBar->insertItem( tr( "Settings" ), settingsMenu ); | 28 | menuBar->insertItem( tr( "Settings" ), settingsMenu ); |
28 | 29 | ||
29 | addToolBar( toolBar ); | 30 | addToolBar( toolBar ); |
30 | toolBar->setHorizontalStretchable( true ); | 31 | toolBar->setHorizontalStretchable( true ); |
31 | 32 | ||
32 | QLabel *spacer = new QLabel( toolBar ); | 33 | QLabel *spacer = new QLabel( toolBar ); |
@@ -65,118 +66,135 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | |||
65 | searchMails->addTo( mailMenu ); | 66 | searchMails->addTo( mailMenu ); |
66 | */ | 67 | */ |
67 | 68 | ||
68 | deleteMails = new QAction(tr("Delete Mail"), QIconSet( Resource::loadPixmap("trash")), 0, 0, this); | 69 | deleteMails = new QAction(tr("Delete Mail"), QIconSet( Resource::loadPixmap("trash")), 0, 0, this); |
69 | deleteMails->addTo( toolBar ); | 70 | deleteMails->addTo( toolBar ); |
70 | deleteMails->addTo( mailMenu ); | 71 | deleteMails->addTo( mailMenu ); |
71 | connect( deleteMails, SIGNAL( activated() ), | 72 | connect( deleteMails, SIGNAL( activated() ), |
72 | SLOT( slotDeleteMail() ) ); | 73 | SLOT( slotDeleteMail() ) ); |
73 | 74 | ||
74 | editSettings = new QAction( tr( "Edit settings" ), QIconSet( Resource::loadPixmap("SettingsIcon") ) , | 75 | editSettings = new QAction( tr( "Edit settings" ), QIconSet( Resource::loadPixmap("SettingsIcon") ) , |
75 | 0, 0, this ); | 76 | 0, 0, this ); |
76 | editSettings->addTo( settingsMenu ); | 77 | editSettings->addTo( settingsMenu ); |
77 | connect( editSettings, SIGNAL( activated() ), | 78 | connect( editSettings, SIGNAL( activated() ), |
78 | SLOT( slotEditSettings() ) ); | 79 | SLOT( slotEditSettings() ) ); |
79 | editAccounts = new QAction( tr( "Configure accounts" ), QIconSet( Resource::loadPixmap("mail/editaccounts") ) , | 80 | editAccounts = new QAction( tr( "Configure accounts" ), QIconSet( Resource::loadPixmap("mail/editaccounts") ) , |
80 | 0, 0, this ); | 81 | 0, 0, this ); |
81 | editAccounts->addTo( settingsMenu ); | 82 | editAccounts->addTo( settingsMenu ); |
82 | 83 | ||
83 | //setCentralWidget( view ); | 84 | //setCentralWidget( view ); |
84 | 85 | ||
85 | QVBox* wrapperBox = new QVBox( this ); | 86 | QVBox* wrapperBox = new QVBox( this ); |
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 ); |
93 | folderView->header()->hide(); | 93 | folderView->header()->hide(); |
94 | folderView->setRootIsDecorated( true ); | 94 | folderView->setRootIsDecorated( true ); |
95 | folderView->addColumn( tr( "Mailbox" ) ); | 95 | folderView->addColumn( tr( "Mailbox" ) ); |
96 | 96 | ||
97 | layout->addWidget( folderView ); | 97 | layout->addWidget( folderView ); |
98 | 98 | ||
99 | mailView = new QListView( view ); | 99 | mailView = new QListView( view ); |
100 | mailView->addColumn( "" ); | 100 | mailView->addColumn( "" ); |
101 | mailView->addColumn( tr( "Subject" ),QListView::Manual ); | 101 | mailView->addColumn( tr( "Subject" ),QListView::Manual ); |
102 | mailView->addColumn( tr( "Sender" ),QListView::Manual ); | 102 | mailView->addColumn( tr( "Sender" ),QListView::Manual ); |
103 | mailView->addColumn( tr( "Size" ),QListView::Manual); | 103 | mailView->addColumn( tr( "Size" ),QListView::Manual); |
104 | mailView->addColumn( tr( "Date" )); | 104 | mailView->addColumn( tr( "Date" )); |
105 | mailView->setAllColumnsShowFocus(true); | 105 | mailView->setAllColumnsShowFocus(true); |
106 | mailView->setShowSortIndicator(true); | 106 | mailView->setShowSortIndicator(true); |
107 | mailView->setSorting(4,false); | 107 | mailView->setSorting(4,false); |
108 | 108 | ||
109 | statusWidget = new StatusWidget( wrapperBox ); | 109 | statusWidget = new StatusWidget( wrapperBox ); |
110 | statusWidget->hide(); | 110 | statusWidget->hide(); |
111 | 111 | ||
112 | layout->addWidget( mailView ); | 112 | layout->addWidget( mailView ); |
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); |
119 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); | 121 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); |
120 | 122 | ||
121 | connect( mailView, SIGNAL( mouseButtonClicked(int,QListViewItem*,const QPoint&,int) ),this, | 123 | connect( mailView, SIGNAL( mouseButtonClicked(int,QListViewItem*,const QPoint&,int) ),this, |
122 | SLOT( mailLeftClicked(int,QListViewItem*,const QPoint&,int) ) ); | 124 | SLOT( mailLeftClicked(int,QListViewItem*,const QPoint&,int) ) ); |
123 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, | 125 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, |
124 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); | 126 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); |
125 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), | 127 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), |
126 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); | 128 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); |
127 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); | 129 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); |
128 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); | 130 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); |
129 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); | 131 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); |
130 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); | 132 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); |
131 | // Added by Stefan Eilers to allow starting by addressbook.. | 133 | // Added by Stefan Eilers to allow starting by addressbook.. |
132 | // copied from old mail2 | 134 | // copied from old mail2 |
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() ) ); |
139 | } | 144 | } |
140 | 145 | ||
141 | MainWindow::~MainWindow() | 146 | 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; |
148 | } | 167 | } |
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() |
162 | { | 180 | { |
163 | bool hidden = folderView->isHidden(); | 181 | bool hidden = folderView->isHidden(); |
164 | if ( hidden ) folderView->show(); | 182 | if ( hidden ) folderView->show(); |
165 | folderView->setColumnWidth( 0, folderView->visibleWidth() ); | 183 | folderView->setColumnWidth( 0, folderView->visibleWidth() ); |
166 | if ( hidden ) folderView->hide(); | 184 | if ( hidden ) folderView->hide(); |
167 | 185 | ||
168 | mailView->setColumnWidth( 0, 10 ); | 186 | mailView->setColumnWidth( 0, 10 ); |
169 | mailView->setColumnWidth( 1, mailView->visibleWidth() - 130 ); | 187 | mailView->setColumnWidth( 1, mailView->visibleWidth() - 130 ); |
170 | mailView->setColumnWidth( 2, 80 ); | 188 | mailView->setColumnWidth( 2, 80 ); |
171 | mailView->setColumnWidth( 3, 50 ); | 189 | mailView->setColumnWidth( 3, 50 ); |
172 | mailView->setColumnWidth( 4, 50 ); | 190 | mailView->setColumnWidth( 4, 50 ); |
173 | } | 191 | } |
174 | 192 | ||
175 | void MainWindow::slotEditSettings() | 193 | void MainWindow::slotEditSettings() |
176 | { | 194 | { |
177 | } | 195 | } |
178 | 196 | ||
179 | void MainWindow::slotShowFolders( bool ) | 197 | void MainWindow::slotShowFolders( bool ) |
180 | { | 198 | { |
181 | odebug << "slotShowFolders not reached" << oendl; | 199 | odebug << "slotShowFolders not reached" << oendl; |
182 | } | 200 | } |