[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kmail-devel
Subject:    Re: [patch] POP3 Filter
From:       Michael =?iso-8859-1?q?H=E4ckel?= <haeckel () kde ! org>
Date:       2001-11-30 14:24:59
[Download RAW message or body]

Hi,

On Thursday 29 November 2001 19:48, Heiko Hund wrote:
> Hello,
>
> attached you find the work Thorsten and I have done the last weeks.
>
> As a reminder: we tried to implement the wished feature to download later
> or delete mails directly from a POP3 server.

First of all, thaks for your work, this really prosises quite some powerful 
functionality.

> Here is a short intro:
> In the POP server cfg. dialog you can now enable the feature and define a
> size from which on mails will be considered 'huge'. When you check your
> popbox and 'huge' mails are detected a confirmation dialog will popup,
> where you can select what to do with those messages. Maybe the icons in the
> dialog need some work!? :-) Judge by yourself.

I think, the icons are ok but might need some hints that appear on mouse over. 
At least I didn't immidiately find out, what is meant with the yellow one.

Regarding the filter rules: I think, it is not nice, that there is no 
possibility to manually change deleting/downloading for mails where a filter 
matched any more. At least for deleting there should be always a 
confirmation. This "Show messages matched by a ruleset and tagged 'Download' 
or 'Delete'" doesn't seem to have an effect.
Maybe the mails where a rule matched, should be displayed in a different list 
than the others and the just the radiobuttons should be preselected.

It doesn't work nicely together with interval mail checking. I think, interval 
mail cheking should never lead to any dialogs popping up, this is simply 
annoying, if I type a mail and suddenly a modal dialog appears. Maybe the 
mails should be simply kept on the server for eventual later download in this 
case and the statusbar could display some information about then.

At least with certain mailboxes I get an assertion failure, see below. Seems, 
that an zero size header is retrieved for some reason.

A little issue: Sorting by size doesn't work correctely, if the sizes differ 
in the number of digits.

However I see also a really big problem with this patch, sorry: There is way 
too much code duplication done.
Every change in the filter dialog has to be done twice then, even if it is 
just a little change in one of the "what's this" help texts.

If I for example compare kmfiltermgr.cpp with kmpopfiltermgr.cpp nearly the 
only differences seems to be everything with "filter" replaced by 
"popfilter".
So please either give these classes you duplicated (KMFilter, KMFilterMgr, 
KMFilterDlg from what I can see) a flag that says, which type they are or 
create a base class, that implements the shared functionality and two derived 
classes for the different purposes.

Regards,
Michael Häckel


kmail: checking mail, server busy
kmail: enable progress
kmail: Data: <End>
kmail: stage == List
kmail: Data: <End>
kmail: stage == Uidl
kmail: Length: 129563
kmail: bigger than 1000
kmail: Length: 12505
kmail: bigger than 1000
kmail: Length: 1911
kmail: bigger than 1000
kmail: Length: 2630
kmail: bigger than 1000
kmail: slotGetNextHeader
kmail: Data: <End>
kmail: Head: <End>
kmail: slotHrdRetrieved:
kmail: string.cpp:279: DwString::DwString(const char *, unsigned int): 
Zusicherung »aBuf != 0« nicht erfüllt.
*** KMail got signal 6 (Crashing)
KCrash: crashing.... crashRecursionCounter = 2
KCrash: Application Name = kmail path = <unknown> pid = 2974
Xlib:  extension "GLX" missing on display ":0.0".

[New Thread 1024 (LWP 1129)]
0x4144f079 in wait4 () from /lib/libc.so.6
#0  0x4144f079 in wait4 () from /lib/libc.so.6
#1  0x414c7944 in __DTOR_END__ () from /lib/libc.so.6
#2  0x4007f177 in waitpid () from /lib/libpthread.so.0
#3  0x41278bb2 in KCrash::defaultCrashHandler ()
   from /opt/kde3/lib/libkdecore.so.4
