Make the boss happy.
[kdepim.git] / kmail / globalsettings.h
bloba6ff4eaa2130a4f08a72afcc2908b61e291a5d53
1 /*
2 This file is part of KMail.
4 Copyright (c) 2005 David Faure <faure@kde.org>
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License version 2,
8 as published by the Free Software Foundation.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution.
24 #ifndef KMAIL_GLOBALSETTINGS_H
25 #define KMAIL_GLOBALSETTINGS_H
27 #include "globalsettings_base.h"
29 class QTimer;
31 class GlobalSettings : public GlobalSettingsBase
33 Q_OBJECT
34 public:
35 static GlobalSettings *self();
37 /** Call this slot instead of directly @ref KConfig::sync() to
38 minimize the overall config writes. Calling this slot will
39 schedule a sync of the application config file using a timer, so
40 that many consecutive calls can be condensed into a single
41 sync, which is more efficient. */
42 void requestSync();
44 private slots:
45 void slotSyncNow();
47 private:
48 GlobalSettings();
49 virtual ~GlobalSettings();
50 static GlobalSettings *mSelf;
52 QTimer *mConfigSyncTimer;
56 #endif /* KMAIL_GLOBALSETTINGS_H */