You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.7 KiB
75 lines
1.7 KiB
#ifndef KMRECENTADDR_H |
|
#define KMRECENTADDR_H |
|
|
|
#include <qstringlist.h> |
|
|
|
class KConfig; |
|
|
|
/** |
|
* Handles a list of "recent email-addresses". Simply set a max-count and |
|
* call @ref add() to add entries. |
|
* |
|
* @author Carsten Pfeiffer <pfeiffer@kde.org> |
|
*/ |
|
|
|
class KMRecentAddresses |
|
{ |
|
friend class foobar; // private destructor |
|
|
|
public: |
|
/** |
|
* @returns the only possible instance of this class. |
|
*/ |
|
static KMRecentAddresses * self(); |
|
|
|
/** |
|
* @returns the list of recent addresses. |
|
* Note: an entry doesn't have to be one email address, it can be multiple, |
|
* like "Foo <foo@bar.org>, Bar Baz <bar@baz.org>". |
|
*/ |
|
QStringList addresses() const { return m_addresses; } |
|
|
|
/** |
|
* Adds an entry to the list. |
|
* Note: an entry doesn't have to be one email address, it can be multiple, |
|
* like "Foo <foo@bar.org>, Bar Baz <bar@baz.org>". |
|
*/ |
|
void add( const QString& entry ); |
|
|
|
/** |
|
* Sets the maximum number, the list can hold. The list adjusts to this |
|
* size if necessary. Default maximum is 40. |
|
*/ |
|
void setMaxCount( int count ); |
|
|
|
/** |
|
* @returns the current maximum number of entries. |
|
*/ |
|
uint maxCount() const { return m_maxCount; } |
|
|
|
/** |
|
* Loads the list of recently used addresses from the configfile. |
|
* Automatically done on startup. |
|
*/ |
|
void load( KConfig * ); |
|
|
|
/** |
|
* Saves the list of recently used addresses to the configfile. |
|
* Make sure to call KGlobal::config()->sync() afterwards, to really save. |
|
*/ |
|
void save( KConfig * ); |
|
|
|
private: |
|
KMRecentAddresses(); |
|
~KMRecentAddresses(); |
|
|
|
void adjustSize(); |
|
|
|
uint m_maxCount; |
|
QStringList m_addresses; |
|
|
|
static KMRecentAddresses *s_self; |
|
|
|
}; |
|
|
|
#endif // KMRECENTADDR_H
|
|
|