summaryrefslogtreecommitdiffabout
path: root/kmicromail/mainwindow.cpp
Side-by-side diff
Diffstat (limited to 'kmicromail/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/mainwindow.cpp39
1 files changed, 37 insertions, 2 deletions
diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp
index 875ab77..250d114 100644
--- a/kmicromail/mainwindow.cpp
+++ b/kmicromail/mainwindow.cpp
@@ -1,46 +1,47 @@
// CHANGED 2004-08-06 Lutz Rogowski
#include <qlabel.h>
#include <qvbox.h>
#include <qheader.h>
#include <qtimer.h>
#include <qlayout.h>
//#include <kdialog.h>
#include <kiconloader.h>
#include <kapplication.h>
#ifdef DESKTOP_VERSION
#include <qapplication.h>
#include <qstatusbar.h>
#include <kabc/stdaddressbook.h>
extern QStatusBar* globalSstatusBarMainWindow;
#else
#include <qpe/qpeapplication.h>
#include <klocale.h>
#endif
#include "defines.h"
#include "mainwindow.h"
+#include "mailistviewitem.h"
#include <KDGanttMinimizeSplitter.h>
#include "koprefs.h"
MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
: QMainWindow( parent, name ) //, flags )
{
#ifdef DESKTOP_VERSION
globalSstatusBarMainWindow = statusBar();
#endif
setCaption( i18n( "KOpieMail/Pi" ) );
setToolBarsMovable( false );
//KABC::StdAddressBook::self();
toolBar = new QToolBar( this );
menuBar = new QPEMenuBar( toolBar );
mailMenu = new QPopupMenu( menuBar );
menuBar->insertItem( i18n( "Mail" ), mailMenu );
settingsMenu = new QPopupMenu( menuBar );
menuBar->insertItem( i18n( "Settings" ), settingsMenu );
addToolBar( toolBar );
toolBar->setHorizontalStretchable( true );
QAction* getMail = new QAction( i18n( "Get all new mails" ), SmallIcon("enter"),
0, 0, this );
@@ -95,138 +96,172 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
editSettings = new QAction( i18n( "Edit settings" ), SmallIcon("SettingsIcon") ,
0, 0, this );
editSettings->addTo( settingsMenu );
connect( editSettings, SIGNAL( activated() ),
SLOT( slotEditSettings() ) );
editAccounts = new QAction( i18n( "Configure accounts" ), SmallIcon("editaccounts") ,
0, 0, this );
editAccounts->addTo( settingsMenu );
codecMenu = new QPopupMenu( menuBar );
codecMenu->insertItem( "Western (iso-8859-1)",0,0);
codecMenu->insertItem( "Cyrillic (iso-8859-5)",1,1);
codecMenu->insertItem( "Western (iso-8859-15)",2,2);
codecMenu->insertItem( "Chinese (big-5)",3,3);
codecMenu->insertItem( "Unicode (utf-8)",4,4);
codecMenu->insertItem( "Userdefined ("+KOPrefs::instance()->mSendCodec+")",5,5);
//disabled
//settingsMenu->insertItem( i18n("Codec for new mails"), codecMenu);
//setCentralWidget( view );
QVBox* wrapperBox = new QVBox( this );
setCentralWidget( wrapperBox );
// QWidget *view = new QWidget( wrapperBox );
- KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, wrapperBox);
+ KDGanttMinimizeSplitter* splithor = new KDGanttMinimizeSplitter( Qt::Vertical, wrapperBox);
+ splithor->setMinimizeDirection( KDGanttMinimizeSplitter::Down);
+ KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, splithor);
split->setMinimizeDirection( KDGanttMinimizeSplitter::Left);
//layout = new QBoxLayout ( split, QBoxLayout::LeftToRight );
-
+ QWidget* infoBox = new QWidget( splithor );
+ QGridLayout *griLay = new QGridLayout( infoBox, 2,2);
+ griLay->addWidget( new QLabel ( i18n("Su:"), infoBox ),0,0 );
+ griLay->addWidget( new QLabel ( i18n("Fr:"), infoBox ),1,0 );
+ griLay->addWidget( new QLabel ( i18n("To:"), infoBox ),2,0 );
+ griLay->addWidget( subLE = new QLineEdit( infoBox ),0,1) ;
+ griLay->addWidget( fromLE = new QLineEdit( infoBox ),1,1) ;
+ griLay->addWidget( toLE = new QLineEdit( infoBox ),2,1) ;
+ infoBox->setMaximumHeight( infoBox->sizeHint().height() );
folderView = new AccountView( split );
folderView->header()->hide();
folderView->setRootIsDecorated( false );
folderView->addColumn( i18n( "Mailbox" ) );
//layout->addWidget( folderView );
mailView = new QListView( split );
mailView->addColumn( i18n( " " ) );
mailView->addColumn( i18n( "Subject" ),QListView::Manual );
mailView->addColumn( i18n( "Sender" ),QListView::Manual );
mailView->addColumn( i18n( "Size" ),QListView::Manual);
mailView->addColumn( i18n( "Date" ),QListView::Manual);
if ( KOPrefs::instance()->mShowToField )
mailView->addColumn( i18n( "To" ),QListView::Manual);
mailView->setAllColumnsShowFocus(true);
//mailView->setSorting(-1);
mailView->setRootIsDecorated( false );
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);
+ QPEApplication::setStylusOperation( subLE ,QPEApplication::RightOnHold);
+ QPEApplication::setStylusOperation( fromLE ,QPEApplication::RightOnHold);
+ QPEApplication::setStylusOperation( toLE ,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( mailView, SIGNAL( currentChanged (QListViewItem* )),this,
+ SLOT( setInfoFields(QListViewItem*) ) );
+
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 );
QLabel *spacer = new QLabel( toolBar );
spacer->setBackgroundMode( QWidget::PaletteButton );
toolBar->setStretchableWidget( spacer );
QAction* closeMail = new QAction(i18n("Close"),SmallIcon("exit"), 0, 0, this);
connect( closeMail, SIGNAL( activated() ), SLOT( close() ) );
if ( QApplication::desktop()->width() > 320 )
closeMail->addTo(toolBar);
closeMail->addTo(mailMenu);
QPopupMenu* helpMenu = new QPopupMenu( menuBar );
menuBar->insertItem( i18n( "Help" ), helpMenu );
QAction* li = new QAction(i18n("About"), QPixmap(), 0, 0, this);
connect( li, SIGNAL( activated() ), SLOT( showAbout()) );
li->addTo(helpMenu);
li = new QAction(i18n("Licence"),QPixmap(), 0, 0, this);
connect( li, SIGNAL( activated() ), SLOT( showLicence()) );
li->addTo(helpMenu);
li = new QAction(i18n("LibEtPan Licence"), QPixmap(), 0, 0, this);
connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) );
li->addTo(helpMenu);
connect( codecMenu, SIGNAL( activated(int) ), this, SLOT( slotSetCodec( int )) );
slotSetCodec( KOPrefs::instance()->mCurrentCodec );
#ifdef DESKTOP_VERSION
resize ( 640, 480 );
#endif
}
MainWindow::~MainWindow()
{
}
+void MainWindow::setInfoFields(QListViewItem* item )
+{
+ if ( item == 0) {
+ subLE->setText("");
+ fromLE->setText("");
+ toLE->setText("");
+ return;
+ }
+ RecMailP mail = ((MailListViewItem*)item)->data();
+ subLE->setText(mail->getSubject());
+ fromLE->setText(mail->getFrom());
+ toLE->setText(mail->To().join(";" ));
+ subLE->setCursorPosition(0);
+ fromLE->setCursorPosition(0);
+ toLE->setCursorPosition(0);
+
+}
void MainWindow::slotSetCodec( int codec )
{
codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, false );
//qDebug("codec %d ", codec);
KOPrefs::instance()->mCurrentCodec = codec;
KOPrefs::instance()->isDirty = true;
QString name;
switch ( codec ) {
case 0:
name = "iso-8859-1";
break;
case 1:
name = "iso-8859-5";
break;
case 2:
name = "iso-8859-15";
break;
case 3:
name = "big-5";
break;
case 4:
name = "utf-8";
break;
case 5: