• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

mailcommon

  • sources
  • kde-4.12
  • kdepim
  • mailcommon
  • collectionpage
expirecollectionattribute.h
Go to the documentation of this file.
1 /* -*- mode: C++; c-file-style: "gnu" -*-
2 
3  Copyright (c) 2011, 2012, 2013 Montel Laurent <montel@kde.org>
4 
5  This program is free software; you can redistribute it and/or modify it
6  under the terms of the GNU General Public License, version 2, as
7  published by the Free Software Foundation.
8 
9  This program is distributed in the hope that it will be useful, but
10  WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License along
15  with this program; if not, write to the Free Software Foundation, Inc.,
16  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18 
19 #ifndef MAILCOMMON_EXPIRECOLLECTIONATTRIBUTE_H
20 #define MAILCOMMON_EXPIRECOLLECTIONATTRIBUTE_H
21 
22 #include "mailcommon_export.h"
23 
24 #include <Akonadi/Attribute>
25 #include <Akonadi/Collection>
26 
27 namespace MailCommon {
28 
29 class MAILCOMMON_EXPORT ExpireCollectionAttribute : public Akonadi::Attribute
30 {
31 public:
32  ExpireCollectionAttribute();
33 
34  /*
35  * Define the possible units to use for measuring message expiry.
36  * expireNever is used to switch off message expiry, and expireMaxUnits
37  * must always be the last in the list (for bounds checking).
38  */
39  enum ExpireUnits {
40  ExpireNever,
41  ExpireDays,
42  ExpireWeeks,
43  ExpireMonths,
44  ExpireMaxUnits
45  };
46 
47  enum ExpireAction {
48  ExpireDelete,
49  ExpireMove
50  };
51 
52  QByteArray type() const;
53  Attribute *clone() const;
54  QByteArray serialized() const;
55  void deserialize( const QByteArray &data );
56 
57  static int daysToExpire( int number, ExpireCollectionAttribute::ExpireUnits units );
58 
59  static ExpireCollectionAttribute *expirationCollectionAttribute(
60  const Akonadi::Collection &collection, bool &mustDeleteExpirationAttribute );
61 
62  void loadFromConfig( const Akonadi::Collection &collection );
63 
64  void daysToExpire( int &unreadDays, int &readDays );
65 
69  void setAutoExpire( bool enabled );
70 
74  bool isAutoExpire() const;
75 
81  void setUnreadExpireAge( int age );
82 
87  void setUnreadExpireUnits( ExpireUnits units );
88 
94  void setReadExpireAge( int age );
95 
100  void setReadExpireUnits( ExpireUnits units );
101 
106  int unreadExpireAge() const;
107 
112  int readExpireAge() const;
113 
117  ExpireAction expireAction() const;
118  void setExpireAction( ExpireAction a );
119 
123  Akonadi::Collection::Id expireToFolderId() const;
124  void setExpireToFolderId( Akonadi::Collection::Id id );
125 
130  ExpireUnits unreadExpireUnits() const;
131 
136  ExpireUnits readExpireUnits() const;
137 
138 private:
139  bool mExpireMessages; // true if old messages are expired
140  int mUnreadExpireAge; // Given in unreadExpireUnits
141  int mReadExpireAge; // Given in readExpireUnits
142  ExpireCollectionAttribute::ExpireUnits mUnreadExpireUnits;
143  ExpireCollectionAttribute::ExpireUnits mReadExpireUnits;
144  ExpireCollectionAttribute::ExpireAction mExpireAction;
145  Akonadi::Collection::Id mExpireToFolderId;
146 };
147 
148 }
149 #endif /* EXPIRATIONCOLLECTIONATTRIBUTE_H */
150 
MailCommon::ExpireCollectionAttribute::ExpireWeeks
Definition: expirecollectionattribute.h:42
MailCommon::ExpireCollectionAttribute::ExpireMonths
Definition: expirecollectionattribute.h:43
MailCommon::ExpireCollectionAttribute
Definition: expirecollectionattribute.h:29
MailCommon::ExpireCollectionAttribute::ExpireAction
ExpireAction
Definition: expirecollectionattribute.h:47
mailcommon_export.h
MAILCOMMON_EXPORT
#define MAILCOMMON_EXPORT
Definition: mailcommon_export.h:35
MailCommon::ExpireCollectionAttribute::ExpireNever
Definition: expirecollectionattribute.h:40
MailCommon::ExpireCollectionAttribute::ExpireDelete
Definition: expirecollectionattribute.h:48
MailCommon::ExpireCollectionAttribute::ExpireUnits
ExpireUnits
Definition: expirecollectionattribute.h:39
MailCommon::ExpireCollectionAttribute::ExpireDays
Definition: expirecollectionattribute.h:41
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:55:14 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

mailcommon

Skip menu "mailcommon"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal