summaryrefslogtreecommitdiff
path: root/noncore/net/mail/mailwrapper.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/mail/mailwrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/mailwrapper.cpp137
1 files changed, 0 insertions, 137 deletions
diff --git a/noncore/net/mail/mailwrapper.cpp b/noncore/net/mail/mailwrapper.cpp
deleted file mode 100644
index 9398823..0000000
--- a/noncore/net/mail/mailwrapper.cpp
+++ b/dev/null
@@ -1,137 +0,0 @@
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <qdir.h>
-
-#include "mailwrapper.h"
-#include "logindialog.h"
-#include "defines.h"
-
-Attachment::Attachment( DocLnk lnk )
-{
- doc = lnk;
- size = QFileInfo( doc.file() ).size();
-}
-
-Folder::Folder(const QString&tmp_name, const QString&sep )
-{
- name = tmp_name;
- nameDisplay = name;
- separator = sep;
-}
-
-const QString& Folder::Separator()const
-{
- return separator;
-}
-
-IMAPFolder::IMAPFolder(const QString&name,const QString&sep, bool select,bool no_inf, const QString&prefix )
- : Folder( name,sep ),m_MaySelect(select),m_NoInferior(no_inf)
-{
- // Decode IMAP foldername
- nameDisplay = IMAPFolder::decodeFolderName( name );
- qDebug( "folder " + name + " - displayed as " + nameDisplay );
-
- if (prefix.length()>0) {
- if (nameDisplay.startsWith(prefix) && nameDisplay.length()>prefix.length()) {
- nameDisplay=nameDisplay.right(nameDisplay.length()-prefix.length());
- }
- }
-}
-
-static unsigned char base64chars[] =
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+,";
-
-/**
- * Decodes base64 encoded parts of the imapfolder name
- * Code taken from kde cvs: kdebase/kioslave/imap4/rfcdecoder.cc
- */
-QString IMAPFolder::decodeFolderName( const QString &name )
-{
- unsigned char c, i, bitcount;
- unsigned long ucs4, utf16, bitbuf;
- unsigned char base64[256], utf8[6];
- unsigned long srcPtr = 0;
- QCString dst = "";
- QCString src = name.ascii();
-
- /* initialize modified base64 decoding table */
- memset(base64, UNDEFINED, sizeof(base64));
- for (i = 0; i < sizeof(base64chars); ++i) {
- base64[(int)base64chars[i]] = i;
- }
-
- /* loop until end of string */
- while (srcPtr < src.length ()) {
- c = src[srcPtr++];
- /* deal with literal characters and &- */
- if (c != '&' || src[srcPtr] == '-') {
- /* encode literally */
- dst += c;
- /* skip over the '-' if this is an &- sequence */
- if (c == '&')
- srcPtr++;
- } else {
- /* convert modified UTF-7 -> UTF-16 -> UCS-4 -> UTF-8 -> HEX */
- bitbuf = 0;
- bitcount = 0;
- ucs4 = 0;
- while ((c = base64[(unsigned char) src[srcPtr]]) != UNDEFINED) {
- ++srcPtr;
- bitbuf = (bitbuf << 6) | c;
- bitcount += 6;
- /* enough bits for a UTF-16 character? */
- if (bitcount >= 16) {
- bitcount -= 16;
- utf16 = (bitcount ? bitbuf >> bitcount : bitbuf) & 0xffff;
- /* convert UTF16 to UCS4 */
- if (utf16 >= UTF16HIGHSTART && utf16 <= UTF16HIGHEND) {
- ucs4 = (utf16 - UTF16HIGHSTART) << UTF16SHIFT;
- continue;
- } else if (utf16 >= UTF16LOSTART && utf16 <= UTF16LOEND) {
- ucs4 += utf16 - UTF16LOSTART + UTF16BASE;
- } else {
- ucs4 = utf16;
- }
- /* convert UTF-16 range of UCS4 to UTF-8 */
- if (ucs4 <= 0x7fUL) {
- utf8[0] = ucs4;
- i = 1;
- } else if (ucs4 <= 0x7ffUL) {
- utf8[0] = 0xc0 | (ucs4 >> 6);
- utf8[1] = 0x80 | (ucs4 & 0x3f);
- i = 2;
- } else if (ucs4 <= 0xffffUL) {
- utf8[0] = 0xe0 | (ucs4 >> 12);
- utf8[1] = 0x80 | ((ucs4 >> 6) & 0x3f);
- utf8[2] = 0x80 | (ucs4 & 0x3f);
- i = 3;
- } else {
- utf8[0] = 0xf0 | (ucs4 >> 18);
- utf8[1] = 0x80 | ((ucs4 >> 12) & 0x3f);
- utf8[2] = 0x80 | ((ucs4 >> 6) & 0x3f);
- utf8[3] = 0x80 | (ucs4 & 0x3f);
- i = 4;
- }
- /* copy it */
- for (c = 0; c < i; ++c) {
- dst += utf8[c];
- }
- }
- }
- /* skip over trailing '-' in modified UTF-7 encoding */
- if (src[srcPtr] == '-')
- ++srcPtr;
- }
- }
-
- return QString::fromUtf8( dst.data() );
-}
-
-Mail::Mail()
- :name(""), mail(""), to(""), cc(""), bcc(""), reply(""), subject(""), message("")
-{
-}