File: filtercfg.cpp

package info (click to toggle)
sim 0.9.5~svn20080806-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 18,108 kB
  • ctags: 11,570
  • sloc: cpp: 119,605; sh: 9,986; ansic: 3,312; perl: 2,752; lex: 1,533; makefile: 839; xml: 206; python: 56
file content (76 lines) | stat: -rw-r--r-- 2,463 bytes parent folder | download
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
/***************************************************************************
                          filtercfg.cpp  -  description
                             -------------------
    begin                : Sun Mar 17 2002
    copyright            : (C) 2002 by Vladimir Shutoff
    email                : vovan@shutoff.ru
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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.                                   *
 *                                                                         *
 ***************************************************************************/

#include "misc.h"

#include "filtercfg.h"
#include "filter.h"
#include "ignorelist.h"

#include <qcheckbox.h>
#include <qtabwidget.h>
#include <qlabel.h>
#include <qmultilineedit.h>

FilterConfig::FilterConfig(QWidget *parent, FilterUserData *data, FilterPlugin *plugin, bool bMain)
        : FilterConfigBase(parent)
{
    m_plugin = plugin;
    m_data   = data;
    m_ignore = NULL;
    if (bMain){
        chkFromList->setChecked(m_plugin->getFromList());
        chkAuthFromList->setChecked(m_plugin->getAuthFromList());
        for (QObject *p = parent; p != NULL; p = p->parent()){
            if (!p->inherits("QTabWidget"))
                continue;
            QTabWidget *tab = static_cast<QTabWidget*>(p);
            m_ignore = new IgnoreList(tab);
            tab->addTab(m_ignore, i18n("Ignore list"));
            break;
        }
    }else{
        chkFromList->hide();
        chkAuthFromList->hide();
        lblFilter->hide();
    }
    edtFilter->setText(data->SpamList.str());
}

FilterConfig::~FilterConfig()
{
    if (m_ignore)
        delete m_ignore;
}

void FilterConfig::apply()
{
    m_plugin->setFromList(chkFromList->isChecked());
    m_plugin->setAuthFromList(chkAuthFromList->isChecked());
    apply(m_data);
}

void FilterConfig::apply(void *_data)
{
    FilterUserData *data = (FilterUserData*)_data;
    data->SpamList.str() = edtFilter->text();
}

#ifndef NO_MOC_INCLUDES
#include "filtercfg.moc"
#endif