//$markus: Fixed layout stuff. Added support for single Account mail check.

svn path=/trunk/kdenetwork/kmail/; revision=7427
wilder-work
Markus Wuebben 28 years ago
parent 986f27f735
commit f6b1589604
  1. 7
      ChangeLog
  2. 48
      kmacctmgr.cpp
  3. 8
      kmacctmgr.h
  4. 2
      kmcomposewin.cpp
  5. 1
      kmglobal.h
  6. 68
      kmmainwin.cpp
  7. 5
      kmmainwin.h
  8. 10
      kmsettings.cpp
  9. 1
      main.cpp

@ -1,3 +1,10 @@
1998-05-09 Markus Wuebben <markus@kde.org>
* kmsettings.cpp (KMAccountSettings):
Fixed "Delete mail from server". The row was to low.
* kmmainwin.cpp
Added a single account mail check option.
1998-04-29 Markus Wuebben <markus@kde.org>
* Reader: Fixed the url parsing which made kmail

@ -210,5 +210,53 @@ bool KMAcctMgr::checkMail(void)
}
QStrList KMAcctMgr::getAccounts() {
KMAccount *cur;
QStrList strList;
for (cur=mAcctList.first(); cur; cur=mAcctList.next()) {
strList.append(cur->name());
}
return strList;
}
bool KMAcctMgr::intCheckMail(int item) {
KMAccount* cur;
bool hasNewMail = FALSE;
if (mAcctList.isEmpty())
{
warning(i18n("You need to add an account in the network\n"
"section of the settings in order to\n"
"receive mail."));
return FALSE;
}
KMIOStatusWdg *wid = new KMIOStatusWdg(0L,0L,KMIOStatus::RETRIEVE);
wid->show();
printf("Item: %i\n" ,item);
int x = 0;
cur = mAcctList.first();
for(x=0; x < item; x++)
cur=mAcctList.next();
debug(cur->name());
if (cur->processNewMail(wid))
{
hasNewMail = TRUE;
emit newMail(cur);
}
delete wid;
return hasNewMail;
}
//-----------------------------------------------------------------------------
#include "kmacctmgr.moc"

@ -10,6 +10,7 @@
#include <qstring.h>
#include <qdir.h>
#include <qfile.h>
#include <qstrlist.h>
#include <qmsgbox.h>
#include "kmnewiostatuswdg.h"
#include "kmaccount.h"
@ -62,9 +63,16 @@ public:
is new mail in at least one account. */
virtual bool checkMail(void);
QStrList getAccounts();
public slots:
virtual bool singleCheckMail(KMAccount *);
virtual bool intCheckMail(int);
signals:
/** emitted if new mail arrived in the account */
void newMail(KMAccount* inAccount);

@ -362,6 +362,8 @@ void KMComposeWin::rethinkFields(void)
if (mAtmList.count() > 0) mAtmListBox->show();
else mAtmListBox->hide();
resize(this->size());
repaint();
mGrid->activate();
}

@ -15,6 +15,7 @@
#include <qwidget.h>
extern bool shuttingDown;
extern bool checkingMail;
/** Contains and handles user identity information. */
class KMIdentity;

