On Thursday, 20 June 2013 15:42:28 CEST, Pali Rohár wrote:
virtual void requestComplete(const QString &input, const QStringList &ignores = QStringList(), int max = -1) = 0;

Either "requestCompletion" or "requestCompleting", but to me, "requestComplete" means something 
very different than "request a completion", I read it as "a request has been completed".

You can also kill the ignores parameter, it doesn't appear to be used. Thomas, 
do you have a comment on that, given that originally added this?

    void completionAvailable(const QString &input, const QStringList &list);

I'd suggest this ("list" is not a terribly self-explaining name):

void completionAvailable(const QString &input, const QQstringList &completion);

I'm also slightly unsure about whether it should be changed to a QList<QPair<QString, 
QString> > to pass the human readable names and e-mail addresses separately. Opinions?

class AddressbookFactoryInterface {
    virtual QString name() = 0;
    virtual QString description() = 0;
    virtual bool isValid() = 0;

These should probably all be const. I also wonder about the usefullness of the 
isValid() -- if it's e.g. an LDAP address book, do you expect to test 
connection to the remote server during isValid()? If so, it should probably 
asynchronous, but that would only make it troublesome to use it...

Cheers,
Jan

--
Trojitá, a fast Qt IMAP e-mail client -- http://trojita.flaska.net/

Reply via email to