~ubuntu-branches/ubuntu/precise/koffice/precise

« back to all changes in this revision

Viewing changes to krita/plugins/paintops/libpaintop/kis_paintop_options_widget.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Riddell
  • Date: 2010-09-21 15:36:35 UTC
  • mfrom: (1.4.1 upstream) (60.2.11 maverick)
  • Revision ID: james.westby@ubuntu.com-20100921153635-6tejqkiro2u21ydi
Tags: 1:2.2.2-0ubuntu3
Add kubuntu_03_fix-crash-on-closing-sqlite-connection-2.2.2.diff and
kubuntu_04_support-large-memo-values-for-msaccess-2.2.2.diff as
recommended by upstream http://kexi-
project.org/wiki/wikiview/index.php@Kexi2.2_Patches.html#sqlite_stab
ility

Show diffs side-by-side

added added

removed removed

Lines of Context:
37
37
public:
38
38
 
39
39
    QList<KisPaintOpOption*> paintOpOptions;
40
 
    QMap<QListWidgetItem*, KisPaintOpOption*> widgetOptionMap;
 
40
    QMap<QListWidgetItem*, KisPaintOpOption*> checkBoxMap;
41
41
    QListWidget * optionsList;
42
42
    QStackedWidget * optionsStack;
43
43
};
64
64
    connect(m_d->optionsList,
65
65
            SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)),
66
66
            this, SLOT(changePage(QListWidgetItem *, QListWidgetItem*)));
 
67
            
 
68
    connect(m_d->optionsList, SIGNAL(itemChanged(QListWidgetItem*)), SLOT(itemChanged(QListWidgetItem*)));
67
69
}
68
70
 
69
71
 
70
72
KisPaintOpOptionsWidget::~KisPaintOpOptionsWidget()
71
73
{
 
74
    qDeleteAll(m_d->paintOpOptions);
72
75
    delete m_d;
73
76
}
74
77
 
80
83
 
81
84
    connect(option, SIGNAL(sigSettingChanged()), SIGNAL(sigConfigurationItemChanged()));
82
85
 
83
 
    if (option->isCheckable()) {
84
 
        QWidget* w = new QWidget;
85
 
        QVBoxLayout* l = new QVBoxLayout;
86
 
        QCheckBox* c = new QCheckBox(i18n("Active"));
87
 
        c->setChecked(option->isChecked());
88
 
        connect(c, SIGNAL(toggled(bool)), option, SLOT(setChecked(bool)));
89
 
        l->addWidget(c);
90
 
        l->addWidget(option->configurationPage());
91
 
        //option->configurationPage()->setVisible( true );
92
 
        l->addSpacing(1);
93
 
        w->setLayout(l);
94
 
 
95
 
        m_d->optionsStack->addWidget(w);
96
 
    } else {
97
 
        m_d->optionsStack->addWidget(option->configurationPage());
98
 
    }
99
 
 
 
86
    m_d->optionsStack->addWidget(option->configurationPage());
 
87
        
100
88
    QListWidgetItem * item = new QListWidgetItem(m_d->optionsList);
101
 
    m_d->widgetOptionMap[item] = option;
102
89
    item->setText(option->label());
103
90
    Qt::ItemFlags flags = item->flags();
 
91
    flags = Qt::ItemIsSelectable | Qt::ItemIsEnabled;
104
92
    if (option->isCheckable()) {
105
93
 
106
94
        flags |= Qt::ItemIsUserCheckable;
 
95
        item->setCheckState((option->isChecked()) ? Qt::Checked : Qt::Unchecked);
 
96
        m_d->checkBoxMap[item] = option;
107
97
    }
108
 
    item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
 
98
    item->setFlags(flags);
109
99
}
110
100
 
111
101
void KisPaintOpOptionsWidget::setConfiguration(const KisPropertiesConfiguration * config)
114
104
    foreach(KisPaintOpOption* option, m_d->paintOpOptions) {
115
105
        option->readOptionSetting(config);
116
106
    }
 
107
    foreach(QListWidgetItem* checkableItem, m_d->checkBoxMap.keys()) {
 
108
        checkableItem->setCheckState((m_d->checkBoxMap[checkableItem]->isChecked()) ? Qt::Checked : Qt::Unchecked);
 
109
    }
117
110
}
118
111
 
119
112
void KisPaintOpOptionsWidget::writeConfiguration(KisPropertiesConfiguration *config) const
123
116
    }
124
117
}
125
118
 
 
119
void KisPaintOpOptionsWidget::setImage(KisImageWSP image)
 
120
{
 
121
    foreach(KisPaintOpOption* option, m_d->paintOpOptions) {
 
122
        option->setImage(image);
 
123
    }
 
124
}
 
125
 
126
126
void KisPaintOpOptionsWidget::changePage(QListWidgetItem *current, QListWidgetItem *previous)
127
127
{
128
128
    Q_UNUSED(previous);
129
129
    m_d->optionsStack->setCurrentIndex(m_d->optionsList->row(current));
130
130
}
131
131
 
 
132
void KisPaintOpOptionsWidget::itemChanged(QListWidgetItem* item)
 
133
{
 
134
    if(m_d->checkBoxMap.contains(item)) {
 
135
        m_d->checkBoxMap[item]->setChecked(item->checkState() == Qt::Checked);
 
136
        emit sigConfigurationItemChanged();
 
137
    }
 
138
}
132
139
 
133
140
#include "kis_paintop_options_widget.moc"