summaryrefslogtreecommitdiff
authorchicken <chicken>2004-03-02 16:24:30 (UTC)
committer chicken <chicken>2004-03-02 16:24:30 (UTC)
commit10d627d55eaab6cda26b03879f1b0fe31d1b273b (patch) (unidiff)
treeeb04a35ba5e359eb808bf0bd85b1be51dcb4b0a9
parent49bee7ab52b819a07e9b6de4576eda467d632a66 (diff)
downloadopie-10d627d55eaab6cda26b03879f1b0fe31d1b273b.zip
opie-10d627d55eaab6cda26b03879f1b0fe31d1b273b.tar.gz
opie-10d627d55eaab6cda26b03879f1b0fe31d1b273b.tar.bz2
fix includes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/accountitem.cpp1
-rw-r--r--noncore/net/mail/addresspicker.cpp2
-rw-r--r--noncore/net/mail/libmailwrapper/abstractmail.cpp2
-rw-r--r--noncore/net/mail/libmailwrapper/sendmailprogress.cpp1
-rw-r--r--noncore/net/mail/libmailwrapper/smtpwrapper.cpp2
-rw-r--r--noncore/net/mail/libmailwrapper/statusmail.cpp1
-rw-r--r--noncore/net/mail/mainwindow.cpp2
-rw-r--r--noncore/net/mail/newmaildir.cpp2
-rw-r--r--noncore/net/mail/opiemail.cpp4
-rw-r--r--noncore/net/mail/selectsmtp.cpp7
-rw-r--r--noncore/net/mail/viewmail.cpp3
-rw-r--r--noncore/net/mail/viewmailbase.cpp1
-rw-r--r--noncore/net/opietooth/applet/bluezapplet.cpp3
-rw-r--r--noncore/net/opietooth/blue-pin/main.cc1
-rw-r--r--noncore/net/opietooth/blue-pin/pindlg.cc1
-rw-r--r--noncore/net/opietooth/manager/bticonloader.cpp1
-rw-r--r--noncore/net/opietooth/manager/btserviceitem.cpp1
-rw-r--r--noncore/net/opietooth/manager/hciconfwrapper.cpp1
-rw-r--r--noncore/net/opietooth/manager/rfcommassigndialogitem.cpp1
-rw-r--r--noncore/net/wellenreiter/gui/protolistview.cpp4
-rw-r--r--noncore/net/wellenreiter/gui/resource.cpp1
-rw-r--r--noncore/net/wellenreiter/gui/scanlist.cpp1
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiterbase.cpp9
23 files changed, 1 insertions, 51 deletions
diff --git a/noncore/net/mail/accountitem.cpp b/noncore/net/mail/accountitem.cpp
index 32a96ff..e925d8d 100644
--- a/noncore/net/mail/accountitem.cpp
+++ b/noncore/net/mail/accountitem.cpp
@@ -1,196 +1,195 @@
1 1
2#include "accountitem.h" 2#include "accountitem.h"
3#include "accountview.h" 3#include "accountview.h"
4#include "selectstore.h"
5#include "newmaildir.h" 4#include "newmaildir.h"
6#include "defines.h" 5#include "defines.h"
7 6
8/* OPIE */ 7/* OPIE */
9#include <libmailwrapper/mailtypes.h> 8#include <libmailwrapper/mailtypes.h>
10#include <libmailwrapper/abstractmail.h> 9#include <libmailwrapper/abstractmail.h>
11#include <libmailwrapper/mailwrapper.h> 10#include <libmailwrapper/mailwrapper.h>
12#include <qpe/qpeapplication.h> 11#include <qpe/qpeapplication.h>
13 12
14/* QT */ 13/* QT */
15#include <qpopupmenu.h> 14#include <qpopupmenu.h>
16#include <qmessagebox.h> 15#include <qmessagebox.h>
17 16
18#define SETPIX(x) if (!account->getOffline()) {setPixmap( 0,x);} else {setPixmap( 0, PIXMAP_OFFLINE );} 17#define SETPIX(x) if (!account->getOffline()) {setPixmap( 0,x);} else {setPixmap( 0, PIXMAP_OFFLINE );}
19/** 18/**
20 * POP3 Account stuff 19 * POP3 Account stuff
21 */ 20 */
22POP3viewItem::POP3viewItem( POP3account *a, AccountView *parent ) 21POP3viewItem::POP3viewItem( POP3account *a, AccountView *parent )
23 : AccountViewItem( parent ) 22 : AccountViewItem( parent )
24{ 23{
25 account = a; 24 account = a;
26 wrapper = AbstractMail::getWrapper( account ); 25 wrapper = AbstractMail::getWrapper( account );
27 SETPIX(PIXMAP_POP3FOLDER); 26 SETPIX(PIXMAP_POP3FOLDER);
28#if 0 27#if 0
29 if (!account->getOffline()) 28 if (!account->getOffline())
30 { 29 {
31 setPixmap( 0, ); 30 setPixmap( 0, );
32 } 31 }
33 else 32 else
34 { 33 {
35 setPixmap( 0, PIXMAP_OFFLINE ); 34 setPixmap( 0, PIXMAP_OFFLINE );
36 } 35 }
37#endif 36#endif
38 setText( 0, account->getAccountName() ); 37 setText( 0, account->getAccountName() );
39 setOpen( true ); 38 setOpen( true );
40} 39}
41 40
42POP3viewItem::~POP3viewItem() 41POP3viewItem::~POP3viewItem()
43{ 42{
44 delete wrapper; 43 delete wrapper;
45} 44}
46 45
47AbstractMail *POP3viewItem::getWrapper() 46AbstractMail *POP3viewItem::getWrapper()
48{ 47{
49 return wrapper; 48 return wrapper;
50} 49}
51 50
52void POP3viewItem::refresh( QList<RecMail> & ) 51void POP3viewItem::refresh( QList<RecMail> & )
53{ 52{
54 refresh(); 53 refresh();
55} 54}
56 55
57void POP3viewItem::refresh() 56void POP3viewItem::refresh()
58{ 57{
59 if (account->getOffline()) return; 58 if (account->getOffline()) return;
60 QList<Folder> *folders = wrapper->listFolders(); 59 QList<Folder> *folders = wrapper->listFolders();
61 QListViewItem *child = firstChild(); 60 QListViewItem *child = firstChild();
62 while ( child ) 61 while ( child )
63 { 62 {
64 QListViewItem *tmp = child; 63 QListViewItem *tmp = child;
65 child = child->nextSibling(); 64 child = child->nextSibling();
66 delete tmp; 65 delete tmp;
67 } 66 }
68 Folder *it; 67 Folder *it;
69 QListViewItem*item = 0; 68 QListViewItem*item = 0;
70 for ( it = folders->first(); it; it = folders->next() ) 69 for ( it = folders->first(); it; it = folders->next() )
71 { 70 {
72 item = new POP3folderItem( it, this , item ); 71 item = new POP3folderItem( it, this , item );
73 item->setSelectable(it->may_select()); 72 item->setSelectable(it->may_select());
74 } 73 }
75 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 74 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
76 folders->setAutoDelete(false); 75 folders->setAutoDelete(false);
77 delete folders; 76 delete folders;
78} 77}
79 78
80RecBody POP3viewItem::fetchBody( const RecMail &mail ) 79RecBody POP3viewItem::fetchBody( const RecMail &mail )
81{ 80{
82 qDebug( "POP3 fetchBody" ); 81 qDebug( "POP3 fetchBody" );
83 return wrapper->fetchBody( mail ); 82 return wrapper->fetchBody( mail );
84} 83}
85 84
86QPopupMenu * POP3viewItem::getContextMenu() 85QPopupMenu * POP3viewItem::getContextMenu()
87{ 86{
88 QPopupMenu *m = new QPopupMenu(0); 87 QPopupMenu *m = new QPopupMenu(0);
89 if (m) 88 if (m)
90 { 89 {
91 if (!account->getOffline()) 90 if (!account->getOffline())
92 { 91 {
93 m->insertItem(QObject::tr("Disconnect",contextName),0); 92 m->insertItem(QObject::tr("Disconnect",contextName),0);
94 m->insertItem(QObject::tr("Set offline",contextName),1); 93 m->insertItem(QObject::tr("Set offline",contextName),1);
95 } 94 }
96 else 95 else
97 { 96 {
98 m->insertItem(QObject::tr("Set online",contextName),1); 97 m->insertItem(QObject::tr("Set online",contextName),1);
99 } 98 }
100 } 99 }
101 return m; 100 return m;
102} 101}
103 102
104void POP3viewItem::disconnect() 103void POP3viewItem::disconnect()
105{ 104{
106 QListViewItem *child = firstChild(); 105 QListViewItem *child = firstChild();
107 while ( child ) 106 while ( child )
108 { 107 {
109 QListViewItem *tmp = child; 108 QListViewItem *tmp = child;
110 child = child->nextSibling(); 109 child = child->nextSibling();
111 delete tmp; 110 delete tmp;
112 } 111 }
113 wrapper->logout(); 112 wrapper->logout();
114} 113}
115 114
116void POP3viewItem::setOnOffline() 115void POP3viewItem::setOnOffline()
117{ 116{
118 if (!account->getOffline()) 117 if (!account->getOffline())
119 { 118 {
120 disconnect(); 119 disconnect();
121 } 120 }
122 account->setOffline(!account->getOffline()); 121 account->setOffline(!account->getOffline());
123 account->save(); 122 account->save();
124 SETPIX(PIXMAP_POP3FOLDER); 123 SETPIX(PIXMAP_POP3FOLDER);
125 refresh(); 124 refresh();
126} 125}
127 126
128void POP3viewItem::contextMenuSelected(int which) 127void POP3viewItem::contextMenuSelected(int which)
129{ 128{
130 switch (which) 129 switch (which)
131 { 130 {
132 case 0: 131 case 0:
133 disconnect(); 132 disconnect();
134 break; 133 break;
135 case 1: 134 case 1:
136 setOnOffline(); 135 setOnOffline();
137 break; 136 break;
138 } 137 }
139} 138}
140 139
141POP3folderItem::~POP3folderItem() 140POP3folderItem::~POP3folderItem()
142{} 141{}
143 142
144POP3folderItem::POP3folderItem( Folder *folderInit, POP3viewItem *parent , QListViewItem*after ) 143POP3folderItem::POP3folderItem( Folder *folderInit, POP3viewItem *parent , QListViewItem*after )
145 : AccountViewItem( parent,after ) 144 : AccountViewItem( parent,after )
146{ 145{
147 folder = folderInit; 146 folder = folderInit;
148 pop3 = parent; 147 pop3 = parent;
149 if (folder->getDisplayName().lower()!="inbox") 148 if (folder->getDisplayName().lower()!="inbox")
150 { 149 {
151 setPixmap( 0, PIXMAP_POP3FOLDER ); 150 setPixmap( 0, PIXMAP_POP3FOLDER );
152 } 151 }
153 else 152 else
154 { 153 {
155 setPixmap( 0, PIXMAP_INBOXFOLDER); 154 setPixmap( 0, PIXMAP_INBOXFOLDER);
156 } 155 }
157 setText( 0, folder->getDisplayName() ); 156 setText( 0, folder->getDisplayName() );
158} 157}
159 158
160void POP3folderItem::refresh(QList<RecMail>&target) 159void POP3folderItem::refresh(QList<RecMail>&target)
161{ 160{
162 if (folder->may_select()) 161 if (folder->may_select())
163 pop3->getWrapper()->listMessages( folder->getName(),target ); 162 pop3->getWrapper()->listMessages( folder->getName(),target );
164} 163}
165 164
166RecBody POP3folderItem::fetchBody(const RecMail&aMail) 165RecBody POP3folderItem::fetchBody(const RecMail&aMail)
167{ 166{
168 return pop3->getWrapper()->fetchBody(aMail); 167 return pop3->getWrapper()->fetchBody(aMail);
169} 168}
170 169
171QPopupMenu * POP3folderItem::getContextMenu() 170QPopupMenu * POP3folderItem::getContextMenu()
172{ 171{
173 QPopupMenu *m = new QPopupMenu(0); 172 QPopupMenu *m = new QPopupMenu(0);
174 if (m) 173 if (m)
175 { 174 {
176 m->insertItem(QObject::tr("Refresh header list",contextName),0); 175 m->insertItem(QObject::tr("Refresh header list",contextName),0);
177 m->insertItem(QObject::tr("Delete all mails",contextName),1); 176 m->insertItem(QObject::tr("Delete all mails",contextName),1);
178 m->insertItem(QObject::tr("Move/Copie all mails",contextName),2); 177 m->insertItem(QObject::tr("Move/Copie all mails",contextName),2);
179 } 178 }
180 return m; 179 return m;
181} 180}
182 181
183void POP3folderItem::downloadMails() 182void POP3folderItem::downloadMails()
184{ 183{
185 AccountView*bl = pop3->accountView(); 184 AccountView*bl = pop3->accountView();
186 if (!bl) return; 185 if (!bl) return;
187 bl->downloadMails(folder,pop3->getWrapper()); 186 bl->downloadMails(folder,pop3->getWrapper());
188} 187}
189 188
190void POP3folderItem::contextMenuSelected(int which) 189void POP3folderItem::contextMenuSelected(int which)
191{ 190{
192 AccountView * view = (AccountView*)listView(); 191 AccountView * view = (AccountView*)listView();
193 switch (which) 192 switch (which)
194 { 193 {
195 case 0: 194 case 0:
196 /* must be 'cause pop3 lists are cached */ 195 /* must be 'cause pop3 lists are cached */
diff --git a/noncore/net/mail/addresspicker.cpp b/noncore/net/mail/addresspicker.cpp
index 35f9cd4..50c82e5 100644
--- a/noncore/net/mail/addresspicker.cpp
+++ b/noncore/net/mail/addresspicker.cpp
@@ -1,114 +1,112 @@
1 1
2#include "composemail.h" 2#include "composemail.h"
3 3
4/* OPIE */ 4/* OPIE */
5#include <opie2/ocontactaccess.h> 5#include <opie2/ocontactaccess.h>
6#include <opie2/opimcontact.h> 6#include <opie2/opimcontact.h>
7#include <qpe/resource.h> 7#include <qpe/resource.h>
8#include <qpe/qpeapplication.h> 8#include <qpe/qpeapplication.h>
9 9
10/* QT */ 10/* QT */
11#include <qpushbutton.h> 11#include <qpushbutton.h>
12#include <qmessagebox.h> 12#include <qmessagebox.h>
13#include <qtextstream.h>
14#include <qlistbox.h> 13#include <qlistbox.h>
15#include <qfile.h>
16 14
17/* STD */ 15/* STD */
18#include <stdlib.h> 16#include <stdlib.h>
19 17
20AddressPicker::AddressPicker( QWidget *parent, const char *name, bool modal, WFlags flags ) 18AddressPicker::AddressPicker( QWidget *parent, const char *name, bool modal, WFlags flags )
21 : AddressPickerUI( parent, name, modal, flags ) 19 : AddressPickerUI( parent, name, modal, flags )
22{ 20{
23 okButton->setIconSet( Resource::loadPixmap( "enter" ) ); 21 okButton->setIconSet( Resource::loadPixmap( "enter" ) );
24 cancelButton->setIconSet( Resource::loadPixmap( "editdelete" ) ); 22 cancelButton->setIconSet( Resource::loadPixmap( "editdelete" ) );
25 23
26 connect(okButton, SIGNAL(clicked()), SLOT(accept())); 24 connect(okButton, SIGNAL(clicked()), SLOT(accept()));
27 connect(cancelButton, SIGNAL(clicked()), SLOT(close())); 25 connect(cancelButton, SIGNAL(clicked()), SLOT(close()));
28 Opie::OPimContactAccess::List::Iterator it; 26 Opie::OPimContactAccess::List::Iterator it;
29 27
30 QString lineEmail, lineName, contactLine; 28 QString lineEmail, lineName, contactLine;
31 /* what name has to set here???? */ 29 /* what name has to set here???? */
32 Opie::OPimContactAccess m_contactdb("opiemail"); 30 Opie::OPimContactAccess m_contactdb("opiemail");
33 31
34 QStringList mails; 32 QStringList mails;
35 QString pre,suf; 33 QString pre,suf;
36 Opie::OPimContactAccess::List m_list = m_contactdb.sorted( true, 0, 0, 0 ); 34 Opie::OPimContactAccess::List m_list = m_contactdb.sorted( true, 0, 0, 0 );
37 for ( it = m_list.begin(); it != m_list.end(); ++it ) 35 for ( it = m_list.begin(); it != m_list.end(); ++it )
38 { 36 {
39 if ((*it).defaultEmail().length()!=0) 37 if ((*it).defaultEmail().length()!=0)
40 { 38 {
41 mails = (*it).emailList(); 39 mails = (*it).emailList();
42 if ((*it).fileAs().length()>0) 40 if ((*it).fileAs().length()>0)
43 { 41 {
44 pre = "\""+(*it).firstName()+" "+(*it).lastName()+"\" <"; 42 pre = "\""+(*it).firstName()+" "+(*it).lastName()+"\" <";
45 suf = ">"; 43 suf = ">";
46 } 44 }
47 else 45 else
48 { 46 {
49 pre = ""; 47 pre = "";
50 suf = ""; 48 suf = "";
51 } 49 }
52 QStringList::ConstIterator sit = mails.begin(); 50 QStringList::ConstIterator sit = mails.begin();
53 for (;sit!=mails.end();++sit) 51 for (;sit!=mails.end();++sit)
54 { 52 {
55 contactLine=pre+(*sit)+suf; 53 contactLine=pre+(*sit)+suf;
56 addressList->insertItem(contactLine); 54 addressList->insertItem(contactLine);
57 } 55 }
58 } 56 }
59 } 57 }
60 if ( addressList->count() <= 0 ) 58 if ( addressList->count() <= 0 )
61 { 59 {
62#if 0 60#if 0
63 // makes this realy sense?? 61 // makes this realy sense??
64 addressList->insertItem( 62 addressList->insertItem(
65 tr( "There are no entries in the addressbook." ) ); 63 tr( "There are no entries in the addressbook." ) );
66#endif 64#endif
67 addressList->setEnabled( false ); 65 addressList->setEnabled( false );
68 okButton->setEnabled( false ); 66 okButton->setEnabled( false );
69 } 67 }
70 else 68 else
71 { 69 {
72 // addressList->sort(); 70 // addressList->sort();
73 } 71 }
74} 72}
75 73
76void AddressPicker::accept() 74void AddressPicker::accept()
77{ 75{
78 QListBoxItem *item = addressList->firstItem(); 76 QListBoxItem *item = addressList->firstItem();
79 QString names; 77 QString names;
80 78
81 while ( item ) 79 while ( item )
82 { 80 {
83 if ( item->selected() ) 81 if ( item->selected() )
84 names += item->text() + ", "; 82 names += item->text() + ", ";
85 item = item->next(); 83 item = item->next();
86 } 84 }
87 names.replace( names.length() - 2, 2, "" ); 85 names.replace( names.length() - 2, 2, "" );
88 86
89 if ( names.isEmpty() ) 87 if ( names.isEmpty() )
90 { 88 {
91 QMessageBox::information(this, tr("Error"), tr("<p>You have to select" 89 QMessageBox::information(this, tr("Error"), tr("<p>You have to select"
92 " at least one address entry.</p>"), tr("Ok")); 90 " at least one address entry.</p>"), tr("Ok"));
93 return; 91 return;
94 } 92 }
95 93
96 selectedNames = names; 94 selectedNames = names;
97 QDialog::accept(); 95 QDialog::accept();
98} 96}
99 97
100QString AddressPicker::getNames() 98QString AddressPicker::getNames()
101{ 99{
102 QString names = 0; 100 QString names = 0;
103 101
104 AddressPicker picker(0, 0, true); 102 AddressPicker picker(0, 0, true);
105 103
106 int ret = QPEApplication::execDialog( &picker ); 104 int ret = QPEApplication::execDialog( &picker );
107 if ( QDialog::Accepted == ret ) 105 if ( QDialog::Accepted == ret )
108 { 106 {
109 return picker.selectedNames; 107 return picker.selectedNames;
110 } 108 }
111 109
112 return 0; 110 return 0;
113} 111}
114 112
diff --git a/noncore/net/mail/libmailwrapper/abstractmail.cpp b/noncore/net/mail/libmailwrapper/abstractmail.cpp
index 741a8e1..9960f88 100644
--- a/noncore/net/mail/libmailwrapper/abstractmail.cpp
+++ b/noncore/net/mail/libmailwrapper/abstractmail.cpp
@@ -1,145 +1,143 @@
1#include "abstractmail.h" 1#include "abstractmail.h"
2#include "imapwrapper.h" 2#include "imapwrapper.h"
3#include "pop3wrapper.h" 3#include "pop3wrapper.h"
4#include "nntpwrapper.h" 4#include "nntpwrapper.h"
5#include "mhwrapper.h" 5#include "mhwrapper.h"
6#include "mboxwrapper.h"
7#include "mailtypes.h" 6#include "mailtypes.h"
8 7
9#include <qstring.h>
10#include <qfile.h> 8#include <qfile.h>
11#include <qtextstream.h> 9#include <qtextstream.h>
12#include <stdlib.h> 10#include <stdlib.h>
13#include <libetpan/mailmime_content.h> 11#include <libetpan/mailmime_content.h>
14#include <libetpan/mailmime.h> 12#include <libetpan/mailmime.h>
15 13
16AbstractMail* AbstractMail::getWrapper(IMAPaccount *a) 14AbstractMail* AbstractMail::getWrapper(IMAPaccount *a)
17{ 15{
18 return new IMAPwrapper(a); 16 return new IMAPwrapper(a);
19} 17}
20 18
21AbstractMail* AbstractMail::getWrapper(POP3account *a) 19AbstractMail* AbstractMail::getWrapper(POP3account *a)
22{ 20{
23 return new POP3wrapper(a); 21 return new POP3wrapper(a);
24} 22}
25 23
26AbstractMail* AbstractMail::getWrapper(NNTPaccount *a) 24AbstractMail* AbstractMail::getWrapper(NNTPaccount *a)
27{ 25{
28 return new NNTPwrapper(a); 26 return new NNTPwrapper(a);
29} 27}
30 28
31AbstractMail* AbstractMail::getWrapper(const QString&a,const QString&name) 29AbstractMail* AbstractMail::getWrapper(const QString&a,const QString&name)
32{ 30{
33 return new MHwrapper(a,name); 31 return new MHwrapper(a,name);
34} 32}
35 33
36encodedString* AbstractMail::decode_String(const encodedString*text,const QString&enc) 34encodedString* AbstractMail::decode_String(const encodedString*text,const QString&enc)
37{ 35{
38 qDebug("Decode string start"); 36 qDebug("Decode string start");
39 char*result_text; 37 char*result_text;
40 size_t index = 0; 38 size_t index = 0;
41 /* reset for recursive use! */ 39 /* reset for recursive use! */
42 size_t target_length = 0; 40 size_t target_length = 0;
43 result_text = 0; 41 result_text = 0;
44 int mimetype = MAILMIME_MECHANISM_7BIT; 42 int mimetype = MAILMIME_MECHANISM_7BIT;
45 if (enc.lower()=="quoted-printable") { 43 if (enc.lower()=="quoted-printable") {
46 mimetype = MAILMIME_MECHANISM_QUOTED_PRINTABLE; 44 mimetype = MAILMIME_MECHANISM_QUOTED_PRINTABLE;
47 } else if (enc.lower()=="base64") { 45 } else if (enc.lower()=="base64") {
48 mimetype = MAILMIME_MECHANISM_BASE64; 46 mimetype = MAILMIME_MECHANISM_BASE64;
49 } else if (enc.lower()=="8bit") { 47 } else if (enc.lower()=="8bit") {
50 mimetype = MAILMIME_MECHANISM_8BIT; 48 mimetype = MAILMIME_MECHANISM_8BIT;
51 } else if (enc.lower()=="binary") { 49 } else if (enc.lower()=="binary") {
52 mimetype = MAILMIME_MECHANISM_BINARY; 50 mimetype = MAILMIME_MECHANISM_BINARY;
53 } 51 }
54 52
55 int err = mailmime_part_parse(text->Content(),text->Length(),&index,mimetype, 53 int err = mailmime_part_parse(text->Content(),text->Length(),&index,mimetype,
56 &result_text,&target_length); 54 &result_text,&target_length);
57 55
58 encodedString* result = new encodedString(); 56 encodedString* result = new encodedString();
59 if (err == MAILIMF_NO_ERROR) { 57 if (err == MAILIMF_NO_ERROR) {
60 result->setContent(result_text,target_length); 58 result->setContent(result_text,target_length);
61 } 59 }
62 qDebug("Decode string finished"); 60 qDebug("Decode string finished");
63 return result; 61 return result;
64} 62}
65 63
66QString AbstractMail::convert_String(const char*text) 64QString AbstractMail::convert_String(const char*text)
67{ 65{
68 size_t index = 0; 66 size_t index = 0;
69 char*res = 0; 67 char*res = 0;
70 68
71 /* attention - doesn't work with arm systems! */ 69 /* attention - doesn't work with arm systems! */
72 int err = mailmime_encoded_phrase_parse("iso-8859-1", 70 int err = mailmime_encoded_phrase_parse("iso-8859-1",
73 text, strlen(text),&index, "iso-8859-1",&res); 71 text, strlen(text),&index, "iso-8859-1",&res);
74 if (err != MAILIMF_NO_ERROR) { 72 if (err != MAILIMF_NO_ERROR) {
75 if (res) free(res); 73 if (res) free(res);
76 return QString(text); 74 return QString(text);
77 } 75 }
78 if (res) { 76 if (res) {
79 QString result(res); 77 QString result(res);
80 free(res); 78 free(res);
81 return result; 79 return result;
82 } 80 }
83 return QString(text); 81 return QString(text);
84} 82}
85 83
86/* cp & paste from launcher */ 84/* cp & paste from launcher */
87QString AbstractMail::gen_attachment_id() 85QString AbstractMail::gen_attachment_id()
88{ 86{
89 QFile file( "/proc/sys/kernel/random/uuid" ); 87 QFile file( "/proc/sys/kernel/random/uuid" );
90 if (!file.open(IO_ReadOnly ) ) 88 if (!file.open(IO_ReadOnly ) )
91 return QString::null; 89 return QString::null;
92 90
93 QTextStream stream(&file); 91 QTextStream stream(&file);
94 92
95 return "{" + stream.read().stripWhiteSpace() + "}"; 93 return "{" + stream.read().stripWhiteSpace() + "}";
96} 94}
97 95
98int AbstractMail::createMbox(const QString&,const Folder*,const QString& delemiter,bool) 96int AbstractMail::createMbox(const QString&,const Folder*,const QString& delemiter,bool)
99{ 97{
100 return 0; 98 return 0;
101} 99}
102 100
103QString AbstractMail::defaultLocalfolder() 101QString AbstractMail::defaultLocalfolder()
104{ 102{
105 QString f = getenv( "HOME" ); 103 QString f = getenv( "HOME" );
106 f += "/Applications/opiemail/localmail"; 104 f += "/Applications/opiemail/localmail";
107 return f; 105 return f;
108} 106}
109 107
110/* temporary - will be removed when implemented in all classes */ 108/* temporary - will be removed when implemented in all classes */
111void AbstractMail::deleteMails(const QString &,QList<RecMail> &) 109void AbstractMail::deleteMails(const QString &,QList<RecMail> &)
112{ 110{
113} 111}
114 112
115void AbstractMail::mvcpAllMails(Folder*fromFolder,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit) 113void AbstractMail::mvcpAllMails(Folder*fromFolder,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
116{ 114{
117 QList<RecMail> t; 115 QList<RecMail> t;
118 listMessages(fromFolder->getName(),t); 116 listMessages(fromFolder->getName(),t);
119 encodedString*st = 0; 117 encodedString*st = 0;
120 while (t.count()>0) { 118 while (t.count()>0) {
121 RecMail*r = t.at(0); 119 RecMail*r = t.at(0);
122 st = fetchRawBody(*r); 120 st = fetchRawBody(*r);
123 if (st) { 121 if (st) {
124 targetWrapper->storeMessage(st->Content(),st->Length(),targetFolder); 122 targetWrapper->storeMessage(st->Content(),st->Length(),targetFolder);
125 delete st; 123 delete st;
126 } 124 }
127 t.removeFirst(); 125 t.removeFirst();
128 } 126 }
129 if (moveit) { 127 if (moveit) {
130 deleteAllMail(fromFolder); 128 deleteAllMail(fromFolder);
131 } 129 }
132} 130}
133 131
134void AbstractMail::mvcpMail(const RecMail&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit) 132void AbstractMail::mvcpMail(const RecMail&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
135{ 133{
136 encodedString*st = 0; 134 encodedString*st = 0;
137 st = fetchRawBody(mail); 135 st = fetchRawBody(mail);
138 if (st) { 136 if (st) {
139 targetWrapper->storeMessage(st->Content(),st->Length(),targetFolder); 137 targetWrapper->storeMessage(st->Content(),st->Length(),targetFolder);
140 delete st; 138 delete st;
141 } 139 }
142 if (moveit) { 140 if (moveit) {
143 deleteMail(mail); 141 deleteMail(mail);
144 } 142 }
145} 143}
diff --git a/noncore/net/mail/libmailwrapper/sendmailprogress.cpp b/noncore/net/mail/libmailwrapper/sendmailprogress.cpp
index ef22750..dc0c75a 100644
--- a/noncore/net/mail/libmailwrapper/sendmailprogress.cpp
+++ b/noncore/net/mail/libmailwrapper/sendmailprogress.cpp
@@ -1,48 +1,47 @@
1#include "sendmailprogress.h" 1#include "sendmailprogress.h"
2#include <qprogressbar.h> 2#include <qprogressbar.h>
3#include <qlabel.h> 3#include <qlabel.h>
4#include <qstring.h>
5 4
6progressMailSend::progressMailSend(QWidget*parent, const char * name) 5progressMailSend::progressMailSend(QWidget*parent, const char * name)
7 :progressMailSendUI(parent,name,true),m_current_mail(0),m_current_single(0),m_max_mail(0),m_max_single(0) 6 :progressMailSendUI(parent,name,true),m_current_mail(0),m_current_single(0),m_max_mail(0),m_max_single(0)
8{ 7{
9} 8}
10 9
11progressMailSend::~progressMailSend() 10progressMailSend::~progressMailSend()
12{ 11{
13} 12}
14 13
15void progressMailSend::setMaxMails(unsigned int aMaxMails) 14void progressMailSend::setMaxMails(unsigned int aMaxMails)
16{ 15{
17 m_max_mail = aMaxMails; 16 m_max_mail = aMaxMails;
18 allMailProgressBar->setTotalSteps(aMaxMails); 17 allMailProgressBar->setTotalSteps(aMaxMails);
19 setMails(); 18 setMails();
20} 19}
21 20
22void progressMailSend::setCurrentMails(unsigned int aCurrent) 21void progressMailSend::setCurrentMails(unsigned int aCurrent)
23{ 22{
24 m_current_mail = aCurrent; 23 m_current_mail = aCurrent;
25 allMailProgressBar->setProgress(aCurrent); 24 allMailProgressBar->setProgress(aCurrent);
26 setMails(); 25 setMails();
27} 26}
28 27
29void progressMailSend::setSingleMail(unsigned int aCurrent,unsigned int aMax) 28void progressMailSend::setSingleMail(unsigned int aCurrent,unsigned int aMax)
30{ 29{
31 m_current_single = aCurrent; 30 m_current_single = aCurrent;
32 m_max_single = aMax; 31 m_max_single = aMax;
33 setSingle(); 32 setSingle();
34} 33}
35 34
36void progressMailSend::setSingle() 35void progressMailSend::setSingle()
37{ 36{
38 QString text = QString(tr("%1 of %2 bytes send")).arg(m_current_single).arg(m_max_single); 37 QString text = QString(tr("%1 of %2 bytes send")).arg(m_current_single).arg(m_max_single);
39 singleMailLabel->setText(text); 38 singleMailLabel->setText(text);
40 singleMailProgressBar->setTotalSteps(m_max_single); 39 singleMailProgressBar->setTotalSteps(m_max_single);
41 singleMailProgressBar->setProgress(m_current_single); 40 singleMailProgressBar->setProgress(m_current_single);
42} 41}
43 42
44void progressMailSend::setMails() 43void progressMailSend::setMails()
45{ 44{
46 QString text = QString(tr("Sending mail %1 of %2")).arg(m_current_mail+1).arg(m_max_mail); 45 QString text = QString(tr("Sending mail %1 of %2")).arg(m_current_mail+1).arg(m_max_mail);
47 allMailLabel->setText(text); 46 allMailLabel->setText(text);
48} 47}
diff --git a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp
index d75d52a..d7a005e 100644
--- a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp
@@ -1,201 +1,199 @@
1#include <stdlib.h> 1#include <stdlib.h>
2#include <sys/stat.h> 2#include <sys/stat.h>
3#include <sys/types.h> 3#include <sys/types.h>
4#include <unistd.h> 4#include <unistd.h>
5#include <fcntl.h> 5#include <fcntl.h>
6#include <string.h> 6#include <string.h>
7#include <qdir.h>
8#include <qt.h> 7#include <qt.h>
9#include <qmessagebox.h>
10 8
11#include <qpe/config.h> 9#include <qpe/config.h>
12#include <qpe/qcopenvelope_qws.h> 10#include <qpe/qcopenvelope_qws.h>
13 11
14#include <libetpan/libetpan.h> 12#include <libetpan/libetpan.h>
15 13
16#include "smtpwrapper.h" 14#include "smtpwrapper.h"
17#include "mailwrapper.h" 15#include "mailwrapper.h"
18#include "abstractmail.h" 16#include "abstractmail.h"
19#include "logindialog.h" 17#include "logindialog.h"
20#include "mailtypes.h" 18#include "mailtypes.h"
21#include "sendmailprogress.h" 19#include "sendmailprogress.h"
22 20
23const char* SMTPwrapper::USER_AGENT="OpieMail v0.4"; 21const char* SMTPwrapper::USER_AGENT="OpieMail v0.4";
24 22
25progressMailSend*SMTPwrapper::sendProgress = 0; 23progressMailSend*SMTPwrapper::sendProgress = 0;
26 24
27SMTPwrapper::SMTPwrapper(SMTPaccount * aSmtp ) 25SMTPwrapper::SMTPwrapper(SMTPaccount * aSmtp )
28 : QObject() 26 : QObject()
29{ 27{
30 m_SmtpAccount = aSmtp; 28 m_SmtpAccount = aSmtp;
31 Config cfg( "mail" ); 29 Config cfg( "mail" );
32 cfg.setGroup( "Status" ); 30 cfg.setGroup( "Status" );
33 m_queuedMail = cfg.readNumEntry( "outgoing", 0 ); 31 m_queuedMail = cfg.readNumEntry( "outgoing", 0 );
34 emit queuedMails( m_queuedMail ); 32 emit queuedMails( m_queuedMail );
35 connect( this, SIGNAL( queuedMails(int) ), this, SLOT( emitQCop(int) ) ); 33 connect( this, SIGNAL( queuedMails(int) ), this, SLOT( emitQCop(int) ) );
36 m_smtp = 0; 34 m_smtp = 0;
37} 35}
38 36
39SMTPwrapper::~SMTPwrapper() 37SMTPwrapper::~SMTPwrapper()
40{ 38{
41 disc_server(); 39 disc_server();
42} 40}
43 41
44void SMTPwrapper::emitQCop( int queued ) { 42void SMTPwrapper::emitQCop( int queued ) {
45 QCopEnvelope env( "QPE/Pim", "outgoingMails(int)" ); 43 QCopEnvelope env( "QPE/Pim", "outgoingMails(int)" );
46 env << queued; 44 env << queued;
47} 45}
48 46
49QString SMTPwrapper::mailsmtpError( int errnum ) { 47QString SMTPwrapper::mailsmtpError( int errnum ) {
50 switch ( errnum ) { 48 switch ( errnum ) {
51 case MAILSMTP_NO_ERROR: 49 case MAILSMTP_NO_ERROR:
52 return tr( "No error" ); 50 return tr( "No error" );
53 case MAILSMTP_ERROR_UNEXPECTED_CODE: 51 case MAILSMTP_ERROR_UNEXPECTED_CODE:
54 return tr( "Unexpected error code" ); 52 return tr( "Unexpected error code" );
55 case MAILSMTP_ERROR_SERVICE_NOT_AVAILABLE: 53 case MAILSMTP_ERROR_SERVICE_NOT_AVAILABLE:
56 return tr( "Service not available" ); 54 return tr( "Service not available" );
57 case MAILSMTP_ERROR_STREAM: 55 case MAILSMTP_ERROR_STREAM:
58 return tr( "Stream error" ); 56 return tr( "Stream error" );
59 case MAILSMTP_ERROR_HOSTNAME: 57 case MAILSMTP_ERROR_HOSTNAME:
60 return tr( "gethostname() failed" ); 58 return tr( "gethostname() failed" );
61 case MAILSMTP_ERROR_NOT_IMPLEMENTED: 59 case MAILSMTP_ERROR_NOT_IMPLEMENTED:
62 return tr( "Not implemented" ); 60 return tr( "Not implemented" );
63 case MAILSMTP_ERROR_ACTION_NOT_TAKEN: 61 case MAILSMTP_ERROR_ACTION_NOT_TAKEN:
64 return tr( "Error, action not taken" ); 62 return tr( "Error, action not taken" );
65 case MAILSMTP_ERROR_EXCEED_STORAGE_ALLOCATION: 63 case MAILSMTP_ERROR_EXCEED_STORAGE_ALLOCATION:
66 return tr( "Data exceeds storage allocation" ); 64 return tr( "Data exceeds storage allocation" );
67 case MAILSMTP_ERROR_IN_PROCESSING: 65 case MAILSMTP_ERROR_IN_PROCESSING:
68 return tr( "Error in processing" ); 66 return tr( "Error in processing" );
69 case MAILSMTP_ERROR_STARTTLS_NOT_SUPPORTED: 67 case MAILSMTP_ERROR_STARTTLS_NOT_SUPPORTED:
70 return tr( "Starttls not supported" ); 68 return tr( "Starttls not supported" );
71 // case MAILSMTP_ERROR_INSUFFISANT_SYSTEM_STORAGE: 69 // case MAILSMTP_ERROR_INSUFFISANT_SYSTEM_STORAGE:
72 // return tr( "Insufficient system storage" ); 70 // return tr( "Insufficient system storage" );
73 case MAILSMTP_ERROR_MAILBOX_UNAVAILABLE: 71 case MAILSMTP_ERROR_MAILBOX_UNAVAILABLE:
74 return tr( "Mailbox unavailable" ); 72 return tr( "Mailbox unavailable" );
75 case MAILSMTP_ERROR_MAILBOX_NAME_NOT_ALLOWED: 73 case MAILSMTP_ERROR_MAILBOX_NAME_NOT_ALLOWED:
76 return tr( "Mailbox name not allowed" ); 74 return tr( "Mailbox name not allowed" );
77 case MAILSMTP_ERROR_BAD_SEQUENCE_OF_COMMAND: 75 case MAILSMTP_ERROR_BAD_SEQUENCE_OF_COMMAND:
78 return tr( "Bad command sequence" ); 76 return tr( "Bad command sequence" );
79 case MAILSMTP_ERROR_USER_NOT_LOCAL: 77 case MAILSMTP_ERROR_USER_NOT_LOCAL:
80 return tr( "User not local" ); 78 return tr( "User not local" );
81 case MAILSMTP_ERROR_TRANSACTION_FAILED: 79 case MAILSMTP_ERROR_TRANSACTION_FAILED:
82 return tr( "Transaction failed" ); 80 return tr( "Transaction failed" );
83 case MAILSMTP_ERROR_MEMORY: 81 case MAILSMTP_ERROR_MEMORY:
84 return tr( "Memory error" ); 82 return tr( "Memory error" );
85 case MAILSMTP_ERROR_CONNECTION_REFUSED: 83 case MAILSMTP_ERROR_CONNECTION_REFUSED:
86 return tr( "Connection refused" ); 84 return tr( "Connection refused" );
87 default: 85 default:
88 return tr( "Unknown error code" ); 86 return tr( "Unknown error code" );
89 } 87 }
90} 88}
91 89
92mailimf_mailbox *SMTPwrapper::newMailbox(const QString&name, const QString&mail ) { 90mailimf_mailbox *SMTPwrapper::newMailbox(const QString&name, const QString&mail ) {
93 return mailimf_mailbox_new( strdup( name.latin1() ), 91 return mailimf_mailbox_new( strdup( name.latin1() ),
94 strdup( mail.latin1() ) ); 92 strdup( mail.latin1() ) );
95} 93}
96 94
97mailimf_address_list *SMTPwrapper::parseAddresses(const QString&addr ) { 95mailimf_address_list *SMTPwrapper::parseAddresses(const QString&addr ) {
98 mailimf_address_list *addresses; 96 mailimf_address_list *addresses;
99 97
100 if ( addr.isEmpty() ) 98 if ( addr.isEmpty() )
101 return NULL; 99 return NULL;
102 100
103 addresses = mailimf_address_list_new_empty(); 101 addresses = mailimf_address_list_new_empty();
104 102
105 bool literal_open = false; 103 bool literal_open = false;
106 unsigned int startpos = 0; 104 unsigned int startpos = 0;
107 QStringList list; 105 QStringList list;
108 QString s; 106 QString s;
109 unsigned int i = 0; 107 unsigned int i = 0;
110 for (; i < addr.length();++i) { 108 for (; i < addr.length();++i) {
111 switch (addr[i]) { 109 switch (addr[i]) {
112 case '\"': 110 case '\"':
113 literal_open = !literal_open; 111 literal_open = !literal_open;
114 break; 112 break;
115 case ',': 113 case ',':
116 if (!literal_open) { 114 if (!literal_open) {
117 s = addr.mid(startpos,i-startpos); 115 s = addr.mid(startpos,i-startpos);
118 if (!s.isEmpty()) { 116 if (!s.isEmpty()) {
119 list.append(s); 117 list.append(s);
120 qDebug("Appended %s",s.latin1()); 118 qDebug("Appended %s",s.latin1());
121 } 119 }
122 // !!!! this is a MUST BE! 120 // !!!! this is a MUST BE!
123 startpos = ++i; 121 startpos = ++i;
124 } 122 }
125 break; 123 break;
126 default: 124 default:
127 break; 125 break;
128 } 126 }
129 } 127 }
130 s = addr.mid(startpos,i-startpos); 128 s = addr.mid(startpos,i-startpos);
131 if (!s.isEmpty()) { 129 if (!s.isEmpty()) {
132 list.append(s); 130 list.append(s);
133 qDebug("Appended %s",s.latin1()); 131 qDebug("Appended %s",s.latin1());
134 } 132 }
135 QStringList::Iterator it; 133 QStringList::Iterator it;
136 for ( it = list.begin(); it != list.end(); it++ ) { 134 for ( it = list.begin(); it != list.end(); it++ ) {
137 int err = mailimf_address_list_add_parse( addresses, (char*)(*it).latin1() ); 135 int err = mailimf_address_list_add_parse( addresses, (char*)(*it).latin1() );
138 if ( err != MAILIMF_NO_ERROR ) { 136 if ( err != MAILIMF_NO_ERROR ) {
139 qDebug( "Error parsing" ); 137 qDebug( "Error parsing" );
140 qDebug( *it ); 138 qDebug( *it );
141 } else { 139 } else {
142 qDebug( "Parse success! %s",(*it).latin1()); 140 qDebug( "Parse success! %s",(*it).latin1());
143 } 141 }
144 } 142 }
145 return addresses; 143 return addresses;
146} 144}
147 145
148mailimf_fields *SMTPwrapper::createImfFields(const Mail&mail ) { 146mailimf_fields *SMTPwrapper::createImfFields(const Mail&mail ) {
149 mailimf_fields *fields; 147 mailimf_fields *fields;
150 mailimf_field *xmailer; 148 mailimf_field *xmailer;
151 mailimf_mailbox *sender=0,*fromBox=0; 149 mailimf_mailbox *sender=0,*fromBox=0;
152 mailimf_mailbox_list *from=0; 150 mailimf_mailbox_list *from=0;
153 mailimf_address_list *to=0, *cc=0, *bcc=0, *reply=0; 151 mailimf_address_list *to=0, *cc=0, *bcc=0, *reply=0;
154 char *subject = strdup( mail.getSubject().latin1() ); 152 char *subject = strdup( mail.getSubject().latin1() );
155 int err; 153 int err;
156 154
157 sender = newMailbox( mail.getName(), mail.getMail() ); 155 sender = newMailbox( mail.getName(), mail.getMail() );
158 if ( sender == NULL ) 156 if ( sender == NULL )
159 goto err_free; 157 goto err_free;
160 158
161 fromBox = newMailbox( mail.getName(), mail.getMail() ); 159 fromBox = newMailbox( mail.getName(), mail.getMail() );
162 if ( fromBox == NULL ) 160 if ( fromBox == NULL )
163 goto err_free_sender; 161 goto err_free_sender;
164 162
165 from = mailimf_mailbox_list_new_empty(); 163 from = mailimf_mailbox_list_new_empty();
166 if ( from == NULL ) 164 if ( from == NULL )
167 goto err_free_fromBox; 165 goto err_free_fromBox;
168 166
169 err = mailimf_mailbox_list_add( from, fromBox ); 167 err = mailimf_mailbox_list_add( from, fromBox );
170 if ( err != MAILIMF_NO_ERROR ) 168 if ( err != MAILIMF_NO_ERROR )
171 goto err_free_from; 169 goto err_free_from;
172 170
173 to = parseAddresses( mail.getTo() ); 171 to = parseAddresses( mail.getTo() );
174 if ( to == NULL ) 172 if ( to == NULL )
175 goto err_free_from; 173 goto err_free_from;
176 174
177 cc = parseAddresses( mail.getCC() ); 175 cc = parseAddresses( mail.getCC() );
178 bcc = parseAddresses( mail.getBCC() ); 176 bcc = parseAddresses( mail.getBCC() );
179 reply = parseAddresses( mail.getReply() ); 177 reply = parseAddresses( mail.getReply() );
180 178
181 fields = mailimf_fields_new_with_data( from, sender, reply, to, cc, bcc, 179 fields = mailimf_fields_new_with_data( from, sender, reply, to, cc, bcc,
182 NULL, NULL, subject ); 180 NULL, NULL, subject );
183 if ( fields == NULL ) 181 if ( fields == NULL )
184 goto err_free_reply; 182 goto err_free_reply;
185 183
186 xmailer = mailimf_field_new_custom( strdup( "User-Agent" ), 184 xmailer = mailimf_field_new_custom( strdup( "User-Agent" ),
187 strdup( USER_AGENT ) ); 185 strdup( USER_AGENT ) );
188 if ( xmailer == NULL ) 186 if ( xmailer == NULL )
189 goto err_free_fields; 187 goto err_free_fields;
190 188
191 err = mailimf_fields_add( fields, xmailer ); 189 err = mailimf_fields_add( fields, xmailer );
192 if ( err != MAILIMF_NO_ERROR ) 190 if ( err != MAILIMF_NO_ERROR )
193 goto err_free_xmailer; 191 goto err_free_xmailer;
194 192
195 return fields; // Success :) 193 return fields; // Success :)
196 194
197err_free_xmailer: 195err_free_xmailer:
198 if (xmailer) 196 if (xmailer)
199 mailimf_field_free( xmailer ); 197 mailimf_field_free( xmailer );
200err_free_fields: 198err_free_fields:
201 if (fields) 199 if (fields)
diff --git a/noncore/net/mail/libmailwrapper/statusmail.cpp b/noncore/net/mail/libmailwrapper/statusmail.cpp
index 172c58f..4134e79 100644
--- a/noncore/net/mail/libmailwrapper/statusmail.cpp
+++ b/noncore/net/mail/libmailwrapper/statusmail.cpp
@@ -1,91 +1,90 @@
1#include "statusmail.h" 1#include "statusmail.h"
2#include <qlist.h>
3 2
4StatusMail::StatusMail(QList<Account>&list) 3StatusMail::StatusMail(QList<Account>&list)
5{ 4{
6 currentImapStat.message_count=0; 5 currentImapStat.message_count=0;
7 currentImapStat.message_unseen=0; 6 currentImapStat.message_unseen=0;
8 currentImapStat.message_recent=0; 7 currentImapStat.message_recent=0;
9 lastPop3Stat = currentImapStat; 8 lastPop3Stat = currentImapStat;
10 currentPop3Stat = currentImapStat; 9 currentPop3Stat = currentImapStat;
11 connectionList.setAutoDelete(true); 10 connectionList.setAutoDelete(true);
12 connectionList.clear(); 11 connectionList.clear();
13 initAccounts(list); 12 initAccounts(list);
14} 13}
15 14
16StatusMail::~StatusMail() 15StatusMail::~StatusMail()
17{ 16{
18} 17}
19 18
20void StatusMail::initAccounts(QList<Account>&accounts) 19void StatusMail::initAccounts(QList<Account>&accounts)
21{ 20{
22 21
23 Account *it; 22 Account *it;
24 folderStat currentStat; 23 folderStat currentStat;
25 AbstractMail * current = 0; 24 AbstractMail * current = 0;
26 currentPop3Stat.message_count=0; 25 currentPop3Stat.message_count=0;
27 currentPop3Stat.message_recent=0; 26 currentPop3Stat.message_recent=0;
28 currentPop3Stat.message_unseen=0; 27 currentPop3Stat.message_unseen=0;
29 for ( it = accounts.first(); it; it = accounts.next() ) { 28 for ( it = accounts.first(); it; it = accounts.next() ) {
30 if ( it->getType().compare( "IMAP" ) == 0 && !it->getOffline() ) { 29 if ( it->getType().compare( "IMAP" ) == 0 && !it->getOffline() ) {
31 IMAPaccount*ima = static_cast<IMAPaccount *>(it); 30 IMAPaccount*ima = static_cast<IMAPaccount *>(it);
32 current = AbstractMail::getWrapper(ima); 31 current = AbstractMail::getWrapper(ima);
33 connectionList.append(current); 32 connectionList.append(current);
34 current->statusFolder(currentStat); 33 current->statusFolder(currentStat);
35 currentImapStat.message_count+=currentStat.message_unseen; 34 currentImapStat.message_count+=currentStat.message_unseen;
36 currentImapStat.message_count+=currentStat.message_recent; 35 currentImapStat.message_count+=currentStat.message_recent;
37 currentImapStat.message_count+=currentStat.message_count; 36 currentImapStat.message_count+=currentStat.message_count;
38 } else if ( it->getType().compare( "POP3" ) == 0 && !it->getOffline() ) { 37 } else if ( it->getType().compare( "POP3" ) == 0 && !it->getOffline() ) {
39 POP3account *pop3 = static_cast<POP3account *>(it); 38 POP3account *pop3 = static_cast<POP3account *>(it);
40 current = AbstractMail::getWrapper(pop3); 39 current = AbstractMail::getWrapper(pop3);
41 connectionList.append(current); 40 connectionList.append(current);
42 current->statusFolder(currentStat); 41 current->statusFolder(currentStat);
43 currentPop3Stat.message_count+=currentStat.message_count; 42 currentPop3Stat.message_count+=currentStat.message_count;
44 } 43 }
45 current->logout(); 44 current->logout();
46 } 45 }
47 qDebug("Pop3 init count: %i",currentPop3Stat.message_count); 46 qDebug("Pop3 init count: %i",currentPop3Stat.message_count);
48 currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0; 47 currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0;
49 lastPop3Stat.message_unseen = currentPop3Stat.message_unseen; 48 lastPop3Stat.message_unseen = currentPop3Stat.message_unseen;
50 lastPop3Stat.message_recent = currentPop3Stat.message_recent; 49 lastPop3Stat.message_recent = currentPop3Stat.message_recent;
51 lastPop3Stat.message_count = currentPop3Stat.message_count; 50 lastPop3Stat.message_count = currentPop3Stat.message_count;
52} 51}
53 52
54void StatusMail::reset_status() 53void StatusMail::reset_status()
55{ 54{
56 lastPop3Stat = currentPop3Stat; 55 lastPop3Stat = currentPop3Stat;
57} 56}
58 57
59void StatusMail::check_current_stat(folderStat&targetStat) 58void StatusMail::check_current_stat(folderStat&targetStat)
60{ 59{
61 AbstractMail*it = 0; 60 AbstractMail*it = 0;
62 folderStat currentStat; 61 folderStat currentStat;
63 currentPop3Stat.message_recent = 0; 62 currentPop3Stat.message_recent = 0;
64 currentPop3Stat.message_count = 0; 63 currentPop3Stat.message_count = 0;
65 currentPop3Stat.message_unseen = 0; 64 currentPop3Stat.message_unseen = 0;
66 currentImapStat = currentPop3Stat; 65 currentImapStat = currentPop3Stat;
67 for ( it = connectionList.first(); it; it = connectionList.next() ) { 66 for ( it = connectionList.first(); it; it = connectionList.next() ) {
68 it->statusFolder(currentStat); 67 it->statusFolder(currentStat);
69 it->logout(); 68 it->logout();
70 if (it->getType().lower()=="imap") { 69 if (it->getType().lower()=="imap") {
71 currentImapStat.message_unseen+=currentStat.message_unseen; 70 currentImapStat.message_unseen+=currentStat.message_unseen;
72 currentImapStat.message_recent+=currentStat.message_recent; 71 currentImapStat.message_recent+=currentStat.message_recent;
73 currentImapStat.message_count+=currentStat.message_count; 72 currentImapStat.message_count+=currentStat.message_count;
74 } else if (it->getType().lower()=="pop3") { 73 } else if (it->getType().lower()=="pop3") {
75 currentPop3Stat.message_count+=currentStat.message_count; 74 currentPop3Stat.message_count+=currentStat.message_count;
76 qDebug("Pop3 count: %i",currentPop3Stat.message_count); 75 qDebug("Pop3 count: %i",currentPop3Stat.message_count);
77 } 76 }
78 } 77 }
79 qDebug("Pop3 last: %i",lastPop3Stat.message_count); 78 qDebug("Pop3 last: %i",lastPop3Stat.message_count);
80 if (currentPop3Stat.message_count > lastPop3Stat.message_count) { 79 if (currentPop3Stat.message_count > lastPop3Stat.message_count) {
81 currentPop3Stat.message_recent = currentPop3Stat.message_count - lastPop3Stat.message_count; 80 currentPop3Stat.message_recent = currentPop3Stat.message_count - lastPop3Stat.message_count;
82 currentPop3Stat.message_unseen = currentPop3Stat.message_recent; 81 currentPop3Stat.message_unseen = currentPop3Stat.message_recent;
83 } else { 82 } else {
84 lastPop3Stat.message_count = currentPop3Stat.message_count; 83 lastPop3Stat.message_count = currentPop3Stat.message_count;
85 currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0; 84 currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0;
86 } 85 }
87 targetStat = currentImapStat; 86 targetStat = currentImapStat;
88 targetStat.message_unseen+=currentPop3Stat.message_unseen; 87 targetStat.message_unseen+=currentPop3Stat.message_unseen;
89 targetStat.message_recent+=currentPop3Stat.message_recent; 88 targetStat.message_recent+=currentPop3Stat.message_recent;
90 targetStat.message_count+=currentPop3Stat.message_count; 89 targetStat.message_count+=currentPop3Stat.message_count;
91} 90}
diff --git a/noncore/net/mail/mainwindow.cpp b/noncore/net/mail/mainwindow.cpp
index 3f34fe7..bcf0866 100644
--- a/noncore/net/mail/mainwindow.cpp
+++ b/noncore/net/mail/mainwindow.cpp
@@ -1,201 +1,199 @@
1#include <qlabel.h> 1#include <qlabel.h>
2#include <qvbox.h> 2#include <qvbox.h>
3#include <qheader.h> 3#include <qheader.h>
4#include <qtimer.h> 4#include <qtimer.h>
5#include <qlayout.h> 5#include <qlayout.h>
6#include <qmessagebox.h>
7 6
8#include <qpe/qpeapplication.h> 7#include <qpe/qpeapplication.h>
9#include <qpe/resource.h>
10 8
11#include "defines.h" 9#include "defines.h"
12#include "mainwindow.h" 10#include "mainwindow.h"
13 11
14 12
15MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) 13MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
16 : QMainWindow( parent, name, flags ) 14 : QMainWindow( parent, name, flags )
17{ 15{
18 16
19 setCaption( tr( "Mail" ) ); 17 setCaption( tr( "Mail" ) );
20 setToolBarsMovable( false ); 18 setToolBarsMovable( false );
21 19
22 toolBar = new QToolBar( this ); 20 toolBar = new QToolBar( this );
23 menuBar = new QMenuBar( toolBar ); 21 menuBar = new QMenuBar( toolBar );
24 mailMenu = new QPopupMenu( menuBar ); 22 mailMenu = new QPopupMenu( menuBar );
25 menuBar->insertItem( tr( "Mail" ), mailMenu ); 23 menuBar->insertItem( tr( "Mail" ), mailMenu );
26 settingsMenu = new QPopupMenu( menuBar ); 24 settingsMenu = new QPopupMenu( menuBar );
27 menuBar->insertItem( tr( "Settings" ), settingsMenu ); 25 menuBar->insertItem( tr( "Settings" ), settingsMenu );
28 26
29 addToolBar( toolBar ); 27 addToolBar( toolBar );
30 toolBar->setHorizontalStretchable( true ); 28 toolBar->setHorizontalStretchable( true );
31 29
32 QLabel *spacer = new QLabel( toolBar ); 30 QLabel *spacer = new QLabel( toolBar );
33 spacer->setBackgroundMode( QWidget::PaletteButton ); 31 spacer->setBackgroundMode( QWidget::PaletteButton );
34 toolBar->setStretchableWidget( spacer ); 32 toolBar->setStretchableWidget( spacer );
35 33
36 composeMail = new QAction( tr( "Compose new mail" ), ICON_COMPOSEMAIL, 34 composeMail = new QAction( tr( "Compose new mail" ), ICON_COMPOSEMAIL,
37 0, 0, this ); 35 0, 0, this );
38 composeMail->addTo( toolBar ); 36 composeMail->addTo( toolBar );
39 composeMail->addTo( mailMenu ); 37 composeMail->addTo( mailMenu );
40 38
41 sendQueued = new QAction( tr( "Send queued mails" ), ICON_SENDQUEUED, 39 sendQueued = new QAction( tr( "Send queued mails" ), ICON_SENDQUEUED,
42 0, 0, this ); 40 0, 0, this );
43 sendQueued->addTo( toolBar ); 41 sendQueued->addTo( toolBar );
44 sendQueued->addTo( mailMenu ); 42 sendQueued->addTo( mailMenu );
45 43
46 /* 44 /*
47 syncFolders = new QAction( tr( "Sync mailfolders" ), ICON_SYNC, 45 syncFolders = new QAction( tr( "Sync mailfolders" ), ICON_SYNC,
48 0, 0, this ); 46 0, 0, this );
49 syncFolders->addTo( toolBar ); 47 syncFolders->addTo( toolBar );
50 syncFolders->addTo( mailMenu ); 48 syncFolders->addTo( mailMenu );
51 */ 49 */
52 50
53 showFolders = new QAction( tr( "Show/Hide folders" ), ICON_SHOWFOLDERS, 51 showFolders = new QAction( tr( "Show/Hide folders" ), ICON_SHOWFOLDERS,
54 0, 0, this, 0, true ); 52 0, 0, this, 0, true );
55 showFolders->addTo( toolBar ); 53 showFolders->addTo( toolBar );
56 showFolders->addTo( mailMenu ); 54 showFolders->addTo( mailMenu );
57 showFolders->setOn( true ); 55 showFolders->setOn( true );
58 connect(showFolders, SIGNAL( toggled(bool) ), 56 connect(showFolders, SIGNAL( toggled(bool) ),
59 SLOT( slotShowFolders(bool) ) ); 57 SLOT( slotShowFolders(bool) ) );
60 58
61 /* 59 /*
62 searchMails = new QAction( tr( "Search mails" ), QIconSet( Resource::loadPixmap("find") ), 60 searchMails = new QAction( tr( "Search mails" ), QIconSet( Resource::loadPixmap("find") ),
63 0, 0, this ); 61 0, 0, this );
64 searchMails->addTo( toolBar ); 62 searchMails->addTo( toolBar );
65 searchMails->addTo( mailMenu ); 63 searchMails->addTo( mailMenu );
66 */ 64 */
67 65
68 deleteMails = new QAction(tr("Delete Mail"), QIconSet( Resource::loadPixmap("trash")), 0, 0, this); 66 deleteMails = new QAction(tr("Delete Mail"), QIconSet( Resource::loadPixmap("trash")), 0, 0, this);
69 deleteMails->addTo( toolBar ); 67 deleteMails->addTo( toolBar );
70 deleteMails->addTo( mailMenu ); 68 deleteMails->addTo( mailMenu );
71 connect( deleteMails, SIGNAL( activated() ), 69 connect( deleteMails, SIGNAL( activated() ),
72 SLOT( slotDeleteMail() ) ); 70 SLOT( slotDeleteMail() ) );
73 71
74 editSettings = new QAction( tr( "Edit settings" ), QIconSet( Resource::loadPixmap("SettingsIcon") ) , 72 editSettings = new QAction( tr( "Edit settings" ), QIconSet( Resource::loadPixmap("SettingsIcon") ) ,
75 0, 0, this ); 73 0, 0, this );
76 editSettings->addTo( settingsMenu ); 74 editSettings->addTo( settingsMenu );
77 connect( editSettings, SIGNAL( activated() ), 75 connect( editSettings, SIGNAL( activated() ),
78 SLOT( slotEditSettings() ) ); 76 SLOT( slotEditSettings() ) );
79 editAccounts = new QAction( tr( "Configure accounts" ), QIconSet( Resource::loadPixmap("mail/editaccounts") ) , 77 editAccounts = new QAction( tr( "Configure accounts" ), QIconSet( Resource::loadPixmap("mail/editaccounts") ) ,
80 0, 0, this ); 78 0, 0, this );
81 editAccounts->addTo( settingsMenu ); 79 editAccounts->addTo( settingsMenu );
82 80
83 //setCentralWidget( view ); 81 //setCentralWidget( view );
84 82
85 QVBox* wrapperBox = new QVBox( this ); 83 QVBox* wrapperBox = new QVBox( this );
86 setCentralWidget( wrapperBox ); 84 setCentralWidget( wrapperBox );
87 85
88 QWidget *view = new QWidget( wrapperBox ); 86 QWidget *view = new QWidget( wrapperBox );
89 87
90 layout = new QBoxLayout ( view, QBoxLayout::LeftToRight ); 88 layout = new QBoxLayout ( view, QBoxLayout::LeftToRight );
91 89
92 folderView = new AccountView( view ); 90 folderView = new AccountView( view );
93 folderView->header()->hide(); 91 folderView->header()->hide();
94 folderView->setRootIsDecorated( true ); 92 folderView->setRootIsDecorated( true );
95 folderView->addColumn( tr( "Mailbox" ) ); 93 folderView->addColumn( tr( "Mailbox" ) );
96 94
97 layout->addWidget( folderView ); 95 layout->addWidget( folderView );
98 96
99 mailView = new QListView( view ); 97 mailView = new QListView( view );
100 mailView->addColumn( tr( "" ) ); 98 mailView->addColumn( tr( "" ) );
101 mailView->addColumn( tr( "Subject" ),QListView::Manual ); 99 mailView->addColumn( tr( "Subject" ),QListView::Manual );
102 mailView->addColumn( tr( "Sender" ),QListView::Manual ); 100 mailView->addColumn( tr( "Sender" ),QListView::Manual );
103 mailView->addColumn( tr( "Size" ),QListView::Manual); 101 mailView->addColumn( tr( "Size" ),QListView::Manual);
104 mailView->addColumn( tr( "Date" )); 102 mailView->addColumn( tr( "Date" ));
105 mailView->setAllColumnsShowFocus(true); 103 mailView->setAllColumnsShowFocus(true);
106 mailView->setSorting(-1); 104 mailView->setSorting(-1);
107 105
108 statusWidget = new StatusWidget( wrapperBox ); 106 statusWidget = new StatusWidget( wrapperBox );
109 statusWidget->hide(); 107 statusWidget->hide();
110 108
111 layout->addWidget( mailView ); 109 layout->addWidget( mailView );
112 layout->setStretchFactor( folderView, 1 ); 110 layout->setStretchFactor( folderView, 1 );
113 layout->setStretchFactor( mailView, 2 ); 111 layout->setStretchFactor( mailView, 2 );
114 112
115 slotAdjustLayout(); 113 slotAdjustLayout();
116 114
117 QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); 115 QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold);
118 QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); 116 QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold);
119 117
120 connect( mailView, SIGNAL( mouseButtonClicked(int,QListViewItem*,const QPoint&,int) ),this, 118 connect( mailView, SIGNAL( mouseButtonClicked(int,QListViewItem*,const QPoint&,int) ),this,
121 SLOT( mailLeftClicked(int,QListViewItem*,const QPoint&,int) ) ); 119 SLOT( mailLeftClicked(int,QListViewItem*,const QPoint&,int) ) );
122 connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, 120 connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this,
123 SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); 121 SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) );
124 connect(folderView, SIGNAL(refreshMailview(QList<RecMail>*)),this,SLOT(refreshMailView(QList<RecMail>*))); 122 connect(folderView, SIGNAL(refreshMailview(QList<RecMail>*)),this,SLOT(refreshMailView(QList<RecMail>*)));
125 connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); 123 connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) );
126 connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); 124 connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) );
127// connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); 125// connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) );
128 connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); 126 connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) );
129 // Added by Stefan Eilers to allow starting by addressbook.. 127 // Added by Stefan Eilers to allow starting by addressbook..
130 // copied from old mail2 128 // copied from old mail2
131#if !defined(QT_NO_COP) 129#if !defined(QT_NO_COP)
132 connect( qApp, SIGNAL( appMessage(const QCString&,const QByteArray&) ), 130 connect( qApp, SIGNAL( appMessage(const QCString&,const QByteArray&) ),
133 this, SLOT( appMessage(const QCString&,const QByteArray&) ) ); 131 this, SLOT( appMessage(const QCString&,const QByteArray&) ) );
134#endif 132#endif
135 133
136 QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); 134 QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) );
137} 135}
138 136
139MainWindow::~MainWindow() 137MainWindow::~MainWindow()
140{ 138{
141} 139}
142 140
143void MainWindow::appMessage(const QCString &, const QByteArray &) 141void MainWindow::appMessage(const QCString &, const QByteArray &)
144{ 142{
145 qDebug("appMessage not reached"); 143 qDebug("appMessage not reached");
146} 144}
147 145
148void MainWindow::slotAdjustLayout() { 146void MainWindow::slotAdjustLayout() {
149 147
150 QWidget *d = QApplication::desktop(); 148 QWidget *d = QApplication::desktop();
151 149
152 if ( d->width() < d->height() ) { 150 if ( d->width() < d->height() ) {
153 layout->setDirection( QBoxLayout::TopToBottom ); 151 layout->setDirection( QBoxLayout::TopToBottom );
154 } else { 152 } else {
155 layout->setDirection( QBoxLayout::LeftToRight ); 153 layout->setDirection( QBoxLayout::LeftToRight );
156 } 154 }
157} 155}
158 156
159void MainWindow::slotAdjustColumns() 157void MainWindow::slotAdjustColumns()
160{ 158{
161 bool hidden = folderView->isHidden(); 159 bool hidden = folderView->isHidden();
162 if ( hidden ) folderView->show(); 160 if ( hidden ) folderView->show();
163 folderView->setColumnWidth( 0, folderView->visibleWidth() ); 161 folderView->setColumnWidth( 0, folderView->visibleWidth() );
164 if ( hidden ) folderView->hide(); 162 if ( hidden ) folderView->hide();
165 163
166 mailView->setColumnWidth( 0, 10 ); 164 mailView->setColumnWidth( 0, 10 );
167 mailView->setColumnWidth( 1, mailView->visibleWidth() - 130 ); 165 mailView->setColumnWidth( 1, mailView->visibleWidth() - 130 );
168 mailView->setColumnWidth( 2, 80 ); 166 mailView->setColumnWidth( 2, 80 );
169 mailView->setColumnWidth( 3, 50 ); 167 mailView->setColumnWidth( 3, 50 );
170 mailView->setColumnWidth( 4, 50 ); 168 mailView->setColumnWidth( 4, 50 );
171} 169}
172 170
173void MainWindow::slotEditSettings() 171void MainWindow::slotEditSettings()
174{ 172{
175} 173}
176 174
177void MainWindow::slotShowFolders( bool ) 175void MainWindow::slotShowFolders( bool )
178{ 176{
179 qDebug( "slotShowFolders not reached" ); 177 qDebug( "slotShowFolders not reached" );
180} 178}
181 179
182void MainWindow::refreshMailView(QList<RecMail>*) 180void MainWindow::refreshMailView(QList<RecMail>*)
183{ 181{
184 qDebug( "refreshMailView not reached" ); 182 qDebug( "refreshMailView not reached" );
185} 183}
186 184
187void MainWindow::mailLeftClicked(int, QListViewItem *,const QPoint&,int ) 185void MainWindow::mailLeftClicked(int, QListViewItem *,const QPoint&,int )
188{ 186{
189 qDebug( "mailLeftClicked not reached" ); 187 qDebug( "mailLeftClicked not reached" );
190} 188}
191 189
192void MainWindow::displayMail() 190void MainWindow::displayMail()
193{ 191{
194 qDebug("displayMail not reached"); 192 qDebug("displayMail not reached");
195} 193}
196 194
197void MainWindow::slotDeleteMail() 195void MainWindow::slotDeleteMail()
198{ 196{
199 qDebug("deleteMail not reached"); 197 qDebug("deleteMail not reached");
200} 198}
201 199
diff --git a/noncore/net/mail/newmaildir.cpp b/noncore/net/mail/newmaildir.cpp
index ab0d4e3..e6e9dc7 100644
--- a/noncore/net/mail/newmaildir.cpp
+++ b/noncore/net/mail/newmaildir.cpp
@@ -1,38 +1,36 @@
1#include "newmaildir.h" 1#include "newmaildir.h"
2#include <qdialog.h>
3#include <qvariant.h>
4#include <qlineedit.h> 2#include <qlineedit.h>
5#include <qcheckbox.h> 3#include <qcheckbox.h>
6 4
7Newmdirdlg::Newmdirdlg( QWidget* parent, const char* name,bool no_sub) 5Newmdirdlg::Newmdirdlg( QWidget* parent, const char* name,bool no_sub)
8 : Newmdirdlgui(parent,name,true),ndir(""),possible_subs(false) 6 : Newmdirdlgui(parent,name,true),ndir(""),possible_subs(false)
9{ 7{
10 if (no_sub) { 8 if (no_sub) {
11 subdirsPossibleBox->setChecked(false); 9 subdirsPossibleBox->setChecked(false);
12 subdirsPossibleBox->hide(); 10 subdirsPossibleBox->hide();
13 } 11 }
14} 12}
15 13
16Newmdirdlg::~Newmdirdlg() 14Newmdirdlg::~Newmdirdlg()
17{ 15{
18} 16}
19 17
20void Newmdirdlg::accept() 18void Newmdirdlg::accept()
21{ 19{
22 ndir = dirnameEdit->text(); 20 ndir = dirnameEdit->text();
23 possible_subs = subdirsPossibleBox->isChecked(); 21 possible_subs = subdirsPossibleBox->isChecked();
24 if (ndir.isEmpty()) { 22 if (ndir.isEmpty()) {
25 return; 23 return;
26 } 24 }
27 Newmdirdlgui::accept(); 25 Newmdirdlgui::accept();
28} 26}
29 27
30const QString&Newmdirdlg::Newdir()const 28const QString&Newmdirdlg::Newdir()const
31{ 29{
32 return ndir; 30 return ndir;
33} 31}
34 32
35const bool Newmdirdlg::subpossible()const 33const bool Newmdirdlg::subpossible()const
36{ 34{
37 return possible_subs; 35 return possible_subs;
38} 36}
diff --git a/noncore/net/mail/opiemail.cpp b/noncore/net/mail/opiemail.cpp
index abf93dc..6bfc824 100644
--- a/noncore/net/mail/opiemail.cpp
+++ b/noncore/net/mail/opiemail.cpp
@@ -1,214 +1,210 @@
1 1
2#include "settingsdialog.h" 2#include "settingsdialog.h"
3#include "opiemail.h" 3#include "opiemail.h"
4#include "editaccounts.h" 4#include "editaccounts.h"
5#include "composemail.h" 5#include "composemail.h"
6#include "mailistviewitem.h" 6#include "mailistviewitem.h"
7#include "viewmail.h" 7#include "viewmail.h"
8#include "selectstore.h" 8#include "selectstore.h"
9#include "selectsmtp.h" 9#include "selectsmtp.h"
10 10
11/* OPIE */ 11/* OPIE */
12#include <libmailwrapper/smtpwrapper.h> 12#include <libmailwrapper/smtpwrapper.h>
13#include <libmailwrapper/mailtypes.h> 13#include <libmailwrapper/mailtypes.h>
14#include <libmailwrapper/abstractmail.h> 14#include <libmailwrapper/abstractmail.h>
15#include <qpe/qcopenvelope_qws.h>
16#include <qpe/resource.h> 15#include <qpe/resource.h>
17#include <qpe/qpeapplication.h> 16#include <qpe/qpeapplication.h>
18 17
19/* QT */ 18/* QT */
20#include <qmessagebox.h>
21#include <qaction.h>
22#include <qapplication.h>
23 19
24OpieMail::OpieMail( QWidget *parent, const char *name, WFlags flags ) 20OpieMail::OpieMail( QWidget *parent, const char *name, WFlags flags )
25 : MainWindow( parent, name, WStyle_ContextHelp ) 21 : MainWindow( parent, name, WStyle_ContextHelp )
26{ 22{
27 settings = new Settings(); 23 settings = new Settings();
28 24
29 folderView->populate( settings->getAccounts() ); 25 folderView->populate( settings->getAccounts() );
30} 26}
31 27
32OpieMail::~OpieMail() 28OpieMail::~OpieMail()
33{ 29{
34 if (settings) delete settings; 30 if (settings) delete settings;
35} 31}
36 32
37void OpieMail::appMessage(const QCString &msg, const QByteArray &data) 33void OpieMail::appMessage(const QCString &msg, const QByteArray &data)
38{ 34{
39 // copied from old mail2 35 // copied from old mail2
40 if (msg == "writeMail(QString,QString)") 36 if (msg == "writeMail(QString,QString)")
41 { 37 {
42 QDataStream stream(data,IO_ReadOnly); 38 QDataStream stream(data,IO_ReadOnly);
43 QString name, email; 39 QString name, email;
44 stream >> name >> email; 40 stream >> name >> email;
45 // removing the whitespaces at beginning and end is needed! 41 // removing the whitespaces at beginning and end is needed!
46 slotwriteMail(name.stripWhiteSpace(),email.stripWhiteSpace()); 42 slotwriteMail(name.stripWhiteSpace(),email.stripWhiteSpace());
47 } 43 }
48 else if (msg == "newMail()") 44 else if (msg == "newMail()")
49 { 45 {
50 slotComposeMail(); 46 slotComposeMail();
51 } 47 }
52} 48}
53 49
54void OpieMail::slotwriteMail(const QString&name,const QString&email) 50void OpieMail::slotwriteMail(const QString&name,const QString&email)
55{ 51{
56 ComposeMail compose( settings, this, 0, true , WStyle_ContextHelp ); 52 ComposeMail compose( settings, this, 0, true , WStyle_ContextHelp );
57 if (!email.isEmpty()) 53 if (!email.isEmpty())
58 { 54 {
59 if (!name.isEmpty()) 55 if (!name.isEmpty())
60 { 56 {
61 compose.setTo("\"" + name + "\"" + " " + "<"+ email + ">"); 57 compose.setTo("\"" + name + "\"" + " " + "<"+ email + ">");
62 } 58 }
63 else 59 else
64 { 60 {
65 compose.setTo(email); 61 compose.setTo(email);
66 } 62 }
67 } 63 }
68 compose.slotAdjustColumns(); 64 compose.slotAdjustColumns();
69 QPEApplication::execDialog( &compose ); 65 QPEApplication::execDialog( &compose );
70} 66}
71 67
72void OpieMail::slotComposeMail() 68void OpieMail::slotComposeMail()
73{ 69{
74 qDebug( "Compose Mail" ); 70 qDebug( "Compose Mail" );
75 slotwriteMail(0l,0l); 71 slotwriteMail(0l,0l);
76} 72}
77 73
78void OpieMail::slotSendQueued() 74void OpieMail::slotSendQueued()
79{ 75{
80 qDebug( "Send Queued" ); 76 qDebug( "Send Queued" );
81 SMTPaccount *smtp = 0; 77 SMTPaccount *smtp = 0;
82 78
83 QList<Account> list = settings->getAccounts(); 79 QList<Account> list = settings->getAccounts();
84 QList<SMTPaccount> smtpList; 80 QList<SMTPaccount> smtpList;
85 smtpList.setAutoDelete(false); 81 smtpList.setAutoDelete(false);
86 Account *it; 82 Account *it;
87 for ( it = list.first(); it; it = list.next() ) 83 for ( it = list.first(); it; it = list.next() )
88 { 84 {
89 if ( it->getType().compare( "SMTP" ) == 0 ) 85 if ( it->getType().compare( "SMTP" ) == 0 )
90 { 86 {
91 smtp = static_cast<SMTPaccount *>(it); 87 smtp = static_cast<SMTPaccount *>(it);
92 smtpList.append(smtp); 88 smtpList.append(smtp);
93 } 89 }
94 } 90 }
95 if (smtpList.count()==0) 91 if (smtpList.count()==0)
96 { 92 {
97 QMessageBox::information(0,tr("Info"),tr("Define a smtp account first")); 93 QMessageBox::information(0,tr("Info"),tr("Define a smtp account first"));
98 return; 94 return;
99 } 95 }
100 if (smtpList.count()==1) 96 if (smtpList.count()==1)
101 { 97 {
102 smtp = smtpList.at(0); 98 smtp = smtpList.at(0);
103 } 99 }
104 else 100 else
105 { 101 {
106 smtp = 0; 102 smtp = 0;
107 selectsmtp selsmtp; 103 selectsmtp selsmtp;
108 selsmtp.setSelectionlist(&smtpList); 104 selsmtp.setSelectionlist(&smtpList);
109 if ( QPEApplication::execDialog( &selsmtp ) == QDialog::Accepted ) 105 if ( QPEApplication::execDialog( &selsmtp ) == QDialog::Accepted )
110 { 106 {
111 smtp = selsmtp.selected_smtp(); 107 smtp = selsmtp.selected_smtp();
112 } 108 }
113 } 109 }
114 if (smtp) 110 if (smtp)
115 { 111 {
116 SMTPwrapper * wrap = new SMTPwrapper(smtp); 112 SMTPwrapper * wrap = new SMTPwrapper(smtp);
117 if ( wrap->flushOutbox() ) 113 if ( wrap->flushOutbox() )
118 { 114 {
119 QMessageBox::information(0,tr("Info"),tr("Mail queue flushed")); 115 QMessageBox::information(0,tr("Info"),tr("Mail queue flushed"));
120 } 116 }
121 delete wrap; 117 delete wrap;
122 } 118 }
123} 119}
124 120
125void OpieMail::slotSearchMails() 121void OpieMail::slotSearchMails()
126{ 122{
127 qDebug( "Search Mails" ); 123 qDebug( "Search Mails" );
128} 124}
129 125
130void OpieMail::slotEditSettings() 126void OpieMail::slotEditSettings()
131{ 127{
132 SettingsDialog settingsDialog( this, 0, true, WStyle_ContextHelp ); 128 SettingsDialog settingsDialog( this, 0, true, WStyle_ContextHelp );
133 QPEApplication::execDialog( &settingsDialog ); 129 QPEApplication::execDialog( &settingsDialog );
134} 130}
135 131
136void OpieMail::slotEditAccounts() 132void OpieMail::slotEditAccounts()
137{ 133{
138 qDebug( "Edit Accounts" ); 134 qDebug( "Edit Accounts" );
139 EditAccounts eaDialog( settings, this, 0, true, WStyle_ContextHelp ); 135 EditAccounts eaDialog( settings, this, 0, true, WStyle_ContextHelp );
140 eaDialog.slotAdjustColumns(); 136 eaDialog.slotAdjustColumns();
141 QPEApplication::execDialog( &eaDialog ); 137 QPEApplication::execDialog( &eaDialog );
142 if ( settings ) delete settings; 138 if ( settings ) delete settings;
143 settings = new Settings(); 139 settings = new Settings();
144 140
145 folderView->populate( settings->getAccounts() ); 141 folderView->populate( settings->getAccounts() );
146} 142}
147 143
148void OpieMail::displayMail() 144void OpieMail::displayMail()
149{ 145{
150 QListViewItem*item = mailView->currentItem(); 146 QListViewItem*item = mailView->currentItem();
151 if (!item) return; 147 if (!item) return;
152 RecMail mail = ((MailListViewItem*)item)->data(); 148 RecMail mail = ((MailListViewItem*)item)->data();
153 RecBody body = folderView->fetchBody(mail); 149 RecBody body = folderView->fetchBody(mail);
154 ViewMail readMail( this,"", Qt::WType_Modal | WStyle_ContextHelp ); 150 ViewMail readMail( this,"", Qt::WType_Modal | WStyle_ContextHelp );
155 readMail.setBody( body ); 151 readMail.setBody( body );
156 readMail.setMail( mail ); 152 readMail.setMail( mail );
157 readMail.showMaximized(); 153 readMail.showMaximized();
158 readMail.exec(); 154 readMail.exec();
159 155
160 if ( readMail.deleted ) 156 if ( readMail.deleted )
161 { 157 {
162 folderView->refreshCurrent(); 158 folderView->refreshCurrent();
163 } 159 }
164 else 160 else
165 { 161 {
166 ( (MailListViewItem*)item )->setPixmap( 0, Resource::loadPixmap( "" ) ); 162 ( (MailListViewItem*)item )->setPixmap( 0, Resource::loadPixmap( "" ) );
167 } 163 }
168} 164}
169 165
170void OpieMail::slotDeleteMail() 166void OpieMail::slotDeleteMail()
171{ 167{
172 if (!mailView->currentItem()) return; 168 if (!mailView->currentItem()) return;
173 RecMail mail = ((MailListViewItem*)mailView->currentItem() )->data(); 169 RecMail mail = ((MailListViewItem*)mailView->currentItem() )->data();
174 if ( QMessageBox::warning(this, tr("Delete Mail"), QString( tr("<p>Do you really want to delete this mail? <br><br>" ) + mail.getFrom() + " - " + mail.getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) 170 if ( QMessageBox::warning(this, tr("Delete Mail"), QString( tr("<p>Do you really want to delete this mail? <br><br>" ) + mail.getFrom() + " - " + mail.getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
175 { 171 {
176 mail.Wrapper()->deleteMail( mail ); 172 mail.Wrapper()->deleteMail( mail );
177 folderView->refreshCurrent(); 173 folderView->refreshCurrent();
178 } 174 }
179} 175}
180 176
181void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int ) 177void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int )
182{ 178{
183 /* just the RIGHT button - or hold on pda */ 179 /* just the RIGHT button - or hold on pda */
184 if (button!=2) {return;} 180 if (button!=2) {return;}
185 qDebug("Event right/hold"); 181 qDebug("Event right/hold");
186 if (!item) return; 182 if (!item) return;
187 QPopupMenu *m = new QPopupMenu(0); 183 QPopupMenu *m = new QPopupMenu(0);
188 if (m) 184 if (m)
189 { 185 {
190 m->insertItem(tr("Read this mail"),this,SLOT(displayMail())); 186 m->insertItem(tr("Read this mail"),this,SLOT(displayMail()));
191 m->insertItem(tr("Delete this mail"),this,SLOT(slotDeleteMail())); 187 m->insertItem(tr("Delete this mail"),this,SLOT(slotDeleteMail()));
192 m->insertItem(tr("Copy/Move this mail"),this,SLOT(slotMoveCopyMail())); 188 m->insertItem(tr("Copy/Move this mail"),this,SLOT(slotMoveCopyMail()));
193 m->setFocus(); 189 m->setFocus();
194 m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) ); 190 m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) );
195 delete m; 191 delete m;
196 } 192 }
197} 193}
198 194
199void OpieMail::slotShowFolders( bool show ) 195void OpieMail::slotShowFolders( bool show )
200{ 196{
201 qDebug( "Show Folders" ); 197 qDebug( "Show Folders" );
202 if ( show && folderView->isHidden() ) 198 if ( show && folderView->isHidden() )
203 { 199 {
204 qDebug( "-> showing" ); 200 qDebug( "-> showing" );
205 folderView->show(); 201 folderView->show();
206 } 202 }
207 else if ( !show && !folderView->isHidden() ) 203 else if ( !show && !folderView->isHidden() )
208 { 204 {
209 qDebug( "-> hiding" ); 205 qDebug( "-> hiding" );
210 folderView->hide(); 206 folderView->hide();
211 } 207 }
212} 208}
213 209
214void OpieMail::refreshMailView(QList<RecMail>*list) 210void OpieMail::refreshMailView(QList<RecMail>*list)
diff --git a/noncore/net/mail/selectsmtp.cpp b/noncore/net/mail/selectsmtp.cpp
index 79b10ef..82e8a0b 100644
--- a/noncore/net/mail/selectsmtp.cpp
+++ b/noncore/net/mail/selectsmtp.cpp
@@ -1,62 +1,55 @@
1#include "selectsmtp.h" 1#include "selectsmtp.h"
2#include <libmailwrapper/mailwrapper.h> 2#include <libmailwrapper/mailwrapper.h>
3#include <qlist.h>
4#include <qlabel.h>
5#include <qlayout.h>
6#include <qcheckbox.h>
7#include <qframe.h>
8#include <qlineedit.h>
9#include <qcombobox.h>
10 3
11selectsmtp::selectsmtp(QWidget* parent, const char* name, bool modal, WFlags fl) 4selectsmtp::selectsmtp(QWidget* parent, const char* name, bool modal, WFlags fl)
12 : selectstoreui(parent,name,modal,fl) 5 : selectstoreui(parent,name,modal,fl)
13{ 6{
14 //m_smtpList.setAutoDelete(false); 7 //m_smtpList.setAutoDelete(false);
15 m_smtpList = 0; 8 m_smtpList = 0;
16 //headlabel->setText(tr("<center>Select SMTP account to use</center>")); 9 //headlabel->setText(tr("<center>Select SMTP account to use</center>"));
17 headlabel->hide(); 10 headlabel->hide();
18 folderSelection->hide(); 11 folderSelection->hide();
19 folderLabel->hide(); 12 folderLabel->hide();
20 accountlabel->setText("<center>SMTP Accounts</center>"); 13 accountlabel->setText("<center>SMTP Accounts</center>");
21 Line1->hide(); 14 Line1->hide();
22 newFoldersel->hide(); 15 newFoldersel->hide();
23 newFolderedit->hide(); 16 newFolderedit->hide();
24 newFolderLabel->hide(); 17 newFolderLabel->hide();
25 Line2->hide(); 18 Line2->hide();
26 selMove->hide(); 19 selMove->hide();
27 m_current_smtp = 0; 20 m_current_smtp = 0;
28 setCaption(tr("Select SMTP Account")); 21 setCaption(tr("Select SMTP Account"));
29} 22}
30 23
31selectsmtp::~selectsmtp() 24selectsmtp::~selectsmtp()
32{ 25{
33} 26}
34 27
35void selectsmtp::slotAccountselected(int which) 28void selectsmtp::slotAccountselected(int which)
36{ 29{
37 if (!m_smtpList || (unsigned)which>=m_smtpList->count() || which < 0) { 30 if (!m_smtpList || (unsigned)which>=m_smtpList->count() || which < 0) {
38 m_current_smtp = 0; 31 m_current_smtp = 0;
39 return; 32 return;
40 } 33 }
41 m_current_smtp = m_smtpList->at(which); 34 m_current_smtp = m_smtpList->at(which);
42} 35}
43 36
44void selectsmtp::setSelectionlist(QList<SMTPaccount>*list) 37void selectsmtp::setSelectionlist(QList<SMTPaccount>*list)
45{ 38{
46 m_smtpList = list; 39 m_smtpList = list;
47 accountSelection->clear(); 40 accountSelection->clear();
48 if (!m_smtpList || m_smtpList->count()==0) { 41 if (!m_smtpList || m_smtpList->count()==0) {
49 accountSelection->setEnabled(false); 42 accountSelection->setEnabled(false);
50 return; 43 return;
51 } 44 }
52 accountSelection->setEnabled(true); 45 accountSelection->setEnabled(true);
53 for (unsigned i = 0; m_smtpList!=0 && i < m_smtpList->count(); ++i) { 46 for (unsigned i = 0; m_smtpList!=0 && i < m_smtpList->count(); ++i) {
54 accountSelection->insertItem( m_smtpList->at(i)->getAccountName()); 47 accountSelection->insertItem( m_smtpList->at(i)->getAccountName());
55 } 48 }
56 m_current_smtp = m_smtpList->at(0); 49 m_current_smtp = m_smtpList->at(0);
57} 50}
58 51
59SMTPaccount*selectsmtp::selected_smtp() 52SMTPaccount*selectsmtp::selected_smtp()
60{ 53{
61 return m_current_smtp; 54 return m_current_smtp;
62} 55}
diff --git a/noncore/net/mail/viewmail.cpp b/noncore/net/mail/viewmail.cpp
index 8636957..ec93f8d 100644
--- a/noncore/net/mail/viewmail.cpp
+++ b/noncore/net/mail/viewmail.cpp
@@ -1,214 +1,211 @@
1#include "composemail.h" 1#include "composemail.h"
2#include "viewmail.h" 2#include "viewmail.h"
3#include "accountview.h"
4 3
5/* OPIE */ 4/* OPIE */
6#include <libmailwrapper/settings.h> 5#include <libmailwrapper/settings.h>
7#include <libmailwrapper/abstractmail.h> 6#include <libmailwrapper/abstractmail.h>
8#include <libmailwrapper/mailtypes.h> 7#include <libmailwrapper/mailtypes.h>
9 8
10#include <opie2/ofiledialog.h> 9#include <opie2/ofiledialog.h>
11#include <qpe/config.h> 10#include <qpe/config.h>
12#include <qpe/qpeapplication.h> 11#include <qpe/qpeapplication.h>
13 12
14/* QT */ 13/* QT */
15#include <qtextbrowser.h> 14#include <qtextbrowser.h>
16#include <qmessagebox.h> 15#include <qmessagebox.h>
17#include <qtextstream.h> 16#include <qtextstream.h>
18#include <qaction.h> 17#include <qaction.h>
19#include <qpopupmenu.h> 18#include <qpopupmenu.h>
20#include <qfile.h> 19#include <qfile.h>
21#include <qapplication.h>
22#include <qvaluelist.h>
23 20
24AttachItem::AttachItem(QListView * parent,QListViewItem *after, const QString&mime,const QString&desc,const QString&file, 21AttachItem::AttachItem(QListView * parent,QListViewItem *after, const QString&mime,const QString&desc,const QString&file,
25 const QString&fsize,int num,const QValueList<int>&path) 22 const QString&fsize,int num,const QValueList<int>&path)
26 : QListViewItem(parent,after),_partNum(num) 23 : QListViewItem(parent,after),_partNum(num)
27{ 24{
28 _path=path; 25 _path=path;
29 setText(0, mime); 26 setText(0, mime);
30 setText(1, desc); 27 setText(1, desc);
31 setText(2, file); 28 setText(2, file);
32 setText(3, fsize); 29 setText(3, fsize);
33} 30}
34 31
35AttachItem::AttachItem(QListViewItem * parent,QListViewItem *after, const QString&mime,const QString&desc,const QString&file, 32AttachItem::AttachItem(QListViewItem * parent,QListViewItem *after, const QString&mime,const QString&desc,const QString&file,
36 const QString&fsize,int num,const QValueList<int>&path) 33 const QString&fsize,int num,const QValueList<int>&path)
37 : QListViewItem(parent,after),_partNum(num) 34 : QListViewItem(parent,after),_partNum(num)
38{ 35{
39 _path=path; 36 _path=path;
40 setText(0, mime); 37 setText(0, mime);
41 setText(1, desc); 38 setText(1, desc);
42 setText(2, file); 39 setText(2, file);
43 setText(3, fsize); 40 setText(3, fsize);
44} 41}
45 42
46bool AttachItem::isParentof(const QValueList<int>&path) 43bool AttachItem::isParentof(const QValueList<int>&path)
47{ 44{
48 /* if not set, then no parent */ 45 /* if not set, then no parent */
49 if (path.count()==0||_path.count()==0) return false; 46 if (path.count()==0||_path.count()==0) return false;
50 /* the parent must have one digit less then a child */ 47 /* the parent must have one digit less then a child */
51 if (path.count()!=_path.count()+1) return false; 48 if (path.count()!=_path.count()+1) return false;
52 for (unsigned int i=0; i < _path.count();++i) 49 for (unsigned int i=0; i < _path.count();++i)
53 { 50 {
54 if (_path[i]!=path[i]) return false; 51 if (_path[i]!=path[i]) return false;
55 } 52 }
56 return true; 53 return true;
57} 54}
58 55
59AttachItem* ViewMail::searchParent(const QValueList<int>&path) 56AttachItem* ViewMail::searchParent(const QValueList<int>&path)
60{ 57{
61 QListViewItemIterator it( attachments ); 58 QListViewItemIterator it( attachments );
62 for ( ; it.current(); ++it ) 59 for ( ; it.current(); ++it )
63 { 60 {
64 AttachItem*ati = (AttachItem*)it.current(); 61 AttachItem*ati = (AttachItem*)it.current();
65 if (ati->isParentof(path)) return ati; 62 if (ati->isParentof(path)) return ati;
66 } 63 }
67 return 0; 64 return 0;
68} 65}
69 66
70AttachItem* ViewMail::lastChild(AttachItem*parent) 67AttachItem* ViewMail::lastChild(AttachItem*parent)
71{ 68{
72 if (!parent) return 0; 69 if (!parent) return 0;
73 AttachItem* item = (AttachItem*)parent->firstChild(); 70 AttachItem* item = (AttachItem*)parent->firstChild();
74 if (!item) return item; 71 if (!item) return item;
75 AttachItem*temp=0; 72 AttachItem*temp=0;
76 while( (temp=(AttachItem*)item->nextSibling())) 73 while( (temp=(AttachItem*)item->nextSibling()))
77 { 74 {
78 item = temp; 75 item = temp;
79 } 76 }
80 return item; 77 return item;
81} 78}
82 79
83void ViewMail::setBody( RecBody body ) 80void ViewMail::setBody( RecBody body )
84{ 81{
85 82
86 m_body = body; 83 m_body = body;
87 m_mail[2] = body.Bodytext(); 84 m_mail[2] = body.Bodytext();
88 attachbutton->setEnabled(body.Parts().count()>0); 85 attachbutton->setEnabled(body.Parts().count()>0);
89 attachments->setEnabled(body.Parts().count()>0); 86 attachments->setEnabled(body.Parts().count()>0);
90 if (body.Parts().count()==0) 87 if (body.Parts().count()==0)
91 { 88 {
92 return; 89 return;
93 } 90 }
94 AttachItem * curItem=0; 91 AttachItem * curItem=0;
95 AttachItem * parentItem = 0; 92 AttachItem * parentItem = 0;
96 QString type=body.Description().Type()+"/"+body.Description().Subtype(); 93 QString type=body.Description().Type()+"/"+body.Description().Subtype();
97 QString desc,fsize; 94 QString desc,fsize;
98 double s = body.Description().Size(); 95 double s = body.Description().Size();
99 int w; 96 int w;
100 w=0; 97 w=0;
101 98
102 while (s>1024) 99 while (s>1024)
103 { 100 {
104 s/=1024; 101 s/=1024;
105 ++w; 102 ++w;
106 if (w>=2) break; 103 if (w>=2) break;
107 } 104 }
108 105
109 QString q=""; 106 QString q="";
110 switch(w) 107 switch(w)
111 { 108 {
112 case 1: 109 case 1:
113 q="k"; 110 q="k";
114 break; 111 break;
115 case 2: 112 case 2:
116 q="M"; 113 q="M";
117 break; 114 break;
118 default: 115 default:
119 break; 116 break;
120 } 117 }
121 118
122 { 119 {
123 /* I did not found a method to make a CONTENT reset on a QTextStream 120 /* I did not found a method to make a CONTENT reset on a QTextStream
124 so I use this construct that the stream will re-constructed in each 121 so I use this construct that the stream will re-constructed in each
125 loop. To let it work, the textstream is packed into a own area of 122 loop. To let it work, the textstream is packed into a own area of
126 code is it will be destructed after finishing its small job. 123 code is it will be destructed after finishing its small job.
127 */ 124 */
128 QTextOStream o(&fsize); 125 QTextOStream o(&fsize);
129 if (w>0) o.precision(2); else o.precision(0); 126 if (w>0) o.precision(2); else o.precision(0);
130 o.setf(QTextStream::fixed); 127 o.setf(QTextStream::fixed);
131 o << s << " " << q << "Byte"; 128 o << s << " " << q << "Byte";
132 } 129 }
133 130
134 curItem=new AttachItem(attachments,curItem,type,"Mailbody","",fsize,-1,body.Description().Positionlist()); 131 curItem=new AttachItem(attachments,curItem,type,"Mailbody","",fsize,-1,body.Description().Positionlist());
135 QString filename = ""; 132 QString filename = "";
136 133
137 for (unsigned int i = 0; i < body.Parts().count();++i) 134 for (unsigned int i = 0; i < body.Parts().count();++i)
138 { 135 {
139 type = body.Parts()[i].Type()+"/"+body.Parts()[i].Subtype(); 136 type = body.Parts()[i].Type()+"/"+body.Parts()[i].Subtype();
140 part_plist_t::ConstIterator it = body.Parts()[i].Parameters().begin(); 137 part_plist_t::ConstIterator it = body.Parts()[i].Parameters().begin();
141 for (;it!=body.Parts()[i].Parameters().end();++it) 138 for (;it!=body.Parts()[i].Parameters().end();++it)
142 { 139 {
143 qDebug(it.key()); 140 qDebug(it.key());
144 if (it.key().lower()=="name") 141 if (it.key().lower()=="name")
145 { 142 {
146 filename=it.data(); 143 filename=it.data();
147 } 144 }
148 } 145 }
149 s = body.Parts()[i].Size(); 146 s = body.Parts()[i].Size();
150 w = 0; 147 w = 0;
151 while (s>1024) 148 while (s>1024)
152 { 149 {
153 s/=1024; 150 s/=1024;
154 ++w; 151 ++w;
155 if (w>=2) break; 152 if (w>=2) break;
156 } 153 }
157 switch(w) 154 switch(w)
158 { 155 {
159 case 1: 156 case 1:
160 q="k"; 157 q="k";
161 break; 158 break;
162 case 2: 159 case 2:
163 q="M"; 160 q="M";
164 break; 161 break;
165 default: 162 default:
166 q=""; 163 q="";
167 break; 164 break;
168 } 165 }
169 QTextOStream o(&fsize); 166 QTextOStream o(&fsize);
170 if (w>0) o.precision(2); else o.precision(0); 167 if (w>0) o.precision(2); else o.precision(0);
171 o.setf(QTextStream::fixed); 168 o.setf(QTextStream::fixed);
172 o << s << " " << q << "Byte"; 169 o << s << " " << q << "Byte";
173 desc = body.Parts()[i].Description(); 170 desc = body.Parts()[i].Description();
174 parentItem = searchParent(body.Parts()[i].Positionlist()); 171 parentItem = searchParent(body.Parts()[i].Positionlist());
175 if (parentItem) 172 if (parentItem)
176 { 173 {
177 AttachItem*temp = lastChild(parentItem); 174 AttachItem*temp = lastChild(parentItem);
178 if (temp) curItem = temp; 175 if (temp) curItem = temp;
179 curItem=new AttachItem(parentItem,curItem,type,desc,filename,fsize,i,body.Parts()[i].Positionlist()); 176 curItem=new AttachItem(parentItem,curItem,type,desc,filename,fsize,i,body.Parts()[i].Positionlist());
180 attachments->setRootIsDecorated(true); 177 attachments->setRootIsDecorated(true);
181 curItem = parentItem; 178 curItem = parentItem;
182 } 179 }
183 else 180 else
184 { 181 {
185 curItem=new AttachItem(attachments,curItem,type,desc,filename,fsize,i,body.Parts()[i].Positionlist()); 182 curItem=new AttachItem(attachments,curItem,type,desc,filename,fsize,i,body.Parts()[i].Positionlist());
186 } 183 }
187 } 184 }
188} 185}
189 186
190 187
191void ViewMail::slotShowHtml( bool state ) 188void ViewMail::slotShowHtml( bool state )
192{ 189{
193 m_showHtml = state; 190 m_showHtml = state;
194 setText(); 191 setText();
195} 192}
196 193
197void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int ) 194void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int )
198{ 195{
199 if (!item ) 196 if (!item )
200 return; 197 return;
201 198
202 if ( ( ( AttachItem* )item )->Partnumber() == -1 ) 199 if ( ( ( AttachItem* )item )->Partnumber() == -1 )
203 { 200 {
204 setText(); 201 setText();
205 return; 202 return;
206 } 203 }
207 QPopupMenu *menu = new QPopupMenu(); 204 QPopupMenu *menu = new QPopupMenu();
208 int ret=0; 205 int ret=0;
209 206
210 if ( item->text( 0 ).left( 5 ) == "text/" || item->text(0)=="message/rfc822" ) 207 if ( item->text( 0 ).left( 5 ) == "text/" || item->text(0)=="message/rfc822" )
211 { 208 {
212 menu->insertItem( tr( "Show Text" ), 1 ); 209 menu->insertItem( tr( "Show Text" ), 1 );
213 } 210 }
214 menu->insertItem( tr( "Save Attachment" ), 0 ); 211 menu->insertItem( tr( "Save Attachment" ), 0 );
diff --git a/noncore/net/mail/viewmailbase.cpp b/noncore/net/mail/viewmailbase.cpp
index 7f1d8a0..c2bf08c 100644
--- a/noncore/net/mail/viewmailbase.cpp
+++ b/noncore/net/mail/viewmailbase.cpp
@@ -1,90 +1,89 @@
1#include <qtextbrowser.h> 1#include <qtextbrowser.h>
2#include <qlistview.h> 2#include <qlistview.h>
3#include <qaction.h> 3#include <qaction.h>
4#include <qlabel.h> 4#include <qlabel.h>
5#include <qvbox.h> 5#include <qvbox.h>
6#include <qpopupmenu.h>
7 6
8#include <qpe/qpetoolbar.h> 7#include <qpe/qpetoolbar.h>
9#include <qmenubar.h> 8#include <qmenubar.h>
10#include <qpe/resource.h> 9#include <qpe/resource.h>
11 10
12#include "viewmailbase.h" 11#include "viewmailbase.h"
13//#include "opendiag.h" 12//#include "opendiag.h"
14 13
15ViewMailBase::ViewMailBase(QWidget *parent, const char *name, WFlags fl) 14ViewMailBase::ViewMailBase(QWidget *parent, const char *name, WFlags fl)
16 : QMainWindow(parent, name, fl) 15 : QMainWindow(parent, name, fl)
17{ 16{
18 setCaption(tr("E-Mail by %1")); 17 setCaption(tr("E-Mail by %1"));
19 setToolBarsMovable(false); 18 setToolBarsMovable(false);
20 19
21 toolbar = new QToolBar(this); 20 toolbar = new QToolBar(this);
22 menubar = new QMenuBar( toolbar ); 21 menubar = new QMenuBar( toolbar );
23 mailmenu = new QPopupMenu( menubar ); 22 mailmenu = new QPopupMenu( menubar );
24 menubar->insertItem( tr( "Mail" ), mailmenu ); 23 menubar->insertItem( tr( "Mail" ), mailmenu );
25 24
26 toolbar->setHorizontalStretchable(true); 25 toolbar->setHorizontalStretchable(true);
27 addToolBar(toolbar); 26 addToolBar(toolbar);
28 27
29 QLabel *spacer = new QLabel(toolbar); 28 QLabel *spacer = new QLabel(toolbar);
30 spacer->setBackgroundMode(QWidget::PaletteButton); 29 spacer->setBackgroundMode(QWidget::PaletteButton);
31 toolbar->setStretchableWidget(spacer); 30 toolbar->setStretchableWidget(spacer);
32 31
33 reply = new QAction(tr("Reply"), QIconSet(Resource::loadPixmap("mail/reply")), 0, 0, this); 32 reply = new QAction(tr("Reply"), QIconSet(Resource::loadPixmap("mail/reply")), 0, 0, this);
34 reply->addTo(toolbar); 33 reply->addTo(toolbar);
35 reply->addTo(mailmenu); 34 reply->addTo(mailmenu);
36 35
37 forward = new QAction(tr("Forward"), QIconSet(Resource::loadPixmap("mail/forward")), 0, 0, this); 36 forward = new QAction(tr("Forward"), QIconSet(Resource::loadPixmap("mail/forward")), 0, 0, this);
38 forward->addTo(toolbar); 37 forward->addTo(toolbar);
39 forward->addTo(mailmenu); 38 forward->addTo(mailmenu);
40 39
41 attachbutton = new QAction(tr("Attachments"), QIconSet(Resource::loadPixmap("mail/attach")), 0, 0, this, 0, true); 40 attachbutton = new QAction(tr("Attachments"), QIconSet(Resource::loadPixmap("mail/attach")), 0, 0, this, 0, true);
42 attachbutton->addTo(toolbar); 41 attachbutton->addTo(toolbar);
43 attachbutton->addTo(mailmenu); 42 attachbutton->addTo(mailmenu);
44 connect(attachbutton, SIGNAL(toggled(bool)), SLOT(slotChangeAttachview(bool))); 43 connect(attachbutton, SIGNAL(toggled(bool)), SLOT(slotChangeAttachview(bool)));
45 44
46 45
47 showHtml = new QAction( tr( "Show Html" ), QIconSet( Resource::loadPixmap( "mail/html" ) ), 0, 0, this, 0, true ); 46 showHtml = new QAction( tr( "Show Html" ), QIconSet( Resource::loadPixmap( "mail/html" ) ), 0, 0, this, 0, true );
48 showHtml->addTo( toolbar ); 47 showHtml->addTo( toolbar );
49 showHtml->addTo( mailmenu ); 48 showHtml->addTo( mailmenu );
50 49
51 deleteMail = new QAction(tr("Delete Mail"), QIconSet(Resource::loadPixmap("trash")), 0, 0, this); 50 deleteMail = new QAction(tr("Delete Mail"), QIconSet(Resource::loadPixmap("trash")), 0, 0, this);
52 deleteMail->addTo(toolbar); 51 deleteMail->addTo(toolbar);
53 deleteMail->addTo(mailmenu); 52 deleteMail->addTo(mailmenu);
54 53
55 QVBox *view = new QVBox(this); 54 QVBox *view = new QVBox(this);
56 setCentralWidget(view); 55 setCentralWidget(view);
57 56
58 attachments = new QListView(view); 57 attachments = new QListView(view);
59 attachments->setMinimumHeight(90); 58 attachments->setMinimumHeight(90);
60 attachments->setMaximumHeight(90); 59 attachments->setMaximumHeight(90);
61 attachments->setAllColumnsShowFocus(true); 60 attachments->setAllColumnsShowFocus(true);
62 attachments->addColumn("Mime Type", 60); 61 attachments->addColumn("Mime Type", 60);
63 attachments->addColumn(tr("Description"), 100); 62 attachments->addColumn(tr("Description"), 100);
64 attachments->addColumn(tr("Filename"), 80); 63 attachments->addColumn(tr("Filename"), 80);
65 attachments->addColumn(tr("Size"), 80); 64 attachments->addColumn(tr("Size"), 80);
66 attachments->setSorting(-1); 65 attachments->setSorting(-1);
67 attachments->hide(); 66 attachments->hide();
68 67
69 browser = new QTextBrowser(view); 68 browser = new QTextBrowser(view);
70 69
71 //openDiag = new OpenDiag(view); 70 //openDiag = new OpenDiag(view);
72 //openDiag->hide(); 71 //openDiag->hide();
73 72
74} 73}
75 74
76void ViewMailBase::slotChangeAttachview(bool state) 75void ViewMailBase::slotChangeAttachview(bool state)
77{ 76{
78 if (state) attachments->show(); 77 if (state) attachments->show();
79 else attachments->hide(); 78 else attachments->hide();
80} 79}
81 80
82void ViewMailBase::keyPressEvent ( QKeyEvent * e ) 81void ViewMailBase::keyPressEvent ( QKeyEvent * e )
83{ 82{
84 if( e->key()==Qt::Key_Escape ) { 83 if( e->key()==Qt::Key_Escape ) {
85 close(); 84 close();
86 e->accept(); 85 e->accept();
87 return; 86 return;
88 } 87 }
89 QWidget::keyPressEvent(e); 88 QWidget::keyPressEvent(e);
90} 89}
diff --git a/noncore/net/opietooth/applet/bluezapplet.cpp b/noncore/net/opietooth/applet/bluezapplet.cpp
index b76b397..817936d 100644
--- a/noncore/net/opietooth/applet/bluezapplet.cpp
+++ b/noncore/net/opietooth/applet/bluezapplet.cpp
@@ -1,222 +1,221 @@
1/* 1/*
2               =. This file is part of the OPIE Project 2               =. This file is part of the OPIE Project
3             .=l. Copyright (c) 2002 Maximilian Reiss <max.reiss@gmx.de> 3             .=l. Copyright (c) 2002 Maximilian Reiss <max.reiss@gmx.de>
4           .>+-= 4           .>+-=
5 _;:,     .>    :=|. This library is free software; you can 5 _;:,     .>    :=|. This library is free software; you can
6.> <,   >  .   <= redistribute it and/or modify it under 6.> <,   >  .   <= redistribute it and/or modify it under
7:=1 )Y*s>-.--   : the terms of the GNU Library General Public 7:=1 )Y*s>-.--   : the terms of the GNU Library General Public
8.="- .-=="i,     .._ License as published by the Free Software 8.="- .-=="i,     .._ License as published by the Free Software
9 - .   .-<_>     .<> Foundation; either version 2 of the License, 9 - .   .-<_>     .<> Foundation; either version 2 of the License,
10     ._= =}       : or (at your option) any later version. 10     ._= =}       : or (at your option) any later version.
11    .%+i>       _;_. 11    .%+i>       _;_.
12    .i_,=:_.      -<s. This library is distributed in the hope that 12    .i_,=:_.      -<s. This library is distributed in the hope that
13     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 13     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
14    : ..    .:,     . . . without even the implied warranty of 14    : ..    .:,     . . . without even the implied warranty of
15    =_        +     =;=| MERCHANTABILITY or FITNESS FOR A 15    =_        +     =;=| MERCHANTABILITY or FITNESS FOR A
16  _.=:.       :    :=>: PARTICULAR PURPOSE. See the GNU 16  _.=:.       :    :=>: PARTICULAR PURPOSE. See the GNU
17..}^=.=       =       ; Library General Public License for more 17..}^=.=       =       ; Library General Public License for more
18++=   -.     .     .: details. 18++=   -.     .     .: details.
19 :     =  ...= . :.=- 19 :     =  ...= . :.=-
20 -.   .:....=;==+<; You should have received a copy of the GNU 20 -.   .:....=;==+<; You should have received a copy of the GNU
21  -_. . .   )=.  = Library General Public License along with 21  -_. . .   )=.  = Library General Public License along with
22    --        :-= this library; see the file COPYING.LIB. 22    --        :-= this library; see the file COPYING.LIB.
23 If not, write to the Free Software Foundation, 23 If not, write to the Free Software Foundation,
24 Inc., 59 Temple Place - Suite 330, 24 Inc., 59 Temple Place - Suite 330,
25 Boston, MA 02111-1307, USA. 25 Boston, MA 02111-1307, USA.
26 26
27*/ 27*/
28 28
29 29
30#include "bluezapplet.h" 30#include "bluezapplet.h"
31#include <qapplication.h> 31#include <qapplication.h>
32 32
33#include <qpe/resource.h>
34#include <qpe/qcopenvelope_qws.h> 33#include <qpe/qcopenvelope_qws.h>
35#include <qpe/resource.h>
36#include <qpe/config.h> 34#include <qpe/config.h>
35#include <qpe/resource.h>
37 36
38#include <opie/odevice.h> 37#include <opie/odevice.h>
39 38
40#include <qpoint.h> 39#include <qpoint.h>
41#include <qpainter.h> 40#include <qpainter.h>
42#include <qlayout.h> 41#include <qlayout.h>
43#include <qframe.h> 42#include <qframe.h>
44#include <qpixmap.h> 43#include <qpixmap.h>
45#include <qstring.h> 44#include <qstring.h>
46#include <qtimer.h> 45#include <qtimer.h>
47#include <qpopupmenu.h> 46#include <qpopupmenu.h>
48 47
49#include <device.h> 48#include <device.h>
50 49
51using namespace Opie; 50using namespace Opie;
52 51
53namespace OpieTooth { 52namespace OpieTooth {
54 53
55 BluezApplet::BluezApplet( QWidget *parent, const char *name ) : QWidget( parent, name ) { 54 BluezApplet::BluezApplet( QWidget *parent, const char *name ) : QWidget( parent, name ) {
56 setFixedHeight( 18 ); 55 setFixedHeight( 18 );
57 setFixedWidth( 14 ); 56 setFixedWidth( 14 );
58 bluezOnPixmap = Resource::loadPixmap( "bluetoothapplet/bluezon" ); 57 bluezOnPixmap = Resource::loadPixmap( "bluetoothapplet/bluezon" );
59 bluezOffPixmap = Resource::loadPixmap( "bluetoothapplet/bluezoff" ); 58 bluezOffPixmap = Resource::loadPixmap( "bluetoothapplet/bluezoff" );
60 // bluezDiscoveryOnPixmap = Resource::loadPixmap( "bluetoothapplet/magglass" ); 59 // bluezDiscoveryOnPixmap = Resource::loadPixmap( "bluetoothapplet/magglass" );
61 startTimer(4000); 60 startTimer(4000);
62 btDevice = 0; 61 btDevice = 0;
63 bluezactive = false; 62 bluezactive = false;
64 bluezDiscoveryActive = false; 63 bluezDiscoveryActive = false;
65 64
66 } 65 }
67 66
68 BluezApplet::~BluezApplet() { 67 BluezApplet::~BluezApplet() {
69 if ( btDevice ) { 68 if ( btDevice ) {
70 delete btDevice; 69 delete btDevice;
71 } 70 }
72 } 71 }
73 72
74 bool BluezApplet::checkBluezStatus() { 73 bool BluezApplet::checkBluezStatus() {
75 if (btDevice) { 74 if (btDevice) {
76 if (btDevice->isLoaded() ) { 75 if (btDevice->isLoaded() ) {
77 return true; 76 return true;
78 } else { 77 } else {
79 return false; 78 return false;
80 } 79 }
81 } else { 80 } else {
82 return false; 81 return false;
83 } 82 }
84 } 83 }
85 84
86 int BluezApplet::setBluezStatus(int c) { 85 int BluezApplet::setBluezStatus(int c) {
87 86
88 if ( c == 1 ) { 87 if ( c == 1 ) {
89 switch ( ODevice::inst()->model() ) { 88 switch ( ODevice::inst()->model() ) {
90 case Model_iPAQ_H39xx: 89 case Model_iPAQ_H39xx:
91 btDevice = new Device( "/dev/tts/1", "bcsp", "921600" ); 90 btDevice = new Device( "/dev/tts/1", "bcsp", "921600" );
92 break; 91 break;
93 92
94 case Model_iPAQ_H5xxx: 93 case Model_iPAQ_H5xxx:
95 btDevice = new Device( "/dev/tts/1", "any", "921600" ); 94 btDevice = new Device( "/dev/tts/1", "any", "921600" );
96 break; 95 break;
97 96
98 default: 97 default:
99 btDevice = new Device( "/dev/ttySB0", "bcsp", "230400" ); 98 btDevice = new Device( "/dev/ttySB0", "bcsp", "230400" );
100 break; 99 break;
101 } 100 }
102 } else { 101 } else {
103 if ( btDevice ) { 102 if ( btDevice ) {
104 delete btDevice; 103 delete btDevice;
105 btDevice = 0; 104 btDevice = 0;
106 } 105 }
107 } 106 }
108 return 0; 107 return 0;
109 } 108 }
110 109
111 int BluezApplet::checkBluezDiscoveryStatus() { 110 int BluezApplet::checkBluezDiscoveryStatus() {
112 } 111 }
113 112
114 int BluezApplet::setBluezDiscoveryStatus(int d) { 113 int BluezApplet::setBluezDiscoveryStatus(int d) {
115 } 114 }
116 115
117 void BluezApplet::mousePressEvent( QMouseEvent *) { 116 void BluezApplet::mousePressEvent( QMouseEvent *) {
118 117
119 QPopupMenu *menu = new QPopupMenu(); 118 QPopupMenu *menu = new QPopupMenu();
120 QPopupMenu *signal = new QPopupMenu(); 119 QPopupMenu *signal = new QPopupMenu();
121 int ret=0; 120 int ret=0;
122 121
123 /* Refresh active state */ 122 /* Refresh active state */
124 timerEvent( 0 ); 123 timerEvent( 0 );
125 124
126 125
127 if (bluezactive) { 126 if (bluezactive) {
128 menu->insertItem( tr("Disable Bluetooth"), 0 ); 127 menu->insertItem( tr("Disable Bluetooth"), 0 );
129 } else { 128 } else {
130 menu->insertItem( tr("Enable Bluetooth"), 1 ); 129 menu->insertItem( tr("Enable Bluetooth"), 1 );
131 } 130 }
132 131
133 menu->insertItem( tr("Launch manager"), 2 ); 132 menu->insertItem( tr("Launch manager"), 2 );
134 133
135 menu->insertSeparator(6); 134 menu->insertSeparator(6);
136 //menu->insertItem( tr("Signal strength"), signal, 5); 135 //menu->insertItem( tr("Signal strength"), signal, 5);
137 //menu->insertSeparator(8); 136 //menu->insertSeparator(8);
138 137
139 if (bluezDiscoveryActive) { 138 if (bluezDiscoveryActive) {
140 menu->insertItem( tr("Disable discovery"), 3 ); 139 menu->insertItem( tr("Disable discovery"), 3 );
141 } else { 140 } else {
142 menu->insertItem( tr("Enable discovery"), 4 ); 141 menu->insertItem( tr("Enable discovery"), 4 );
143 } 142 }
144 143
145 144
146 QPoint p = mapToGlobal( QPoint(1, -menu->sizeHint().height()-1) ); 145 QPoint p = mapToGlobal( QPoint(1, -menu->sizeHint().height()-1) );
147 ret = menu->exec(p, 0); 146 ret = menu->exec(p, 0);
148 147
149 switch(ret) { 148 switch(ret) {
150 case 0: 149 case 0:
151 setBluezStatus(0); 150 setBluezStatus(0);
152 timerEvent( 0 ); 151 timerEvent( 0 );
153 break; 152 break;
154 case 1: 153 case 1:
155 setBluezStatus(1); 154 setBluezStatus(1);
156 timerEvent( 0 ); 155 timerEvent( 0 );
157 break; 156 break;
158 case 2: 157 case 2:
159 // start bluetoothmanager 158 // start bluetoothmanager
160 launchManager(); 159 launchManager();
161 timerEvent( 0 ); 160 timerEvent( 0 );
162 break; 161 break;
163 case 3: 162 case 3:
164 setBluezDiscoveryStatus(0); 163 setBluezDiscoveryStatus(0);
165 timerEvent( 0 ); 164 timerEvent( 0 );
166 break; 165 break;
167 case 4: 166 case 4:
168 setBluezDiscoveryStatus(1); 167 setBluezDiscoveryStatus(1);
169 timerEvent(0 ); 168 timerEvent(0 );
170 break; 169 break;
171 //case 7: 170 //case 7:
172 // With table of currently-detected devices. 171 // With table of currently-detected devices.
173 } 172 }
174 173
175 delete signal; 174 delete signal;
176 delete menu; 175 delete menu;
177 } 176 }
178 177
179 178
180/** 179/**
181 * Launches the bluetooth manager 180 * Launches the bluetooth manager
182 */ 181 */
183 void BluezApplet::launchManager() { 182 void BluezApplet::launchManager() {
184 QCopEnvelope e("QPE/System", "execute(QString)"); 183 QCopEnvelope e("QPE/System", "execute(QString)");
185 e << QString("bluetooth-manager"); 184 e << QString("bluetooth-manager");
186 } 185 }
187 186
188/** 187/**
189 * Refresh timer 188 * Refresh timer
190 * @param the timer event 189 * @param the timer event
191 */ 190 */
192 void BluezApplet::timerEvent( QTimerEvent * ) { 191 void BluezApplet::timerEvent( QTimerEvent * ) {
193 bool oldactive = bluezactive; 192 bool oldactive = bluezactive;
194 int olddiscovery = bluezDiscoveryActive; 193 int olddiscovery = bluezDiscoveryActive;
195 194
196 bluezactive = checkBluezStatus(); 195 bluezactive = checkBluezStatus();
197 bluezDiscoveryActive = checkBluezDiscoveryStatus(); 196 bluezDiscoveryActive = checkBluezDiscoveryStatus();
198 197
199 if ((bluezactive != oldactive) || (bluezDiscoveryActive != olddiscovery)) { 198 if ((bluezactive != oldactive) || (bluezDiscoveryActive != olddiscovery)) {
200 update(); 199 update();
201 } 200 }
202 } 201 }
203 202
204/** 203/**
205 * Implementation of the paint event 204 * Implementation of the paint event
206 * @param the QPaintEvent 205 * @param the QPaintEvent
207 */ 206 */
208 void BluezApplet::paintEvent( QPaintEvent* ) { 207 void BluezApplet::paintEvent( QPaintEvent* ) {
209 QPainter p(this); 208 QPainter p(this);
210 qDebug("paint bluetooth pixmap"); 209 qDebug("paint bluetooth pixmap");
211 210
212 if (bluezactive > 0) { 211 if (bluezactive > 0) {
213 p.drawPixmap( 0, 1, bluezOnPixmap ); 212 p.drawPixmap( 0, 1, bluezOnPixmap );
214 } else { 213 } else {
215 p.drawPixmap( 0, 1, bluezOffPixmap ); 214 p.drawPixmap( 0, 1, bluezOffPixmap );
216 } 215 }
217 216
218 if (bluezDiscoveryActive > 0) { 217 if (bluezDiscoveryActive > 0) {
219 p.drawPixmap( 0, 1, bluezDiscoveryOnPixmap ); 218 p.drawPixmap( 0, 1, bluezDiscoveryOnPixmap );
220 } 219 }
221 } 220 }
222}; 221};
diff --git a/noncore/net/opietooth/blue-pin/main.cc b/noncore/net/opietooth/blue-pin/main.cc
index 1b7daec..aa360aa 100644
--- a/noncore/net/opietooth/blue-pin/main.cc
+++ b/noncore/net/opietooth/blue-pin/main.cc
@@ -1,39 +1,38 @@
1#include <stdio.h> 1#include <stdio.h>
2#include <stdlib.h> 2#include <stdlib.h>
3 3
4 4
5#include <qpe/qpeapplication.h> 5#include <qpe/qpeapplication.h>
6#include <qpe/config.h>
7 6
8#include "pindlg.h" 7#include "pindlg.h"
9 8
10 9
11int main( int argc, char* argv[] ) 10int main( int argc, char* argv[] )
12{ 11{
13 if (argc < 2 ) { 12 if (argc < 2 ) {
14 printf("ERR\n"); 13 printf("ERR\n");
15 exit(0); 14 exit(0);
16 } 15 }
17 QCString dir(argv[1] ); 16 QCString dir(argv[1] );
18 QCString bdaddr( argv[2] ); 17 QCString bdaddr( argv[2] );
19 QCString name; 18 QCString name;
20 if ( argc > 3 ) { 19 if ( argc > 3 ) {
21 name = argv[3]; 20 name = argv[3];
22 } 21 }
23 QPEApplication a(argc, argv ); 22 QPEApplication a(argc, argv );
24 QString status; 23 QString status;
25 if (dir == "out" ) { 24 if (dir == "out" ) {
26 status = QObject::tr("Outgoing connection to "); 25 status = QObject::tr("Outgoing connection to ");
27 }else 26 }else
28 status = QObject::tr("Incoming connection from "); 27 status = QObject::tr("Incoming connection from ");
29 status += name; 28 status += name;
30 status += "<br>"; 29 status += "<br>";
31 status += "[" + bdaddr + "]"; 30 status += "[" + bdaddr + "]";
32 OpieTooth::PinDlg dlg( status, bdaddr ); 31 OpieTooth::PinDlg dlg( status, bdaddr );
33 if ( dlg.exec() ) { 32 if ( dlg.exec() ) {
34 printf("PIN:%s\n", dlg.pin().stripWhiteSpace().latin1() ); 33 printf("PIN:%s\n", dlg.pin().stripWhiteSpace().latin1() );
35 }else 34 }else
36 printf("ERR\n"); 35 printf("ERR\n");
37 return 0; 36 return 0;
38} 37}
39 38
diff --git a/noncore/net/opietooth/blue-pin/pindlg.cc b/noncore/net/opietooth/blue-pin/pindlg.cc
index 9418a20..f0b2309 100644
--- a/noncore/net/opietooth/blue-pin/pindlg.cc
+++ b/noncore/net/opietooth/blue-pin/pindlg.cc
@@ -1,65 +1,64 @@
1 1
2#include "pindlg.h" 2#include "pindlg.h"
3 3
4/* OPIE */ 4/* OPIE */
5#include <qpe/config.h> 5#include <qpe/config.h>
6#include <qpe/qpeapplication.h> 6#include <qpe/qpeapplication.h>
7 7
8/* QT */ 8/* QT */
9#include <qcheckbox.h> 9#include <qcheckbox.h>
10#include <qlabel.h> 10#include <qlabel.h>
11#include <qlineedit.h> 11#include <qlineedit.h>
12#include <qtimer.h>
13 12
14/* STD */ 13/* STD */
15#include <stdio.h> 14#include <stdio.h>
16 15
17using namespace OpieTooth; 16using namespace OpieTooth;
18 17
19PinDlg::PinDlg( const QString& status, 18PinDlg::PinDlg( const QString& status,
20 const QString& mac, QWidget* parent, 19 const QString& mac, QWidget* parent,
21 const char* name ) 20 const char* name )
22 : PinDlgBase( parent, name, WType_Modal ) 21 : PinDlgBase( parent, name, WType_Modal )
23{ 22{
24 m_mac = mac; 23 m_mac = mac;
25 test( mac ); 24 test( mac );
26 txtStatus->setText(status); 25 txtStatus->setText(status);
27 QPEApplication::showDialog( this ); 26 QPEApplication::showDialog( this );
28} 27}
29 28
30PinDlg::~PinDlg() 29PinDlg::~PinDlg()
31{} 30{}
32void PinDlg::setMac( const QString& mac ) 31void PinDlg::setMac( const QString& mac )
33{ 32{
34 txtStatus->setText( mac ); 33 txtStatus->setText( mac );
35} 34}
36QString PinDlg::pin() const 35QString PinDlg::pin() const
37{ 36{
38 return lnePin->text(); 37 return lnePin->text();
39} 38}
40 39
41void PinDlg::test( const QString& mac ) 40void PinDlg::test( const QString& mac )
42{ 41{
43 if (!mac.isEmpty() ) 42 if (!mac.isEmpty() )
44 { 43 {
45 Config cfg("bluepin"); 44 Config cfg("bluepin");
46 cfg.setGroup(mac); 45 cfg.setGroup(mac);
47 lnePin->setText(cfg.readEntryCrypt("pin", QString::null ) ); 46 lnePin->setText(cfg.readEntryCrypt("pin", QString::null ) );
48 if ( !lnePin->text().isEmpty() ) 47 if ( !lnePin->text().isEmpty() )
49 { 48 {
50 //QTimer::singleShot(100, this, SLOT(accept() ) ); 49 //QTimer::singleShot(100, this, SLOT(accept() ) );
51 } 50 }
52 51
53 } 52 }
54 53
55} 54}
56void PinDlg::accept() 55void PinDlg::accept()
57{ 56{
58 if ( ckbPin->isChecked() ) 57 if ( ckbPin->isChecked() )
59 { 58 {
60 Config cfg("bluepin"); 59 Config cfg("bluepin");
61 cfg.setGroup(m_mac ); 60 cfg.setGroup(m_mac );
62 cfg.writeEntryCrypt("pin", lnePin->text() ); 61 cfg.writeEntryCrypt("pin", lnePin->text() );
63 } 62 }
64 QDialog::accept(); 63 QDialog::accept();
65} 64}
diff --git a/noncore/net/opietooth/manager/bticonloader.cpp b/noncore/net/opietooth/manager/bticonloader.cpp
index e5d8092..6bac256 100644
--- a/noncore/net/opietooth/manager/bticonloader.cpp
+++ b/noncore/net/opietooth/manager/bticonloader.cpp
@@ -1,79 +1,78 @@
1 1
2#include "bticonloader.h" 2#include "bticonloader.h"
3 3
4#include <qpixmap.h>
5#include <qpe/resource.h> 4#include <qpe/resource.h>
6 5
7namespace OpieTooth { 6namespace OpieTooth {
8 7
9 8
10 BTIconLoader::BTIconLoader() { 9 BTIconLoader::BTIconLoader() {
11 10
12 // still need to find out real ids 11 // still need to find out real ids
13 deviceIcons.insert( 100 , "computer_16" ); 12 deviceIcons.insert( 100 , "computer_16" );
14 deviceIcons.insert( 101 , "phone_16" ); 13 deviceIcons.insert( 101 , "phone_16" );
15 deviceIcons.insert( 102 , "brain_16" ); 14 deviceIcons.insert( 102 , "brain_16" );
16 deviceIcons.insert( 103 , "conduit_16" ); 15 deviceIcons.insert( 103 , "conduit_16" );
17 16
18 17
19 serviceIcons.insert( 4357 , "obex_16" ); //OBEXObjectPush 18 serviceIcons.insert( 4357 , "obex_16" ); //OBEXObjectPush
20 serviceIcons.insert( 4358 , "obex_16" ); //OBEXFileTransfer 19 serviceIcons.insert( 4358 , "obex_16" ); //OBEXFileTransfer
21 serviceIcons.insert( 4369 , "print_16" ); //Fax 20 serviceIcons.insert( 4369 , "print_16" ); //Fax
22 serviceIcons.insert( 4353 , "serial_16" ); //SerialPort 21 serviceIcons.insert( 4353 , "serial_16" ); //SerialPort
23 serviceIcons.insert( 4356 , "sync_16" ); //IrMCSync 22 serviceIcons.insert( 4356 , "sync_16" ); //IrMCSync
24 serviceIcons.insert( 4359 , "sync_16" ); //IrMCSyncCommand 23 serviceIcons.insert( 4359 , "sync_16" ); //IrMCSyncCommand
25 serviceIcons.insert( 4354 , "network_16" ); //LANAccessUsingPPP 24 serviceIcons.insert( 4354 , "network_16" ); //LANAccessUsingPPP
26 serviceIcons.insert( 4355 , "network_16"); //DialupNetworking 25 serviceIcons.insert( 4355 , "network_16"); //DialupNetworking
27 serviceIcons.insert( 4360 , "phone_16"); // Headset 26 serviceIcons.insert( 4360 , "phone_16"); // Headset
28 serviceIcons.insert( 4370 , "audio_16"); //HeadsetAudioGateway 27 serviceIcons.insert( 4370 , "audio_16"); //HeadsetAudioGateway
29 serviceIcons.insert( 4374 , "network_16"); // Network Access Point 28 serviceIcons.insert( 4374 , "network_16"); // Network Access Point
30 serviceIcons.insert( 4361 , "phone_16"); // CordlessTelephony 29 serviceIcons.insert( 4361 , "phone_16"); // CordlessTelephony
31 serviceIcons.insert( 4362 , "audio_16"); // AudioSource 30 serviceIcons.insert( 4362 , "audio_16"); // AudioSource
32 serviceIcons.insert( 4363 , "audio_16"); // AudioSink 31 serviceIcons.insert( 4363 , "audio_16"); // AudioSink
33 serviceIcons.insert( 4390 , "print_16" ); //HCR_Print 32 serviceIcons.insert( 4390 , "print_16" ); //HCR_Print
34 serviceIcons.insert( 4392 , "phone_16" ); //Common_ISDN_Access 33 serviceIcons.insert( 4392 , "phone_16" ); //Common_ISDN_Access
35 34
36 serviceIcons.insert( 4609 , "network_16" ); //GenericNetworking 35 serviceIcons.insert( 4609 , "network_16" ); //GenericNetworking
37 serviceIcons.insert( 4610 , "folder_16" ); //GenericFileTransfer 36 serviceIcons.insert( 4610 , "folder_16" ); //GenericFileTransfer
38 serviceIcons.insert( 4392 , "audio_16" ); //GenericAudio 37 serviceIcons.insert( 4392 , "audio_16" ); //GenericAudio
39 // serviceIcons.insert( 4392 , "phone_16" ); //GenericTelephony 38 // serviceIcons.insert( 4392 , "phone_16" ); //GenericTelephony
40 // the above is duplicated? -zecke 39 // the above is duplicated? -zecke
41 40
42 //serviceIcons.insert( "106" , "link_16" ); 41 //serviceIcons.insert( "106" , "link_16" );
43 //serviceIcons.insert( "107" , "misc_16" ); 42 //serviceIcons.insert( "107" , "misc_16" );
44 } 43 }
45 44
46 BTIconLoader::~BTIconLoader() { 45 BTIconLoader::~BTIconLoader() {
47 } 46 }
48 47
49 QPixmap BTIconLoader::deviceIcon( int deviceClass ) { 48 QPixmap BTIconLoader::deviceIcon( int deviceClass ) {
50 49
51 QString iconName; 50 QString iconName;
52 51
53 QMap<int, QString>::Iterator it; 52 QMap<int, QString>::Iterator it;
54 53
55 it = deviceIcons.find( deviceClass ); 54 it = deviceIcons.find( deviceClass );
56 iconName = it.data(); 55 iconName = it.data();
57 56
58 if ( iconName.isEmpty() ) { 57 if ( iconName.isEmpty() ) {
59 iconName = "unknown_16"; 58 iconName = "unknown_16";
60 } 59 }
61 return( Resource::loadPixmap( "opietooth/icons/" + iconName ) ); 60 return( Resource::loadPixmap( "opietooth/icons/" + iconName ) );
62 } 61 }
63 62
64 QPixmap BTIconLoader::serviceIcon( int serviceClass ) { 63 QPixmap BTIconLoader::serviceIcon( int serviceClass ) {
65 64
66 QString iconName; 65 QString iconName;
67 66
68 QMap<int, QString>::Iterator it; 67 QMap<int, QString>::Iterator it;
69 68
70 it = serviceIcons.find( serviceClass ); 69 it = serviceIcons.find( serviceClass );
71 iconName = it.data(); 70 iconName = it.data();
72 71
73 if ( iconName.isEmpty() ) { 72 if ( iconName.isEmpty() ) {
74 iconName = "unknown_16"; 73 iconName = "unknown_16";
75 } 74 }
76 return( Resource::loadPixmap( "opietooth/icons/" + iconName ) ); 75 return( Resource::loadPixmap( "opietooth/icons/" + iconName ) );
77 } 76 }
78 77
79} 78}
diff --git a/noncore/net/opietooth/manager/btserviceitem.cpp b/noncore/net/opietooth/manager/btserviceitem.cpp
index 7db93c9..fb5f21e 100644
--- a/noncore/net/opietooth/manager/btserviceitem.cpp
+++ b/noncore/net/opietooth/manager/btserviceitem.cpp
@@ -1,26 +1,25 @@
1 1
2#include <qobject.h>
3#include "btserviceitem.h" 2#include "btserviceitem.h"
4 3
5using namespace OpieTooth; 4using namespace OpieTooth;
6 5
7BTServiceItem::BTServiceItem( QListViewItem* item, const Services& serv ) 6BTServiceItem::BTServiceItem( QListViewItem* item, const Services& serv )
8 : BTListItem( item ) { 7 : BTListItem( item ) {
9 m_service = serv; 8 m_service = serv;
10 setText(0, QObject::tr(serv.serviceName() ) ); 9 setText(0, QObject::tr(serv.serviceName() ) );
11} 10}
12BTServiceItem::~BTServiceItem() { 11BTServiceItem::~BTServiceItem() {
13 12
14} 13}
15QString BTServiceItem::type() const { 14QString BTServiceItem::type() const {
16 return QString::fromLatin1("service"); 15 return QString::fromLatin1("service");
17} 16}
18int BTServiceItem::typeId() const { 17int BTServiceItem::typeId() const {
19 return Service; 18 return Service;
20} 19}
21Services BTServiceItem::services() const { 20Services BTServiceItem::services() const {
22 return m_service; 21 return m_service;
23} 22}
24int BTServiceItem::serviceId() const { 23int BTServiceItem::serviceId() const {
25 return m_service.recHandle(); 24 return m_service.recHandle();
26}; 25};
diff --git a/noncore/net/opietooth/manager/hciconfwrapper.cpp b/noncore/net/opietooth/manager/hciconfwrapper.cpp
index 46eed42..35e9cd9 100644
--- a/noncore/net/opietooth/manager/hciconfwrapper.cpp
+++ b/noncore/net/opietooth/manager/hciconfwrapper.cpp
@@ -1,140 +1,139 @@
1#include "hciconfwrapper.h" 1#include "hciconfwrapper.h"
2 2
3#include <qfile.h> 3#include <qfile.h>
4#include <qtextstream.h> 4#include <qtextstream.h>
5#include <qstringlist.h>
6#include <qregexp.h> 5#include <qregexp.h>
7 6
8namespace OpieTooth { 7namespace OpieTooth {
9 8
10 9
11 HciConfWrapper::HciConfWrapper( const QString &fileName) { 10 HciConfWrapper::HciConfWrapper( const QString &fileName) {
12 m_fileName = fileName; 11 m_fileName = fileName;
13 } 12 }
14 13
15 HciConfWrapper::~HciConfWrapper() { 14 HciConfWrapper::~HciConfWrapper() {
16 } 15 }
17 16
18 17
19 void HciConfWrapper::setPinHelper( const QString& app ) { 18 void HciConfWrapper::setPinHelper( const QString& app ) {
20 setValue( "pin_helper" , app ); 19 setValue( "pin_helper" , app );
21 } 20 }
22 21
23 void HciConfWrapper::setName( const QString &name ) { 22 void HciConfWrapper::setName( const QString &name ) {
24 qDebug ("NAME : " + name); 23 qDebug ("NAME : " + name);
25 setValue( "name" , "\"" + name + "\"" ); 24 setValue( "name" , "\"" + name + "\"" );
26 } 25 }
27 26
28 void HciConfWrapper::setIscan( bool enable) { 27 void HciConfWrapper::setIscan( bool enable) {
29 28
30 if ( enable ) { 29 if ( enable ) {
31 setValue( "iscan" , "enable" ); 30 setValue( "iscan" , "enable" );
32 } else { 31 } else {
33 setValue( "iscan" , "disable" ); 32 setValue( "iscan" , "disable" );
34 } 33 }
35 } 34 }
36 35
37 void HciConfWrapper::setPscan( bool enable) { 36 void HciConfWrapper::setPscan( bool enable) {
38 37
39 if ( enable ) { 38 if ( enable ) {
40 setValue( "pscan" , "enable" ); 39 setValue( "pscan" , "enable" );
41 } else { 40 } else {
42 setValue( "pscan" , "disable" ); 41 setValue( "pscan" , "disable" );
43 } 42 }
44 } 43 }
45 44
46 45
47 void HciConfWrapper::setAuth( bool enable) { 46 void HciConfWrapper::setAuth( bool enable) {
48 47
49 if ( enable ) { 48 if ( enable ) {
50 setValue( "auth" , "enable" ); 49 setValue( "auth" , "enable" );
51 } else { 50 } else {
52 setValue( "auth" , "disable" ); 51 setValue( "auth" , "disable" );
53 } 52 }
54 } 53 }
55 54
56 55
57 void HciConfWrapper::setEncrypt( bool enable) { 56 void HciConfWrapper::setEncrypt( bool enable) {
58 57
59 if ( enable ) { 58 if ( enable ) {
60 setValue( "encrypt" , "enable" ); 59 setValue( "encrypt" , "enable" );
61 } else { 60 } else {
62 setValue( "encrypt" , "disable" ); 61 setValue( "encrypt" , "disable" );
63 } 62 }
64 } 63 }
65 64
66 65
67 void HciConfWrapper::setValue(const QString &key, const QString &value ) { 66 void HciConfWrapper::setValue(const QString &key, const QString &value ) {
68 67
69 if (m_file.isEmpty() ) // load first 68 if (m_file.isEmpty() ) // load first
70 return; 69 return;
71 70
72 QStringList::Iterator it; 71 QStringList::Iterator it;
73 72
74 QString str; 73 QString str;
75 for (it = m_file.begin(); it != m_file.end(); ++it ) { 74 for (it = m_file.begin(); it != m_file.end(); ++it ) {
76 str = (*it); 75 str = (*it);
77 if( (str.contains(key)) > 0 ) { 76 if( (str.contains(key)) > 0 ) {
78 qDebug("Found"); 77 qDebug("Found");
79 // still need to look if its commented out!!! 78 // still need to look if its commented out!!!
80 str.simplifyWhiteSpace(); 79 str.simplifyWhiteSpace();
81 qDebug( key ); 80 qDebug( key );
82 if (str.startsWith("#")) { 81 if (str.startsWith("#")) {
83 str = (key + " " + value + ";"); 82 str = (key + " " + value + ";");
84 } else { 83 } else {
85 str = str.replace( QRegExp( "\\s*"+key+"\\s+[^\\s][^;]*;" ), key + " " + value + ";"); 84 str = str.replace( QRegExp( "\\s*"+key+"\\s+[^\\s][^;]*;" ), key + " " + value + ";");
86 } 85 }
87 qDebug( str ); 86 qDebug( str );
88 it = m_file.remove( it ); 87 it = m_file.remove( it );
89 it = m_file.insert( it, str ); 88 it = m_file.insert( it, str );
90 //return; the regexp is too wide -zecke // all set 89 //return; the regexp is too wide -zecke // all set
91 } 90 }
92 } 91 }
93 92
94 93
95 } 94 }
96 95
97 /** 96 /**
98 * This loads the config file and stores it inside 97 * This loads the config file and stores it inside
99 * the m_file 98 * the m_file
100 */ 99 */
101 void HciConfWrapper::load() { 100 void HciConfWrapper::load() {
102 qWarning("loaded"); 101 qWarning("loaded");
103 m_file.clear(); 102 m_file.clear();
104 QFile file( m_fileName ); 103 QFile file( m_fileName );
105 if (!file.open( IO_ReadOnly ) ) { 104 if (!file.open( IO_ReadOnly ) ) {
106 qDebug("Could not open"); 105 qDebug("Could not open");
107 return; 106 return;
108 } 107 }
109 108
110 /** 109 /**
111 * readAll() into a QByteArray 110 * readAll() into a QByteArray
112 * QStringList::split('\n', array ) 111 * QStringList::split('\n', array )
113 * would this be faster? -zecke 112 * would this be faster? -zecke
114 */ 113 */
115 QTextStream stream(&file ); 114 QTextStream stream(&file );
116 QString tmp; 115 QString tmp;
117 while ( !stream.atEnd() ) { 116 while ( !stream.atEnd() ) {
118 tmp = stream.readLine(); 117 tmp = stream.readLine();
119 m_file.append( tmp ); 118 m_file.append( tmp );
120 } 119 }
121 } 120 }
122 void HciConfWrapper::save() { 121 void HciConfWrapper::save() {
123 qWarning("save"); 122 qWarning("save");
124 if (m_file.isEmpty() ) // load first 123 if (m_file.isEmpty() ) // load first
125 return; 124 return;
126 125
127 QFile file( m_fileName ); 126 QFile file( m_fileName );
128 if ( !file.open(IO_WriteOnly ) ) { 127 if ( !file.open(IO_WriteOnly ) ) {
129 qWarning("could not open %s", m_fileName.latin1() ); 128 qWarning("could not open %s", m_fileName.latin1() );
130 return; 129 return;
131 } 130 }
132 131
133 QTextStream stream(&file ); 132 QTextStream stream(&file );
134 QStringList::Iterator it; 133 QStringList::Iterator it;
135 for ( it = m_file.begin(); it != m_file.end(); ++it ) { 134 for ( it = m_file.begin(); it != m_file.end(); ++it ) {
136 stream << (*it) << endl; 135 stream << (*it) << endl;
137 } 136 }
138 qWarning("saved"); 137 qWarning("saved");
139 }; 138 };
140} 139}
diff --git a/noncore/net/opietooth/manager/rfcommassigndialogitem.cpp b/noncore/net/opietooth/manager/rfcommassigndialogitem.cpp
index 1e7130f..a41f304 100644
--- a/noncore/net/opietooth/manager/rfcommassigndialogitem.cpp
+++ b/noncore/net/opietooth/manager/rfcommassigndialogitem.cpp
@@ -1,54 +1,53 @@
1 1
2#include "rfcommassigndialogitem.h" 2#include "rfcommassigndialogitem.h"
3 3
4#include <qlineedit.h> 4#include <qlineedit.h>
5#include <qcombobox.h> 5#include <qcombobox.h>
6#include <qlabel.h>
7#include <qgroupbox.h> 6#include <qgroupbox.h>
8 7
9using namespace OpieTooth; 8using namespace OpieTooth;
10 9
11 10
12RfcommDialogItem::RfcommDialogItem( QWidget* parent, const char* name, WFlags fl ) 11RfcommDialogItem::RfcommDialogItem( QWidget* parent, const char* name, WFlags fl )
13 : RfcommDialogItemBase( parent, name, fl ) { 12 : RfcommDialogItemBase( parent, name, fl ) {
14 13
15} 14}
16 15
17RfcommDialogItem::~RfcommDialogItem() { 16RfcommDialogItem::~RfcommDialogItem() {
18} 17}
19 18
20 19
21int RfcommDialogItem::ident() { 20int RfcommDialogItem::ident() {
22 return m_ident; 21 return m_ident;
23} 22}
24 23
25QString RfcommDialogItem::mac() { 24QString RfcommDialogItem::mac() {
26 return m_macAddress->text(); 25 return m_macAddress->text();
27} 26}
28 27
29int RfcommDialogItem::channel() { 28int RfcommDialogItem::channel() {
30 return m_channelDropdown->currentItem(); 29 return m_channelDropdown->currentItem();
31} 30}
32 31
33QString RfcommDialogItem::comment() { 32QString RfcommDialogItem::comment() {
34 return m_commentLine->text(); 33 return m_commentLine->text();
35} 34}
36 35
37void RfcommDialogItem::setIdent( int ident ) { 36void RfcommDialogItem::setIdent( int ident ) {
38 m_ident = ident; 37 m_ident = ident;
39 m_identLabel->setTitle( QString( "rfcomm%1").arg( ident ) ); 38 m_identLabel->setTitle( QString( "rfcomm%1").arg( ident ) );
40} 39}
41 40
42void RfcommDialogItem::setMac( const QString &mac ) { 41void RfcommDialogItem::setMac( const QString &mac ) {
43 m_macAddress->setText( mac ); 42 m_macAddress->setText( mac );
44} 43}
45 44
46void RfcommDialogItem::setChannel( int channel ) { 45void RfcommDialogItem::setChannel( int channel ) {
47 m_channelDropdown->setCurrentItem( channel ); 46 m_channelDropdown->setCurrentItem( channel );
48} 47}
49 48
50void RfcommDialogItem::setComment( const QString &comment ) { 49void RfcommDialogItem::setComment( const QString &comment ) {
51 m_commentLine->setText( comment ); 50 m_commentLine->setText( comment );
52} 51}
53 52
54 53
diff --git a/noncore/net/wellenreiter/gui/protolistview.cpp b/noncore/net/wellenreiter/gui/protolistview.cpp
index daca095..ed22bdd 100644
--- a/noncore/net/wellenreiter/gui/protolistview.cpp
+++ b/noncore/net/wellenreiter/gui/protolistview.cpp
@@ -1,124 +1,120 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Opie Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16/* LOCAL */ 16/* LOCAL */
17#include "protolistview.h" 17#include "protolistview.h"
18 18
19#include <qcheckbox.h> 19#include <qcheckbox.h>
20#include <qcombobox.h> 20#include <qcombobox.h>
21#include <qhbox.h>
22#include <qvbox.h> 21#include <qvbox.h>
23#include <qpalette.h>
24#include <qcolor.h>
25#include <qlabel.h> 22#include <qlabel.h>
26#include <qframe.h>
27 23
28ProtocolListView::ProtocolListView( QWidget* parent, const char* name, WFlags f ) 24ProtocolListView::ProtocolListView( QWidget* parent, const char* name, WFlags f )
29 :QScrollView( parent, name, f ) 25 :QScrollView( parent, name, f )
30{ 26{
31 parse = ( QString( "parsePackets" ) == QString( name ) ); 27 parse = ( QString( "parsePackets" ) == QString( name ) );
32 28
33 setMargins( 3, 3, 0, 0 ); 29 setMargins( 3, 3, 0, 0 );
34 viewport()->setBackgroundColor( QCheckBox(0).palette().color( QPalette::Active, QColorGroup::Background ) ); 30 viewport()->setBackgroundColor( QCheckBox(0).palette().color( QPalette::Active, QColorGroup::Background ) );
35 31
36 vbox = new QVBox( viewport() ); 32 vbox = new QVBox( viewport() );
37 vbox->setSpacing( 1 ); 33 vbox->setSpacing( 1 );
38 addChild( vbox ); 34 addChild( vbox );
39 35
40 QHBox* hbox = new QHBox( vbox ); 36 QHBox* hbox = new QHBox( vbox );
41 hbox->setSpacing( 40 ); 37 hbox->setSpacing( 40 );
42 new QLabel( tr( "Protocol Family" ), hbox ); 38 new QLabel( tr( "Protocol Family" ), hbox );
43 new QLabel( tr( "Perform Action" ), hbox ); 39 new QLabel( tr( "Perform Action" ), hbox );
44 QFrame* frame = new QFrame( vbox ); 40 QFrame* frame = new QFrame( vbox );
45 frame->setFrameStyle( QFrame::HLine + QFrame::Sunken ); 41 frame->setFrameStyle( QFrame::HLine + QFrame::Sunken );
46 42
47 //TODO: hardcoded for now...a protocol database would be nice!? 43 //TODO: hardcoded for now...a protocol database would be nice!?
48 44
49 //addProtocol( "Ethernet" ); 45 //addProtocol( "Ethernet" );
50 addProtocol( "Prism" ); 46 addProtocol( "Prism" );
51 //addProtocol( "802.11" ); 47 //addProtocol( "802.11" );
52 addProtocol( "802.11 Management" ); 48 addProtocol( "802.11 Management" );
53 addProtocol( "802.11 SSID" ); 49 addProtocol( "802.11 SSID" );
54 addProtocol( "802.11 Rates" ); 50 addProtocol( "802.11 Rates" );
55 addProtocol( "802.11 CF" ); 51 addProtocol( "802.11 CF" );
56 addProtocol( "802.11 FH" ); 52 addProtocol( "802.11 FH" );
57 addProtocol( "802.11 DS" ); 53 addProtocol( "802.11 DS" );
58 addProtocol( "802.11 Tim" ); 54 addProtocol( "802.11 Tim" );
59 addProtocol( "802.11 IBSS" ); 55 addProtocol( "802.11 IBSS" );
60 addProtocol( "802.11 Challenge" ); 56 addProtocol( "802.11 Challenge" );
61 addProtocol( "802.11 Data" ); 57 addProtocol( "802.11 Data" );
62 addProtocol( "802.11 LLC" ); 58 addProtocol( "802.11 LLC" );
63 addProtocol( "802.11 Data" ); 59 addProtocol( "802.11 Data" );
64 addProtocol( "IP" ); 60 addProtocol( "IP" );
65 addProtocol( "ARP" ); 61 addProtocol( "ARP" );
66 addProtocol( "UDP" ); 62 addProtocol( "UDP" );
67 addProtocol( "TCP" ); 63 addProtocol( "TCP" );
68} 64}
69 65
70 66
71ProtocolListView::~ProtocolListView() 67ProtocolListView::~ProtocolListView()
72{ 68{
73} 69}
74 70
75 71
76void ProtocolListView::addProtocol( const QString& name ) 72void ProtocolListView::addProtocol( const QString& name )
77{ 73{
78 QHBox* hbox = new QHBox( vbox ); 74 QHBox* hbox = new QHBox( vbox );
79 new QCheckBox( name, hbox, (const char*) name ); 75 new QCheckBox( name, hbox, (const char*) name );
80 76
81 if ( parse ) 77 if ( parse )
82 { 78 {
83 QComboBox* combo = new QComboBox( hbox, (const char*) name ); 79 QComboBox* combo = new QComboBox( hbox, (const char*) name );
84 #ifdef QWS 80 #ifdef QWS
85 combo->setFixedWidth( 75 ); 81 combo->setFixedWidth( 75 );
86 #endif 82 #endif
87 combo->insertItem( "Pass" ); 83 combo->insertItem( "Pass" );
88 combo->insertItem( "Discard!" ); 84 combo->insertItem( "Discard!" );
89 combo->insertItem( "TouchSound" ); 85 combo->insertItem( "TouchSound" );
90 combo->insertItem( "AlarmSound" ); 86 combo->insertItem( "AlarmSound" );
91 combo->insertItem( "KeySound" ); 87 combo->insertItem( "KeySound" );
92 combo->insertItem( "LedOn" ); 88 combo->insertItem( "LedOn" );
93 combo->insertItem( "LedOff" ); 89 combo->insertItem( "LedOff" );
94 combo->insertItem( "LogMessage" ); 90 combo->insertItem( "LogMessage" );
95 combo->insertItem( "MessageBox" ); 91 combo->insertItem( "MessageBox" );
96 } 92 }
97 else 93 else
98 { 94 {
99 QComboBox* combo = new QComboBox( hbox, (const char*) name ); 95 QComboBox* combo = new QComboBox( hbox, (const char*) name );
100 #ifdef QWS 96 #ifdef QWS
101 combo->setFixedWidth( 75 ); 97 combo->setFixedWidth( 75 );
102 #endif 98 #endif
103 combo->insertItem( "Pass" ); 99 combo->insertItem( "Pass" );
104 combo->insertItem( "Discard!" ); 100 combo->insertItem( "Discard!" );
105 } 101 }
106} 102}
107 103
108 104
109bool ProtocolListView::isProtocolChecked( const QString& name ) 105bool ProtocolListView::isProtocolChecked( const QString& name )
110{ 106{
111 QCheckBox* box = (QCheckBox*) child( (const char*) name ); 107 QCheckBox* box = (QCheckBox*) child( (const char*) name );
112 return ( box && box->isOn() ); 108 return ( box && box->isOn() );
113} 109}
114 110
115 111
116QString ProtocolListView::protocolAction( const QString& name ) 112QString ProtocolListView::protocolAction( const QString& name )
117{ 113{
118 QComboBox* combo = (QComboBox*) child( (const char*) name, "QComboBox" ); 114 QComboBox* combo = (QComboBox*) child( (const char*) name, "QComboBox" );
119 if ( combo ) 115 if ( combo )
120 return combo->currentText(); 116 return combo->currentText();
121 else 117 else
122 return "<unknown>"; 118 return "<unknown>";
123} 119}
124 120
diff --git a/noncore/net/wellenreiter/gui/resource.cpp b/noncore/net/wellenreiter/gui/resource.cpp
index a39bbcc..5e5ddc6 100644
--- a/noncore/net/wellenreiter/gui/resource.cpp
+++ b/noncore/net/wellenreiter/gui/resource.cpp
@@ -1,50 +1,49 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Opie Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#include "resource.h" 16#include "resource.h"
17 17
18#define PIXMAPPATH "/usr/local/share" 18#define PIXMAPPATH "/usr/local/share"
19 19
20#include <qpixmap.h>
21#include <qiconset.h> 20#include <qiconset.h>
22 21
23namespace Resource 22namespace Resource
24{ 23{
25 24
26QPixmap loadPixmap( const QString& pix ) 25QPixmap loadPixmap( const QString& pix )
27{ 26{
28 QString filename; 27 QString filename;
29 filename.sprintf( "%s/%s.png", (const char*) PIXMAPPATH, (const char*) pix ); 28 filename.sprintf( "%s/%s.png", (const char*) PIXMAPPATH, (const char*) pix );
30 QPixmap pixmap( filename ); 29 QPixmap pixmap( filename );
31 if ( pixmap.isNull() ) 30 if ( pixmap.isNull() )
32 { 31 {
33 qDebug( "Wellenreiter::Resource: can't find pixmap " + filename ); 32 qDebug( "Wellenreiter::Resource: can't find pixmap " + filename );
34 } 33 }
35 return pixmap; 34 return pixmap;
36}; 35};
37 36
38QIconSet loadIconSet( const QString& pix ) 37QIconSet loadIconSet( const QString& pix )
39{ 38{
40 QString filename; 39 QString filename;
41 filename.sprintf( "%s/%s.png", (const char*) PIXMAPPATH, (const char*) pix ); 40 filename.sprintf( "%s/%s.png", (const char*) PIXMAPPATH, (const char*) pix );
42 QPixmap pixmap( filename ); 41 QPixmap pixmap( filename );
43 if ( pixmap.isNull() ) 42 if ( pixmap.isNull() )
44 { 43 {
45 qDebug( "Wellenreiter::Resource: can't find pixmap " + filename ); 44 qDebug( "Wellenreiter::Resource: can't find pixmap " + filename );
46 } 45 }
47 return QIconSet( pixmap ); 46 return QIconSet( pixmap );
48}; 47};
49 48
50}; 49};
diff --git a/noncore/net/wellenreiter/gui/scanlist.cpp b/noncore/net/wellenreiter/gui/scanlist.cpp
index b42f1df..c75f9b1 100644
--- a/noncore/net/wellenreiter/gui/scanlist.cpp
+++ b/noncore/net/wellenreiter/gui/scanlist.cpp
@@ -1,215 +1,214 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Opie Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#include "scanlist.h" 16#include "scanlist.h"
17#include "configwindow.h" 17#include "configwindow.h"
18#include "logwindow.h" 18#include "logwindow.h"
19 19
20#include <assert.h> 20#include <assert.h>
21#include <qcursor.h> 21#include <qcursor.h>
22#include <qdatetime.h> 22#include <qdatetime.h>
23#include <qtextstream.h>
24#include <qpopupmenu.h> 23#include <qpopupmenu.h>
25#include <qcheckbox.h> 24#include <qcheckbox.h>
26 25
27#ifdef QWS 26#ifdef QWS
28#include <qpe/qpeapplication.h> 27#include <qpe/qpeapplication.h>
29#endif 28#endif
30 29
31#ifdef QWS 30#ifdef QWS
32#include <qpe/resource.h> 31#include <qpe/resource.h>
33#else 32#else
34#include "resource.h" 33#include "resource.h"
35#endif 34#endif
36 35
37const int col_type = 0; 36const int col_type = 0;
38const int col_essid = 0; 37const int col_essid = 0;
39const int col_sig = 1; 38const int col_sig = 1;
40const int col_ap = 2; 39const int col_ap = 2;
41const int col_channel = 3; 40const int col_channel = 3;
42const int col_wep = 4; 41const int col_wep = 4;
43const int col_traffic = 5; 42const int col_traffic = 5;
44const int col_ip = 6; 43const int col_ip = 6;
45const int col_manuf = 7; 44const int col_manuf = 7;
46const int col_firstseen = 8; 45const int col_firstseen = 8;
47const int col_lastseen = 9; 46const int col_lastseen = 9;
48const int col_location = 10; 47const int col_location = 10;
49 48
50MScanListView::MScanListView( QWidget* parent, const char* name ) 49MScanListView::MScanListView( QWidget* parent, const char* name )
51 :OListView( parent, name ) 50 :OListView( parent, name )
52{ 51{
53 52
54 setFrameShape( QListView::StyledPanel ); 53 setFrameShape( QListView::StyledPanel );
55 setFrameShadow( QListView::Sunken ); 54 setFrameShadow( QListView::Sunken );
56 55
57 addColumn( tr( "Net/Station" ) ); 56 addColumn( tr( "Net/Station" ) );
58 setColumnAlignment( col_essid, AlignLeft || AlignVCenter ); 57 setColumnAlignment( col_essid, AlignLeft || AlignVCenter );
59 addColumn( tr( "#" ) ); 58 addColumn( tr( "#" ) );
60 setColumnAlignment( col_sig, AlignCenter ); 59 setColumnAlignment( col_sig, AlignCenter );
61 addColumn( tr( "MAC" ) ); 60 addColumn( tr( "MAC" ) );
62 setColumnAlignment( col_ap, AlignCenter ); 61 setColumnAlignment( col_ap, AlignCenter );
63 addColumn( tr( "Chn" ) ); 62 addColumn( tr( "Chn" ) );
64 setColumnAlignment( col_channel, AlignCenter ); 63 setColumnAlignment( col_channel, AlignCenter );
65 addColumn( tr( "W" ) ); 64 addColumn( tr( "W" ) );
66 setColumnAlignment( col_wep, AlignCenter ); 65 setColumnAlignment( col_wep, AlignCenter );
67 addColumn( tr( "T" ) ); 66 addColumn( tr( "T" ) );
68 setColumnAlignment( col_traffic, AlignCenter ); 67 setColumnAlignment( col_traffic, AlignCenter );
69 addColumn( tr( "IP" ) ); 68 addColumn( tr( "IP" ) );
70 setColumnAlignment( col_ip, AlignCenter ); 69 setColumnAlignment( col_ip, AlignCenter );
71 addColumn( tr( "Manufacturer" ) ); 70 addColumn( tr( "Manufacturer" ) );
72 setColumnAlignment( col_manuf, AlignCenter ); 71 setColumnAlignment( col_manuf, AlignCenter );
73 addColumn( tr( "First Seen" ) ); 72 addColumn( tr( "First Seen" ) );
74 setColumnAlignment( col_firstseen, AlignCenter ); 73 setColumnAlignment( col_firstseen, AlignCenter );
75 addColumn( tr( "Last Seen" ) ); 74 addColumn( tr( "Last Seen" ) );
76 setColumnAlignment( col_lastseen, AlignCenter ); 75 setColumnAlignment( col_lastseen, AlignCenter );
77 addColumn( tr( "Location" ) ); 76 addColumn( tr( "Location" ) );
78 setColumnAlignment( col_location, AlignCenter ); 77 setColumnAlignment( col_location, AlignCenter );
79 setRootIsDecorated( true ); 78 setRootIsDecorated( true );
80 setAllColumnsShowFocus( true ); 79 setAllColumnsShowFocus( true );
81 80
82 connect( this, SIGNAL( rightButtonClicked(QListViewItem*,const QPoint&,int) ), 81 connect( this, SIGNAL( rightButtonClicked(QListViewItem*,const QPoint&,int) ),
83 this, SLOT( contextMenuRequested(QListViewItem*,const QPoint&,int) ) ); 82 this, SLOT( contextMenuRequested(QListViewItem*,const QPoint&,int) ) );
84 83
85 #ifdef QWS 84 #ifdef QWS
86 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); 85 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
87 #endif 86 #endif
88 87
89}; 88};
90 89
91 90
92MScanListView::~MScanListView() 91MScanListView::~MScanListView()
93{ 92{
94}; 93};
95 94
96 95
97OListViewItem* MScanListView::childFactory() 96OListViewItem* MScanListView::childFactory()
98{ 97{
99 return new MScanListItem( this ); 98 return new MScanListItem( this );
100} 99}
101 100
102 101
103void MScanListView::serializeTo( QDataStream& s) const 102void MScanListView::serializeTo( QDataStream& s) const
104{ 103{
105 qDebug( "serializing MScanListView" ); 104 qDebug( "serializing MScanListView" );
106 OListView::serializeTo( s ); 105 OListView::serializeTo( s );
107} 106}
108 107
109 108
110void MScanListView::serializeFrom( QDataStream& s) 109void MScanListView::serializeFrom( QDataStream& s)
111{ 110{
112 qDebug( "serializing MScanListView" ); 111 qDebug( "serializing MScanListView" );
113 OListView::serializeFrom( s ); 112 OListView::serializeFrom( s );
114} 113}
115 114
116 115
117void MScanListView::addNewItem( const QString& type, 116void MScanListView::addNewItem( const QString& type,
118 const QString& essid, 117 const QString& essid,
119 const OMacAddress& mac, 118 const OMacAddress& mac,
120 bool wep, 119 bool wep,
121 int channel, 120 int channel,
122 int signal, 121 int signal,
123 const GpsLocation& loc, 122 const GpsLocation& loc,
124 bool probe ) 123 bool probe )
125{ 124{
126 QString macaddr = mac.toString(true); 125 QString macaddr = mac.toString(true);
127 126
128 #ifdef DEBUG 127 #ifdef DEBUG
129 qDebug( "MScanList::addNewItem( %s / %s / %s [%d]", (const char*) type, 128 qDebug( "MScanList::addNewItem( %s / %s / %s [%d]", (const char*) type,
130 (const char*) essid, (const char*) macaddr, channel ); 129 (const char*) essid, (const char*) macaddr, channel );
131 #endif 130 #endif
132 131
133 // search, if we already have seen this net 132 // search, if we already have seen this net
134 133
135 QString s; 134 QString s;
136 MScanListItem* network; 135 MScanListItem* network;
137 MScanListItem* item = static_cast<MScanListItem*> ( firstChild() ); 136 MScanListItem* item = static_cast<MScanListItem*> ( firstChild() );
138 137
139 while ( item && ( item->text( col_essid ) != essid ) ) 138 while ( item && ( item->text( col_essid ) != essid ) )
140 { 139 {
141 #ifdef DEBUG 140 #ifdef DEBUG
142 qDebug( "itemtext: %s", (const char*) item->text( col_essid ) ); 141 qDebug( "itemtext: %s", (const char*) item->text( col_essid ) );
143 #endif 142 #endif
144 item = static_cast<MScanListItem*> ( item->nextSibling() ); 143 item = static_cast<MScanListItem*> ( item->nextSibling() );
145 } 144 }
146 if ( item ) 145 if ( item )
147 { 146 {
148 // we have already seen this net, check all childs if MAC exists 147 // we have already seen this net, check all childs if MAC exists
149 148
150 network = item; 149 network = item;
151 150
152 item = static_cast<MScanListItem*> ( item->firstChild() ); 151 item = static_cast<MScanListItem*> ( item->firstChild() );
153 assert( item ); // this shouldn't fail 152 assert( item ); // this shouldn't fail
154 153
155 while ( item && ( item->text( col_ap ) != macaddr ) ) 154 while ( item && ( item->text( col_ap ) != macaddr ) )
156 { 155 {
157 #ifdef DEBUG 156 #ifdef DEBUG
158 qDebug( "subitemtext: %s", (const char*) item->text( col_ap ) ); 157 qDebug( "subitemtext: %s", (const char*) item->text( col_ap ) );
159 #endif 158 #endif
160 item = static_cast<MScanListItem*> ( item->nextSibling() ); 159 item = static_cast<MScanListItem*> ( item->nextSibling() );
161 } 160 }
162 161
163 if ( item ) 162 if ( item )
164 { 163 {
165 // we have already seen this item, it's a dupe 164 // we have already seen this item, it's a dupe
166 #ifdef DEBUG 165 #ifdef DEBUG
167 qDebug( "%s is a dupe - ignoring...", (const char*) macaddr ); 166 qDebug( "%s is a dupe - ignoring...", (const char*) macaddr );
168 #endif 167 #endif
169 item->receivedBeacon(); 168 item->receivedBeacon();
170 return; 169 return;
171 } 170 }
172 } 171 }
173 else 172 else
174 { 173 {
175 s.sprintf( "(i) New network: ESSID '%s'", (const char*) essid ); 174 s.sprintf( "(i) New network: ESSID '%s'", (const char*) essid );
176 MLogWindow::logwindow()->log( s ); 175 MLogWindow::logwindow()->log( s );
177 network = new MScanListItem( this, "network", essid, QString::null, 0, 0, 0, probe ); 176 network = new MScanListItem( this, "network", essid, QString::null, 0, 0, 0, probe );
178 } 177 }
179 178
180 179
181 // insert new station as child from network 180 // insert new station as child from network
182 // no essid to reduce clutter, maybe later we have a nick or stationname to display!? 181 // no essid to reduce clutter, maybe later we have a nick or stationname to display!?
183 182
184 #ifdef DEBUG 183 #ifdef DEBUG
185 qDebug( "inserting new station %s", (const char*) macaddr ); 184 qDebug( "inserting new station %s", (const char*) macaddr );
186 #endif 185 #endif
187 186
188 MScanListItem* station = new MScanListItem( network, type, "", macaddr, wep, channel, signal ); 187 MScanListItem* station = new MScanListItem( network, type, "", macaddr, wep, channel, signal );
189 station->setManufacturer( mac.manufacturer() ); 188 station->setManufacturer( mac.manufacturer() );
190 station->setLocation( loc.dmsPosition() ); 189 station->setLocation( loc.dmsPosition() );
191 190
192 if ( type == "managed" ) 191 if ( type == "managed" )
193 { 192 {
194 s.sprintf( "(i) New Access Point in '%s' [%d]", (const char*) essid, channel ); 193 s.sprintf( "(i) New Access Point in '%s' [%d]", (const char*) essid, channel );
195 } 194 }
196 else 195 else
197 { 196 {
198 s.sprintf( "(i) New AdHoc station in '%s' [%d]", (const char*) essid, channel ); 197 s.sprintf( "(i) New AdHoc station in '%s' [%d]", (const char*) essid, channel );
199 } 198 }
200 MLogWindow::logwindow()->log( s ); 199 MLogWindow::logwindow()->log( s );
201} 200}
202 201
203 202
204void MScanListView::addIfNotExisting( MScanListItem* network, const OMacAddress& addr, const QString& type ) 203void MScanListView::addIfNotExisting( MScanListItem* network, const OMacAddress& addr, const QString& type )
205{ 204{
206 MScanListItem* subitem = static_cast<MScanListItem*>( network->firstChild() ); 205 MScanListItem* subitem = static_cast<MScanListItem*>( network->firstChild() );
207 206
208 while ( subitem && ( subitem->text( col_ap ) != addr.toString(true) ) ) 207 while ( subitem && ( subitem->text( col_ap ) != addr.toString(true) ) )
209 { 208 {
210 #ifdef DEBUG 209 #ifdef DEBUG
211 qDebug( "subitemtext: %s", (const char*) subitem->text( col_ap ) ); 210 qDebug( "subitemtext: %s", (const char*) subitem->text( col_ap ) );
212 #endif 211 #endif
213 subitem = static_cast<MScanListItem*> ( subitem->nextSibling() ); 212 subitem = static_cast<MScanListItem*> ( subitem->nextSibling() );
214 } 213 }
215 214
diff --git a/noncore/net/wellenreiter/gui/wellenreiterbase.cpp b/noncore/net/wellenreiter/gui/wellenreiterbase.cpp
index c2413dc..b8b6730 100644
--- a/noncore/net/wellenreiter/gui/wellenreiterbase.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiterbase.cpp
@@ -1,186 +1,177 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Opie Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14***********************************************************************/ 14***********************************************************************/
15 15
16#include "wellenreiterbase.h" 16#include "wellenreiterbase.h"
17 17
18#include <qheader.h>
19#include <qlabel.h> 18#include <qlabel.h>
20#include <qlistview.h>
21#include <qmultilineedit.h>
22#include <qpushbutton.h>
23#include <qlayout.h> 19#include <qlayout.h>
24#include <qvariant.h>
25#include <qtooltip.h>
26#include <qwhatsthis.h>
27#include <qimage.h>
28#include <qpixmap.h>
29 20
30#include "logwindow.h" 21#include "logwindow.h"
31#include "hexwindow.h" 22#include "hexwindow.h"
32#include "scanlist.h" 23#include "scanlist.h"
33#include "statwindow.h" 24#include "statwindow.h"
34#include "graphwindow.h" 25#include "graphwindow.h"
35 26
36#ifdef QWS 27#ifdef QWS
37#include <qpe/resource.h> 28#include <qpe/resource.h>
38#include <opie2/otabwidget.h> 29#include <opie2/otabwidget.h>
39using namespace Opie; 30using namespace Opie;
40#else 31#else
41#include "resource.h" 32#include "resource.h"
42#include <qtabwidget.h> 33#include <qtabwidget.h>
43#endif 34#endif
44 35
45 36
46/* 37/*
47 * Constructs a WellenreiterBase which is a child of 'parent', with the 38 * Constructs a WellenreiterBase which is a child of 'parent', with the
48 * name 'name' and widget flags set to 'f' 39 * name 'name' and widget flags set to 'f'
49 */ 40 */
50WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags fl ) 41WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags fl )
51 : QWidget( parent, name, fl ) 42 : QWidget( parent, name, fl )
52{ 43{
53 //ani1 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot0" ) ); 44 //ani1 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot0" ) );
54 //ani2 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot90" ) ); 45 //ani2 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot90" ) );
55 //ani3 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot180" ) ); 46 //ani3 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot180" ) );
56 //ani4 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot270" ) ); 47 //ani4 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot270" ) );
57 48
58 if ( !name ) 49 if ( !name )
59 setName( "WellenreiterBase" ); 50 setName( "WellenreiterBase" );
60 resize( 191, 294 ); 51 resize( 191, 294 );
61#ifdef QWS 52#ifdef QWS
62 setCaption( tr( "Wellenreiter/Opie" ) ); 53 setCaption( tr( "Wellenreiter/Opie" ) );
63#else 54#else
64 setCaption( tr( "Wellenreiter/X11" ) ); 55 setCaption( tr( "Wellenreiter/X11" ) );
65#endif 56#endif
66 WellenreiterBaseLayout = new QVBoxLayout( this ); 57 WellenreiterBaseLayout = new QVBoxLayout( this );
67 WellenreiterBaseLayout->setSpacing( 2 ); 58 WellenreiterBaseLayout->setSpacing( 2 );
68 WellenreiterBaseLayout->setMargin( 0 ); 59 WellenreiterBaseLayout->setMargin( 0 );
69#ifdef QWS 60#ifdef QWS
70 TabWidget = new OTabWidget( this, "TabWidget", OTabWidget::Global ); 61 TabWidget = new OTabWidget( this, "TabWidget", OTabWidget::Global );
71#else 62#else
72 TabWidget = new QTabWidget( this, "TabWidget" ); 63 TabWidget = new QTabWidget( this, "TabWidget" );
73#endif 64#endif
74 ap = new QWidget( TabWidget, "ap" ); 65 ap = new QWidget( TabWidget, "ap" );
75 apLayout = new QVBoxLayout( ap ); 66 apLayout = new QVBoxLayout( ap );
76 apLayout->setSpacing( 2 ); 67 apLayout->setSpacing( 2 );
77 apLayout->setMargin( 2 ); 68 apLayout->setMargin( 2 );
78 69
79 //--------- NETVIEW TAB -------------- 70 //--------- NETVIEW TAB --------------
80 71
81 netview = new MScanListView( ap ); 72 netview = new MScanListView( ap );
82 apLayout->addWidget( netview ); 73 apLayout->addWidget( netview );
83 74
84 //--------- GRAPH TAB -------------- 75 //--------- GRAPH TAB --------------
85 76
86 graphwindow = new MGraphWindow( TabWidget, "Graph" ); 77 graphwindow = new MGraphWindow( TabWidget, "Graph" );
87 78
88 //--------- LOG TAB -------------- 79 //--------- LOG TAB --------------
89 80
90 logwindow = new MLogWindow( TabWidget, "Log" ); 81 logwindow = new MLogWindow( TabWidget, "Log" );
91 82
92 //--------- HEX TAB -------------- 83 //--------- HEX TAB --------------
93 84
94 hexwindow = new MHexWindow( TabWidget, "Hex" ); 85 hexwindow = new MHexWindow( TabWidget, "Hex" );
95 86
96 //--------- STAT TAB -------------- 87 //--------- STAT TAB --------------
97 88
98 statwindow = new MStatWindow( TabWidget, "Stat" ); 89 statwindow = new MStatWindow( TabWidget, "Stat" );
99 90
100 //--------- ABOUT TAB -------------- 91 //--------- ABOUT TAB --------------
101 92
102 about = new QWidget( TabWidget, "about" ); 93 about = new QWidget( TabWidget, "about" );
103 aboutLayout = new QGridLayout( about ); 94 aboutLayout = new QGridLayout( about );
104 aboutLayout->setSpacing( 6 ); 95 aboutLayout->setSpacing( 6 );
105 aboutLayout->setMargin( 11 ); 96 aboutLayout->setMargin( 11 );
106 97
107 PixmapLabel1_3_2 = new QLabel( about, "PixmapLabel1_3_2" ); 98 PixmapLabel1_3_2 = new QLabel( about, "PixmapLabel1_3_2" );
108 PixmapLabel1_3_2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, PixmapLabel1_3_2->sizePolicy().hasHeightForWidth() ) ); 99 PixmapLabel1_3_2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, PixmapLabel1_3_2->sizePolicy().hasHeightForWidth() ) );
109 PixmapLabel1_3_2->setFrameShape( QLabel::Panel ); 100 PixmapLabel1_3_2->setFrameShape( QLabel::Panel );
110 PixmapLabel1_3_2->setFrameShadow( QLabel::Sunken ); 101 PixmapLabel1_3_2->setFrameShadow( QLabel::Sunken );
111 PixmapLabel1_3_2->setLineWidth( 2 ); 102 PixmapLabel1_3_2->setLineWidth( 2 );
112 PixmapLabel1_3_2->setMargin( 0 ); 103 PixmapLabel1_3_2->setMargin( 0 );
113 PixmapLabel1_3_2->setMidLineWidth( 0 ); 104 PixmapLabel1_3_2->setMidLineWidth( 0 );
114 PixmapLabel1_3_2->setPixmap( Resource::loadPixmap( "wellenreiter/logo" ) ); 105 PixmapLabel1_3_2->setPixmap( Resource::loadPixmap( "wellenreiter/logo" ) );
115 PixmapLabel1_3_2->setScaledContents( TRUE ); 106 PixmapLabel1_3_2->setScaledContents( TRUE );
116 PixmapLabel1_3_2->setAlignment( int( QLabel::AlignCenter ) ); 107 PixmapLabel1_3_2->setAlignment( int( QLabel::AlignCenter ) );
117 108
118 aboutLayout->addWidget( PixmapLabel1_3_2, 0, 0 ); 109 aboutLayout->addWidget( PixmapLabel1_3_2, 0, 0 );
119 110
120 TextLabel1_4_2 = new QLabel( about, "TextLabel1_4_2" ); 111 TextLabel1_4_2 = new QLabel( about, "TextLabel1_4_2" );
121 QFont TextLabel1_4_2_font( TextLabel1_4_2->font() ); 112 QFont TextLabel1_4_2_font( TextLabel1_4_2->font() );
122 TextLabel1_4_2_font.setFamily( "adobe-helvetica" ); 113 TextLabel1_4_2_font.setFamily( "adobe-helvetica" );
123 TextLabel1_4_2_font.setPointSize( 10 ); 114 TextLabel1_4_2_font.setPointSize( 10 );
124 TextLabel1_4_2->setFont( TextLabel1_4_2_font ); 115 TextLabel1_4_2->setFont( TextLabel1_4_2_font );
125 TextLabel1_4_2->setText( tr( "<p align=center>\n" 116 TextLabel1_4_2->setText( tr( "<p align=center>\n"
126"<hr>\n" 117"<hr>\n"
127"Michael 'Mickey' Lauer<br><hr>\n" 118"Michael 'Mickey' Lauer<br><hr>\n"
128"Max Moser<br>\n" 119"Max Moser<br>\n"
129"Martin J. Muench<br>\n" 120"Martin J. Muench<br>\n"
130"<b>www.wellenreiter.net</b>\n" 121"<b>www.wellenreiter.net</b>\n"
131"</p>" ) ); 122"</p>" ) );
132 TextLabel1_4_2->setAlignment( int( QLabel::AlignCenter ) ); 123 TextLabel1_4_2->setAlignment( int( QLabel::AlignCenter ) );
133 124
134 aboutLayout->addWidget( TextLabel1_4_2, 1, 0 ); 125 aboutLayout->addWidget( TextLabel1_4_2, 1, 0 );
135 126
136#ifdef QWS 127#ifdef QWS
137 TabWidget->addTab( ap, "wellenreiter/networks", tr( "Nets" ) ); 128 TabWidget->addTab( ap, "wellenreiter/networks", tr( "Nets" ) );
138 TabWidget->addTab( graphwindow, "wellenreiter/graph", tr( "Graph" ) ); 129 TabWidget->addTab( graphwindow, "wellenreiter/graph", tr( "Graph" ) );
139 TabWidget->addTab( logwindow, "wellenreiter/log", tr( "Log" ) ); 130 TabWidget->addTab( logwindow, "wellenreiter/log", tr( "Log" ) );
140 TabWidget->addTab( hexwindow, "wellenreiter/hex", tr( "Hex" ) ); 131 TabWidget->addTab( hexwindow, "wellenreiter/hex", tr( "Hex" ) );
141 TabWidget->addTab( statwindow, "wellenreiter/stat", tr( "Stat" ) ); 132 TabWidget->addTab( statwindow, "wellenreiter/stat", tr( "Stat" ) );
142 TabWidget->addTab( about, "wellenreiter/about", tr( "About" ) ); 133 TabWidget->addTab( about, "wellenreiter/about", tr( "About" ) );
143#else 134#else
144 TabWidget->addTab( ap, /* "wellenreiter/networks", */ tr( "Networks" ) ); 135 TabWidget->addTab( ap, /* "wellenreiter/networks", */ tr( "Networks" ) );
145 TabWidget->addTab( graphwindow, /* "wellenreiter/graph", */ tr( "Graph" ) ); 136 TabWidget->addTab( graphwindow, /* "wellenreiter/graph", */ tr( "Graph" ) );
146 TabWidget->addTab( logwindow, /* "wellenreiter/log", */ tr( "Log" ) ); 137 TabWidget->addTab( logwindow, /* "wellenreiter/log", */ tr( "Log" ) );
147 TabWidget->addTab( hexwindow, /* "wellenreiter/hex", */ tr( "Hex" ) ); 138 TabWidget->addTab( hexwindow, /* "wellenreiter/hex", */ tr( "Hex" ) );
148 TabWidget->addTab( statwindow, /* "wellenreiter/hex", */ tr( "Stat" ) ); 139 TabWidget->addTab( statwindow, /* "wellenreiter/hex", */ tr( "Stat" ) );
149 TabWidget->addTab( about, /* "wellenreiter/about", */ tr( "About" ) ); 140 TabWidget->addTab( about, /* "wellenreiter/about", */ tr( "About" ) );
150#endif 141#endif
151 WellenreiterBaseLayout->addWidget( TabWidget ); 142 WellenreiterBaseLayout->addWidget( TabWidget );
152 143
153#ifdef QWS 144#ifdef QWS
154 TabWidget->setCurrentTab( tr( "Nets" ) ); 145 TabWidget->setCurrentTab( tr( "Nets" ) );
155#endif 146#endif
156 147
157} 148}
158 149
159/* 150/*
160 * Destroys the object and frees any allocated resources 151 * Destroys the object and frees any allocated resources
161 */ 152 */
162WellenreiterBase::~WellenreiterBase() 153WellenreiterBase::~WellenreiterBase()
163{ 154{
164 // no need to delete child widgets, Qt does it all for us 155 // no need to delete child widgets, Qt does it all for us
165} 156}
166 157
167/* 158/*
168 * Main event handler. Reimplemented to handle application 159 * Main event handler. Reimplemented to handle application
169 * font changes 160 * font changes
170 */ 161 */
171bool WellenreiterBase::event( QEvent* ev ) 162bool WellenreiterBase::event( QEvent* ev )
172{ 163{
173 bool ret = QWidget::event( ev ); 164 bool ret = QWidget::event( ev );
174 if ( ev->type() == QEvent::ApplicationFontChange ) { 165 if ( ev->type() == QEvent::ApplicationFontChange ) {
175 //QFont Log_2_font( Log_2->font() ); 166 //QFont Log_2_font( Log_2->font() );
176 //Log_2_font.setFamily( "adobe-courier" ); 167 //Log_2_font.setFamily( "adobe-courier" );
177 //Log_2_font.setPointSize( 8 ); 168 //Log_2_font.setPointSize( 8 );
178 //Log_2->setFont( Log_2_font ); 169 //Log_2->setFont( Log_2_font );
179 QFont TextLabel1_4_2_font( TextLabel1_4_2->font() ); 170 QFont TextLabel1_4_2_font( TextLabel1_4_2->font() );
180 TextLabel1_4_2_font.setFamily( "adobe-helvetica" ); 171 TextLabel1_4_2_font.setFamily( "adobe-helvetica" );
181 TextLabel1_4_2_font.setPointSize( 10 ); 172 TextLabel1_4_2_font.setPointSize( 10 );
182 TextLabel1_4_2->setFont( TextLabel1_4_2_font ); 173 TextLabel1_4_2->setFont( TextLabel1_4_2_font );
183 } 174 }
184 return ret; 175 return ret;
185} 176}
186 177