#4  0x4007cbc4 in pthread_sighandler () from /lib/libpthread.so.0
#5  <signal handler called>
#6  0x413d5861 in kill () from /lib/libc.so.6
#7  0x4007cacc in pthread_kill () from /lib/libpthread.so.0
#8  0x4007cfd6 in raise () from /lib/libpthread.so.0
#9  0x413d6c81 in abort () from /lib/libc.so.6
#10 0x413cfa52 in Letext () from /lib/libc.so.6
#11 0x40f102f6 in DwString::DwString (this=0xbfffe864, aBuf=0x0, aLen=0)
    at string.cpp:279
#12 0x08101400 in KMMessagePart::setBodyEncodedBinary (this=0xbfffe8ec,
    aStr=@0xbfffe8e4) at kmmsgpart.cpp:114
#13 0x08080ef0 in KMMessage::fromString (this=0x93fbfb0, aStr=@0xbfffe9fc,
    aSetStatus=true) at kmmessage.cpp:267
#14 0x0814d04c in KMAcctExpPop::slotHdrRetrieved (this=0x8356678)
    at kmacctexppop.cpp:943
#15 0x0814c4ee in KMAcctExpPop::slotData (this=0x8356678, job=0x93ff5c0,
    data=@0xbfffee84) at kmacctexppop.cpp:802
#16 0x08147971 in KMAcctExpPop::qt_invoke (this=0x8356678, _id=7,
    _o=0xbfffeb20) at kmacctexppop.moc:120
#17 0x40861414 in QObject::activate_signal ()
   from /usr/local/qt3/lib/libqt-mt.so.3
#18 0x4059990c in KIO::TransferJob::data () from /opt/kde3/lib/libkio.so.4
#19 0x405808b8 in KIO::TransferJob::slotData () from /opt/kde3/lib/libkio.so.4
#20 0x40599d64 in KIO::TransferJob::qt_invoke () from 
/opt/kde3/lib/libkio.so.4
#21 0x40861414 in QObject::activate_signal ()
   from /usr/local/qt3/lib/libqt-mt.so.3
#22 0x4056b2f5 in KIO::SlaveInterface::data () from /opt/kde3/lib/libkio.so.4
#23 0x40567810 in KIO::SlaveInterface::dispatch ()
   from /opt/kde3/lib/libkio.so.4
#24 0x40567592 in KIO::SlaveInterface::dispatch ()
   from /opt/kde3/lib/libkio.so.4
#25 0x405653ac in KIO::Slave::gotInput () from /opt/kde3/lib/libkio.so.4
#26 0x40566cd9 in KIO::Slave::qt_invoke () from /opt/kde3/lib/libkio.so.4
#27 0x40861414 in QObject::activate_signal ()
   from /usr/local/qt3/lib/libqt-mt.so.3
#28 0x4086152b in QObject::activate_signal ()
   from /usr/local/qt3/lib/libqt-mt.so.3
#29 0x40b022cd in QSocketNotifier::activated ()
   from /usr/local/qt3/lib/libqt-mt.so.3
#30 0x4087752f in QSocketNotifier::event ()
   from /usr/local/qt3/lib/libqt-mt.so.3
#31 0x40807f32 in QApplication::internalNotify ()
   from /usr/local/qt3/lib/libqt-mt.so.3
#32 0x40807de4 in QApplication::notify () from 
/usr/local/qt3/lib/libqt-mt.so.3
#33 0x4128eba5 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
#34 0x407b8cdd in sn_activate () from /usr/local/qt3/lib/libqt-mt.so.3
#35 0x407b94a7 in QApplication::processNextEvent ()
   from /usr/local/qt3/lib/libqt-mt.so.3
#36 0x40809241 in QApplication::enter_loop ()
   from /usr/local/qt3/lib/libqt-mt.so.3
#37 0x407b8d5b in QApplication::exec () from /usr/local/qt3/lib/libqt-mt.so.3
#38 0x08152bc7 in main (argc=7, argv=0xbffff5c4) at main.cpp:261
#39 0x413c47ee in __libc_start_main () from /lib/libc.so.6


_______________________________________________
kmail Developers mailing list
kmail@mail.kde.org
http://mail.kde.org/mailman/listinfo/kmail

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic