~ubuntu-branches/ubuntu/hoary/kdemultimedia/hoary

« back to all changes in this revision

Viewing changes to noatun/noatun/library/noatunpref.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Martin Schulze
  • Date: 2003-01-22 15:00:51 UTC
  • Revision ID: james.westby@ubuntu.com-20030122150051-uihwkdoxf15mi1tn
Tags: upstream-2.2.2
ImportĀ upstreamĀ versionĀ 2.2.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "noatunpref.h"
 
2
 
 
3
#include <klocale.h>
 
4
#include <qlayout.h>
 
5
#include <qlabel.h>
 
6
#include "cmodule.h"
 
7
 
 
8
NoatunPreferences::NoatunPreferences(QWidget *parent)
 
9
    : KDialogBase(TreeList, i18n("Preferences"),
 
10
                  Ok|Apply|Close, Ok, parent, 0, false)
 
11
{
 
12
        resize(640, 480); // KDE is required to support 800x600 min.
 
13
}
 
14
 
 
15
void NoatunPreferences::slotOk()
 
16
{
 
17
        slotApply();
 
18
        hide();
 
19
}
 
20
 
 
21
void NoatunPreferences::show()
 
22
{
 
23
        for (CModule *i=mModules.first(); i != 0; i=mModules.next())
 
24
                i->reopen();
 
25
        KDialogBase::show();
 
26
}
 
27
 
 
28
void NoatunPreferences::slotApply()
 
29
{
 
30
        for (CModule *i=mModules.first(); i != 0; i=mModules.next())
 
31
                i->save();
 
32
}
 
33
 
 
34
void NoatunPreferences::add(CModule *page)
 
35
{
 
36
        mModules.append(page);
 
37
}
 
38
 
 
39
void NoatunPreferences::remove(CModule *page)
 
40
{
 
41
        mModules.removeRef(page);
 
42
}
 
43
 
 
44
CModule::CModule(const QString &name, const QString &description, QObject *owner)
 
45
        : QWidget(napp->preferencesBox()->addPage(name, description))
 
46
{
 
47
        if (owner)
 
48
                connect(owner, SIGNAL(destroyed()), SLOT(ownerDeleted()));
 
49
        napp->preferencesBox()->add(this);
 
50
 
 
51
        QFrame *page=static_cast<QFrame*>(parent());
 
52
        (new QHBoxLayout(page))->addWidget(this);
 
53
}
 
54
 
 
55
CModule::~CModule()
 
56
{
 
57
        // TODO When kdialogbase is fixed, delete the parent QFrame, and
 
58
        // all traces of the related page
 
59
 
 
60
        napp->preferencesBox()->remove(this);
 
61
}
 
62
 
 
63
void CModule::ownerDeleted()
 
64
{
 
65
        QObject *p=parent();
 
66
        delete this;
 
67
        delete p;
 
68
}
 
69
 
 
70
#include "noatunpref.moc"
 
71
 
 
72