summaryrefslogtreecommitdiffabout
path: root/kmicromail/mainwindow.cpp
authorzautrix <zautrix>2004-07-03 16:33:12 (UTC)
committer zautrix <zautrix>2004-07-03 16:33:12 (UTC)
commite3b89230f065c48c84b48c88edb6eb088374c487 (patch) (side-by-side diff)
tree162ea2ef909a6f82ccfcedf45d80d6c821174912 /kmicromail/mainwindow.cpp
parent2dd6ac0b2d24c91d35ce674a6c26351352df2b15 (diff)
downloadkdepimpi-e3b89230f065c48c84b48c88edb6eb088374c487.zip
kdepimpi-e3b89230f065c48c84b48c88edb6eb088374c487.tar.gz
kdepimpi-e3b89230f065c48c84b48c88edb6eb088374c487.tar.bz2
Initial revision
Diffstat (limited to 'kmicromail/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/mainwindow.cpp232
1 files changed, 232 insertions, 0 deletions
diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp
new file mode 100644
index 0000000..78377ea
--- a/dev/null
+++ b/kmicromail/mainwindow.cpp
@@ -0,0 +1,232 @@
+#include <qlabel.h>
+#include <qvbox.h>
+#include <qheader.h>
+#include <qtimer.h>
+#include <qlayout.h>
+#include <kdialog.h>
+#include <kiconloader.h>
+
+#ifndef DESKTOP_VERSION
+#include <qpe/qpeapplication.h>
+#endif
+#include "defines.h"
+#include "mainwindow.h"
+#include <KDGanttMinimizeSplitter.h>
+
+
+#include <kabc/stdaddressbook.h>
+
+MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
+ : QMainWindow( parent, name, flags )
+{
+ setCaption( tr( "KMicroMail" ) );
+ setToolBarsMovable( false );
+ KABC::StdAddressBook::self();
+ toolBar = new QToolBar( this );
+ menuBar = new QMenuBar( toolBar );
+ mailMenu = new QPopupMenu( menuBar );
+ menuBar->insertItem( tr( "Mail" ), mailMenu );
+ settingsMenu = new QPopupMenu( menuBar );
+ menuBar->insertItem( tr( "Settings" ), settingsMenu );
+
+ addToolBar( toolBar );
+ toolBar->setHorizontalStretchable( true );
+
+ QLabel *spacer = new QLabel( toolBar );
+ spacer->setBackgroundMode( QWidget::PaletteButton );
+ toolBar->setStretchableWidget( spacer );
+
+ composeMail = new QAction( tr( "Compose new mail" ), SmallIcon("composemail"),
+ 0, 0, this );
+ composeMail->addTo( toolBar );
+ composeMail->addTo( mailMenu );
+
+ sendQueued = new QAction( tr( "Send queued mails" ), SmallIcon("sendqueued") ,
+ 0, 0, this );
+ sendQueued->addTo( toolBar );
+ sendQueued->addTo( mailMenu );
+
+ /*
+ syncFolders = new QAction( tr( "Sync mailfolders" ), ICON_SYNC,
+ 0, 0, this );
+ syncFolders->addTo( toolBar );
+ syncFolders->addTo( mailMenu );
+ */
+
+ showFolders = new QAction( tr( "Show/Hide folders" ), SmallIcon("showfolders") ,
+ 0, 0, this, 0, true );
+ showFolders->addTo( toolBar );
+ showFolders->addTo( mailMenu );
+ showFolders->setOn( true );
+ connect(showFolders, SIGNAL( toggled(bool) ),
+ SLOT( slotShowFolders(bool) ) );
+
+ /*
+ searchMails = new QAction( tr( "Search mails" ), SmallIcon("find") ),
+ 0, 0, this );
+ searchMails->addTo( toolBar );
+ searchMails->addTo( mailMenu );
+ */
+
+ deleteMails = new QAction(tr("Delete Mail"), SmallIcon("trash"), 0, 0, this);
+ deleteMails->addTo( toolBar );
+ deleteMails->addTo( mailMenu );
+ connect( deleteMails, SIGNAL( activated() ),
+ SLOT( slotDeleteMail() ) );
+
+ editSettings = new QAction( tr( "Edit settings" ), SmallIcon("SettingsIcon") ,
+ 0, 0, this );
+ editSettings->addTo( settingsMenu );
+ connect( editSettings, SIGNAL( activated() ),
+ SLOT( slotEditSettings() ) );
+ editAccounts = new QAction( tr( "Configure accounts" ), SmallIcon("editaccounts") ,
+ 0, 0, this );
+ editAccounts->addTo( settingsMenu );
+
+ //setCentralWidget( view );
+
+ QVBox* wrapperBox = new QVBox( this );
+ setCentralWidget( wrapperBox );
+
+ // QWidget *view = new QWidget( wrapperBox );
+ KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, wrapperBox);
+ split->setMinimizeDirection( KDGanttMinimizeSplitter::Left);
+ //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight );
+
+ folderView = new AccountView( split );
+ folderView->header()->hide();
+ folderView->setRootIsDecorated( true );
+ folderView->addColumn( tr( "Mailbox" ) );
+
+ //layout->addWidget( folderView );
+
+ mailView = new QListView( split );
+ mailView->addColumn( tr( "" ) );
+ mailView->addColumn( tr( "Subject" ),QListView::Manual );
+ mailView->addColumn( tr( "Sender" ),QListView::Manual );
+ mailView->addColumn( tr( "Size" ),QListView::Manual);
+ mailView->addColumn( tr( "Date" ));
+ mailView->setAllColumnsShowFocus(true);
+ //mailView->setSorting(-1);
+
+ statusWidget = new StatusWidget( wrapperBox );
+ statusWidget->hide();
+
+ //layout->addWidget( mailView );
+ //layout->setStretchFactor( folderView, 1 );
+ //layout->setStretchFactor( mailView, 2 );
+
+ slotAdjustLayout();
+#ifndef DESKTOP_VERSION
+ QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold);
+ QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold);
+#endif
+ connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this,
+ SLOT( mailLeftClicked(QListViewItem*) ) );
+ connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this,
+ SLOT( mailLeftClicked(QListViewItem*) ) );
+ connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this,
+ SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) );
+ connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)),
+ this,SLOT(refreshMailView(const QValueList<RecMailP>&)));
+ connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) );
+ connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) );
+// connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) );
+ connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) );
+ mailView->setMultiSelection ( true );
+ //mailView->setSelectionMode( QListView::Extended );
+ QValueList<int> list;
+ int fw = 100;
+ if ( QApplication::desktop()->width() > 320 )
+ fw = 50;
+ list.append( fw );
+ list.append( 100 );
+ split->setSizes( list );
+ QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) );
+ mailView->setShowSortIndicator ( true );
+}
+
+MainWindow::~MainWindow()
+{
+}
+
+void MainWindow::appMessage(const QCString &, const QByteArray &)
+{
+ qDebug("appMessage implemented by subclass");
+}
+
+void MainWindow::slotAdjustLayout() {
+
+ /*
+ QWidget *d = QApplication::desktop();
+
+ if ( d->width() < d->height() ) {
+ layout->setDirection( QBoxLayout::TopToBottom );
+ } else {
+ layout->setDirection( QBoxLayout::LeftToRight );
+ }
+ */
+}
+
+void MainWindow::slotAdjustColumns()
+{
+ bool hidden = folderView->isHidden();
+ if ( hidden ) folderView->show();
+ folderView->setColumnWidth( 0, folderView->visibleWidth() );
+ if ( hidden ) folderView->hide();
+
+ mailView->setColumnWidth( 0, 10 );
+ mailView->setColumnWidth( 1, mailView->visibleWidth() - 130 );
+ mailView->setColumnWidth( 2, 80 );
+ mailView->setColumnWidth( 3, 50 );
+ mailView->setColumnWidth( 4, 50 );
+}
+
+void MainWindow::slotEditSettings()
+{
+}
+
+void MainWindow::slotShowFolders( bool )
+{
+ qDebug("not implemented: ");
+}
+
+void MainWindow::refreshMailView(const QValueList<RecMailP>&)
+{
+ qDebug("not implemented: ");
+}
+
+void MainWindow::mailLeftClicked(QListViewItem * )
+{
+ qDebug("not implemented: ");
+}
+
+void MainWindow::displayMail()
+{
+ qDebug("not implemented: ");
+}
+
+void MainWindow::slotDeleteMail()
+{
+ qDebug("not implemented: ");
+}
+
+void MainWindow::mailHold(int, QListViewItem *,const QPoint&,int )
+{
+ qDebug("not implemented: ");
+}
+
+void MainWindow::slotSendQueued()
+{
+ qDebug("not implemented: ");
+}
+
+void MainWindow::slotEditAccounts()
+{
+ qDebug("not implemented: ");
+}
+
+void MainWindow::slotComposeMail()
+{
+ qDebug("not implemented: ");
+}