summaryrefslogtreecommitdiffstats
path: root/knode/knconfigmanager.h
blob: 5a002a9330353efef4995051e61b5bc1f9e78a26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/*
    knconfigmanager.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 KNCONFIGMANAGER_H
#define KNCONFIGMANAGER_H

#include <kcmultidialog.h>

#include "knconfig.h"

class KNConfigDialog;


class KNConfigManager : TQObject {

  Q_OBJECT

  public:
    KNConfigManager(TQObject *p=0, const char *n=0);
    ~KNConfigManager();

    KNConfig::Identity*             identity() const           { return i_dentity; }
    KNConfig::Appearance*           appearance()const          { return a_ppearance; }
    KNConfig::ReadNewsGeneral*      readNewsGeneral()const     { return r_eadNewsGeneral; }
    KNConfig::ReadNewsNavigation*   readNewsNavigation()const  { return r_eadNewsNavigation; }
    KNConfig::ReadNewsViewer*       readNewsViewer()const      { return r_eadNewsViewer; }
    KNConfig::DisplayedHeaders*     displayedHeaders()const    { return d_isplayedHeaders; }
    KNConfig::Scoring*              scoring()const             { return s_coring; }
    KNConfig::PostNewsTechnical*    postNewsTechnical()const   { return p_ostNewsTechnical; }
    KNConfig::PostNewsComposer*     postNewsComposer() const   { return p_ostNewsCompose; }
    KNConfig::Cleanup*              cleanup()const             { return c_leanup; }
    //KNConfig::Cache*                cache()const               { return c_ache; }

    void configure();
    void syncConfig();

  protected:
    KNConfig::Identity             *i_dentity;
    KNConfig::Appearance           *a_ppearance;
    KNConfig::ReadNewsGeneral      *r_eadNewsGeneral;
    KNConfig::ReadNewsNavigation   *r_eadNewsNavigation;
    KNConfig::ReadNewsViewer       *r_eadNewsViewer;
    KNConfig::DisplayedHeaders     *d_isplayedHeaders;
    KNConfig::Scoring              *s_coring;
    KNConfig::PostNewsTechnical    *p_ostNewsTechnical;
    KNConfig::PostNewsComposer     *p_ostNewsCompose;
    KNConfig::Cleanup              *c_leanup;
    //KNConfig::Cache                *c_ache;

    KNConfigDialog  *d_ialog;

  protected slots:
    void slotDialogDone();

};


class KNConfigDialog : public KCMultiDialog {

  Q_OBJECT

  public:
    KNConfigDialog(TQWidget *p=0, const char *n=0);

  protected slots:
    void slotConfigCommitted();

};

#endif //KNCONFIGMANAGER_H