@ -281,13 +281,53 @@ void KMMainWin::slotCheckMail()
{
bool rc;
if(checkingMail) {
KMsgBox::message(0,i18n("KMail error"),
i18n("Already checking for mail!"));
return;
}
checkingMail = TRUE;
kbp->busy();
rc = acctMgr->checkMail();
kbp->idle();
if (!rc) warning(i18n("No new mail available"));
checkingMail = FALSE;
}
void KMMainWin::slotMenuActivated() {
getAccountMenu();
}
void KMMainWin::slotCheckOneAccount(int item) {
bool rc = FALSE;
if(checkingMail) {
KMsgBox::message(0,i18n("KMail error"),
i18n("Already checking for mail!"));
return;
}
checkingMail = TRUE;
kbp->busy();
rc = acctMgr->checkMail();
rc = acctMgr->intCheckMail(item);
kbp->idle();
if (!rc) warning(i18n("No new mail available"));
}
checkingMail = FALSE;
}
//-----------------------------------------------------------------------------
void KMMainWin::slotCompose()
@ -742,12 +782,23 @@ void KMMainWin::slotMsgPopup(const char* aUrl, const QPoint& aPoint)
}
}
void KMMainWin::getAccountMenu() {
QStrList actList;
actMenu->clear();
actList = acctMgr->getAccounts();
QString tmp;
for(tmp = actList.first(); tmp ; tmp = actList.next()) {
actMenu->insertItem(tmp);
}
}
//-----------------------------------------------------------------------------
void KMMainWin::setupMenuBar()
{
//----- File Menu
QPopupMenu *fileMenu = new QPopupMenu();
fileMenu = new QPopupMenu();
fileMenu->insertItem(i18n("New Composer"), this,
SLOT(slotCompose()), keys->openNew());
fileMenu->insertItem(i18n("New Mailreader"), this,
@ -760,6 +811,15 @@ void KMMainWin::setupMenuBar()
fileMenu->insertSeparator();
fileMenu->insertItem(i18n("Check Mail..."), this,
SLOT(slotCheckMail()));
actMenu = new QPopupMenu();
getAccountMenu();
connect(actMenu,SIGNAL(activated(int)),this,SLOT(slotCheckOneAccount(int)));
connect(fileMenu,SIGNAL(highlighted(int)),this,SLOT(slotMenuActivated()));
fileMenu->insertItem(i18n("Check Mail in..."),actMenu);
fileMenu->insertItem(i18n("Send Queued"), this,
SLOT(slotSendQueued()));
fileMenu->insertSeparator();

@ -57,6 +57,9 @@ protected:
void setupStatusBar();
protected slots:
void slotCheckOneAccount(int);
void getAccountMenu();
void slotMenuActivated();
void slotClose();
void slotHelp();
void slotNewMailReader();
@ -127,6 +130,8 @@ protected:
int mMessageStatusId;
int mHorizPannerSep, mVertPannerSep;
QString mUrlCurrent;
QPopupMenu *actMenu;
QPopupMenu *fileMenu;
};
#endif

@ -704,7 +704,7 @@ KMAccountSettings::KMAccountSettings(QWidget *parent, const char *name,
acctType = mAcct->type();
setCaption("Configure Account");
grid = new QGridLayout(this, 12, 3, 8, 4);
grid = new QGridLayout(this, 13, 3, 8, 4);
grid->setColStretch(1, 5);
lbl = new QLabel(i18n("Type:"), this);
@ -748,7 +748,7 @@ KMAccountSettings::KMAccountSettings(QWidget *parent, const char *name,
chk = new QCheckBox(i18n("Delete mail from server"), this);
chk->setChecked(!((KMAcctPop*)mAcct)->leaveOnServer());
grid->addMultiCellWidget(chk, 6, 6, 1, 2);
grid->addMultiCellWidget(chk, 6, 7, 1, 2);
}
else fatal("KMAccountSettings: unsupported account type");
@ -761,7 +761,7 @@ KMAccountSettings::KMAccountSettings(QWidget *parent, const char *name,
lbl = new QLabel(i18n("Store new mail in account:"), this);
lbl->adjustSize();
lbl->setMinimumSize(lbl->sizeHint());
grid->addMultiCellWidget(lbl, 7, 7, 0, 2);
grid->addMultiCellWidget(lbl, 8, 8, 0, 2);
// combobox of all folders with current account folder selected
acctFolder = mAcct->folder();
@ -777,7 +777,7 @@ KMAccountSettings::KMAccountSettings(QWidget *parent, const char *name,
mFolders->adjustSize();
mFolders->setMinimumSize(100, mEdtName->minimumSize().height());
mFolders->setMaximumSize(500, mEdtName->minimumSize().height());
grid->addWidget(mFolders, 8, 1);
grid->addWidget(mFolders, 9, 1);
// buttons at bottom
btnBox = new QWidget(this);
@ -797,7 +797,7 @@ KMAccountSettings::KMAccountSettings(QWidget *parent, const char *name,
btnBox->setMinimumSize(230, ok->size().height()+10);
btnBox->setMaximumSize(2048, ok->size().height()+10);
grid->addMultiCellWidget(btnBox, 10, 10, 0, 2);
grid->addMultiCellWidget(btnBox, 11, 11, 0, 2);
resize(350,310);
grid->activate();

@ -51,6 +51,7 @@ WindowList* windowList = NULL;
bool shuttingDown = FALSE;
bool checkingMail = FALSE;
const char* aboutText =
"KMail [" KMAIL_VERSION "] by\n\n"
"Stefan Taferner <taferner@kde.org>,\n"

Loading…
Cancel
Save