summaryrefslogtreecommitdiff
path: root/noncore
Side-by-side diff
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mailit/emailclient.cpp322
-rw-r--r--noncore/net/mailit/emaillistitem.cpp73
-rw-r--r--noncore/net/mailit/emaillistitem.h3
-rw-r--r--noncore/net/mailit/mailit.pro6
-rw-r--r--noncore/net/mailit/mailitwindow.h1
-rw-r--r--noncore/net/mailit/main.cpp10
-rw-r--r--noncore/net/opieftp/main.cpp15
-rw-r--r--noncore/net/opieftp/opieftp.cpp58
-rw-r--r--noncore/net/opieftp/opieftp.h3
-rw-r--r--noncore/net/opieftp/opieftp.pro6
-rw-r--r--noncore/net/opieirc/.cvsignore1
-rw-r--r--noncore/net/opieirc/main.cpp9
-rw-r--r--noncore/net/opieirc/mainwindow.h1
-rw-r--r--noncore/net/opieirc/opieirc.pro7
-rw-r--r--noncore/net/opietooth/blue-pin/blue-pin.pro8
-rw-r--r--noncore/net/opietooth/manager/.cvsignore4
-rw-r--r--noncore/net/opietooth/manager/bluebase.cpp21
-rw-r--r--noncore/net/opietooth/manager/bluebase.h6
-rw-r--r--noncore/net/opietooth/manager/bluetoothbase.ui680
-rw-r--r--noncore/net/opietooth/manager/main.cpp17
-rw-r--r--noncore/net/opietooth/manager/manager.pro16
-rw-r--r--noncore/net/opietooth/manager/rfcommassigndialogbase.ui44
-rw-r--r--noncore/net/opietooth/manager/rfcommassigndialogimpl.cpp120
-rw-r--r--noncore/net/opietooth/manager/rfcommassigndialogimpl.h39
-rw-r--r--noncore/net/opietooth/manager/rfcommassigndialogitem.cpp54
-rw-r--r--noncore/net/opietooth/manager/rfcommassigndialogitem.h40
-rw-r--r--noncore/net/opietooth/manager/rfcommconfhandler.cpp114
-rw-r--r--noncore/net/opietooth/manager/rfcommconfhandler.h54
-rw-r--r--noncore/net/opietooth/manager/rfcommdialogitembase.ui216
-rw-r--r--noncore/net/opietooth/manager/rfcpopup.cpp21
-rw-r--r--noncore/net/opietooth/manager/rfcpopup.h9
-rw-r--r--noncore/net/opietooth/manager/stdpopups.cpp2
-rw-r--r--noncore/net/ubrowser/main.cpp13
-rw-r--r--noncore/net/ubrowser/mainview.cpp2
-rw-r--r--noncore/net/ubrowser/mainview.h3
-rw-r--r--noncore/net/ubrowser/ubrowser.pro4
-rw-r--r--noncore/unsupported/mailit/emailclient.cpp322
-rw-r--r--noncore/unsupported/mailit/emaillistitem.cpp73
-rw-r--r--noncore/unsupported/mailit/emaillistitem.h3
-rw-r--r--noncore/unsupported/mailit/mailit.pro6
-rw-r--r--noncore/unsupported/mailit/mailitwindow.h1
-rw-r--r--noncore/unsupported/mailit/main.cpp10
42 files changed, 1626 insertions, 791 deletions
diff --git a/noncore/net/mailit/emailclient.cpp b/noncore/net/mailit/emailclient.cpp
index 90664bb..8359acf 100644
--- a/noncore/net/mailit/emailclient.cpp
+++ b/noncore/net/mailit/emailclient.cpp
@@ -43,8 +43,8 @@ MailAccount* AccountList::dupl(MailAccount *in)
EmailClient::EmailClient( QWidget* parent, const char* name, WFlags fl )
: QMainWindow( parent, name, fl )
-{
+{
emailHandler = new EmailHandler();
addressList = new AddressList();
-
+
sending = FALSE;
receiving = FALSE;
@@ -53,19 +53,19 @@ EmailClient::EmailClient( QWidget* parent, const char* name, WFlags fl )
accountIdCount = 1;
allAccounts = FALSE;
-
+
init();
-
-
-
+
+
+
connect(emailHandler, SIGNAL(mailSent()), this, SLOT(mailSent()) );
-
+
connect(emailHandler, SIGNAL(smtpError(int,const QString &)), this,
SLOT(smtpError(int,const QString &)) );
connect(emailHandler, SIGNAL(popError(int,const QString &)), this,
SLOT(popError(int,const QString &)) );
-
+
connect(inboxView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(inboxItemSelected()) );
connect(outboxView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(outboxItemSelected()) );
-
+
connect(inboxView, SIGNAL(pressed(QListViewItem *)), this, SLOT(inboxItemPressed()) );
connect(inboxView, SIGNAL(clicked(QListViewItem *)), this, SLOT(inboxItemReleased()) );
@@ -75,18 +75,18 @@ EmailClient::EmailClient( QWidget* parent, const char* name, WFlags fl )
connect(emailHandler, SIGNAL(mailTransfered(int)), this,
SLOT(allMailArrived(int)) );
-
+
mailconf = new Config("mailit");
//In case Synchronize is not defined in settings.txt
readSettings();
-
+
updateAccounts();
-
+
lineShift = "\n";
readMail();
lineShift = "\r\n";
-
+
mailboxView->setCurrentTab(0); //ensure that inbox has focus
-
+
/*channel = new QCopChannel( "QPE/Application/mailit", this );
connect( channel, SIGNAL(received(const QCString&, const QByteArray&)),
@@ -105,8 +105,8 @@ EmailClient::~EmailClient()
saveMail(getPath(FALSE) + "outbox.txt", outboxView);
saveSettings();
-
+
mailconf->write();
delete mailconf;
-
+
}
@@ -114,7 +114,7 @@ void EmailClient::init()
{
initStatusBar(this);
-
+
setToolBarsMovable(FALSE);
-
+
bar = new QToolBar(this);
QWhatsThis::add(bar,tr("Main operation toolbar"));
@@ -128,5 +128,5 @@ void EmailClient::init()
QPopupMenu *configure = new QPopupMenu(mb);
mb->insertItem( tr( "Accounts" ), configure);
-
+
selectAccountMenu = new QPopupMenu(mb);
editAccountMenu = new QPopupMenu(mb);
@@ -143,5 +143,5 @@ void EmailClient::init()
getMailButton->setPopup(selectAccountMenu);
-
+
sendMailButton = new QAction(tr("Send mail"), Resource::loadPixmap("mailit/sendqueue"), QString::null, 0, this, 0);
connect(sendMailButton, SIGNAL(activated()), this, SLOT(sendQuedMail()) );
@@ -149,5 +149,5 @@ void EmailClient::init()
sendMailButton->addTo(mail);
sendMailButton->setWhatsThis("Send mail queued in the outbox");
-
+
composeButton = new QAction(tr("Compose"), Resource::loadPixmap("new"), QString::null, 0, this, 0);
connect(composeButton, SIGNAL(activated()), this, SLOT(compose()) );
@@ -155,5 +155,5 @@ void EmailClient::init()
composeButton->addTo(mail);
composeButton->setWhatsThis("Compose a new mail");
-
+
cancelButton = new QAction(tr("Cancel transfer"), Resource::loadPixmap("close"), QString::null, 0, this, 0);
connect(cancelButton, SIGNAL(activated()), this, SLOT(cancel()) );
@@ -162,11 +162,11 @@ void EmailClient::init()
cancelButton->setEnabled(FALSE);
cancelButton->setWhatsThis("Stop the currently active mail transfer");
-
-
+
+
deleteButton = new QAction( tr( "Delete" ), Resource::loadPixmap( "trash" ), QString::null, 0, this, 0 );
connect( deleteButton, SIGNAL( activated() ), this, SLOT( deleteItem() ) );
deleteButton->addTo(bar);
deleteButton->setWhatsThis("Remove the currently selected eMail(s)");
-
+
mailboxView = new OTabWidget( this, "mailboxView" );
@@ -206,7 +206,7 @@ void EmailClient::init()
grid_3->addWidget( outboxView, 0, 0 );
mailboxView->addTab( widget_2,"mailit/outbox", tr( "Outbox" ) );
-
+
setCentralWidget(mailboxView);
-
+
}
@@ -215,5 +215,5 @@ void EmailClient::initStatusBar(QWidget* parent)
statusBar = new QStatusBar(parent);
statusBar->setSizeGripEnabled(FALSE);
-
+
status1Label = new QLabel( tr("Idle"), statusBar);
status2Label = new QLabel("", statusBar);
@@ -222,5 +222,5 @@ void EmailClient::initStatusBar(QWidget* parent)
connect(emailHandler, SIGNAL(updateSmtpStatus(const QString &)),
status2Label, SLOT(setText(const QString &)) );
-
+
progressBar = new QProgressBar(statusBar);
@@ -261,10 +261,10 @@ void EmailClient::enqueMail(const Email &mail)
return;
}
-
+
if (accountList.count() > 0) {
currentAccount = accountList.first();
qWarning("using account " + currentAccount->name);
}
-
+
Email addMail = mail;
addMail.from = currentAccount->name;
@@ -272,7 +272,7 @@ void EmailClient::enqueMail(const Email &mail)
addMail.rawMail.prepend("From: \"" + addMail.from + "\" <" + addMail.fromMail + ">\n");
item = new EmailListItem(outboxView, addMail, false);
-
+
mailboxView->setCurrentTab(1);
-
+
}
@@ -282,5 +282,5 @@ void EmailClient::sendQuedMail()
if (accountList.count() == 0) {
- QMessageBox::warning(qApp->activeWindow(), "No account selected", "You must create an account", "OK\n");
+ QMessageBox::warning(qApp->activeWindow(), tr("No account selected"), tr("You must create an account"), "OK\n");
return;
}
@@ -314,5 +314,5 @@ void EmailClient::mailSent()
sending = FALSE;
sendMailButton->setEnabled(TRUE);
-
+
quedMessages.clear();
outboxView->clear(); //should be moved to an sentBox
@@ -320,13 +320,13 @@ void EmailClient::mailSent()
void EmailClient::getNewMail() {
-
+
if (accountList.count() == 0) {
- QMessageBox::warning(qApp->activeWindow(),"No account selected",
- "You must create an account", "OK\n");
+ QMessageBox::warning(qApp->activeWindow(),tr("No account selected"),
+ tr("You must create an account"), "OK\n");
return;
}
-
+
setMailAccount();
-
+
receiving = TRUE;
previewingMail = TRUE;
@@ -334,8 +334,8 @@ void EmailClient::getNewMail() {
cancelButton->setEnabled(TRUE);
selectAccountMenu->setEnabled(FALSE);
-
+
status1Label->setText(currentAccount->accountName + " headers");
progressBar->reset();
-
+
//get any previous mails not downloaded and add to queue
/*mailDownloadList.clear();
@@ -349,7 +349,7 @@ void EmailClient::getNewMail() {
item = (EmailListItem *) item->nextSibling();
}*/
-
+
emailHandler->getMailHeaders();
-
+
}
@@ -358,5 +358,5 @@ void EmailClient::getAllNewMail()
allAccounts = TRUE;
currentAccount = accountList.first();
- getNewMail();
+ getNewMail();
}
@@ -368,55 +368,55 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk)
emailHandler->parse( mail.rawMail, lineShift, &newMail);
mailconf->setGroup(newMail.id);
-
- if (fromDisk)
+
+ if (fromDisk)
{
-
+
newMail.downloaded = mailconf->readBoolEntry("downloaded");
newMail.size = mailconf->readNumEntry("size");
newMail.serverId = mailconf->readNumEntry("serverid");
newMail.fromAccountId = mailconf->readNumEntry("fromaccountid");
- }
- else
+ }
+ else
{ //mail arrived from server
-
+
newMail.serverId = mail.serverId;
newMail.size = mail.size;
newMail.downloaded = mail.downloaded;
-
+
newMail.fromAccountId = emailHandler->getAccount()->id;
mailconf->writeEntry("fromaccountid", newMail.fromAccountId);
}
-
+
//add if read or not
newMail.read = mailconf->readBoolEntry("mailread");
-
+
//check if new mail
if ( (thisMailId = mailconf->readNumEntry("internalmailid", -1)) == -1) {
thisMailId = mailIdCount;
mailIdCount++;
-
+
//set server count, so that if the user aborts, the new
//header is not reloaded
if ((currentAccount)&&(currentAccount->synchronize))
currentAccount->lastServerMailCount++;
-
+
mailconf->writeEntry("internalmailid", thisMailId);
mailconf->writeEntry("downloaded", newMail.downloaded);
mailconf->writeEntry("size", (int) newMail.size);
mailconf->writeEntry("serverid", newMail.serverId);
-
+
//addressList->addContact(newMail.fromMail, newMail.from);
}
-
+
mailconf->writeEntry("downloaded", newMail.downloaded);
-
+
QString stringMailId;
stringMailId.setNum(thisMailId);
//see if any attatchments needs to be stored
-
+
for ( ePtr=newMail.files.first(); ePtr != 0; ePtr=newMail.files.next() ) {
QString stringId;
stringId.setNum(ePtr->id);
-
+
int id = mailconf->readNumEntry("enclosureid_" + stringId);
if (id != ePtr->id) { //new entry
@@ -427,5 +427,5 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk)
mailconf->writeEntry("saved_" + stringId, ePtr->saved);
mailconf->writeEntry("installed_" + stringId, FALSE);
-
+
ePtr->name = stringMailId + "_" + stringId;
ePtr->path = getPath(TRUE);
@@ -445,16 +445,16 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk)
ePtr->name = mailconf->readEntry("filename_" + stringId);
ePtr->path = mailconf->readEntry("path_" + stringId);
- }
+ }
}
}
bool found=false;
-
- if (!fromDisk)
+
+ if (!fromDisk)
{
-
+
Email *mailPtr;
item = (EmailListItem *) inboxView->firstChild();
- while ((item != NULL)&&(!found))
+ while ((item != NULL)&&(!found))
{
mailPtr = item->getMail();
@@ -473,10 +473,10 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk)
// {
// item->setPixmap(0, Resource::loadPixmap("mailit/attach"));
-// }
+// }
/*if (!newMail.downloaded)
mailDownloadList.sizeInsert(newMail.serverId, newMail.size);*/
-
+
mailboxView->setCurrentTab(0);
-
+
}
@@ -496,10 +496,10 @@ void EmailClient::allMailArrived(int /*count*/)
selectAccountMenu->setEnabled(TRUE);
status1Label->setText("Idle");
-
+
progressBar->reset();
return;
}
//}
-
+
// all headers downloaded from server, start downloading remaining mails
previewingMail = FALSE;
@@ -507,5 +507,5 @@ void EmailClient::allMailArrived(int /*count*/)
progressBar->reset();
-
+
mailboxView->setCurrentTab(0);
}
@@ -522,5 +522,5 @@ void EmailClient::smtpError(int code, const QString & Msg)
{
QString temp;
-
+
if (code == ErrUnknownResponse) {
temp = tr("<qt>Unknown response from server</qt>");
@@ -534,5 +534,5 @@ void EmailClient::smtpError(int code, const QString & Msg)
temp = tr("<qt>socket packet error</qt>");
}
-
+
if (code != ErrCancel) {
QMessageBox::warning(qApp->activeWindow(), "Sending error", temp, "OK\n");
@@ -540,5 +540,5 @@ void EmailClient::smtpError(int code, const QString & Msg)
status2Label->setText("Aborted by user");
}
-
+
sending = FALSE;
sendMailButton->setEnabled(TRUE);
@@ -550,5 +550,5 @@ void EmailClient::popError(int code, const QString & Msg)
{
QString temp;
-
+
if (code == ErrUnknownResponse) {
temp = tr("<qt>Unknown response from server</qt>");
@@ -563,5 +563,5 @@ void EmailClient::popError(int code, const QString & Msg)
} else if (code == QSocket::ErrSocketRead) {
temp = tr("<qt>socket packet error</qt>");
- }
+ }
if (code != ErrCancel) {
@@ -571,5 +571,5 @@ void EmailClient::popError(int code, const QString & Msg)
status2Label->setText("Aborted by user");
}
-
+
receiving = FALSE;
getMailButton->setEnabled(TRUE);
@@ -581,5 +581,5 @@ void EmailClient::inboxItemSelected()
{
//killTimer(timerID);
-
+
item = (EmailListItem*) inboxView->selectedItem();
if (item != NULL) {
@@ -591,5 +591,5 @@ void EmailClient::outboxItemSelected()
{
//killTimer(timerID);
-
+
item = (EmailListItem*) outboxView->selectedItem();
if (item != NULL) {
@@ -606,10 +606,10 @@ void EmailClient::readMail()
QFile f(getPath(FALSE) + "inbox.txt");
-
+
if ( f.open(IO_ReadOnly) ) { // file opened successfully
QTextStream t( &f ); // use a text stream
s = t.read();
f.close();
-
+
start = 0;
del = "\n.\n";
@@ -618,5 +618,5 @@ void EmailClient::readMail()
if (stop == -1)
stop = s.length() - del.length();
-
+
mail.rawMail = s.mid(start, stop + del.length() - start );
start = stop + del.length();
@@ -624,5 +624,5 @@ void EmailClient::readMail()
}
}
-
+
QFile fo(getPath(FALSE) + "outbox.txt");
if ( fo.open(IO_ReadOnly) ) { // file opened successfully
@@ -630,5 +630,5 @@ void EmailClient::readMail()
s = t.read();
fo.close();
-
+
start = 0;
del = "\n.\n";
@@ -637,5 +637,5 @@ void EmailClient::readMail()
if (stop == -1)
stop = s.length() - del.length();
-
+
mail.rawMail = s.mid(start, stop + del.length() - start );
start = stop + del.length();
@@ -644,5 +644,5 @@ void EmailClient::readMail()
mail.received = false;
enqueMail(mail);
-
+
}
}
@@ -653,5 +653,5 @@ void EmailClient::saveMail(const QString &fileName, QListView *view)
QFile f(fileName);
Email *mail;
-
+
if (! f.open(IO_WriteOnly) ) {
qWarning("could not open file");
@@ -663,8 +663,8 @@ void EmailClient::saveMail(const QString &fileName, QListView *view)
mail = item->getMail();
t << mail->rawMail;
-
+
mailconf->setGroup(mail->id);
mailconf->writeEntry("mailread", mail->read);
-
+
item = (EmailListItem *) item->nextSibling();
}
@@ -677,17 +677,17 @@ QString EmailClient::getPath(bool enclosurePath)
QString basePath = "qtmail";
QString enclosures = "enclosures";
-
+
QDir dir = (QString(getenv("HOME")) + "/Applications/" + basePath);
if ( !dir.exists() )
dir.mkdir( dir.path() );
-
+
if (enclosurePath) {
dir = (QString(getenv("HOME")) + "/Applications/" + basePath + "/" + enclosures);
-
+
if ( !dir.exists() )
dir.mkdir( dir.path() );
-
+
return (dir.path() + "/");
-
+
}
return (dir.path() + "/");
@@ -697,11 +697,11 @@ void EmailClient::readSettings()
{
int y,acc_count;
-
+
mailconf->setGroup("mailitglobal");
acc_count=mailconf->readNumEntry("Accounts",0);
-
- for (int accountPos = 0;accountPos<acc_count ; accountPos++)
+
+ for (int accountPos = 0;accountPos<acc_count ; accountPos++)
{
- mailconf->setGroup("Account_"+QString::number(accountPos+1)); //Account numbers start at 1 ...
+ mailconf->setGroup("Account_"+QString::number(accountPos+1)); //Account numbers start at 1 ...
account.accountName = mailconf->readEntry("AccName","");
account.name = mailconf->readEntry("UserName","");
@@ -715,21 +715,21 @@ void EmailClient::readSettings()
account.lastServerMailCount = 0;
account.synchronize = FALSE;
-
+
account.synchronize = (mailconf->readEntry("Synchronize","No")=="Yes");
if (account.synchronize)
{
- mailconf->readNumEntry("LASTSERVERMAILCOUNT",0);
+ mailconf->readNumEntry("LASTSERVERMAILCOUNT",0);
}
-
+
accountList.append(&account);
}
-
+
mailconf->setGroup("mailitglobal");
-
- if ( (y = mailconf->readNumEntry("mailidcount", -1)) != -1)
+
+ if ( (y = mailconf->readNumEntry("mailidcount", -1)) != -1)
{
mailIdCount = y;
}
- if ( (y = mailconf->readNumEntry("accountidcount", -1)) != -1)
+ if ( (y = mailconf->readNumEntry("accountidcount", -1)) != -1)
{
accountIdCount = y;
@@ -742,13 +742,13 @@ void EmailClient::saveSettings()
MailAccount *accountPtr;
-
- if (!mailconf)
+
+ if (!mailconf)
{
qWarning("could not save settings");
return;
}
-
+
for (accountPtr = accountList.first(); accountPtr != 0;
- accountPtr = accountList.next())
+ accountPtr = accountList.next())
{
mailconf->setGroup("Account_"+QString::number(++acc_count));
@@ -761,16 +761,16 @@ void EmailClient::saveSettings()
mailconf->writeEntry("SMTPServer",accountPtr->smtpServer);
mailconf->writeEntry("AccountId",accountPtr->id);
- if (accountPtr->synchronize)
+ if (accountPtr->synchronize)
{
mailconf->writeEntry("Synchronize","Yes");
mailconf->writeEntry("HeaderLimit",accountPtr->syncLimit);
mailconf->writeEntry("LastServerMailCount",accountPtr->lastServerMailCount);
- }
- else
+ }
+ else
{
mailconf->writeEntry("Synchronize", "No");
}
}
-
+
mailconf->setGroup("mailitglobal");
mailconf->writeEntry("Accounts",acc_count);
@@ -786,5 +786,5 @@ void EmailClient::selectAccount(int id)
getNewMail();
} else {
- emit newCaption("Mailit ! No account defined");
+ emit newCaption( tr("Mailit ! No account defined") );
}
}
@@ -793,5 +793,5 @@ void EmailClient::editAccount(int id)
{
MailAccount *newAccount;
-
+
editAccountView = new EditAccount(this, "account", TRUE);
if (id == newAccountId) { //new account
@@ -802,8 +802,8 @@ void EmailClient::editAccount(int id)
editAccountView->setAccount(newAccount, FALSE);
}
-
+
editAccountView->showMaximized();
editAccountView->exec();
-
+
if (editAccountView->result() == QDialog::Accepted) {
if (id == newAccountId) {
@@ -816,5 +816,5 @@ void EmailClient::editAccount(int id)
}
}
-
+
delete editAccountView;
}
@@ -824,10 +824,10 @@ void EmailClient::deleteAccount(int id)
MailAccount *newAccount;
QString message;
-
+
newAccount = accountList.at(id);
- message = "Delete account:\n" + newAccount->accountName;
+ message = tr("Delete account:\n") + newAccount->accountName;
switch( QMessageBox::warning( this, "Mailit", message,
"Yes", "No", 0, 0, 1 ) ) {
-
+
case 0: accountList.remove(id);
updateAccounts();
@@ -841,5 +841,5 @@ void EmailClient::updateAccounts()
{
MailAccount *accountPtr;
-
+
//rebuild menus, clear all first
editAccountMenu->clear();
@@ -847,12 +847,12 @@ void EmailClient::updateAccounts()
deleteAccountMenu->clear();
- newAccountId = editAccountMenu->insertItem("New", this,
+ newAccountId = editAccountMenu->insertItem( tr("New"), this,
SLOT(editAccount(int)) );
editAccountMenu->insertSeparator();
-
+
idCount = 0;
for (accountPtr = accountList.first(); accountPtr != 0;
accountPtr = accountList.next()) {
-
+
editAccountMenu->insertItem(accountPtr->accountName,
this, SLOT(editAccount(int)), 0, idCount);
@@ -869,9 +869,9 @@ void EmailClient::deleteMail(EmailListItem *mailItem, bool &inbox)
Email *mPtr;
Enclosure *ePtr;
-
- if (inbox)
+
+ if (inbox)
{
mPtr = mailItem->getMail();
-
+
//if mail is in queue for download, remove it from
//queue if possible
@@ -880,8 +880,8 @@ void EmailClient::deleteMail(EmailListItem *mailItem, bool &inbox)
mailDownloadList.remove(mPtr->serverId, mPtr->size);
}
-
+
mailconf->setGroup(mPtr->id);
mailconf->clearGroup();
-
+
//delete any temporary attatchemnts storing
for ( ePtr=mPtr->files.first(); ePtr != 0; ePtr=mPtr->files.next() ) {
@@ -891,6 +891,6 @@ void EmailClient::deleteMail(EmailListItem *mailItem, bool &inbox)
}
inboxView->takeItem(mailItem);
- }
- else
+ }
+ else
{
outboxView->takeItem(mailItem);
@@ -906,5 +906,5 @@ void EmailClient::setMailSize(int size)
void EmailClient::setTotalSize(int /*size*/)
{
-
+
}
@@ -924,16 +924,16 @@ void EmailClient::deleteItem()
bool inbox=mailboxView->currentTab()==0;
QListView* box;
-
+
EmailListItem* eli;
// int pos;
-
+
inbox ? box=inboxView : box=outboxView;
-
+
eli=(EmailListItem*)box->selectedItem();
-
+
if (eli)
{
box->setSelected(eli->itemBelow(),true); //select the previous item
-
+
deleteMail(eli,(bool&)inbox); //remove mail entry
}
@@ -953,19 +953,19 @@ void EmailClient::inboxItemReleased()
{
//killTimer(timerID);
-
-
+
+
QPopupMenu *action = new QPopupMenu(this);
-
+
int reply=0;
-
+
action->insertItem(tr( "Reply To" ),this,SLOT(reply()));
action->insertItem( tr( "Reply All" ),this,SLOT(replyAll()));
action->insertItem( tr( "Forward" ), this,SLOT(forward()));
action->insertItem( tr( "Remove Mail" ), this,SLOT(remove()));
-
+
action->exec(QCursor::pos());
-
+
if (action) delete action;
-
+
}*/
@@ -978,19 +978,19 @@ Email* EmailClient::getCurrentMail()
return NULL;
}
-
+
void EmailClient::download(Email* mail)
{
MailAccount* acc=0;
-
+
tempMailDownloadList.clear();
tempMailDownloadList.sizeInsert(mail->serverId, mail->size);
-
+
acc=accountList.at(mail->fromAccountId-1);
if (acc)
- {
+ {
emailHandler->setAccount(*acc);
emailHandler->getMailByList(&tempMailDownloadList);
}
- else
+ else
QMessageBox::warning(qApp->activeWindow(),
tr("No account associated"), tr("There is no active account \nassociated to this mail\n it can not be downloaded"), "Abort\n");
@@ -1003,7 +1003,7 @@ void EmailClient::receive(const QCString& /*msg*/, const QByteArray& /*data*/)
//QDialog qd(qApp->activeWindow(),"Getting mail",true);
QVBoxLayout *vbProg = new QVBoxLayout( &qd );
-
+
initStatusBar(&qd);
-
+
if (statusBar==0)
{
@@ -1019,21 +1019,21 @@ void EmailClient::receive(const QCString& /*msg*/, const QByteArray& /*data*/)
}
else if (msg=="compose()")
- {
+ {
QDialog qd(qApp->activeWindow(),"Getting mail",true);
-
+
WriteMail wm(&qd,"write new mail");
QVBoxLayout vbProg( &qd );
-
+
wm.showMaximized();
vbProg.addWidget(&wm);
-
+
qd.showMaximized();
-
+
emit composeRequested();
qd.exec();
-
+
QMessageBox::warning(qApp->activeWindow(),tr("Info"), tr("Info"), "OK\n");
}
-
+
else if (msg=="dialog()")
{
diff --git a/noncore/net/mailit/emaillistitem.cpp b/noncore/net/mailit/emaillistitem.cpp
index fc9f766..a25f93a 100644
--- a/noncore/net/mailit/emaillistitem.cpp
+++ b/noncore/net/mailit/emaillistitem.cpp
@@ -26,7 +26,7 @@ EmailListItem::EmailListItem(QListView *parent, Email mailIn, bool inbox)
{
QString temp;
-
+
mail = mailIn;
-
+
if (inbox) {
setText(0, mail.from);
@@ -39,11 +39,12 @@ EmailListItem::EmailListItem(QListView *parent, Email mailIn, bool inbox)
}
setText(1, mail.subject);
- setText(2,mail.date);
-
+ // setText(2,mail.date);
+ setText(2,dateFromULCString(mail.date));
+
if (mailIn.files.count()>0)
{
setPixmap(0, Resource::loadPixmap("mailit/attach"));
}
-
+
selected = FALSE;
}
@@ -83,5 +84,5 @@ void EmailListItem::paintCell( QPainter *p, const QColorGroup &cg,
if (!mail.downloaded)
_cg.setColor( QColorGroup::Text, Qt::red);
-
+
/* if (selected) {
_cg.setColor(QColorGroup::Base, Qt::blue);
@@ -93,7 +94,65 @@ void EmailListItem::paintCell( QPainter *p, const QColorGroup &cg,
}
}
-*/
+*/
QListViewItem::paintCell( p, _cg, column, width, alignment );
_cg.setColor( QColorGroup::Text, c );
}
+
+/*
+ * Converts an E-Mail date (ULC) RFC 2822 conform to a QDateTime.
+ * Returning a QString with formatting of "YYYY-MM-DD HH:MM:SS"
+ * (zodiac: This method was tested with more than 300 inbox mails,
+ * it didn't slow down the loading of mail-it.)
+ */
+QString EmailListItem::dateFromULCString( QString ulcDate )
+{
+ QString sTemp, sTime;
+ int iPos, iDay, iMon=1, iYear;
+
+ iPos=ulcDate.find(',');
+ if (iPos) { // it has a day-of-week
+ ulcDate=ulcDate.remove(0,++iPos); //.stripWhiteSpace();
+ }
+
+ QStringList dateEntries = QStringList::split(" ",ulcDate,FALSE);
+ QStringList::Iterator iter = dateEntries.begin();
+
+ // Get day as DD
+ iDay = (*iter++).toInt();
+
+ // Get month as string Mmm
+ sTemp = (*iter++);
+ if (sTemp =="Jan") {iMon=1;} else
+ if (sTemp =="Feb") {iMon=2;} else
+ if (sTemp =="Mar") {iMon=3;} else
+ if (sTemp =="Apr") {iMon=4;} else
+ if (sTemp =="May") {iMon=5;} else
+ if (sTemp =="Jun") {iMon=6;} else
+ if (sTemp =="Jul") {iMon=7;} else
+ if (sTemp =="Aug") {iMon=8;} else
+ if (sTemp =="Sep") {iMon=9;} else
+ if (sTemp =="Oct") {iMon=10;} else
+ if (sTemp =="Nov") {iMon=11;} else
+ if (sTemp =="Dec") {iMon=12;}
+
+ // Get year as YYYY or YY
+ iYear = (*iter++).toInt();
+
+ QDate date = QDate(iYear, iMon, iDay);
+
+ // Convert timestring into a QTime
+ QStringList timeEntries = QStringList::split(":",(*iter++),FALSE);
+ QStringList::Iterator iterTime = timeEntries.begin();
+ iYear=(*iterTime++).toInt(); // var reuse.. *cough*
+ iMon=(*iterTime++).toInt();
+ iDay=(*iterTime++).toInt();
+ QTime time = QTime(iYear,iMon,iDay);
+
+ return QString::number(date.year())+"-"
+ +QString::number(date.month()).rightJustify(2,'0')+"-"
+ +QString::number(date.day()).rightJustify(2,'0')+" "
+ +time.toString();
+}
+
+
diff --git a/noncore/net/mailit/emaillistitem.h b/noncore/net/mailit/emaillistitem.h
index 642932c..129a774 100644
--- a/noncore/net/mailit/emaillistitem.h
+++ b/noncore/net/mailit/emaillistitem.h
@@ -33,5 +33,5 @@ public:
bool isItemSelected();
bool itemSelected();
-
+
protected:
void paintCell( QPainter *p, const QColorGroup &cg,
@@ -40,4 +40,5 @@ private:
Email mail;
bool selected;
+ QString dateFromULCString( QString ulc );
};
diff --git a/noncore/net/mailit/mailit.pro b/noncore/net/mailit/mailit.pro
index 5e9a83a..0224886 100644
--- a/noncore/net/mailit/mailit.pro
+++ b/noncore/net/mailit/mailit.pro
@@ -1,5 +1,4 @@
-TEMPLATE = app
TARGET = mailit
-CONFIG = qt warn_on release
+CONFIG = qt warn_on release quick-app
HEADERS = emailclient.h \
emailhandler.h \
@@ -38,7 +37,4 @@ DEPENDPATH += $(OPIEDIR)/include
LIBS += -lqpe -lopie
# -lssl
-MOC_DIR=qpeobj
-OBJECTS_DIR=qpeobj
-DESTDIR=$(OPIEDIR)/bin
TRANSLATIONS = ../../../i18n/de/mailit.ts \
diff --git a/noncore/net/mailit/mailitwindow.h b/noncore/net/mailit/mailitwindow.h
index e818d32..11e56b9 100644
--- a/noncore/net/mailit/mailitwindow.h
+++ b/noncore/net/mailit/mailitwindow.h
@@ -34,4 +34,5 @@ class MailItWindow: public QMainWindow
Q_OBJECT
public:
+ static QString appName() { return QString::fromLatin1("mailit"); }
MailItWindow(QWidget *parent = 0, const char *name = 0, WFlags fl = 0);
~MailItWindow();
diff --git a/noncore/net/mailit/main.cpp b/noncore/net/mailit/main.cpp
index 3a3e1fc..71f8877 100644
--- a/noncore/net/mailit/main.cpp
+++ b/noncore/net/mailit/main.cpp
@@ -21,9 +21,5 @@
#include "mailitwindow.h"
-int main(int argc, char* argv[])
-{
- QPEApplication a( argc, argv );
- MailItWindow mw(0, 0);
- a.showMainDocumentWidget(&mw);
- return a.exec();
-}
+#include <opie/oapplicationfactory.h>
+
+OPIE_EXPORT_APP( OApplicationFactory<MailItWindow> ) \ No newline at end of file
diff --git a/noncore/net/opieftp/main.cpp b/noncore/net/opieftp/main.cpp
index 4f5a7d4..0217e41 100644
--- a/noncore/net/opieftp/main.cpp
+++ b/noncore/net/opieftp/main.cpp
@@ -11,17 +11,6 @@
* (at your option) any later version. *
***************************************************************************/
-#include <qpe/qpeapplication.h>
-
-
-
+#include <opie/oapplicationfactory.h>
#include "opieftp.h"
-int main(int argc, char *argv[])
-{
- QPEApplication a(argc, argv);
-
- OpieFtp opieftp;
- a.showMainWidget( &opieftp);
- return a.exec();
-}
-
+OPIE_EXPORT_APP( OApplicationFactory<OpieFtp> )
diff --git a/noncore/net/opieftp/opieftp.cpp b/noncore/net/opieftp/opieftp.cpp
index 269449e..ee7d32f 100644
--- a/noncore/net/opieftp/opieftp.cpp
+++ b/noncore/net/opieftp/opieftp.cpp
@@ -58,6 +58,6 @@ static int log_progress(netbuf *, int xfered, void *)
}
-OpieFtp::OpieFtp( )
- : QMainWindow( )
+OpieFtp::OpieFtp( QWidget* parent, const char* name, WFlags fl)
+ : QMainWindow( parent, name, fl )
{
setCaption( tr( "OpieFtp" ) );
@@ -82,5 +82,5 @@ OpieFtp::OpieFtp( )
remoteMenu = new QPopupMenu( this );
tabMenu = new QPopupMenu( this );
-
+
layout->addMultiCellWidget( menuBar, 0, 0, 0, 2 );
@@ -270,16 +270,16 @@ OpieFtp::OpieFtp( )
connect( serverListView, SIGNAL( highlighted( const QString &)),
this,SLOT( serverListClicked( const QString &) ) );
-
- connectServerBtn = new QPushButton( "Connect", tab_3 , "ConnectButton" );
+
+ connectServerBtn = new QPushButton( tr("Connect"), tab_3 , "ConnectButton" );
tabLayout_3->addMultiCellWidget( connectServerBtn, 6, 6, 0, 1);
connectServerBtn->setToggleButton(TRUE);
connect(connectServerBtn,SIGNAL( toggled( bool)),SLOT( connectorBtnToggled(bool) ));
- newServerButton= new QPushButton( "Add", tab_3 , "NewServerButton" );
+ newServerButton= new QPushButton( tr("Add"), tab_3 , "NewServerButton" );
tabLayout_3->addMultiCellWidget( newServerButton, 6, 6, 2, 2);
connect( newServerButton,SIGNAL( clicked()),SLOT( NewServer() ));
QPushButton *deleteServerBtn;
- deleteServerBtn = new QPushButton( "Delete", tab_3 , "OpenButton" );
+ deleteServerBtn = new QPushButton( tr("Delete"), tab_3 , "OpenButton" );
tabLayout_3->addMultiCellWidget( deleteServerBtn, 6, 6, 3, 3);
@@ -320,5 +320,5 @@ OpieFtp::OpieFtp( )
// ServerComboBox->setCurrentItem(currentServerConfig);
-
+
TabWidget->setCurrentPage(2);
}
@@ -358,5 +358,5 @@ void OpieFtp::tabChanged(QWidget *)
if(homeButton->isHidden())
homeButton->show();
-
+
}
if (TabWidget->currentPageIndex() == 1) {
@@ -450,5 +450,5 @@ void OpieFtp::connector()
// currentServerConfig=-1;
// if(ftp_pass != cfg.readEntry(cfg.readEntry("Username")))
-// currentServerConfig=-1;
+// currentServerConfig=-1;
@@ -594,5 +594,5 @@ void OpieFtp::remoteDownload()
Remote_View->clearSelection();
}
- Remote_View->setFocus();
+ Remote_View->setFocus();
TabWidget->setCurrentPage(0);
populateLocalView();
@@ -670,5 +670,5 @@ void OpieFtp::populateLocalView()
item = new QListViewItem( Local_View,fileL, fileDate, fileS );
QPixmap pm;
-
+
if(isDir || fileL.find("/",0,TRUE) != -1) {
if( !QDir( fi->filePath() ).isReadable())
@@ -730,5 +730,5 @@ bool OpieFtp::populateRemoteView( )
fileDate = s.mid(month + 1, len - 2); // minus spaces
fileL = s.right(s.length() - month - len);
- if(s.left(1) == "d")
+ if(s.left(1) == "d")
fileL = fileL+"/";
fileS = s.mid(month - 8, 8); // FIXME
@@ -816,6 +816,6 @@ void OpieFtp::remoteListClicked(QListViewItem *selectedItem)
fillRemoteCombo( (const QString &)currentRemoteDir);
// QCopEnvelope ( "QPE/System", "notBusy()" );
- Remote_View->ensureItemVisible(Remote_View->firstChild());
-
+ Remote_View->ensureItemVisible(Remote_View->firstChild());
+
}
}
@@ -824,5 +824,5 @@ void OpieFtp::localListClicked(QListViewItem *selectedItem)
{
if(selectedItem!= NULL) {
-
+
QString strItem=selectedItem->text(0);
QString strSize=selectedItem->text(1);
@@ -837,5 +837,5 @@ void OpieFtp::localListClicked(QListViewItem *selectedItem)
} else { // not a symlink
if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) {
-
+
if(QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem)).exists() ) {
strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem);
@@ -859,5 +859,5 @@ void OpieFtp::localListClicked(QListViewItem *selectedItem)
chdir(strItem.latin1());
}
- Local_View->ensureItemVisible(Local_View->firstChild());
+ Local_View->ensureItemVisible(Local_View->firstChild());
}
}
@@ -973,5 +973,5 @@ void OpieFtp::localDelete()
QString f = it.current()->text(0);
it.current()->setSelected(FALSE);
-
+
// QString f = Local_View->currentItem()->text(0);
if(QDir(f).exists() ) {
@@ -998,5 +998,5 @@ void OpieFtp::localDelete()
}
break;
- case 1:
+ case 1:
// exit
break;
@@ -1006,5 +1006,5 @@ void OpieFtp::localDelete()
}
populateLocalView();
-
+
}
@@ -1202,8 +1202,8 @@ void OpieFtp::readConfig()
cfg.setGroup("Server");
currentServerConfig = cfg.readNumEntry("currentServer", -1);
-
+
// qDebug("Reading %d", currentServerConfig);
serverComboSelected( currentServerConfig-1);
-
+
}
@@ -1255,5 +1255,5 @@ void OpieFtp::writeConfig()
cfg.writeEntry("numberOfEntries", QString::number(numberOfEntries + 1 ));
-
+
}
}
@@ -1327,7 +1327,7 @@ void OpieFtp::serverComboSelected(int index)
int portInt = port.toInt(&ok,10);
if( portInt == 0) portInt = 21;
-
+
ServerComboBox->lineEdit()->setText(remoteServerStr.left( remoteServerStr.find(":",0,TRUE)));
-
+
PortSpinBox->setValue( portInt);
@@ -1341,5 +1341,5 @@ void OpieFtp::serverComboSelected(int index)
// UsernameComboBox
// PasswordEdit
-
+
cfg.setGroup("Server");
temp.sprintf("%d",currentServerConfig);
@@ -1359,5 +1359,5 @@ void OpieFtp::deleteServer()
username = UsernameComboBox->currentText();
servername=serverListView->currentText();
-
+
Config cfg("opieftp");
cfg.setGroup("Server");
@@ -1494,5 +1494,5 @@ void OpieFtp::NewServer() {
currentServerConfig =-1;
writeConfig();
- serverListView->insertItem( newServerName );
+ serverListView->insertItem( newServerName );
serverListView->setCurrentItem( serverListView->count());
}
diff --git a/noncore/net/opieftp/opieftp.h b/noncore/net/opieftp/opieftp.h
index 9d5d211..7bd615a 100644
--- a/noncore/net/opieftp/opieftp.h
+++ b/noncore/net/opieftp/opieftp.h
@@ -48,7 +48,8 @@ class OpieFtp : public QMainWindow
public:
- OpieFtp( );
+ OpieFtp( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
~OpieFtp();
+ static QString appName() { return QString::fromLatin1("opieftp"); }
QTabWidget *TabWidget;
QWidget *tab, *tab_2, *tab_3;
diff --git a/noncore/net/opieftp/opieftp.pro b/noncore/net/opieftp/opieftp.pro
index ac16819..185c341 100644
--- a/noncore/net/opieftp/opieftp.pro
+++ b/noncore/net/opieftp/opieftp.pro
@@ -1,8 +1,6 @@
-TEMPLATE = app
-CONFIG += qt warn_on release
-HEADERS = opieftp.h inputDialog.h
+CONFIG += qt warn_on release quick-app
+HEADERS = opieftp.h inputDialog.h
SOURCES = opieftp.cpp inputDialog.cpp main.cpp
TARGET = opieftp
-DESTDIR = $(OPIEDIR)/bin
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
diff --git a/noncore/net/opieirc/.cvsignore b/noncore/net/opieirc/.cvsignore
index 39391f4..d5423d6 100644
--- a/noncore/net/opieirc/.cvsignore
+++ b/noncore/net/opieirc/.cvsignore
@@ -2,2 +2,3 @@ Makefile
Makefile.in
moc_*.cpp
+.moc \ No newline at end of file
diff --git a/noncore/net/opieirc/main.cpp b/noncore/net/opieirc/main.cpp
index 43e63af..39acfcc 100644
--- a/noncore/net/opieirc/main.cpp
+++ b/noncore/net/opieirc/main.cpp
@@ -2,9 +2,6 @@
#include "mainwindow.h"
-int main(int argc, char **argv) {
- QPEApplication a(argc, argv);
- MainWindow mw;
- a.showMainWidget(&mw);
- return a.exec();
-}
+#include <opie/oapplicationfactory.h>
+
+OPIE_EXPORT_APP( OApplicationFactory<MainWindow> )
diff --git a/noncore/net/opieirc/mainwindow.h b/noncore/net/opieirc/mainwindow.h
index bd1a9ce..0f60855 100644
--- a/noncore/net/opieirc/mainwindow.h
+++ b/noncore/net/opieirc/mainwindow.h
@@ -36,4 +36,5 @@ public:
void addTab(IRCTab *tab);
void killTab(IRCTab *tab);
+ static QString appName() { return QString::fromLatin1("opieirc"); }
signals:
void updateScroll();
diff --git a/noncore/net/opieirc/opieirc.pro b/noncore/net/opieirc/opieirc.pro
index 8b09e18..537f810 100644
--- a/noncore/net/opieirc/opieirc.pro
+++ b/noncore/net/opieirc/opieirc.pro
@@ -1,5 +1,3 @@
-TEMPLATE = app
-CONFIG = qt warn_on release
-DESTDIR = $(OPIEDIR)/bin
+CONFIG = qt warn_on release quick-app
HEADERS = ircchannel.h ircconnection.h \
ircmessage.h \
@@ -22,7 +20,6 @@ INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
LIBS += -lqpe -lopie
-TARGET = opieirc
-
+TARGET = opieirc
include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/net/opietooth/blue-pin/blue-pin.pro b/noncore/net/opietooth/blue-pin/blue-pin.pro
index 102a937..fbf9dbe 100644
--- a/noncore/net/opietooth/blue-pin/blue-pin.pro
+++ b/noncore/net/opietooth/blue-pin/blue-pin.pro
@@ -1,5 +1,3 @@
-TEMPLATE = app
-#CONFIG = qt warn_on debug
-CONFIG = qt warn_on release
+CONFIG = qt warn_on release quick-app
HEADERS = pindlg.h
SOURCES = main.cc pindlg.cc
@@ -9,6 +7,5 @@ DEPENDPATH += $(OPIEDIR)/include
LIBS += -lqpe
INTERFACES = pindlgbase.ui
-DESTDIR = $(OPIEDIR)/bin
-TARGET = bluepin
+TARGET = bluepin
TRANSLATIONS = ../../../../i18n/de/bluepin.ts \
@@ -31,4 +28,3 @@ TRANSLATIONS = ../../../../i18n/de/bluepin.ts \
-
include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/net/opietooth/manager/.cvsignore b/noncore/net/opietooth/manager/.cvsignore
index 3fb67fe..19c03a7 100644
--- a/noncore/net/opietooth/manager/.cvsignore
+++ b/noncore/net/opietooth/manager/.cvsignore
@@ -8,2 +8,6 @@ moc_*
scandialog.cpp
scandialog.h
+rfcommassigndialogbase.cpp
+rfcommassigndialogbase.h
+rfcommdialogitembase.cpp
+rfcommdialogitembase.h
diff --git a/noncore/net/opietooth/manager/bluebase.cpp b/noncore/net/opietooth/manager/bluebase.cpp
index 54808fa..2e68984 100644
--- a/noncore/net/opietooth/manager/bluebase.cpp
+++ b/noncore/net/opietooth/manager/bluebase.cpp
@@ -21,4 +21,5 @@
#include "devicehandler.h"
#include "btconnectionitem.h"
+#include "rfcommassigndialogimpl.h"
#include <remotedevice.h>
@@ -60,5 +61,7 @@ BlueBase::BlueBase( QWidget* parent, const char* name, WFlags fl )
connect( PushButton2, SIGNAL( clicked() ), this, SLOT(startScan() ) );
connect( configApplyButton, SIGNAL(clicked() ), this, SLOT(applyConfigChanges() ) );
- // not good since lib is async
+
+ connect( rfcommBindButton, SIGNAL( clicked() ), this, SLOT( rfcommDialog() ) );
+// not good since lib is async
// connect( ListView2, SIGNAL( expanded ( QListViewItem* ) ),
// this, SLOT( addServicesToDevice( QListViewItem * ) ) );
@@ -223,5 +226,5 @@ QString BlueBase::status()const{
QString infoString = tr( "<b>Device name : </b> Ipaq" );
infoString += QString( "<br><b>" + tr( "MAC adress: " ) +"</b> No idea" );
- infoString += QString( "<br><b>" + tr( "Class" ) + "</b> PDA" );
+ infoString += QString( "<br><b>" + tr( "Class" ) + "</b> PDA" );
return (infoString);
@@ -246,4 +249,18 @@ void BlueBase::applyConfigChanges() {
/**
+ * Launch Rfcomm Bind dialog
+ *
+ */
+void BlueBase::rfcommDialog() {
+ RfcommAssignDialog rfcommAssign ( this, "RfcommAssignDialog", true, WStyle_ContextHelp );
+
+ rfcommAssign.showMaximized();
+
+ if ( rfcommAssign.exec() == QDialog::Accepted ) {
+ rfcommAssign.saveConfig();
+ }
+}
+
+/**
* Add fresh found devices from scan dialog to the listing
*
diff --git a/noncore/net/opietooth/manager/bluebase.h b/noncore/net/opietooth/manager/bluebase.h
index 743062c..a8ab3db 100644
--- a/noncore/net/opietooth/manager/bluebase.h
+++ b/noncore/net/opietooth/manager/bluebase.h
@@ -41,4 +41,6 @@ namespace OpieTooth {
BlueBase( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
~BlueBase();
+
+ static QString appName() { return QString::fromLatin1("bluetooth-manager"); }
protected:
@@ -47,5 +49,6 @@ namespace OpieTooth {
private slots:
void startScan();
-
+
+
private:
bool find( const RemoteDevice& device );
@@ -90,4 +93,5 @@ namespace OpieTooth {
void addSignalStrength();
void addSignalStrength( const QString& mac, const QString& strengh );
+ void rfcommDialog();
};
diff --git a/noncore/net/opietooth/manager/bluetoothbase.ui b/noncore/net/opietooth/manager/bluetoothbase.ui
index 9ff970f..bb906a1 100644
--- a/noncore/net/opietooth/manager/bluetoothbase.ui
+++ b/noncore/net/opietooth/manager/bluetoothbase.ui
@@ -12,6 +12,6 @@
<x>0</x>
<y>0</y>
- <width>224</width>
- <height>320</height>
+ <width>258</width>
+ <height>407</height>
</rect>
</property>
@@ -26,370 +26,418 @@
<name>layoutSpacing</name>
</property>
- <vbox>
+ <widget>
+ <class>QTabWidget</class>
<property stdset="1">
- <name>margin</name>
- <number>0</number>
+ <name>name</name>
+ <cstring>Status</cstring>
</property>
<property stdset="1">
- <name>spacing</name>
- <number>0</number>
+ <name>geometry</name>
+ <rect>
+ <x>1</x>
+ <y>1</y>
+ <width>245</width>
+ <height>289</height>
+ </rect>
+ </property>
+ <property>
+ <name>layoutMargin</name>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
</property>
<widget>
- <class>QTabWidget</class>
+ <class>QWidget</class>
<property stdset="1">
<name>name</name>
- <cstring>Status</cstring>
- </property>
- <property>
- <name>layoutMargin</name>
- </property>
- <property>
- <name>layoutSpacing</name>
+ <cstring>tab</cstring>
</property>
- <widget>
- <class>QWidget</class>
+ <attribute>
+ <name>title</name>
+ <string>Devices</string>
+ </attribute>
+ <vbox>
<property stdset="1">
- <name>name</name>
- <cstring>tab</cstring>
+ <name>margin</name>
+ <number>2</number>
</property>
- <attribute>
- <name>title</name>
- <string>Devices</string>
- </attribute>
- <vbox>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>2</number>
+ </property>
+ <widget>
+ <class>QListView</class>
+ <column>
+ <property>
+ <name>text</name>
+ <string>Device Name</string>
+ </property>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property>
+ <name>text</name>
+ <string>Online</string>
+ </property>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
+ </property>
+ </column>
<property stdset="1">
- <name>margin</name>
- <number>2</number>
+ <name>name</name>
+ <cstring>ListView2</cstring>
</property>
+ </widget>
+ <widget>
+ <class>QPushButton</class>
<property stdset="1">
- <name>spacing</name>
- <number>2</number>
+ <name>name</name>
+ <cstring>PushButton2</cstring>
</property>
- <widget>
- <class>QListView</class>
- <column>
- <property>
- <name>text</name>
- <string>Device Name</string>
- </property>
- <property>
- <name>clickable</name>
- <bool>true</bool>
- </property>
- <property>
- <name>resizeable</name>
- <bool>true</bool>
- </property>
- </column>
- <column>
- <property>
- <name>text</name>
- <string>Online</string>
- </property>
- <property>
- <name>clickable</name>
- <bool>true</bool>
- </property>
- <property>
- <name>resizeable</name>
- <bool>true</bool>
- </property>
- </column>
- <property stdset="1">
- <name>name</name>
- <cstring>ListView2</cstring>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Scan for Devices</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget>
+ <class>QWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>tab</cstring>
+ </property>
+ <attribute>
+ <name>title</name>
+ <string>Connections</string>
+ </attribute>
+ <vbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>2</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>2</number>
+ </property>
+ <widget>
+ <class>QListView</class>
+ <column>
+ <property>
+ <name>text</name>
+ <string>Device Name</string>
</property>
- </widget>
- <widget>
- <class>QPushButton</class>
- <property stdset="1">
- <name>name</name>
- <cstring>PushButton2</cstring>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
</property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- </sizepolicy>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
</property>
- <property stdset="1">
+ </column>
+ <column>
+ <property>
<name>text</name>
- <string>Scan for Devices</string>
+ <string>Connection type</string>
</property>
- </widget>
- </vbox>
- </widget>
- <widget>
- <class>QWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>tab</cstring>
- </property>
- <attribute>
- <name>title</name>
- <string>Connections</string>
- </attribute>
- <vbox>
- <property stdset="1">
- <name>margin</name>
- <number>2</number>
- </property>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property>
+ <name>text</name>
+ <string>Signal</string>
+ </property>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
+ </property>
+ </column>
<property stdset="1">
- <name>spacing</name>
- <number>2</number>
+ <name>name</name>
+ <cstring>ListView4</cstring>
</property>
- <widget>
- <class>QListView</class>
- <column>
- <property>
- <name>text</name>
- <string>Device Name</string>
- </property>
- <property>
- <name>clickable</name>
- <bool>true</bool>
- </property>
- <property>
- <name>resizeable</name>
- <bool>true</bool>
- </property>
- </column>
- <column>
- <property>
- <name>text</name>
- <string>Connection type</string>
- </property>
- <property>
- <name>clickable</name>
- <bool>true</bool>
- </property>
- <property>
- <name>resizeable</name>
- <bool>true</bool>
- </property>
- </column>
- <column>
- <property>
- <name>text</name>
- <string>Signal</string>
- </property>
- <property>
- <name>clickable</name>
- <bool>true</bool>
- </property>
- <property>
- <name>resizeable</name>
- <bool>true</bool>
- </property>
- </column>
- <property stdset="1">
- <name>name</name>
- <cstring>ListView4</cstring>
- </property>
- </widget>
- </vbox>
- </widget>
- <widget>
- <class>QWidget</class>
+ </widget>
+ </vbox>
+ </widget>
+ <widget>
+ <class>QWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>tab</cstring>
+ </property>
+ <attribute>
+ <name>title</name>
+ <string>Config</string>
+ </attribute>
+ <vbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>11</number>
+ </property>
<property stdset="1">
- <name>name</name>
- <cstring>tab</cstring>
+ <name>spacing</name>
+ <number>6</number>
</property>
- <attribute>
- <name>title</name>
- <string>Config</string>
- </attribute>
- <vbox>
+ <widget>
+ <class>QGroupBox</class>
<property stdset="1">
- <name>margin</name>
- <number>2</number>
+ <name>name</name>
+ <cstring>GroupBox1</cstring>
</property>
<property stdset="1">
- <name>spacing</name>
- <number>2</number>
+ <name>title</name>
+ <string>Bluetooh Basic Config</string>
</property>
- <widget>
- <class>QLayoutWidget</class>
+ <vbox>
<property stdset="1">
- <name>name</name>
- <cstring>Layout2</cstring>
+ <name>margin</name>
+ <number>11</number>
</property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget>
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>deviceNameLabel</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Device Name</string>
- </property>
- </widget>
- <widget>
- <class>QLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>deviceNameLine</cstring>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget>
- <class>QLayoutWidget</class>
<property stdset="1">
- <name>name</name>
- <cstring>Layout3</cstring>
+ <name>spacing</name>
+ <number>6</number>
</property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
+ <widget>
+ <class>QLayoutWidget</class>
<property stdset="1">
- <name>spacing</name>
- <number>6</number>
+ <name>name</name>
+ <cstring>Layout7</cstring>
</property>
- <widget>
- <class>QLabel</class>
+ <hbox>
<property stdset="1">
- <name>name</name>
- <cstring>passkeyLabel</cstring>
+ <name>margin</name>
+ <number>0</number>
</property>
<property stdset="1">
- <name>text</name>
- <string>Default Passkey</string>
+ <name>spacing</name>
+ <number>6</number>
</property>
- </widget>
- <widget>
- <class>QLineEdit</class>
+ <widget>
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout6</cstring>
+ </property>
+ <vbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>deviceNameLabel</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Device Name</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>passkeyLabel</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Default Passkey</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget>
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout5</cstring>
+ </property>
+ <vbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>deviceNameLine</cstring>
+ </property>
+ </widget>
+ <widget>
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>passkeyLine</cstring>
+ </property>
+ <property stdset="1">
+ <name>echoMode</name>
+ <enum>Password</enum>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ </hbox>
+ </widget>
+ <widget>
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout5</cstring>
+ </property>
+ <vbox>
<property stdset="1">
- <name>name</name>
- <cstring>passkeyLine</cstring>
+ <name>margin</name>
+ <number>0</number>
</property>
<property stdset="1">
- <name>echoMode</name>
- <enum>Password</enum>
+ <name>spacing</name>
+ <number>6</number>
</property>
- </widget>
- </hbox>
- </widget>
- <widget>
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout5</cstring>
- </property>
- <vbox>
+ <widget>
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>authCheckBox</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>enable authentification</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>cryptCheckBox</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>enable encryption</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>pagescanCheckBox</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Enable Page scan</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>inquiryscanCheckBox</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Enable Inquiry scan</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget>
+ <class>QPushButton</class>
<property stdset="1">
- <name>margin</name>
- <number>0</number>
+ <name>name</name>
+ <cstring>configApplyButton</cstring>
</property>
<property stdset="1">
- <name>spacing</name>
- <number>6</number>
+ <name>text</name>
+ <string>Apply</string>
</property>
- <widget>
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>authCheckBox</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>enable authentification</string>
- </property>
- </widget>
- <widget>
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>cryptCheckBox</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>enable encryption</string>
- </property>
- </widget>
- <widget>
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>pagescanCheckBox</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Enable Page scan</string>
- </property>
- </widget>
- <widget>
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>inquiryscanCheckBox</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Enable Inquiry scan</string>
- </property>
- </widget>
- </vbox>
- </widget>
- <widget>
- <class>QPushButton</class>
- <property stdset="1">
- <name>name</name>
- <cstring>configApplyButton</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Apply</string>
- </property>
- </widget>
- </vbox>
- </widget>
- <widget>
- <class>QWidget</class>
+ </widget>
+ </vbox>
+ </widget>
+ <widget>
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>rfcommBindButton</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Rfcomm Bind Table</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget>
+ <class>QWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>tab</cstring>
+ </property>
+ <attribute>
+ <name>title</name>
+ <string>Status</string>
+ </attribute>
+ <vbox>
<property stdset="1">
- <name>name</name>
- <cstring>tab</cstring>
+ <name>margin</name>
+ <number>2</number>
</property>
- <attribute>
- <name>title</name>
- <string>Status</string>
- </attribute>
- <vbox>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>2</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
<property stdset="1">
- <name>margin</name>
- <number>2</number>
+ <name>name</name>
+ <cstring>StatusLabel</cstring>
</property>
<property stdset="1">
- <name>spacing</name>
- <number>2</number>
+ <name>text</name>
+ <string>Status Label</string>
</property>
- <widget>
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>StatusLabel</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Status Label</string>
- </property>
- </widget>
- </vbox>
- </widget>
+ </widget>
+ </vbox>
</widget>
- </vbox>
+ </widget>
</widget>
</UI>
diff --git a/noncore/net/opietooth/manager/main.cpp b/noncore/net/opietooth/manager/main.cpp
index a86e36d..82aeebd 100644
--- a/noncore/net/opietooth/manager/main.cpp
+++ b/noncore/net/opietooth/manager/main.cpp
@@ -20,19 +20,6 @@
#include "bluebase.h"
#include <qpe/qpeapplication.h>
+#include <opie/oapplicationfactory.h>
-
-QPEApplication *BluetoothApp;
-
-int main( int argc, char ** argv ) {
- QPEApplication a(argc, argv);
- BluetoothApp=&a;
-
- OpieTooth::BlueBase t;
-
- // t.setCaption( OpieTooth::BlueBase::tr("Bluetooth Manager") );
- a.showMainWidget(&t);
-
- return a.exec();
-}
-
+OPIE_EXPORT_APP( OApplicationFactory<OpieTooth::BlueBase> )
diff --git a/noncore/net/opietooth/manager/manager.pro b/noncore/net/opietooth/manager/manager.pro
index 9841740..6ff4ebb 100644
--- a/noncore/net/opietooth/manager/manager.pro
+++ b/noncore/net/opietooth/manager/manager.pro
@@ -1,5 +1,3 @@
-TEMPLATE = app
-CONFIG = qt warn_on debug
-#CONFIG = qt warn_on release
+CONFIG = qt warn_on release quick-app
HEADERS = btconnectionitem.h btdeviceitem.h \
btserviceitem.h stdpopups.h \
@@ -8,6 +6,7 @@ HEADERS = btconnectionitem.h btdeviceitem.h \
hciconfwrapper.h bticonloader.h \
pppdialog.h obexdialog.h \
+ rfcommassigndialogimpl.h rfcommassigndialogitem.h \
devicehandler.h rfcpopup.h obexpopup.h \
- rfcommhelper.h panpopup.h dunpopup.h
+ rfcommhelper.h panpopup.h dunpopup.h rfcommconfhandler.h
SOURCES = btconnectionitem.cpp btdeviceitem.cpp \
@@ -17,14 +16,15 @@ SOURCES = btconnectionitem.cpp btdeviceitem.cpp \
btlistitem.cpp hciconfwrapper.cpp \
bticonloader.cpp pppdialog.cpp \
+ rfcommassigndialogimpl.cpp rfcommassigndialogitem.cpp \
obexdialog.cpp devicehandler.cpp \
rfcpopup.cpp obexpopup.cpp \
- rfcommhelper.cpp panpopup.cpp dunpopup.cpp
+ rfcommhelper.cpp panpopup.cpp dunpopup.cpp rfcommconfhandler.cpp
INCLUDEPATH += $(OPIEDIR)/include
INCLUDEPATH += $(OPIEDIR)/noncore/net/opietooth/lib
DEPENDPATH += $(OPIEDIR)/include
LIBS += -lqpe -lopietooth -lopie
-INTERFACES = bluetoothbase.ui devicedialog.ui
-DESTDIR = $(OPIEDIR)/bin
-TARGET = bluetooth-manager
+INTERFACES = bluetoothbase.ui devicedialog.ui rfcommassigndialogbase.ui rfcommdialogitembase.ui
+
+TARGET = bluetooth-manager
TRANSLATIONS = ../../../../i18n/de/bluetooth-manager.ts \
diff --git a/noncore/net/opietooth/manager/rfcommassigndialogbase.ui b/noncore/net/opietooth/manager/rfcommassigndialogbase.ui
new file mode 100644
index 0000000..aefa698
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommassigndialogbase.ui
@@ -0,0 +1,44 @@
+<!DOCTYPE UI><UI>
+<class>RfcommAssignDialogBase</class>
+<widget>
+ <class>QDialog</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>RfcommAssignDialogBase</cstring>
+ </property>
+ <property stdset="1">
+ <name>geometry</name>
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>444</width>
+ <height>343</height>
+ </rect>
+ </property>
+ <property stdset="1">
+ <name>caption</name>
+ <string>Rfcomm Bind</string>
+ </property>
+ <vbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>11</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel1</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Bind device to a interface</string>
+ </property>
+ </widget>
+ </vbox>
+</widget>
+</UI>
diff --git a/noncore/net/opietooth/manager/rfcommassigndialogimpl.cpp b/noncore/net/opietooth/manager/rfcommassigndialogimpl.cpp
new file mode 100644
index 0000000..b5cc074
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommassigndialogimpl.cpp
@@ -0,0 +1,120 @@
+
+#include "rfcommassigndialogimpl.h"
+#include "rfcommassigndialogitem.h"
+#include "rfcommconfhandler.h"
+
+#include <qpe/config.h>
+
+#include <qlayout.h>
+
+using namespace OpieTooth;
+
+// TODO: write only the file in bluebase?
+// muss rfcommd dann neu gestartet werden
+// sollte rfcomm bind all nicht eh default config sein ( polled das? - d.h. sobald nen gerät in der nähe ist bindet es?
+
+
+RfcommAssignDialog::RfcommAssignDialog( QWidget* parent, const char* name, bool modal, WFlags fl )
+ : RfcommAssignDialogBase( parent, name, modal, fl ) {
+
+ m_range = 5;
+
+ m_scrollView = new QScrollView( this );
+ m_scrollView->setResizePolicy( QScrollView::AutoOneFit );
+ m_scrollView->setHScrollBarMode( QScrollView::AlwaysOff );
+
+ RfcommAssignDialogBaseLayout->addWidget( m_scrollView );
+
+ m_box = new QVBox( m_scrollView->viewport() );
+ m_scrollView->addChild( m_box );
+
+ confHandler = new RfCommConfHandler( "/etc/bluetooth/rfcomm.conf" );
+
+ loadConfig();
+}
+
+RfcommAssignDialog::~RfcommAssignDialog() {
+ if ( confHandler ) {
+ delete confHandler;
+ }
+}
+
+
+void RfcommAssignDialog::newDevice( const QString & mac ) {
+
+ for ( int i = 0 ; i < m_range; i++ ) {
+
+ QMap<QString, RfCommConfObject*>::Iterator it;
+ it = confHandler->foundEntries().find( QString("%1").arg( i ) );
+ // make sure that rfcommX is not assigned yet
+ if ( it == confHandler->foundEntries().end() ) {
+ QDialog dialog( this, "newdevice", true, WStyle_ContextHelp );
+ dialog.showMaximized();
+ RfcommDialogItem *newDev = new RfcommDialogItem( &dialog );
+ newDev->setIdent( i );
+ newDev->setMac( mac );
+
+ if ( dialog.exec() == QDialog::Accepted ) {
+ RfcommDialogItem *rfcomm = new RfcommDialogItem( m_box );
+ m_itemList.insert( i , rfcomm );
+ rfcomm->setIdent( i );
+ rfcomm->setMac( mac );
+ rfcomm->setChannel( newDev->channel() );
+ rfcomm->setComment( newDev->comment() );
+ qDebug( "New device set up" );
+ }
+ }
+ }
+}
+
+void RfcommAssignDialog::loadConfig() {
+
+ //Config cfg( "bluetoothmanager-rfcommbind" );
+
+ for ( int i = 0 ; i < m_range; i++ ) {
+ // cfg.setGroup( QString("%1").arg( i ) );
+ RfcommDialogItem *rfcomm = new RfcommDialogItem( m_box );
+ m_itemList.insert( i , rfcomm );
+ rfcomm->setIdent( i );
+ QMap<QString, RfCommConfObject*>::Iterator it;
+ it = confHandler->foundEntries().find( QString("%1").arg( i ) );
+ if ( it != confHandler->foundEntries().end() ) {
+ qDebug( "Found key in foundEntries() " );
+ rfcomm->setMac( it.data()->mac() );
+ rfcomm->setChannel( it.data()->channel() );
+ rfcomm->setComment( it.data()->comment() );
+ }
+ /* Use rfcomm.conf directly for now
+ * rfcomm->setMac( cfg.readEntry( "mac", "" ) );
+ * rfcomm->setChannel( cfg.readNumEntry( "channel", 1 ) );
+ * rfcomm->setComment( cfg.readEntry( "comment", "" ) );
+ */
+ }
+}
+
+
+void RfcommAssignDialog::saveConfig() {
+
+ //Config cfg( "bluetoothmanager-rfcommbind" );
+
+ QMap< int, RfcommDialogItem*>::Iterator it;
+
+ QMap< QString, RfCommConfObject*> outMap;
+
+ for( it = m_itemList.begin(); it != m_itemList.end(); ++it ) {
+
+ //cfg.setGroup( QString("%1").arg( it.key() ) );
+ RfcommDialogItem *rfcomm = it.data();
+
+
+ outMap.insert( QString( "%1").arg( it.key() ), new RfCommConfObject( it.key(), rfcomm->mac(), rfcomm->channel(), rfcomm->comment() ) );
+
+
+ //cfg.writeEntry( "mac", rfcomm->mac() );
+ //cfg.writeEntry( "channel", rfcomm->channel() );
+ //cfg.writeEntry( "comment", rfcomm->comment() );
+ }
+
+ confHandler->save( outMap );
+
+}
diff --git a/noncore/net/opietooth/manager/rfcommassigndialogimpl.h b/noncore/net/opietooth/manager/rfcommassigndialogimpl.h
new file mode 100644
index 0000000..9983632
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommassigndialogimpl.h
@@ -0,0 +1,39 @@
+#ifndef RFCOMMASSIGN
+#define RFCOMMASSIGN
+
+#include "rfcommassigndialogbase.h"
+#include "rfcommassigndialogitem.h"
+#include "rfcommconfhandler.h"
+
+#include <qscrollview.h>
+#include <qmap.h>
+#include <qvbox.h>
+
+namespace OpieTooth {
+
+ class RfcommAssignDialog: public RfcommAssignDialogBase {
+
+ Q_OBJECT
+
+ public:
+
+ RfcommAssignDialog( QWidget* parent = 0, const char* name = 0,bool modal = 0, WFlags fl = 0 );
+ ~RfcommAssignDialog();
+
+ void loadConfig();
+ void saveConfig();
+
+ void newDevice( const QString & mac );
+
+ private:
+ QScrollView *m_scrollView;
+ // how many rfcomm devices are possible
+ int m_range;
+ QMap< int, RfcommDialogItem* > m_itemList;
+ QVBox *m_box;
+ RfCommConfHandler *confHandler;
+};
+
+}
+
+#endif
diff --git a/noncore/net/opietooth/manager/rfcommassigndialogitem.cpp b/noncore/net/opietooth/manager/rfcommassigndialogitem.cpp
new file mode 100644
index 0000000..1e7130f
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommassigndialogitem.cpp
@@ -0,0 +1,54 @@
+
+#include "rfcommassigndialogitem.h"
+
+#include <qlineedit.h>
+#include <qcombobox.h>
+#include <qlabel.h>
+#include <qgroupbox.h>
+
+using namespace OpieTooth;
+
+
+RfcommDialogItem::RfcommDialogItem( QWidget* parent, const char* name, WFlags fl )
+ : RfcommDialogItemBase( parent, name, fl ) {
+
+}
+
+RfcommDialogItem::~RfcommDialogItem() {
+}
+
+
+int RfcommDialogItem::ident() {
+ return m_ident;
+}
+
+QString RfcommDialogItem::mac() {
+ return m_macAddress->text();
+}
+
+int RfcommDialogItem::channel() {
+ return m_channelDropdown->currentItem();
+}
+
+QString RfcommDialogItem::comment() {
+ return m_commentLine->text();
+}
+
+void RfcommDialogItem::setIdent( int ident ) {
+ m_ident = ident;
+ m_identLabel->setTitle( QString( "rfcomm%1").arg( ident ) );
+}
+
+void RfcommDialogItem::setMac( const QString &mac ) {
+ m_macAddress->setText( mac );
+}
+
+void RfcommDialogItem::setChannel( int channel ) {
+ m_channelDropdown->setCurrentItem( channel );
+}
+
+void RfcommDialogItem::setComment( const QString &comment ) {
+ m_commentLine->setText( comment );
+}
+
+
diff --git a/noncore/net/opietooth/manager/rfcommassigndialogitem.h b/noncore/net/opietooth/manager/rfcommassigndialogitem.h
new file mode 100644
index 0000000..34a794f
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommassigndialogitem.h
@@ -0,0 +1,40 @@
+#ifndef RFCOMMDIALOGITEM
+#define RFCOMMDIALOGITEM
+
+#include "rfcommdialogitembase.h"
+
+#include <qwidget.h>
+
+namespace OpieTooth {
+
+ class RfcommDialogItem : public RfcommDialogItemBase {
+
+ Q_OBJECT
+
+ public:
+ RfcommDialogItem( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
+ ~RfcommDialogItem();
+
+ // number if the rfcomm device
+ int ident();
+ // devices mac address
+ QString mac();
+ int channel();
+ QString comment();
+
+ void setIdent( int ident );
+ void setMac( const QString& mac );
+ void setChannel( int channel );
+ void setComment( const QString& comment );
+
+ private:
+
+
+ int m_ident;
+
+};
+
+
+}
+
+#endif
diff --git a/noncore/net/opietooth/manager/rfcommconfhandler.cpp b/noncore/net/opietooth/manager/rfcommconfhandler.cpp
new file mode 100644
index 0000000..20453e8
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommconfhandler.cpp
@@ -0,0 +1,114 @@
+
+#include <qtextstream.h>
+
+#include "rfcommconfhandler.h"
+
+
+using namespace OpieTooth;
+
+// move to lib
+
+
+RfCommConfObject::RfCommConfObject( int number, QString mac, int channel, QString comment ) {
+ m_number = number;
+ m_mac = mac;
+ m_channel = channel;
+ m_comment = comment;
+ // m_foundEntries = 0;
+}
+
+void RfCommConfObject::setNumber( int number ) {
+ m_number = number;
+}
+
+void RfCommConfObject::setMac( QString mac ) {
+ m_mac = mac;
+}
+
+void RfCommConfObject::setChannel( int channel ) {
+ m_channel = channel;
+}
+
+void RfCommConfObject::setComment( QString comment ) {
+ m_comment = comment;
+}
+
+
+RfCommConfObject::~RfCommConfObject() {
+}
+
+
+RfCommConfHandler::RfCommConfHandler( const QString & filename ) {
+
+ m_filename = filename;
+ load();
+}
+
+RfCommConfHandler::~RfCommConfHandler() {
+
+}
+
+void RfCommConfHandler::save( QMap<QString, RfCommConfObject*> devices ) {
+
+ QFile rfCommConf( "/tmp/test" );
+ QTextStream outStream( &rfCommConf );
+ if ( rfCommConf.open( IO_WriteOnly ) ) {
+
+ QMap<QString, RfCommConfObject*>::Iterator it;
+ for( it = devices.begin(); it != devices.end(); ++it ) {
+ outStream << "rfcomm" + QString("%1").arg( it.data()->number() ) + " {\n";
+ outStream << " device " + it.data()->mac() + ";\n";
+ outStream << " channel " + QString( "%1" ).arg( it.data()->channel() ) + ";\n";
+ outStream << " comment \"" + it.data()->comment() + "\";\n";
+ outStream << "}\n\n";
+ }
+
+ rfCommConf.close();
+ }
+}
+
+
+QMap<QString, RfCommConfObject*> RfCommConfHandler::foundEntries() {
+ return m_foundEntries;
+}
+
+void RfCommConfHandler::load() {
+
+ QFile rfCommConf( m_filename );
+ if ( rfCommConf.open( IO_ReadOnly ) ) {
+
+ QStringList list;
+ QTextStream inStream( &rfCommConf );
+ list = QStringList::split( "\n", inStream.read() );
+
+ QString number;
+ QString mac;
+ QString channel;
+ QString comment;
+
+ for ( QStringList::Iterator line=list.begin(); line != list.end(); line++ ) {
+
+ QString tmpLine = ( *line ).stripWhiteSpace();
+
+ if ( tmpLine.startsWith("rfcomm") ) {
+ QString number = tmpLine.mid( 6,1 );
+ qDebug( tmpLine );
+ qDebug( "TEST " + number );
+ } else if ( tmpLine.startsWith( "}" ) ) {
+ m_foundEntries.insert( number, new RfCommConfObject( number.toInt(), mac, channel.toInt(), comment ) );
+ } else if ( tmpLine.startsWith( "device" ) ) {
+ mac = tmpLine.mid( 7, 17 );
+ qDebug( "mac" + mac );
+ } else if ( tmpLine.startsWith( "channel" ) ) {
+ channel = tmpLine.mid( 8, 1 );
+ qDebug ( "Channel :" + channel );
+ } else if ( tmpLine.startsWith( "comment" ) ) {
+ comment = tmpLine.mid( 9, tmpLine.find( ';' ) - 9 - 1 );
+ qDebug( "Comment: " + comment );
+ }
+ }
+ rfCommConf.close();
+ }
+ save( m_foundEntries );
+ qDebug( QString( "ENTries: %1").arg( m_foundEntries.count() ) );
+}
diff --git a/noncore/net/opietooth/manager/rfcommconfhandler.h b/noncore/net/opietooth/manager/rfcommconfhandler.h
new file mode 100644
index 0000000..e13c833
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommconfhandler.h
@@ -0,0 +1,54 @@
+#ifndef RFCOMMCONFHANDLER
+#define RFCOMMCONFHANDLER
+
+#include <qstring.h>
+#include <qfile.h>
+#include <qobject.h>
+#include <qmap.h>
+
+namespace OpieTooth {
+
+ class RfCommConfObject {
+
+ public:
+ RfCommConfObject( int number, QString mac, int channel, QString comment );
+ ~RfCommConfObject();
+
+ void setNumber( int number );
+ int number() { return m_number; };
+ void setMac( QString mac );
+ QString mac() { return m_mac; };
+ void setChannel( int channel );
+ int channel() { return m_channel; };
+ void setComment( QString comment );
+ QString comment() { return m_comment; };
+
+
+ private:
+ int m_number;
+ QString m_mac;
+ int m_channel;
+ QString m_comment;
+
+ };
+
+ class RfCommConfHandler {
+
+ public:
+ RfCommConfHandler( const QString & filename );
+ ~RfCommConfHandler();
+
+ void save( QMap<QString, RfCommConfObject*> devices );
+
+ QMap<QString, RfCommConfObject*> foundEntries();
+
+ private:
+ void load();
+
+ QString m_filename;
+ QMap<QString, RfCommConfObject*> m_foundEntries;
+ };
+
+}
+
+#endif
diff --git a/noncore/net/opietooth/manager/rfcommdialogitembase.ui b/noncore/net/opietooth/manager/rfcommdialogitembase.ui
new file mode 100644
index 0000000..dafca52
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommdialogitembase.ui
@@ -0,0 +1,216 @@
+<!DOCTYPE UI><UI>
+<class>RfcommDialogItemBase</class>
+<widget>
+ <class>QWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>RfcommDialogItemBase</cstring>
+ </property>
+ <property stdset="1">
+ <name>geometry</name>
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>345</width>
+ <height>95</height>
+ </rect>
+ </property>
+ <property stdset="1">
+ <name>caption</name>
+ <string>Form2</string>
+ </property>
+ <property>
+ <name>layoutMargin</name>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
+ <vbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>0</number>
+ </property>
+ <widget>
+ <class>QGroupBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>m_identLabel</cstring>
+ </property>
+ <property>
+ <name>layoutMargin</name>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
+ <grid>
+ <property stdset="1">
+ <name>margin</name>
+ <number>5</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>5</number>
+ </property>
+ <widget row="0" column="0" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout3</cstring>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel4</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Mac</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>m_macAddress</cstring>
+ </property>
+ </widget>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel5</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Channel</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QComboBox</class>
+ <item>
+ <property>
+ <name>text</name>
+ <string>0</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>1</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>2</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>3</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>4</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>5</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>6</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>7</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>8</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>9</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>10</string>
+ </property>
+ </item>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>m_channelDropdown</cstring>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget row="1" column="0" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout4</cstring>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel3</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Comment:</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>m_commentLine</cstring>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </grid>
+ </widget>
+ </vbox>
+</widget>
+</UI>
diff --git a/noncore/net/opietooth/manager/rfcpopup.cpp b/noncore/net/opietooth/manager/rfcpopup.cpp
index cc87b6c..d95f14b 100644
--- a/noncore/net/opietooth/manager/rfcpopup.cpp
+++ b/noncore/net/opietooth/manager/rfcpopup.cpp
@@ -4,4 +4,5 @@
#include "pppdialog.h"
#include "rfcpopup.h"
+#include "rfcommassigndialogimpl.h"
using namespace OpieTooth;
@@ -10,5 +11,5 @@ using namespace OpieTooth;
* c'tor init the QAction
*/
-RfcCommPopup::RfcCommPopup()
+RfcCommPopup::RfcCommPopup( OpieTooth::BTDeviceItem* item )
: QPopupMenu() {
qWarning("RfcCommPopup c'tor");
@@ -16,4 +17,7 @@ RfcCommPopup::RfcCommPopup()
QAction* a;
+
+ m_item = item;
+
/* connect action */
a = new QAction( ); // so it's get deleted
@@ -34,8 +38,8 @@ RfcCommPopup::RfcCommPopup()
/* foo action */
a = new QAction( );
- a->setText("Foo");
+ a->setText("Bind table");
a->addTo( this );
connect( a, SIGNAL( activated() ),
- this, SLOT( slotFoo() ) );
+ this, SLOT( slotBind() ) );
@@ -75,6 +79,13 @@ void RfcCommPopup::slotDisconnect() {
-void RfcCommPopup::slotFoo() {
- qWarning("slotFoo");
+void RfcCommPopup::slotBind() {
+ RfcommAssignDialog rfcommAssign ( this, "RfcommAssignDialog", true, WStyle_ContextHelp );
+
+ rfcommAssign.showMaximized();
+ rfcommAssign.newDevice( m_item->mac() );
+
+ if ( rfcommAssign.exec() == QDialog::Accepted ) {
+ rfcommAssign.saveConfig();
+ }
}
diff --git a/noncore/net/opietooth/manager/rfcpopup.h b/noncore/net/opietooth/manager/rfcpopup.h
index c388f65..74b9117 100644
--- a/noncore/net/opietooth/manager/rfcpopup.h
+++ b/noncore/net/opietooth/manager/rfcpopup.h
@@ -5,4 +5,6 @@
#include <qaction.h>
+#include "btdeviceitem.h"
+
namespace OpieTooth {
/**
@@ -17,5 +19,5 @@ namespace OpieTooth {
Q_OBJECT
public:
- RfcCommPopup();
+ RfcCommPopup( OpieTooth::BTDeviceItem* );
~RfcCommPopup();
@@ -24,10 +26,11 @@ namespace OpieTooth {
QAction* m_con;
QAction* m_dis;
- QAction* m_foo;
+ QAction* m_bind;
QAction* m_bar;
+ OpieTooth::BTDeviceItem *m_item;
private slots:
void slotConnect();
void slotDisconnect();
- void slotFoo();
+ void slotBind();
void slotBar();
};
diff --git a/noncore/net/opietooth/manager/stdpopups.cpp b/noncore/net/opietooth/manager/stdpopups.cpp
index 38b8ee7..e1f8396 100644
--- a/noncore/net/opietooth/manager/stdpopups.cpp
+++ b/noncore/net/opietooth/manager/stdpopups.cpp
@@ -10,5 +10,5 @@ extern "C" {
QPopupMenu* newRfcComPopup( const OpieTooth::Services& service, OpieTooth::BTDeviceItem* item ) {
- return new OpieTooth::RfcCommPopup(/* servive, item*/ ); // fix spellin RfComm vs. RfcComm and paramaters
+ return new OpieTooth::RfcCommPopup(/* servive,*/ item ); // fix spellin RfComm vs. RfcComm and paramaters
//return 0l;
}
diff --git a/noncore/net/ubrowser/main.cpp b/noncore/net/ubrowser/main.cpp
index e4a873d..0488cfd 100644
--- a/noncore/net/ubrowser/main.cpp
+++ b/noncore/net/ubrowser/main.cpp
@@ -19,11 +19,6 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#include "mainview.h"
-int main( int argc, char **argv )
-{
- QPEApplication a( argc, argv );
- MainView w;
-
-// a.setMainWidget( &w );
- a.showMainDocumentWidget( &w );
- return a.exec();
-}
+#include <opie/oapplicationfactory.h>
+
+OPIE_EXPORT_APP( OApplicationFactory<MainView> )
+
diff --git a/noncore/net/ubrowser/mainview.cpp b/noncore/net/ubrowser/mainview.cpp
index 9302f05..0d3f171 100644
--- a/noncore/net/ubrowser/mainview.cpp
+++ b/noncore/net/ubrowser/mainview.cpp
@@ -18,5 +18,5 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#include "mainview.h"
-MainView::MainView(QWidget *parent, const char *name) : QMainWindow(parent, name)
+MainView::MainView(QWidget *parent, const char *name, WFlags fl) : QMainWindow(parent, name, fl)
{
setIcon( Resource::loadPixmap( "remote" ) );
diff --git a/noncore/net/ubrowser/mainview.h b/noncore/net/ubrowser/mainview.h
index 20e2c70..cc63729 100644
--- a/noncore/net/ubrowser/mainview.h
+++ b/noncore/net/ubrowser/mainview.h
@@ -37,5 +37,6 @@ class MainView : public QMainWindow
Q_OBJECT
public:
- MainView(QWidget *parent=0, const char *name=0);
+ static QString appName() { return QString::fromLatin1("ubrowser"); }
+ MainView(QWidget *parent=0, const char *name=0, WFlags fl = 0);
public slots:
void goClicked();
diff --git a/noncore/net/ubrowser/ubrowser.pro b/noncore/net/ubrowser/ubrowser.pro
index a6943dd..ed00047 100644
--- a/noncore/net/ubrowser/ubrowser.pro
+++ b/noncore/net/ubrowser/ubrowser.pro
@@ -1,5 +1,3 @@
-TEMPLATE =app
-CONFIG +=qt warn_on release
-DESTDIR =../../../bin
+CONFIG +=qt warn_on release quick-app
HEADERS = mainview.h httpfactory.h
SOURCES = main.cpp mainview.cpp httpfactory.cpp
diff --git a/noncore/unsupported/mailit/emailclient.cpp b/noncore/unsupported/mailit/emailclient.cpp
index 90664bb..8359acf 100644
--- a/noncore/unsupported/mailit/emailclient.cpp
+++ b/noncore/unsupported/mailit/emailclient.cpp
@@ -43,8 +43,8 @@ MailAccount* AccountList::dupl(MailAccount *in)
EmailClient::EmailClient( QWidget* parent, const char* name, WFlags fl )
: QMainWindow( parent, name, fl )
-{
+{
emailHandler = new EmailHandler();
addressList = new AddressList();
-
+
sending = FALSE;
receiving = FALSE;
@@ -53,19 +53,19 @@ EmailClient::EmailClient( QWidget* parent, const char* name, WFlags fl )
accountIdCount = 1;
allAccounts = FALSE;
-
+
init();
-
-
-
+
+
+
connect(emailHandler, SIGNAL(mailSent()), this, SLOT(mailSent()) );
-
+
connect(emailHandler, SIGNAL(smtpError(int,const QString &)), this,
SLOT(smtpError(int,const QString &)) );
connect(emailHandler, SIGNAL(popError(int,const QString &)), this,
SLOT(popError(int,const QString &)) );
-
+
connect(inboxView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(inboxItemSelected()) );
connect(outboxView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(outboxItemSelected()) );
-
+
connect(inboxView, SIGNAL(pressed(QListViewItem *)), this, SLOT(inboxItemPressed()) );
connect(inboxView, SIGNAL(clicked(QListViewItem *)), this, SLOT(inboxItemReleased()) );
@@ -75,18 +75,18 @@ EmailClient::EmailClient( QWidget* parent, const char* name, WFlags fl )
connect(emailHandler, SIGNAL(mailTransfered(int)), this,
SLOT(allMailArrived(int)) );
-
+
mailconf = new Config("mailit");
//In case Synchronize is not defined in settings.txt
readSettings();
-
+
updateAccounts();
-
+
lineShift = "\n";
readMail();
lineShift = "\r\n";
-
+
mailboxView->setCurrentTab(0); //ensure that inbox has focus
-
+
/*channel = new QCopChannel( "QPE/Application/mailit", this );
connect( channel, SIGNAL(received(const QCString&, const QByteArray&)),
@@ -105,8 +105,8 @@ EmailClient::~EmailClient()
saveMail(getPath(FALSE) + "outbox.txt", outboxView);
saveSettings();
-
+
mailconf->write();
delete mailconf;
-
+
}
@@ -114,7 +114,7 @@ void EmailClient::init()
{
initStatusBar(this);
-
+
setToolBarsMovable(FALSE);
-
+
bar = new QToolBar(this);
QWhatsThis::add(bar,tr("Main operation toolbar"));
@@ -128,5 +128,5 @@ void EmailClient::init()
QPopupMenu *configure = new QPopupMenu(mb);
mb->insertItem( tr( "Accounts" ), configure);
-
+
selectAccountMenu = new QPopupMenu(mb);
editAccountMenu = new QPopupMenu(mb);
@@ -143,5 +143,5 @@ void EmailClient::init()
getMailButton->setPopup(selectAccountMenu);
-
+
sendMailButton = new QAction(tr("Send mail"), Resource::loadPixmap("mailit/sendqueue"), QString::null, 0, this, 0);
connect(sendMailButton, SIGNAL(activated()), this, SLOT(sendQuedMail()) );
@@ -149,5 +149,5 @@ void EmailClient::init()
sendMailButton->addTo(mail);
sendMailButton->setWhatsThis("Send mail queued in the outbox");
-
+
composeButton = new QAction(tr("Compose"), Resource::loadPixmap("new"), QString::null, 0, this, 0);
connect(composeButton, SIGNAL(activated()), this, SLOT(compose()) );
@@ -155,5 +155,5 @@ void EmailClient::init()
composeButton->addTo(mail);
composeButton->setWhatsThis("Compose a new mail");
-
+
cancelButton = new QAction(tr("Cancel transfer"), Resource::loadPixmap("close"), QString::null, 0, this, 0);
connect(cancelButton, SIGNAL(activated()), this, SLOT(cancel()) );
@@ -162,11 +162,11 @@ void EmailClient::init()
cancelButton->setEnabled(FALSE);
cancelButton->setWhatsThis("Stop the currently active mail transfer");
-
-
+
+
deleteButton = new QAction( tr( "Delete" ), Resource::loadPixmap( "trash" ), QString::null, 0, this, 0 );
connect( deleteButton, SIGNAL( activated() ), this, SLOT( deleteItem() ) );
deleteButton->addTo(bar);
deleteButton->setWhatsThis("Remove the currently selected eMail(s)");
-
+
mailboxView = new OTabWidget( this, "mailboxView" );
@@ -206,7 +206,7 @@ void EmailClient::init()
grid_3->addWidget( outboxView, 0, 0 );
mailboxView->addTab( widget_2,"mailit/outbox", tr( "Outbox" ) );
-
+
setCentralWidget(mailboxView);
-
+
}
@@ -215,5 +215,5 @@ void EmailClient::initStatusBar(QWidget* parent)
statusBar = new QStatusBar(parent);
statusBar->setSizeGripEnabled(FALSE);
-
+
status1Label = new QLabel( tr("Idle"), statusBar);
status2Label = new QLabel("", statusBar);
@@ -222,5 +222,5 @@ void EmailClient::initStatusBar(QWidget* parent)
connect(emailHandler, SIGNAL(updateSmtpStatus(const QString &)),
status2Label, SLOT(setText(const QString &)) );
-
+
progressBar = new QProgressBar(statusBar);
@@ -261,10 +261,10 @@ void EmailClient::enqueMail(const Email &mail)
return;
}
-
+
if (accountList.count() > 0) {
currentAccount = accountList.first();
qWarning("using account " + currentAccount->name);
}
-
+
Email addMail = mail;
addMail.from = currentAccount->name;
@@ -272,7 +272,7 @@ void EmailClient::enqueMail(const Email &mail)
addMail.rawMail.prepend("From: \"" + addMail.from + "\" <" + addMail.fromMail + ">\n");
item = new EmailListItem(outboxView, addMail, false);
-
+
mailboxView->setCurrentTab(1);
-
+
}
@@ -282,5 +282,5 @@ void EmailClient::sendQuedMail()
if (accountList.count() == 0) {
- QMessageBox::warning(qApp->activeWindow(), "No account selected", "You must create an account", "OK\n");
+ QMessageBox::warning(qApp->activeWindow(), tr("No account selected"), tr("You must create an account"), "OK\n");
return;
}
@@ -314,5 +314,5 @@ void EmailClient::mailSent()
sending = FALSE;
sendMailButton->setEnabled(TRUE);
-
+
quedMessages.clear();
outboxView->clear(); //should be moved to an sentBox
@@ -320,13 +320,13 @@ void EmailClient::mailSent()
void EmailClient::getNewMail() {
-
+
if (accountList.count() == 0) {
- QMessageBox::warning(qApp->activeWindow(),"No account selected",
- "You must create an account", "OK\n");
+ QMessageBox::warning(qApp->activeWindow(),tr("No account selected"),
+ tr("You must create an account"), "OK\n");
return;
}
-
+
setMailAccount();
-
+
receiving = TRUE;
previewingMail = TRUE;
@@ -334,8 +334,8 @@ void EmailClient::getNewMail() {
cancelButton->setEnabled(TRUE);
selectAccountMenu->setEnabled(FALSE);
-
+
status1Label->setText(currentAccount->accountName + " headers");
progressBar->reset();
-
+
//get any previous mails not downloaded and add to queue
/*mailDownloadList.clear();
@@ -349,7 +349,7 @@ void EmailClient::getNewMail() {
item = (EmailListItem *) item->nextSibling();
}*/
-
+
emailHandler->getMailHeaders();
-
+
}
@@ -358,5 +358,5 @@ void EmailClient::getAllNewMail()
allAccounts = TRUE;
currentAccount = accountList.first();
- getNewMail();
+ getNewMail();
}
@@ -368,55 +368,55 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk)
emailHandler->parse( mail.rawMail, lineShift, &newMail);
mailconf->setGroup(newMail.id);
-
- if (fromDisk)
+
+ if (fromDisk)
{
-
+
newMail.downloaded = mailconf->readBoolEntry("downloaded");
newMail.size = mailconf->readNumEntry("size");
newMail.serverId = mailconf->readNumEntry("serverid");
newMail.fromAccountId = mailconf->readNumEntry("fromaccountid");
- }
- else
+ }
+ else
{ //mail arrived from server
-
+
newMail.serverId = mail.serverId;
newMail.size = mail.size;
newMail.downloaded = mail.downloaded;
-
+
newMail.fromAccountId = emailHandler->getAccount()->id;
mailconf->writeEntry("fromaccountid", newMail.fromAccountId);
}
-
+
//add if read or not
newMail.read = mailconf->readBoolEntry("mailread");
-
+
//check if new mail
if ( (thisMailId = mailconf->readNumEntry("internalmailid", -1)) == -1) {
thisMailId = mailIdCount;
mailIdCount++;
-
+
//set server count, so that if the user aborts, the new
//header is not reloaded
if ((currentAccount)&&(currentAccount->synchronize))
currentAccount->lastServerMailCount++;
-
+
mailconf->writeEntry("internalmailid", thisMailId);
mailconf->writeEntry("downloaded", newMail.downloaded);
mailconf->writeEntry("size", (int) newMail.size);
mailconf->writeEntry("serverid", newMail.serverId);
-
+
//addressList->addContact(newMail.fromMail, newMail.from);
}
-
+
mailconf->writeEntry("downloaded", newMail.downloaded);
-
+
QString stringMailId;
stringMailId.setNum(thisMailId);
//see if any attatchments needs to be stored
-
+
for ( ePtr=newMail.files.first(); ePtr != 0; ePtr=newMail.files.next() ) {
QString stringId;
stringId.setNum(ePtr->id);
-
+
int id = mailconf->readNumEntry("enclosureid_" + stringId);
if (id != ePtr->id) { //new entry
@@ -427,5 +427,5 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk)
mailconf->writeEntry("saved_" + stringId, ePtr->saved);
mailconf->writeEntry("installed_" + stringId, FALSE);
-
+
ePtr->name = stringMailId + "_" + stringId;
ePtr->path = getPath(TRUE);
@@ -445,16 +445,16 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk)
ePtr->name = mailconf->readEntry("filename_" + stringId);
ePtr->path = mailconf->readEntry("path_" + stringId);
- }
+ }
}
}
bool found=false;
-
- if (!fromDisk)
+
+ if (!fromDisk)
{
-
+
Email *mailPtr;
item = (EmailListItem *) inboxView->firstChild();
- while ((item != NULL)&&(!found))
+ while ((item != NULL)&&(!found))
{
mailPtr = item->getMail();
@@ -473,10 +473,10 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk)
// {
// item->setPixmap(0, Resource::loadPixmap("mailit/attach"));
-// }
+// }
/*if (!newMail.downloaded)
mailDownloadList.sizeInsert(newMail.serverId, newMail.size);*/
-
+
mailboxView->setCurrentTab(0);
-
+
}
@@ -496,10 +496,10 @@ void EmailClient::allMailArrived(int /*count*/)
selectAccountMenu->setEnabled(TRUE);
status1Label->setText("Idle");
-
+
progressBar->reset();
return;
}
//}
-
+
// all headers downloaded from server, start downloading remaining mails
previewingMail = FALSE;
@@ -507,5 +507,5 @@ void EmailClient::allMailArrived(int /*count*/)
progressBar->reset();
-
+
mailboxView->setCurrentTab(0);
}
@@ -522,5 +522,5 @@ void EmailClient::smtpError(int code, const QString & Msg)
{
QString temp;
-
+
if (code == ErrUnknownResponse) {
temp = tr("<qt>Unknown response from server</qt>");
@@ -534,5 +534,5 @@ void EmailClient::smtpError(int code, const QString & Msg)
temp = tr("<qt>socket packet error</qt>");
}
-
+
if (code != ErrCancel) {
QMessageBox::warning(qApp->activeWindow(), "Sending error", temp, "OK\n");
@@ -540,5 +540,5 @@ void EmailClient::smtpError(int code, const QString & Msg)
status2Label->setText("Aborted by user");
}
-
+
sending = FALSE;
sendMailButton->setEnabled(TRUE);
@@ -550,5 +550,5 @@ void EmailClient::popError(int code, const QString & Msg)
{
QString temp;
-
+
if (code == ErrUnknownResponse) {
temp = tr("<qt>Unknown response from server</qt>");
@@ -563,5 +563,5 @@ void EmailClient::popError(int code, const QString & Msg)
} else if (code == QSocket::ErrSocketRead) {
temp = tr("<qt>socket packet error</qt>");
- }
+ }
if (code != ErrCancel) {
@@ -571,5 +571,5 @@ void EmailClient::popError(int code, const QString & Msg)
status2Label->setText("Aborted by user");
}
-
+
receiving = FALSE;
getMailButton->setEnabled(TRUE);
@@ -581,5 +581,5 @@ void EmailClient::inboxItemSelected()
{
//killTimer(timerID);
-
+
item = (EmailListItem*) inboxView->selectedItem();
if (item != NULL) {
@@ -591,5 +591,5 @@ void EmailClient::outboxItemSelected()
{
//killTimer(timerID);
-
+
item = (EmailListItem*) outboxView->selectedItem();
if (item != NULL) {
@@ -606,10 +606,10 @@ void EmailClient::readMail()
QFile f(getPath(FALSE) + "inbox.txt");
-
+
if ( f.open(IO_ReadOnly) ) { // file opened successfully
QTextStream t( &f ); // use a text stream
s = t.read();
f.close();
-
+
start = 0;
del = "\n.\n";
@@ -618,5 +618,5 @@ void EmailClient::readMail()
if (stop == -1)
stop = s.length() - del.length();
-
+
mail.rawMail = s.mid(start, stop + del.length() - start );
start = stop + del.length();
@@ -624,5 +624,5 @@ void EmailClient::readMail()
}
}
-
+
QFile fo(getPath(FALSE) + "outbox.txt");
if ( fo.open(IO_ReadOnly) ) { // file opened successfully
@@ -630,5 +630,5 @@ void EmailClient::readMail()
s = t.read();
fo.close();
-
+
start = 0;
del = "\n.\n";
@@ -637,5 +637,5 @@ void EmailClient::readMail()
if (stop == -1)
stop = s.length() - del.length();
-
+
mail.rawMail = s.mid(start, stop + del.length() - start );
start = stop + del.length();
@@ -644,5 +644,5 @@ void EmailClient::readMail()
mail.received = false;
enqueMail(mail);
-
+
}
}
@@ -653,5 +653,5 @@ void EmailClient::saveMail(const QString &fileName, QListView *view)
QFile f(fileName);
Email *mail;
-
+
if (! f.open(IO_WriteOnly) ) {
qWarning("could not open file");
@@ -663,8 +663,8 @@ void EmailClient::saveMail(const QString &fileName, QListView *view)
mail = item->getMail();
t << mail->rawMail;
-
+
mailconf->setGroup(mail->id);
mailconf->writeEntry("mailread", mail->read);
-
+
item = (EmailListItem *) item->nextSibling();
}
@@ -677,17 +677,17 @@ QString EmailClient::getPath(bool enclosurePath)
QString basePath = "qtmail";
QString enclosures = "enclosures";
-
+
QDir dir = (QString(getenv("HOME")) + "/Applications/" + basePath);
if ( !dir.exists() )
dir.mkdir( dir.path() );
-
+
if (enclosurePath) {
dir = (QString(getenv("HOME")) + "/Applications/" + basePath + "/" + enclosures);
-
+
if ( !dir.exists() )
dir.mkdir( dir.path() );
-
+
return (dir.path() + "/");
-
+
}
return (dir.path() + "/");
@@ -697,11 +697,11 @@ void EmailClient::readSettings()
{
int y,acc_count;
-
+
mailconf->setGroup("mailitglobal");
acc_count=mailconf->readNumEntry("Accounts",0);
-
- for (int accountPos = 0;accountPos<acc_count ; accountPos++)
+
+ for (int accountPos = 0;accountPos<acc_count ; accountPos++)
{
- mailconf->setGroup("Account_"+QString::number(accountPos+1)); //Account numbers start at 1 ...
+ mailconf->setGroup("Account_"+QString::number(accountPos+1)); //Account numbers start at 1 ...
account.accountName = mailconf->readEntry("AccName","");
account.name = mailconf->readEntry("UserName","");
@@ -715,21 +715,21 @@ void EmailClient::readSettings()
account.lastServerMailCount = 0;
account.synchronize = FALSE;
-
+
account.synchronize = (mailconf->readEntry("Synchronize","No")=="Yes");
if (account.synchronize)
{
- mailconf->readNumEntry("LASTSERVERMAILCOUNT",0);
+ mailconf->readNumEntry("LASTSERVERMAILCOUNT",0);
}
-
+
accountList.append(&account);
}
-
+
mailconf->setGroup("mailitglobal");
-
- if ( (y = mailconf->readNumEntry("mailidcount", -1)) != -1)
+
+ if ( (y = mailconf->readNumEntry("mailidcount", -1)) != -1)
{
mailIdCount = y;
}
- if ( (y = mailconf->readNumEntry("accountidcount", -1)) != -1)
+ if ( (y = mailconf->readNumEntry("accountidcount", -1)) != -1)
{
accountIdCount = y;
@@ -742,13 +742,13 @@ void EmailClient::saveSettings()
MailAccount *accountPtr;
-
- if (!mailconf)
+
+ if (!mailconf)
{
qWarning("could not save settings");
return;
}
-
+
for (accountPtr = accountList.first(); accountPtr != 0;
- accountPtr = accountList.next())
+ accountPtr = accountList.next())
{
mailconf->setGroup("Account_"+QString::number(++acc_count));
@@ -761,16 +761,16 @@ void EmailClient::saveSettings()
mailconf->writeEntry("SMTPServer",accountPtr->smtpServer);
mailconf->writeEntry("AccountId",accountPtr->id);
- if (accountPtr->synchronize)
+ if (accountPtr->synchronize)
{
mailconf->writeEntry("Synchronize","Yes");
mailconf->writeEntry("HeaderLimit",accountPtr->syncLimit);
mailconf->writeEntry("LastServerMailCount",accountPtr->lastServerMailCount);
- }
- else
+ }
+ else
{
mailconf->writeEntry("Synchronize", "No");
}
}
-
+
mailconf->setGroup("mailitglobal");
mailconf->writeEntry("Accounts",acc_count);
@@ -786,5 +786,5 @@ void EmailClient::selectAccount(int id)
getNewMail();
} else {
- emit newCaption("Mailit ! No account defined");
+ emit newCaption( tr("Mailit ! No account defined") );
}
}
@@ -793,5 +793,5 @@ void EmailClient::editAccount(int id)
{
MailAccount *newAccount;
-
+
editAccountView = new EditAccount(this, "account", TRUE);
if (id == newAccountId) { //new account
@@ -802,8 +802,8 @@ void EmailClient::editAccount(int id)
editAccountView->setAccount(newAccount, FALSE);
}
-
+
editAccountView->showMaximized();
editAccountView->exec();
-
+
if (editAccountView->result() == QDialog::Accepted) {
if (id == newAccountId) {
@@ -816,5 +816,5 @@ void EmailClient::editAccount(int id)
}
}
-
+
delete editAccountView;
}
@@ -824,10 +824,10 @@ void EmailClient::deleteAccount(int id)
MailAccount *newAccount;
QString message;
-
+
newAccount = accountList.at(id);
- message = "Delete account:\n" + newAccount->accountName;
+ message = tr("Delete account:\n") + newAccount->accountName;
switch( QMessageBox::warning( this, "Mailit", message,
"Yes", "No", 0, 0, 1 ) ) {
-
+
case 0: accountList.remove(id);
updateAccounts();
@@ -841,5 +841,5 @@ void EmailClient::updateAccounts()
{
MailAccount *accountPtr;
-
+
//rebuild menus, clear all first
editAccountMenu->clear();
@@ -847,12 +847,12 @@ void EmailClient::updateAccounts()
deleteAccountMenu->clear();
- newAccountId = editAccountMenu->insertItem("New", this,
+ newAccountId = editAccountMenu->insertItem( tr("New"), this,
SLOT(editAccount(int)) );
editAccountMenu->insertSeparator();
-
+
idCount = 0;
for (accountPtr = accountList.first(); accountPtr != 0;
accountPtr = accountList.next()) {
-
+
editAccountMenu->insertItem(accountPtr->accountName,
this, SLOT(editAccount(int)), 0, idCount);
@@ -869,9 +869,9 @@ void EmailClient::deleteMail(EmailListItem *mailItem, bool &inbox)
Email *mPtr;
Enclosure *ePtr;
-
- if (inbox)
+
+ if (inbox)
{
mPtr = mailItem->getMail();
-
+
//if mail is in queue for download, remove it from
//queue if possible
@@ -880,8 +880,8 @@ void EmailClient::deleteMail(EmailListItem *mailItem, bool &inbox)
mailDownloadList.remove(mPtr->serverId, mPtr->size);
}
-
+
mailconf->setGroup(mPtr->id);
mailconf->clearGroup();
-
+
//delete any temporary attatchemnts storing
for ( ePtr=mPtr->files.first(); ePtr != 0; ePtr=mPtr->files.next() ) {
@@ -891,6 +891,6 @@ void EmailClient::deleteMail(EmailListItem *mailItem, bool &inbox)
}
inboxView->takeItem(mailItem);
- }
- else
+ }
+ else
{
outboxView->takeItem(mailItem);
@@ -906,5 +906,5 @@ void EmailClient::setMailSize(int size)
void EmailClient::setTotalSize(int /*size*/)
{
-
+
}
@@ -924,16 +924,16 @@ void EmailClient::deleteItem()
bool inbox=mailboxView->currentTab()==0;
QListView* box;
-
+
EmailListItem* eli;
// int pos;
-
+
inbox ? box=inboxView : box=outboxView;
-
+
eli=(EmailListItem*)box->selectedItem();
-
+
if (eli)
{
box->setSelected(eli->itemBelow(),true); //select the previous item
-
+
deleteMail(eli,(bool&)inbox); //remove mail entry
}
@@ -953,19 +953,19 @@ void EmailClient::inboxItemReleased()
{
//killTimer(timerID);
-
-
+
+
QPopupMenu *action = new QPopupMenu(this);
-
+
int reply=0;
-
+
action->insertItem(tr( "Reply To" ),this,SLOT(reply()));
action->insertItem( tr( "Reply All" ),this,SLOT(replyAll()));
action->insertItem( tr( "Forward" ), this,SLOT(forward()));
action->insertItem( tr( "Remove Mail" ), this,SLOT(remove()));
-
+
action->exec(QCursor::pos());
-
+
if (action) delete action;
-
+
}*/
@@ -978,19 +978,19 @@ Email* EmailClient::getCurrentMail()
return NULL;
}
-
+
void EmailClient::download(Email* mail)
{
MailAccount* acc=0;
-
+
tempMailDownloadList.clear();
tempMailDownloadList.sizeInsert(mail->serverId, mail->size);
-
+
acc=accountList.at(mail->fromAccountId-1);
if (acc)
- {
+ {
emailHandler->setAccount(*acc);
emailHandler->getMailByList(&tempMailDownloadList);
}
- else
+ else
QMessageBox::warning(qApp->activeWindow(),
tr("No account associated"), tr("There is no active account \nassociated to this mail\n it can not be downloaded"), "Abort\n");
@@ -1003,7 +1003,7 @@ void EmailClient::receive(const QCString& /*msg*/, const QByteArray& /*data*/)
//QDialog qd(qApp->activeWindow(),"Getting mail",true);
QVBoxLayout *vbProg = new QVBoxLayout( &qd );
-
+
initStatusBar(&qd);
-
+
if (statusBar==0)
{
@@ -1019,21 +1019,21 @@ void EmailClient::receive(const QCString& /*msg*/, const QByteArray& /*data*/)
}
else if (msg=="compose()")
- {
+ {
QDialog qd(qApp->activeWindow(),"Getting mail",true);
-
+
WriteMail wm(&qd,"write new mail");
QVBoxLayout vbProg( &qd );
-
+
wm.showMaximized();
vbProg.addWidget(&wm);
-
+
qd.showMaximized();
-
+
emit composeRequested();
qd.exec();
-
+
QMessageBox::warning(qApp->activeWindow(),tr("Info"), tr("Info"), "OK\n");
}
-
+
else if (msg=="dialog()")
{
diff --git a/noncore/unsupported/mailit/emaillistitem.cpp b/noncore/unsupported/mailit/emaillistitem.cpp
index fc9f766..a25f93a 100644
--- a/noncore/unsupported/mailit/emaillistitem.cpp
+++ b/noncore/unsupported/mailit/emaillistitem.cpp
@@ -26,7 +26,7 @@ EmailListItem::EmailListItem(QListView *parent, Email mailIn, bool inbox)
{
QString temp;
-
+
mail = mailIn;
-
+
if (inbox) {
setText(0, mail.from);
@@ -39,11 +39,12 @@ EmailListItem::EmailListItem(QListView *parent, Email mailIn, bool inbox)
}
setText(1, mail.subject);
- setText(2,mail.date);
-
+ // setText(2,mail.date);
+ setText(2,dateFromULCString(mail.date));
+
if (mailIn.files.count()>0)
{
setPixmap(0, Resource::loadPixmap("mailit/attach"));
}
-
+
selected = FALSE;
}
@@ -83,5 +84,5 @@ void EmailListItem::paintCell( QPainter *p, const QColorGroup &cg,
if (!mail.downloaded)
_cg.setColor( QColorGroup::Text, Qt::red);
-
+
/* if (selected) {
_cg.setColor(QColorGroup::Base, Qt::blue);
@@ -93,7 +94,65 @@ void EmailListItem::paintCell( QPainter *p, const QColorGroup &cg,
}
}
-*/
+*/
QListViewItem::paintCell( p, _cg, column, width, alignment );
_cg.setColor( QColorGroup::Text, c );
}
+
+/*
+ * Converts an E-Mail date (ULC) RFC 2822 conform to a QDateTime.
+ * Returning a QString with formatting of "YYYY-MM-DD HH:MM:SS"
+ * (zodiac: This method was tested with more than 300 inbox mails,
+ * it didn't slow down the loading of mail-it.)
+ */
+QString EmailListItem::dateFromULCString( QString ulcDate )
+{
+ QString sTemp, sTime;
+ int iPos, iDay, iMon=1, iYear;
+
+ iPos=ulcDate.find(',');
+ if (iPos) { // it has a day-of-week
+ ulcDate=ulcDate.remove(0,++iPos); //.stripWhiteSpace();
+ }
+
+ QStringList dateEntries = QStringList::split(" ",ulcDate,FALSE);
+ QStringList::Iterator iter = dateEntries.begin();
+
+ // Get day as DD
+ iDay = (*iter++).toInt();
+
+ // Get month as string Mmm
+ sTemp = (*iter++);
+ if (sTemp =="Jan") {iMon=1;} else
+ if (sTemp =="Feb") {iMon=2;} else
+ if (sTemp =="Mar") {iMon=3;} else
+ if (sTemp =="Apr") {iMon=4;} else
+ if (sTemp =="May") {iMon=5;} else
+ if (sTemp =="Jun") {iMon=6;} else
+ if (sTemp =="Jul") {iMon=7;} else
+ if (sTemp =="Aug") {iMon=8;} else
+ if (sTemp =="Sep") {iMon=9;} else
+ if (sTemp =="Oct") {iMon=10;} else
+ if (sTemp =="Nov") {iMon=11;} else
+ if (sTemp =="Dec") {iMon=12;}
+
+ // Get year as YYYY or YY
+ iYear = (*iter++).toInt();
+
+ QDate date = QDate(iYear, iMon, iDay);
+
+ // Convert timestring into a QTime
+ QStringList timeEntries = QStringList::split(":",(*iter++),FALSE);
+ QStringList::Iterator iterTime = timeEntries.begin();
+ iYear=(*iterTime++).toInt(); // var reuse.. *cough*
+ iMon=(*iterTime++).toInt();
+ iDay=(*iterTime++).toInt();
+ QTime time = QTime(iYear,iMon,iDay);
+
+ return QString::number(date.year())+"-"
+ +QString::number(date.month()).rightJustify(2,'0')+"-"
+ +QString::number(date.day()).rightJustify(2,'0')+" "
+ +time.toString();
+}
+
+
diff --git a/noncore/unsupported/mailit/emaillistitem.h b/noncore/unsupported/mailit/emaillistitem.h
index 642932c..129a774 100644
--- a/noncore/unsupported/mailit/emaillistitem.h
+++ b/noncore/unsupported/mailit/emaillistitem.h
@@ -33,5 +33,5 @@ public:
bool isItemSelected();
bool itemSelected();
-
+
protected:
void paintCell( QPainter *p, const QColorGroup &cg,
@@ -40,4 +40,5 @@ private:
Email mail;
bool selected;
+ QString dateFromULCString( QString ulc );
};
diff --git a/noncore/unsupported/mailit/mailit.pro b/noncore/unsupported/mailit/mailit.pro
index 5e9a83a..0224886 100644
--- a/noncore/unsupported/mailit/mailit.pro
+++ b/noncore/unsupported/mailit/mailit.pro
@@ -1,5 +1,4 @@
-TEMPLATE = app
TARGET = mailit
-CONFIG = qt warn_on release
+CONFIG = qt warn_on release quick-app
HEADERS = emailclient.h \
emailhandler.h \
@@ -38,7 +37,4 @@ DEPENDPATH += $(OPIEDIR)/include
LIBS += -lqpe -lopie
# -lssl
-MOC_DIR=qpeobj
-OBJECTS_DIR=qpeobj
-DESTDIR=$(OPIEDIR)/bin
TRANSLATIONS = ../../../i18n/de/mailit.ts \
diff --git a/noncore/unsupported/mailit/mailitwindow.h b/noncore/unsupported/mailit/mailitwindow.h
index e818d32..11e56b9 100644
--- a/noncore/unsupported/mailit/mailitwindow.h
+++ b/noncore/unsupported/mailit/mailitwindow.h
@@ -34,4 +34,5 @@ class MailItWindow: public QMainWindow
Q_OBJECT
public:
+ static QString appName() { return QString::fromLatin1("mailit"); }
MailItWindow(QWidget *parent = 0, const char *name = 0, WFlags fl = 0);
~MailItWindow();
diff --git a/noncore/unsupported/mailit/main.cpp b/noncore/unsupported/mailit/main.cpp
index 3a3e1fc..71f8877 100644
--- a/noncore/unsupported/mailit/main.cpp
+++ b/noncore/unsupported/mailit/main.cpp
@@ -21,9 +21,5 @@
#include "mailitwindow.h"
-int main(int argc, char* argv[])
-{
- QPEApplication a( argc, argv );
- MailItWindow mw(0, 0);
- a.showMainDocumentWidget(&mw);
- return a.exec();
-}
+#include <opie/oapplicationfactory.h>
+
+OPIE_EXPORT_APP( OApplicationFactory<MailItWindow> ) \ No newline at end of file