summaryrefslogtreecommitdiffstats
path: root/knode/knnntpaccount.h
diff options
context:
space:
mode:
Diffstat (limited to 'knode/knnntpaccount.h')
-rw-r--r--knode/knnntpaccount.h117
1 files changed, 117 insertions, 0 deletions
diff --git a/knode/knnntpaccount.h b/knode/knnntpaccount.h
new file mode 100644
index 000000000..4c7694ff6
--- /dev/null
+++ b/knode/knnntpaccount.h
@@ -0,0 +1,117 @@
+/*
+ knnntpaccount.h
+
+ KNode, the KDE newsreader
+ Copyright (c) 1999-2004 the KNode authors.
+ See file AUTHORS for details
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, US
+*/
+
+#ifndef KNNNTPACCOUNT_H
+#define KNNNTPACCOUNT_H
+
+#include <qdatetime.h>
+
+#include "kncollection.h"
+#include "knserverinfo.h"
+#include <qobject.h>
+#include <qtimer.h>
+
+class KNNntpAccount;
+
+namespace KNConfig {
+ class Identity;
+ class Cleanup;
+}
+
+
+class KNNntpAccountIntervalChecking : public QObject {
+
+ Q_OBJECT
+
+ public:
+ KNNntpAccountIntervalChecking(KNNntpAccount *account);
+ ~KNNntpAccountIntervalChecking();
+ void installTimer();
+ void deinstallTimer();
+
+ protected:
+ QTimer *t_imer;
+ KNNntpAccount *a_ccount;
+
+ protected slots:
+ void slotCheckNews();
+
+};
+
+class KNNntpAccount : public KNCollection , public KNServerInfo {
+
+ public:
+ KNNntpAccount();
+ ~KNNntpAccount();
+
+ collectionType type() { return CTnntpAccount; }
+
+ /** tries to read information, returns false if it fails to do so */
+ bool readInfo(const QString &confPath);
+ void saveInfo();
+ //void syncInfo();
+ QString path();
+ /** returns true when the user accepted */
+ bool editProperties(QWidget *parent);
+
+ // news interval checking
+ void startTimer();
+
+ //get
+ bool fetchDescriptions() const { return f_etchDescriptions; }
+ QDate lastNewFetch() const { return l_astNewFetch; }
+ bool wasOpen() const { return w_asOpen; }
+ bool useDiskCache() const { return u_seDiskCache; }
+ KNConfig::Identity* identity() const { return i_dentity; }
+ bool intervalChecking() const { return i_ntervalChecking; }
+ int checkInterval() const { return c_heckInterval; }
+ KNConfig::Cleanup *cleanupConfig() const { return mCleanupConf; }
+
+ /** Returns the cleanup configuration that should be used for this account */
+ KNConfig::Cleanup *activeCleanupConfig() const;
+
+ //set
+ void setFetchDescriptions(bool b) { f_etchDescriptions = b; }
+ void setLastNewFetch(QDate date) { l_astNewFetch = date; }
+ void setUseDiskCache(bool b) { u_seDiskCache=b; }
+ void setCheckInterval(int c);
+ void setIntervalChecking(bool b) { i_ntervalChecking=b; }
+
+ protected:
+ /** server specific identity */
+ KNConfig::Identity *i_dentity;
+ /** account specific cleanup configuration */
+ KNConfig::Cleanup *mCleanupConf;
+ /** use an additional "list newsgroups" command to fetch the newsgroup descriptions */
+ bool f_etchDescriptions;
+ /** last use of "newgroups" */
+ QDate l_astNewFetch;
+ /** was the server open in the listview on the last shutdown? */
+ bool w_asOpen;
+ /** cache fetched articles on disk */
+ bool u_seDiskCache;
+ /** is interval checking enabled */
+ bool i_ntervalChecking;
+ int c_heckInterval;
+
+ /** helper class for news interval checking, manages the QTimer */
+ KNNntpAccountIntervalChecking *a_ccountIntervalChecking;
+
+};
+
+#endif
+
+// kate: space-indent on; indent-width 2;