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

krfb

  • sources
  • kde-4.12
  • kdenetwork
  • krfb
  • krfb
invitationmanager.cpp
Go to the documentation of this file.
1 /* This file is part of the KDE project
2  Copyright (C) 2007 Alessandro Praduroux <pradu@pradu.it>
3 
4  This program is free software; you can redistribute it and/or
5  modify it under the terms of the GNU General Public
6  License as published by the Free Software Foundation; either
7  version 2 of the License, or (at your option) any later version.
8 */
9 #include "invitationmanager.h"
10 #include "invitationmanager.moc"
11 
12 #include <KConfigGroup>
13 #include <KConfig>
14 #include <KGlobal>
15 
16 #include <QtCore/QTimer>
17 
18 class InvitationManagerPrivate
19 {
20 public:
21  InvitationManager instance;
22 };
23 
24 K_GLOBAL_STATIC(InvitationManagerPrivate, invitationManagerPrivate)
25 
26 InvitationManager *InvitationManager::self()
27 {
28  return &invitationManagerPrivate->instance;
29 }
30 
31 InvitationManager::InvitationManager()
32 {
33  loadInvitations();
34 
35  QTimer *refreshTimer = new QTimer(this);
36  connect(refreshTimer, SIGNAL(timeout()), SLOT(loadInvitations()));
37  refreshTimer->start(1000 * 60);
38 }
39 
40 
41 InvitationManager::~InvitationManager()
42 {
43 
44 }
45 
46 void InvitationManager::invalidateOldInvitations()
47 {
48  int invNum = invitationList.size();
49 
50  while (invNum--) {
51  if (!invitationList[invNum].isValid()) {
52  invitationList.removeAt(invNum);
53  }
54  }
55 
56  saveInvitations();
57 }
58 
59 
60 void InvitationManager::loadInvitations()
61 {
62  int invNum = invitationList.size();
63 
64  KSharedConfigPtr conf = KGlobal::config();
65  KConfigGroup invitationConfig(conf, "Invitations");
66  int numInv = invitationConfig.readEntry("invitation_num", 0);
67 
68  invitationList.clear();
69 
70  for (int i = 0; i < numInv; i++) {
71  KConfigGroup ic(conf, QString("Invitation_%1").arg(i));
72  invitationList.append(Invitation(ic));
73  }
74 
75  invalidateOldInvitations();
76 
77  if (numInv != invNum) {
78  emit invitationNumChanged(invitationList.size());
79  }
80 
81 }
82 
83 Invitation InvitationManager::addInvitation()
84 {
85  Invitation i;
86  invitationList.append(i);
87  emit invitationNumChanged(invitationList.size());
88  saveInvitations();
89  return i;
90 }
91 
92 const QList< Invitation > & InvitationManager::invitations()
93 {
94  return invitationList;
95 }
96 
97 void InvitationManager::saveInvitations()
98 {
99  KSharedConfigPtr conf = KGlobal::config();
100  KConfigGroup invitationConfig(conf, "Invitations");
101  int invNum = invitationList.size();
102  invitationConfig.writeEntry("invitation_num", invNum);
103 
104  for (int i = 0; i < invNum; i++) {
105  KConfigGroup ic(conf, QString("Invitation_%1").arg(i));
106  invitationList[i].save(ic);
107  }
108 
109  conf->sync();
110 }
111 
112 int InvitationManager::activeInvitations()
113 {
114  invalidateOldInvitations();
115  return invitationList.size();
116 }
117 
118 void InvitationManager::removeInvitation(const Invitation &inv)
119 {
120  invitationList.removeAll(inv);
121  saveInvitations();
122  emit invitationNumChanged(invitationList.size());
123 }
124 
125 void InvitationManager::removeAllInvitations()
126 {
127  invitationList.clear();
128  saveInvitations();
129  emit invitationNumChanged(invitationList.size());
130 }
InvitationManager::activeInvitations
int activeInvitations()
Definition: invitationmanager.cpp:112
InvitationManager::invitations
const QList< Invitation > & invitations()
Definition: invitationmanager.cpp:92
InvitationManager
Definition: invitationmanager.h:21
Invitation
Definition: invitation.h:29
InvitationManager::removeInvitation
void removeInvitation(const Invitation &inv)
Definition: invitationmanager.cpp:118
InvitationManager::saveInvitations
void saveInvitations()
Definition: invitationmanager.cpp:97
InvitationManager::loadInvitations
void loadInvitations()
Definition: invitationmanager.cpp:60
InvitationManager::addInvitation
Invitation addInvitation()
Definition: invitationmanager.cpp:83
InvitationManager::invitationNumChanged
void invitationNumChanged(int)
InvitationManager::removeAllInvitations
void removeAllInvitations()
Definition: invitationmanager.cpp:125
invitationmanager.h
InvitationManager::~InvitationManager
~InvitationManager()
Definition: invitationmanager.cpp:41
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:54:10 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

krfb

Skip menu "krfb"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdenetwork API Reference

Skip menu "kdenetwork API Reference"
  • kget
  • kopete
  •   kopete
  •   libkopete
  • krdc
  • krfb

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