Added a trash folder.

svn path=/trunk/kdenetwork/kmail/; revision=942
wilder-work
cvs 29 years ago
parent b5fb97f13f
commit c89a6636b3
  1. 33
      kmcomposewin.cpp
  2. 2
      kmcomposewin.h
  3. 13
      kmfolder.cpp
  4. 3
      kmglobal.h
  5. 84
      kmreaderwin.cpp
  6. 3
      kmreaderwin.h
  7. 1
      kmsettings.cpp
  8. 15
      main.cpp

@ -11,31 +11,50 @@
#include <sys/types.h>
#include <mimelib/string.h>
KMComposeView::KMComposeView(QWidget *parent, const char *name, QString emailAddress, KMMessage *message, int action) : QWidget(parent,name)
KMComposeView::KMComposeView(QWidget *parent, const char *name, QString emailAddress, KMMessage *message, int action) : QWidget(parent, name)
{
printf("Entering composeView\n");
grid = new QGridLayout(this,10,2,4,4);
attWidget = NULL;
if (message) currentMessage = message;
else currentMessage = new KMMessage();
indexAttachment =0;
toLEdit = new QLineEdit(this);
toLEdit->setMinimumSize(toLEdit->sizeHint());
grid->addWidget(toLEdit,0,1);
if (emailAddress)
toLEdit->setText(emailAddress);
ccLEdit = new QLineEdit(this);
ccLEdit->setMinimumSize(ccLEdit->sizeHint());
grid->addWidget(ccLEdit,1,1);
subjLEdit = new QLineEdit(this);
subjLEdit->setMinimumSize(subjLEdit->sizeHint());
grid->addWidget(subjLEdit,2,1);
QLabel *label = new QLabel(toLEdit, "&To:", this);
label->setGeometry(14,10,50,15);
label->adjustSize();
label->setMinimumSize(label->sizeHint());
grid->addWidget(label,0,0);
label = new QLabel(subjLEdit, "&Cc:", this);
label->setGeometry(14,45,50,20);
label->adjustSize();
label->setMinimumSize(label->sizeHint());
grid->addWidget(label,1,0);
label = new QLabel(ccLEdit, "&Subject:", this);
label->setGeometry(14,80,50,20);
label->adjustSize();
label->setMinimumSize(label->sizeHint());
grid->addWidget(label,2,0);
editor = new KEdit(0,this);
grid->addMultiCellWidget(editor,3,9,0,1);
grid->setRowStretch(3,100);
grid->setColStretch(1,100);
if(message && action==FORWARD)
{printf("Message will be forwarded\n");
@ -52,6 +71,8 @@ KMComposeView::KMComposeView(QWidget *parent, const char *name, QString emailAdd
else
printf("Normal message\n");
grid->activate();
parseConfiguration();
printf("Leaving constructor\n");
@ -446,6 +467,7 @@ void KMComposeView::toDo()
void KMComposeView::resizeEvent(QResizeEvent *)
{
#ifdef BROKEN
toLEdit->setGeometry(70,10,width()-80,25);
ccLEdit->setGeometry(70,45,width()-80,25);
subjLEdit->setGeometry(70,80,width()-80,25);
@ -459,6 +481,7 @@ void KMComposeView::resizeEvent(QResizeEvent *)
attWidget->setColumn(2,"File Size",width()/4);
attWidget->repaint();
}
#endif
}
void KMComposeView::newComposer()

@ -29,6 +29,7 @@
#define REPLYALL 2
class KMMessage;
class QGridLayout;
class KMAttachmentItem // for Attachment Widget
{
@ -81,6 +82,7 @@ private slots:
void insertFile();
protected:
virtual void resizeEvent(QResizeEvent *);
QGridLayout* grid;
};
class KMComposeWin : public KTopLevelWidget

@ -443,7 +443,20 @@ void KMFolder::readMsg(int msgno)
msg->setStatus(mMsgInfo[msgno].status());
dwmsg = DwMessage::NewMessage(msg->msgStr(), 0);
dwmsg->Parse();
printf("Message #%d: contentType=%d\n", msgno,
dwmsg->Headers().ContentType().Type());
msg->takeMessage(dwmsg);
DwBodyPart* part = dwmsg->Body().FirstBodyPart();
while (part)
{
printf("part\n");
part = part->Next();
}
printf("numBodyParts=%d\n", msg->numBodyParts());
}

@ -29,4 +29,7 @@ extern KMSender* msgSender;
class KLocale;
extern KLocale* nls;
class KMFolder;
extern KMFolder* trashFolder;
#endif /*kmglobal_h*/

@ -2,6 +2,7 @@
#include "kmfolder.h"
#include "kmmessage.h"
#include "kmmsgpart.h"
#include "kmfoldermgr.h"
#include "kmglobal.h"
#include "kmreaderwin.h"
@ -39,17 +40,6 @@ KMReaderView::KMReaderView(QWidget *parent =0, const char *name = 0, int msgno =
// Let's initialize the HTMLWidget
headerCanvas = new KHTMLWidget(this,0,0);
headerCanvas->resize(parent->width(),parent->height()-100);
headerCanvas->setURLCursor(upArrowCursor);
connect(headerCanvas,SIGNAL(URLSelected(const char *,int)),this,SLOT(openURL(const char *,int)));
connect(headerCanvas,SIGNAL(popupMenu(const char *, const QPoint &)),SLOT(popupHeaderMenu(const char *, const QPoint &)));
separator = new QFrame(this);
separator->setFrameStyle(QFrame::HLine | QFrame::Raised);
separator->setLineWidth(4);
messageCanvas = new KHTMLWidget(this,0,picsDir);
messageCanvas->setURLCursor(upArrowCursor);
messageCanvas->resize(parent->width()-16,parent->height()-110); //16
@ -88,11 +78,6 @@ void KMReaderView::clearCanvas()
{
// Produce a white canvas
headerCanvas->begin(picsDir);
headerCanvas->write("<HTML><BODY BGCOLOR=WHITE></BODY></HTML>");
headerCanvas->end();
headerCanvas->parse();
messageCanvas->begin(picsDir);
messageCanvas->write("<HTML><BODY BGCOLOR=WHITE></BODY></HTML>");
messageCanvas->end();
@ -108,11 +93,9 @@ void KMReaderView::updateDisplay()
void KMReaderView::resizeEvent(QResizeEvent *)
{
headerCanvas->setGeometry(0,0,this->width(),75);
separator->setGeometry(0,76,this->width(),4);
messageCanvas->setGeometry(0,81,this->width()-16,this->height()-87); //16
messageCanvas->setGeometry(0,0,this->width()-16,this->height()); //16
horz->setGeometry(0,height()-16,width()-16,16);
vert->setGeometry(width()-16,81,16,height()-87);
vert->setGeometry(width()-16,0,16,height());
}
@ -127,20 +110,18 @@ void KMReaderView::parseMessage(KMMessage *message)
QString text;
QString header;
QString dateStr;
QString toStr;
QString ccStr;
long length;
int pos=0;
int numParts = message->numBodyParts();
currentMessage = message; // To make sure currentMessage is set.
int noAttach = (message->numBodyParts() <= 1);
printf("Debug numBodyparts=%i\n", numParts);
text = message->body(&length);
if (noAttach) text.truncate(length);
headerCanvas->begin(picsDir);
headerCanvas->write("<HTML><HEAD><TITLE></TITLE></HEAD>");
headerCanvas->write("<BODY BGCOLOR=WHITE>");
if (numParts <= 1) text.truncate(length);
dateStr.sprintf("Date: %s<br>",message->dateStr());
@ -160,22 +141,25 @@ void KMReaderView::parseMessage(KMMessage *message)
strTemp.sprintf("%s",message->cc());
strTemp = strTemp.stripWhiteSpace();
if(strTemp.isEmpty())
ccStr = "Cc:<br>";
ccStr = "";
else
ccStr.sprintf("%s<br>",message->cc());
ccStr.sprintf("Cc: %s<br>",message->cc());
subjStr.sprintf("Subject: %s<br><P>",message->subject());
headerCanvas->write(dateStr);
headerCanvas->write(fromStr);
headerCanvas->write(ccStr);
headerCanvas->write(subjStr);
headerCanvas->write("</BODY></HTML>");
headerCanvas->end();
headerCanvas->parse();
toStr.sprintf("To: %s<br>", message->to());
// Init messageCanvas
messageCanvas->begin(picsDir);
// header
messageCanvas->write("<TABLE><TR><TD><IMG SRC=\"" + picsDir +"/kdelogo.xpm\"></TD><TD HSPACE=50><B>");
messageCanvas->write(subjStr);
messageCanvas->write(toStr);
messageCanvas->write(ccStr);
messageCanvas->write(dateStr);
messageCanvas->write("</B></TD></TR></TABLE><br><br>");
// Prepare text
@ -197,10 +181,15 @@ void KMReaderView::parseMessage(KMMessage *message)
}
// Okay! Let's write it to the canvas
messageCanvas->write(text);
messageCanvas->write(text);
// Now let's append the attachments
int x=0;
for(x=0;x == noAttach;noAttach++)
{KMMessagePart *part = new KMMessagePart;
currentMessage->bodyPart(x,part);
cout << part->typeStr();
cout << part->subtypeStr();
}
messageCanvas->write("</BODY></HTML>");
messageCanvas->end();
@ -744,3 +733,20 @@ KMSource::KMSource(QWidget *parent=0, const char *name=0,QString text=0)
}

@ -31,7 +31,6 @@ Q_OBJECT
public:
KMReaderView(QWidget *p=0,const char *n=0, int n=0, KMFolder *f=0);
KHTMLWidget *messageCanvas;
KHTMLWidget *headerCanvas;
QString selectedText;
private:
@ -144,4 +143,4 @@ public:

@ -7,7 +7,6 @@
#include <kmsgbox.h>
#include <qlayout.h>
#include <qgrpbox.h>
#include <qlayout.h>
#include "util.h"
#include "kmmainwin.h"
#include "kmaccount.h"

@ -21,6 +21,7 @@ KMAcctMgr* acctMgr = NULL;
KMFolderMgr* folderMgr = NULL;
KMSender* msgSender = NULL;
KLocale* nls = NULL;
KMFolder* trashFolder = NULL;
static msg_handler oldMsgHandler = NULL;
@ -54,7 +55,7 @@ static void kmailMsgHandler(QtMsgType aType, const char* aMsg)
//-----------------------------------------------------------------------------
static void init(int argc, char *argv[])
{
QString fname;
QString fname, trashName;
KConfig* cfg;
app = new KApplication(argc, argv, "kmail");
@ -75,6 +76,18 @@ static void init(int argc, char *argv[])
cfg->readEntry("folders", &QString("/.kde/mail-folders"));
folderMgr = new KMFolderMgr(fname);
trashName = cfg->readEntry("trashFolder", &QString("trash"));
trashFolder = folderMgr->find(trashName);
if (!trashFolder)
{
warning("The folder `"+trashName+"' does not exist in the\n"
"mail folder directory and therefore will now be created.");
trashFolder = folderMgr->createFolder(trashName);
if (!trashFolder) fatal("Cannot create trash folder '"+trashName+"'");
}
msgSender = new KMSender(folderMgr);
debug("init done");

Loading…
Cancel
Save