summaryrefslogtreecommitdiff
path: root/noncore/unsupported/mail2/attachdiag.cpp
blob: 36e19485db5ec36acbcf35d817c60f2dcb76b5c8 (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
#include <qmessagebox.h>
#include <qpushbutton.h>
#include <qlistbox.h>
#include <qlayout.h>

#include <qpe/fileselector.h>
#include <qpe/resource.h>

#include <stdlib.h>

#include "attachdiag.h"

AttachDiag::AttachDiag(QWidget* parent = 0, const char* name = 0, bool modal, WFlags fl = 0)
	: QDialog(parent, name, modal, fl)
{
	setCaption(tr("Attach File"));

	QGridLayout *layout = new QGridLayout(this);
	layout->setSpacing(3);
	layout->setMargin(4);

	FileSelector *fileSelector = new FileSelector("*", this, "FileSelector");
	fileSelector->setCloseVisible(false);
	fileSelector->setNewVisible(false);

	layout->addMultiCellWidget(fileSelector, 0, 0, 0, 1);

	QPushButton *attachButton = new QPushButton(this);
	attachButton->setText(tr("Ok"));
	attachButton->setIconSet(Resource::loadPixmap("enter"));

	layout->addWidget(attachButton, 1, 0);

	QPushButton *cancelButton = new QPushButton(this);
	cancelButton->setText(tr("Cancel"));
	cancelButton->setIconSet(Resource::loadPixmap("editdelete"));

	layout->addWidget(cancelButton, 1, 1);

	connect(fileSelector, SIGNAL(fileSelected(const DocLnk &)), SLOT(fileSelected(const DocLnk &)));
	connect(attachButton, SIGNAL(clicked()), SLOT(accept()));
	connect(cancelButton, SIGNAL(clicked()), SLOT(close()));

	if (fileSelector->selected() != NULL)
		currentFile = *fileSelector->selected();

	if (fileSelector->fileCount() == 0) {
		attachButton->setEnabled(false);
		fileSelector->setEnabled(false);
	}
}

void AttachDiag::fileSelected(const DocLnk &file)
{
	currentFile = file;
}

DocLnk AttachDiag::getFile(QWidget *parent)
{
	AttachDiag attach(parent, 0, true);
	attach.showMaximized();
	attach.show();

	if (QDialog::Accepted == attach.exec()) {
		return attach.currentFile;
	}

	return DocLnk();
}