summaryrefslogtreecommitdiffabout
path: root/kmicromail/viewmailbase.cpp
blob: 371ee914953e23f288144f6529aeacc039d313d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
// CHANGED 2004-08-06 Lutz Rogowski
#include <q3textbrowser.h>
#include <q3listview.h>
#include <qaction.h>
#include <qlabel.h>
#include <q3vbox.h>
#include <qapplication.h>

#include <q3toolbar.h>
#include <qmenubar.h>
//Added by qt3to4:
#include <QKeyEvent>
#include <Q3PopupMenu>
#include <kiconloader.h>
//#include <qpe/resource.h>
#include <klocale.h>

#include "viewmailbase.h"
//#include "opendiag.h"

ViewMailBase::ViewMailBase(QWidget *parent, const char *name, Qt::WFlags fl)
	: Q3MainWindow(parent, name, fl)
{

	setToolBarsMovable(false);

	toolbar = new Q3ToolBar(this);
  menubar = new QMenuBar( toolbar );
  mailmenu = new Q3PopupMenu( menubar );
  menubar->insertItem( i18n( "Mail" ), mailmenu );

	toolbar->setHorizontalStretchable(true);
	addToolBar(toolbar);

	viewSource = new QAction(i18n("View Source"), 0, 0, this);
 	viewSource->addTo(mailmenu);
    
    downloadMail= new QAction(i18n("Download Mail"),SmallIcon("add"), 0, 0, this);
	downloadMail->addTo(toolbar);
 	downloadMail->addTo(mailmenu);


	reply = new QAction(i18n("Reply"),SmallIcon("reply"), 0, 0, this);
	reply->addTo(toolbar);
 	reply->addTo(mailmenu);

	forward = new QAction(i18n("Forward"),SmallIcon("forward"), 0, 0, this);
	forward->addTo(toolbar);
	forward->addTo(mailmenu);

	attachbutton = new QAction(i18n("Attachments"),SmallIcon("attach"), 0, 0, this, 0, true);
	attachbutton->addTo(toolbar);
	attachbutton->addTo(mailmenu);
	connect(attachbutton, SIGNAL(toggled(bool)), SLOT(slotChangeAttachview(bool)));

    showHtml = new QAction( i18n( "Show Html" ), SmallIcon(  "html" ), 0, 0, this, 0, true );
    showHtml->addTo( toolbar );
    showHtml->addTo( mailmenu );

    deleteMail = new QAction(i18n("Delete Mail"),SmallIcon("trash"), 0, 0, this);
	deleteMail->addTo(toolbar);
	deleteMail->addTo(mailmenu);

    nextMail = new QAction(i18n("Show next mail"),SmallIcon("enter"), 0, 0, this);
	QLabel *spacer = new QLabel(toolbar);
	nextMail->addTo(toolbar);
	nextMail->addTo(mailmenu);

  	closeMail = new QAction(i18n("Close"),SmallIcon("exit"), 0, 0, this);
	//QLabel *spacer = new QLabel(toolbar);
	spacer->setBackgroundMode(QWidget::PaletteButton);
	toolbar->setStretchableWidget(spacer);
	closeMail->addTo(toolbar);
	closeMail->addTo(mailmenu);
	Q3VBox *view = new Q3VBox(this);
	setCentralWidget(view);

	attachments = new Q3ListView(view);
    int fixh = 100;
    if ( QApplication::desktop()->width() > 320 )
        fixh = 200;
	attachments->setFixedHeight(fixh);
	attachments->setAllColumnsShowFocus(true);
	attachments->addColumn("Mime Type", fixh-30);
	attachments->addColumn(i18n("Description"), 100);
	attachments->addColumn(i18n("Filename"), 80);
    attachments->addColumn(i18n("Size"), 80);
    attachments->setSorting(-1);
	attachments->hide();

	browser = new Q3TextBrowser(view);

//	openDiag = new OpenDiag(view);
//	openDiag->hide();

}

void ViewMailBase::slotChangeAttachview(bool state)
{
	if (state) attachments->show();
	else attachments->hide();
}

void ViewMailBase::keyPressEvent ( QKeyEvent * e )
{
    if( e->key()==Qt::Key_Escape ) {
        close();
        e->accept();
        return;
    }
    QWidget::keyPressEvent(e);
}