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

mailcommon

  • sources
  • kde-4.14
  • kdepim
  • mailcommon
  • collectionpage
  • attributes
expirecollectionattribute.h
Go to the documentation of this file.
1 /* -*- mode: C++; c-file-style: "gnu" -*-
2 
3  Copyright (c) 2011-2015 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  ExpireCollectionAttribute *clone() const;
54  QByteArray serialized() const;
55  void deserialize( const QByteArray &data );
56 
57 
58  void daysToExpire( int &unreadDays, int &readDays );
59 
63  void setAutoExpire( bool enabled );
64 
68  bool isAutoExpire() const;
69 
75  void setUnreadExpireAge( int age );
76 
81  void setUnreadExpireUnits( ExpireUnits units );
82 
88  void setReadExpireAge( int age );
89 
94  void setReadExpireUnits( ExpireUnits units );
95 
100  int unreadExpireAge() const;
101 
106  int readExpireAge() const;
107 
111  ExpireAction expireAction() const;
112  void setExpireAction( ExpireAction a );
113 
117  Akonadi::Collection::Id expireToFolderId() const;
118  void setExpireToFolderId( Akonadi::Collection::Id id );
119 
124  ExpireUnits unreadExpireUnits() const;
125 
130  ExpireUnits readExpireUnits() const;
131 
132  bool operator==(const ExpireCollectionAttribute &other) const;
133 private:
134  static int daysToExpire( int number, ExpireCollectionAttribute::ExpireUnits units );
135  bool mExpireMessages; // true if old messages are expired
136  int mUnreadExpireAge; // Given in unreadExpireUnits
137  int mReadExpireAge; // Given in readExpireUnits
138  ExpireCollectionAttribute::ExpireUnits mUnreadExpireUnits;
139  ExpireCollectionAttribute::ExpireUnits mReadExpireUnits;
140  ExpireCollectionAttribute::ExpireAction mExpireAction;
141  Akonadi::Collection::Id mExpireToFolderId;
142 };
143 
144 }
145 #endif /* EXPIRATIONCOLLECTIONATTRIBUTE_H */
146 
MailCommon::ExpireCollectionAttribute::ExpireWeeks
Definition: expirecollectionattribute.h:42
MailCommon::ExpireCollectionAttribute::ExpireMonths
Definition: expirecollectionattribute.h:43
QByteArray
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-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:31:40 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
  • pimprint

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