~ubuntu-branches/ubuntu/breezy/koffice/breezy

« back to all changes in this revision

Viewing changes to kword/mailmerge/sql/mailmerge_qtsqlplugin_easyfilter.cc

  • Committer: Bazaar Package Importer
  • Author(s): Ben Burton
  • Date: 2004-05-09 11:33:00 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040509113300-vfrdadqsvjfuhn3b
Tags: 1:1.3.1-1
* New upstream bugfix release.
* Built against newer imagemagick (closes: #246623).
* Made koffice-libs/kformula recommend/depend on latex-xft-fonts, which
  provides mathematical fonts that the formula editor can use.  Also
  patched the kformula part to make these fonts the default.
* Changed kword menu hint from "WordProcessors" to "Word processors"
  (closes: #246209).
* Spellchecker configuration is now fixed (closes: #221256, #227568).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "mailmerge_qtsqlplugin_easyfilter.h"
 
2
#include "mailmerge_qtsqlplugin_easyfilter.moc"
 
3
#include <qtable.h>
 
4
#include <qscrollview.h>
 
5
#include <klocale.h>
 
6
#include <qlayout.h>
 
7
#include <qcheckbox.h>
 
8
 
 
9
KWQTSqlEasyFilter::KWQTSqlEasyFilter( QWidget *parent)
 
10
        :KDialogBase( Swallow, i18n( "Mail Merge - Editor" ), Ok | Cancel, Ok, parent, "", true)
 
11
{
 
12
       m_fieldList << "" <<"one" << "two" << "three" << "four";
 
13
       m_sortingList << ""<<i18n("ascending")<<i18n("descending");
 
14
       m_operationList <<"="<<i18n("contains")<< "<" << ">";
 
15
 
 
16
        m_table=new QTable(6,3,this);
 
17
        setMainWidget(m_table);
 
18
                
 
19
        m_table->verticalHeader()->setLabel(0,i18n("Field"));
 
20
        m_table->verticalHeader()->setLabel(1,i18n("Sorting Order"));
 
21
        m_table->verticalHeader()->setLabel(2,i18n("include"));
 
22
        m_table->verticalHeader()->setLabel(3,i18n("Operator"));
 
23
        m_table->verticalHeader()->setLabel(4,i18n("Condition"));
 
24
        m_table->verticalHeader()->setLabel(5,i18n("Value"));
 
25
        m_table->setSelectionMode(QTable::NoSelection);
 
26
        m_table->setColumnMovingEnabled(true);
 
27
        m_table->setSorting(false);
 
28
 
 
29
        for (int i=0; i<3; i++)
 
30
        {
 
31
                createColumn(i);        
 
32
        }
 
33
 
 
34
        int h=m_table->rowHeight(0);
 
35
        for (int i=0;i<6;i++) h+=m_table->rowHeight(i);
 
36
        h+=m_table->horizontalHeader()->sizeHint().height();
 
37
        m_table->setMinimumHeight(h);
 
38
        
 
39
        int w=0;
 
40
        for (int i=0;i<3;i++) w+=m_table->columnWidth(i);
 
41
        w+=m_table->verticalHeader()->headerWidth();
 
42
        m_table->setMinimumWidth(w);
 
43
        connect(m_table,SIGNAL(valueChanged ( int, int)),this,SLOT(slotValueChanged ( int, int)));
 
44
}
 
45
 
 
46
void KWQTSqlEasyFilter::createColumn(int i)
 
47
{
 
48
        QTableItem *it;
 
49
        m_table->setItem(0,i,it=new QComboTableItem(m_table,m_fieldList,false));
 
50
        m_table->setItem(1,i,it=new QComboTableItem(m_table,m_sortingList,false));
 
51
        it->setEnabled(false);
 
52
        m_table->setItem(2,i,it=new QCheckTableItem(m_table,i18n("Yes")));
 
53
        it->setEnabled(false);
 
54
        m_table->setItem(3,i,it=new QCheckTableItem(m_table,i18n("NOT")));
 
55
        it->setEnabled(false);
 
56
        m_table->setItem(4,i,it=new QComboTableItem(m_table,m_operationList,false));            
 
57
        it->setEnabled(false);
 
58
        m_table->setItem(5,i,it=new QTableItem(m_table,QTableItem::WhenCurrent,""));            
 
59
        it->setEnabled(false);
 
60
        m_table->ensureCellVisible(0,i);
 
61
}
 
62
 
 
63
 
 
64
void KWQTSqlEasyFilter::slotValueChanged ( int row, int col )
 
65
{
 
66
        switch (row)
 
67
        {
 
68
                case 0: 
 
69
                        if (m_table->item(row,col)->text()!="")
 
70
                        {
 
71
                                if (col==m_table->numCols()-1)
 
72
                                {
 
73
                                        m_table->insertColumns(col+1,1);
 
74
                                        createColumn(col+1);
 
75
                                }
 
76
                                m_table->item(1,col)->setEnabled(true);
 
77
                                m_table->item(2,col)->setEnabled(true);
 
78
                                bool enableSearch=(static_cast<QCheckTableItem*>(m_table->item(2,col))->isChecked());
 
79
                                m_table->item(3,col)->setEnabled(enableSearch);
 
80
                                m_table->item(4,col)->setEnabled(enableSearch);
 
81
                                m_table->item(5,col)->setEnabled(enableSearch);
 
82
                        }
 
83
                        else
 
84
                        {
 
85
                                for (int i=1;i<6;i++)   m_table->item(i,col)->setEnabled(false);
 
86
                        }
 
87
                        break;
 
88
                case 2:
 
89
                        bool enSearch=static_cast<QCheckTableItem*>(m_table->item(row,col))->isChecked();
 
90
                        m_table->item(3,col)->setEnabled(enSearch);
 
91
                        m_table->item(4,col)->setEnabled(enSearch);
 
92
                        m_table->item(5,col)->setEnabled(enSearch);
 
93
                        break;
 
94
        }
 
95
}
 
96
 
 
97
KWQTSqlEasyFilter::~KWQTSqlEasyFilter(){;}
 
98