Subversion Repositories Scribus

Rev

Rev 13121 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
10355 subik 1
/*
2
For general Scribus (>=1.3.2) copyright and licensing information please refer
3
to the COPYING file provided with the program. Following this notice may exist
4
a copyright and/or license notice that predates the release of Scribus 1.3.2
5
for which a new license (GPL+exception) is in place.
6
*/
10859 cbradney 7
 
8
#include <QEvent>
9
 
12283 cbradney 10
#include "langmgr.h"
10355 subik 11
#include "smcstylewidget.h"
12
#include "util_icon.h"
13
#include "util.h"
14
#include "units.h"
15
 
16
 
17
SMCStyleWidget::SMCStyleWidget(QWidget *parent) : QWidget()
18
{
19
        setupUi(this);
20
 
10379 subik 21
//      fontSize_->setMinimum(1.0);
22
//      fontSize_->setMaximum(2048.0);
10355 subik 23
        fontSizeLabel_->setPixmap(loadIcon("Zeichen.xpm"));
24
 
25
        trackingLabel_->setPixmap( loadIcon("textkern.png") );
10379 subik 26
//      tracking_->setMinimum(-300.0);
27
//      tracking_->setMaximum(300.0);
28
//      tracking_->setSuffix( tr( " %" ) );
13122 pierre 29
 
30
        widthSpaceLabel->setPixmap( loadIcon("spacewidth.png") );
10355 subik 31
 
32
        baselineOffsetLabel_->setPixmap( loadIcon("textbase.png") );
10379 subik 33
//      baselineOffset_->setMinimum(-100.0);
34
//      baselineOffset_->setMaximum(100.0);
35
//      baselineOffset_->setSuffix( tr( " %" ) );
10355 subik 36
 
37
        hscaleLabel_->setPixmap( loadIcon("textscaleh.png") );
10379 subik 38
//      fontHScale_->setMinimum(10.0);
39
//      fontHScale_->setMaximum(400.0);
40
//      fontHScale_->setSuffix( tr( " %" ) );
10355 subik 41
 
42
        vscaleLabel_->setPixmap( loadIcon("textscalev.png") );
10379 subik 43
//      fontVScale_->setMinimum(10.0);
44
//      fontVScale_->setMaximum(400.0);
45
//      fontVScale_->setSuffix( tr( " %" ) );
10355 subik 46
 
47
        FillIcon->setPixmap(loadIcon("16/color-fill.png"));
48
        fillShadeLabel->setPixmap( loadIcon("shade.png") );
49
        StrokeIcon->setPixmap(loadIcon("16/color-stroke.png"));
50
        strokeShadeLabel->setPixmap( loadIcon("shade.png") );
51
 
52
        fillColor_->clear();
53
        strokeColor_->clear();
54
        ColorList::Iterator it;
55
        QPixmap pm = QPixmap(15, 15);
10585 fschmid 56
        fillColor_->addItem(CommonStrings::tr_NoneColor);
57
        strokeColor_->addItem(CommonStrings::tr_NoneColor);
10355 subik 58
        StrokeIcon->setEnabled(false);
59
        strokeShade_->setEnabled(false);
60
        strokeColor_->setEnabled(false);
61
 
62
        connect(effects_, SIGNAL(State(int)), this, SLOT(slotColorChange()));
63
}
64
 
10859 cbradney 65
void SMCStyleWidget::changeEvent(QEvent *e)
66
{
67
        if (e->type() == QEvent::LanguageChange)
68
        {
69
                languageChange();
70
        }
10903 cbradney 71
        else
72
                QWidget::changeEvent(e);
10859 cbradney 73
}
74
 
10355 subik 75
void SMCStyleWidget::languageChange()
76
{
77
/***********************************/
78
/*      Begin Tooltips             */
79
/***********************************/
80
// These are for the character style page
81
// as in character styles and in paragraph style's character style
82
 
12394 cbradney 83
        parentCombo->setToolTip(     tr("Parent Style"));
84
        fontFace_->setToolTip(       tr("Font Face"));
85
        fontSize_->setToolTip(       tr("Font Size"));
10397 cbradney 86
        tracking_->setToolTip(       tr("Tracking"));
13121 pierre 87
        widthSpaceSpin->setToolTip(  tr("Default width for space"));
12394 cbradney 88
        baselineOffset_->setToolTip( tr("Baseline Offset"));
89
        fontHScale_->setToolTip(     tr("Horizontal Scaling"));
90
        fontVScale_->setToolTip(     tr("Vertical Scaling"));
10397 cbradney 91
        language_->setToolTip(       tr("Language"));
12394 cbradney 92
        fillColor_->setToolTip(      tr("Fill Color"));
93
        fillShade_->setToolTip(      tr("Fill Shade"));
94
        strokeColor_->setToolTip(    tr("Stroke Color"));
12423 cbradney 95
        strokeShade_->setToolTip(    tr("Stroke Shade"));
10355 subik 96
 
12423 cbradney 97
        fontSizeLabel_->setToolTip(fontSize_->toolTip());
98
        trackingLabel_->setToolTip(tracking_->toolTip());
13121 pierre 99
        widthSpaceLabel->setToolTip(widthSpaceSpin->toolTip());
12423 cbradney 100
        baselineOffsetLabel_->setToolTip(baselineOffset_->toolTip());
101
        hscaleLabel_->setToolTip(fontHScale_->toolTip());
102
        vscaleLabel_->setToolTip(fontVScale_->toolTip());
103
        FillIcon->setToolTip(fillColor_->toolTip());
104
        fillShadeLabel->setToolTip(fillShade_->toolTip());
105
        StrokeIcon->setToolTip(strokeColor_->toolTip());
106
        strokeShadeLabel->setToolTip(strokeShade_->toolTip());
107
 
10355 subik 108
/***********************************/
109
/*        End Tooltips             */
110
/***********************************/
111
 
112
        parentLabel->setText( tr("Based On:"));
113
        languageLabel_->setText( tr("Language:"));
10379 subik 114
//      fontVScale_->setSuffix( tr(" %"));
115
//      fontHScale_->setSuffix( tr(" %"));
116
//      baselineOffset_->setSuffix( tr(" %"));
117
//      tracking_->setSuffix( tr(" %"));
10355 subik 118
        fontSize_->setSuffix(unitGetSuffixFromIndex(0));
119
}
120
 
121
void SMCStyleWidget::fillLangCombo(QMap<QString,QString> langMap)
122
{
123
        QStringList sortList;
124
        QMap<QString,QString>::Iterator it;
125
 
126
        langMap_ = langMap;
127
 
128
        language_->clear();
129
 
130
        for (it = langMap.begin(); it != langMap.end(); ++it)
10516 cbradney 131
                sortList.push_back(it.value());
10355 subik 132
 
10585 fschmid 133
        language_->addItems(sortQStringList(sortList));
10355 subik 134
 
135
        QListView *tmpView = dynamic_cast<QListView*>(language_->view()); Q_ASSERT(tmpView);
136
        int tmpWidth = tmpView->sizeHintForColumn(0);
137
        if (tmpWidth > 0)
138
                tmpView->setMinimumWidth(tmpWidth + 24);
139
}
140
 
141
void SMCStyleWidget::fillColorCombo(ColorList &colors)
142
{
143
        fillColor_->clear();
144
        strokeColor_->clear();
145
 
10585 fschmid 146
        fillColor_->addItem(CommonStrings::tr_NoneColor);
147
        strokeColor_->addItem(CommonStrings::tr_NoneColor);
10355 subik 148
        ColorList::Iterator itend=colors.end();
149
        ScribusDoc* doc = colors.document();
150
        for (ColorList::Iterator it = colors.begin(); it != itend; ++it)
151
        {
13047 fschmid 152
                fillColor_->insertFancyItem(it.value(), doc, it.key());
153
                strokeColor_->insertFancyItem(it.value(), doc, it.key());
10355 subik 154
        }
155
        fillColor_->view()->setMinimumWidth(fillColor_->view()->maximumViewportSize().width()+24);
156
        strokeColor_->view()->setMinimumWidth(strokeColor_->view()->maximumViewportSize().width()+24);
157
}
158
 
159
void SMCStyleWidget::show(CharStyle *cstyle, QList<CharStyle> &cstyles, const QString &defLang, int unitIndex)
160
{
161
        disconnect(effects_, SIGNAL(State(int)), this, SLOT(slotColorChange()));
12916 jghali 162
        parentCombo->setEnabled(!cstyle->isDefaultStyle());
10355 subik 163
        const CharStyle *parent = dynamic_cast<const CharStyle*>(cstyle->parentStyle());
164
        bool hasParent =  cstyle->hasParent() && parent != 0 && parent->hasName() && cstyle->parent() != "";
165
        if (hasParent)
166
        {
167
                fontSize_->setValue(cstyle->fontSize() / 10.0, cstyle->isInhFontSize());
168
                fontSize_->setParentValue(parent->fontSize() / 10.0);
169
 
170
                fontHScale_->setValue(cstyle->scaleH() / 10.0, cstyle->isInhScaleH());
171
                fontHScale_->setParentValue(parent->scaleH() / 10.0);
172
 
173
                fontVScale_->setValue(cstyle->scaleV() / 10.0, cstyle->isInhScaleV());
174
                fontVScale_->setParentValue(parent->scaleV() / 10.0);
175
 
176
                baselineOffset_->setValue(cstyle->baselineOffset() / 10.0, cstyle->isInhBaselineOffset());
177
                baselineOffset_->setParentValue(parent->baselineOffset() / 10.0);
178
 
179
                tracking_->setValue(cstyle->tracking() / 10.0, cstyle->isInhTracking());
180
                tracking_->setParentValue(parent->tracking() / 10.0);
13121 pierre 181
 
182
                widthSpaceSpin->setValue(cstyle->wordTracking() * 100.0 ,cstyle->isInhTracking());
183
                widthSpaceSpin->setParentValue(parent->wordTracking() * 100.0);
10355 subik 184
 
185
                effects_->setStyle(static_cast<int>(cstyle->effects()), cstyle->isInhFeatures());
186
                effects_->setParentItem(static_cast<int>(parent->effects())); // FIXME
187
 
188
                fillShade_->setValue(qRound(cstyle->fillShade()), cstyle->isInhFillShade());
189
                fillShade_->setParentValue(qRound(parent->fillShade()));
190
 
191
                strokeShade_->setValue(qRound(cstyle->strokeShade()), cstyle->isInhStrokeShade());
192
                strokeShade_->setParentValue(qRound(parent->strokeShade()));
193
 
194
                fillColor_->setCurrentText(cstyle->fillColor(), cstyle->isInhFillColor());
195
                fillColor_->setParentText(parent->fillColor());
196
 
197
                strokeColor_->setCurrentText(cstyle->strokeColor(), cstyle->isInhStrokeColor());
198
                strokeColor_->setParentText(parent->strokeColor());
199
 
200
                fontFace_->setCurrentFont(cstyle->font().scName(), cstyle->isInhFont());
201
                fontFace_->setParentFont(parent->font().scName());
202
        }
203
        else
204
        {
205
                fontSize_->setValue(cstyle->fontSize() / 10.0);
206
                fontHScale_->setValue(cstyle->scaleH() / 10.0);
207
                fontVScale_->setValue(cstyle->scaleV() / 10.0);
208
                baselineOffset_->setValue(cstyle->baselineOffset() / 10.0);
209
                tracking_->setValue(cstyle->tracking() / 10.0);
13121 pierre 210
                widthSpaceSpin->setValue(cstyle->wordTracking() * 100.0);
10355 subik 211
                effects_->setStyle(static_cast<int>(cstyle->effects()));
212
                fillShade_->setValue(qRound(cstyle->fillShade()));
213
                strokeShade_->setValue(qRound(cstyle->strokeShade()));
214
                fillColor_->setCurrentText(cstyle->fillColor());
215
                strokeColor_->setCurrentText(cstyle->strokeColor());
216
                fontFace_->setCurrentFont(cstyle->font().scName());
217
        }
218
 
219
        effects_->ShadowVal->Xoffset->setValue(cstyle->shadowXOffset() / 10.0);
220
        effects_->ShadowVal->Yoffset->setValue(cstyle->shadowYOffset() / 10.0);
221
        effects_->OutlineVal->LWidth->setValue(cstyle->outlineWidth() / 10.0);
222
        effects_->StrikeVal->LPos->setValue(cstyle->strikethruOffset() / 10.0);
223
        effects_->StrikeVal->LWidth->setValue(cstyle->strikethruWidth() / 10.0);
224
        effects_->UnderlineVal->LPos->setValue(cstyle->underlineOffset() / 10.0);
225
        effects_->UnderlineVal->LWidth->setValue(cstyle->underlineWidth() / 10.0);
226
        slotColorChange();
227
 
228
        parentCombo->clear();
12929 jghali 229
        parentCombo->addItem( cstyle->isDefaultStyle()? tr("A default style cannot be assigned a parent style") : "");
230
        if (!cstyle->isDefaultStyle())
10355 subik 231
        {
12929 jghali 232
                for (int i = 0; i < cstyles.count(); ++i)
233
                {
234
                        if (cstyles[i].name() != cstyle->name())
235
                                parentCombo->addItem(cstyles[i].name());
236
                }
10355 subik 237
        }
238
 
12929 jghali 239
        if (cstyle->isDefaultStyle() || !hasParent)
240
                parentCombo->setCurrentIndex(0);
241
        else if (hasParent)
10355 subik 242
        {
243
                int index = 0;
244
                for (int i = 0; i < parentCombo->count(); ++i)
245
                {
10585 fschmid 246
                        if (parentCombo->itemText(i) == cstyle->parentStyle()->name())
10355 subik 247
                        {
248
                                index = i;
249
                                break;
250
                        }
251
                }
10585 fschmid 252
                parentCombo->setCurrentIndex(index);
10355 subik 253
        }
254
 
255
        QString clang = cstyle->language().isNull() || cstyle->language().isEmpty() ?
256
                                              defLang : cstyle->language();
257
        QString plang(QString::null);
258
        if (hasParent)
259
                plang = parent->language().isNull() || parent->language().isEmpty() ?
260
                                              defLang : parent->language();
261
 
262
        int ci = -1, pi = -1, di = -1;
12787 pierre 263
//      LanguageManager langmgr;
264
//      langmgr.init(true);
12283 cbradney 265
        QString tl;
10355 subik 266
        for (int i = 0; i < language_->count(); ++i)
267
        {
10585 fschmid 268
                if (language_->itemText(i) == langMap_[clang])
10355 subik 269
                        ci = i;
270
 
10585 fschmid 271
                if (hasParent && language_->itemText(i) == langMap_[plang])
10355 subik 272
                        pi = i;
12787 pierre 273
                tl=LanguageManager::instance()->getTransLangFromLang(defLang);
12283 cbradney 274
//              qDebug() << i << language_->itemText(i) << defLang << langMap_[defLang] << tl;
275
                if (language_->itemText(i) == defLang || language_->itemText(i) == langMap_[defLang] || language_->itemText(i) == tl)
276
//              {
10355 subik 277
                        di = i;
12283 cbradney 278
//                      qDebug() << "match on:" << di;
279
//              }
10355 subik 280
        }
281
 
13085 jghali 282
//      qDebug() << QString("SMCStyleWidget::show(): deflan='%1'->'%2'").arg(defLang).arg(langMap_[defLang]);
10355 subik 283
        Q_ASSERT(di != -1);
284
 
285
        if (hasParent)
286
        {
287
                if (ci == -1)
288
                        language_->setCurrentItem(di, cstyle->isInhLanguage());
289
                else
290
                        language_->setCurrentItem(ci, cstyle->isInhLanguage());
291
 
292
                language_->setParentItem(pi);
293
        }
294
        else
295
        {
296
                if (ci == -1)
10585 fschmid 297
                        language_->setCurrentIndex(di);
10355 subik 298
                else
10585 fschmid 299
                        language_->setCurrentIndex(ci);
10355 subik 300
        }
301
 
302
        connect(effects_, SIGNAL(State(int)), this, SLOT(slotColorChange()));
303
}
304
 
305
void SMCStyleWidget::show(QList<CharStyle*> &cstyles, QList<CharStyle> &cstylesAll, const QString &defLang, int unitIndex)
306
{
307
//      int decimals = unitGetDecimalsFromIndex(unitIndex);
308
//      QString suffix = unitGetSuffixFromIndex(unitIndex);
309
 
310
        if (cstyles.count() == 1)
311
                show(cstyles[0], cstylesAll, defLang, unitIndex);
312
        else if (cstyles.count() > 1)
313
        {
314
                showSizeAndPosition(cstyles);
315
                showEffects(cstyles);
316
                showColors(cstyles);
317
                showLanguage(cstyles, defLang);
318
                showParent(cstyles);
319
        }
320
}
321
 
322
void SMCStyleWidget::showSizeAndPosition(const QList<CharStyle*> &cstyles)
323
{
324
        double d = -30000;
325
        for (int i = 0; i < cstyles.count(); ++i)
326
        {
327
                if (d != -30000 && cstyles[i]->fontSize() != d)
328
                {
329
                        d = -30000;
330
                        break;
331
                }
332
                else
333
                        d = cstyles[i]->fontSize();
334
        }
335
        if (d == -30000)
336
                fontSize_->clear();
337
        else
338
                fontSize_->setValue(d / 10.0);
339
 
340
        d = -30000;
341
        for (int i = 0; i < cstyles.count(); ++i)
342
        {
343
                if (d != -30000 && cstyles[i]->scaleH() != d)
344
                {
345
                        d = -30000;
346
                        break;
347
                }
348
                else
349
                        d = cstyles[i]->scaleH();
350
        }
351
        if (d == -30000)
352
                fontHScale_->clear();
353
        else
354
                fontHScale_->setValue(d / 10.0);
355
 
356
        d = -30000;
357
        for (int i = 0; i < cstyles.count(); ++i)
358
        {
359
                if (d != -30000 && cstyles[i]->scaleV() != d)
360
                {
361
                        d = -30000;
362
                        break;
363
                }
364
                else
365
                        d = cstyles[i]->scaleV();
366
        }
367
        if (d == -30000)
368
                fontVScale_->clear();
369
        else
370
                fontVScale_->setValue(d / 10.0);
371
 
372
        d = -30000;
373
        for (int i = 0; i < cstyles.count(); ++i)
374
        {
375
                if (d != -30000 && cstyles[i]->baselineOffset() != d)
376
                {
377
                        d = -30000;
378
                        break;
379
                }
380
                else
381
                        d = cstyles[i]->baselineOffset();
382
        }
383
        if (d == -30000)
384
                baselineOffset_->clear();
385
        else
386
                baselineOffset_->setValue(d / 10.0);
387
 
388
        d = -30000;
389
        for (int i = 0; i < cstyles.count(); ++i)
390
        {
391
                if (d != -30000 && cstyles[i]->tracking() != d)
392
                {
393
                        d = -30000;
394
                        break;
395
                }
396
                else
397
                        d = cstyles[i]->tracking();
398
        }
399
        if (d == -30000)
400
                tracking_->clear();
401
        else
402
                tracking_->setValue(d / 10.0);
13121 pierre 403
 
404
        d = -30000;
405
        for (int i = 0; i < cstyles.count(); ++i)
406
        {
407
                if (d != -30000 && cstyles[i]->wordTracking() != d)
408
                {
409
                        d = -30000;
410
                        break;
411
                }
412
                else
413
                        d = cstyles[i]->wordTracking();
414
        }
415
        if (d == -30000)
416
                widthSpaceSpin->clear();
417
        else
418
                widthSpaceSpin->setValue(d * 100.0);
10355 subik 419
}
420
 
421
void SMCStyleWidget::showEffects(const QList<CharStyle*> &cstyles)
422
{
423
        int d = -30000;
424
        for (int i = 0; i < cstyles.count(); ++i)
425
        {
426
                if (d != -30000 && static_cast<int>(cstyles[i]->effects()) != d)
427
                {
428
                        d = -30000;
429
                        break;
430
                }
431
                else
432
                        d = static_cast<int>(cstyles[i]->effects());
433
        }
434
        if (d == -30000)
435
                effects_->setStyle(0);
436
        else
437
                effects_->setStyle(d);
438
 
439
//      TODO these things still missing:
440
//              effects_->ShadowVal->Xoffset->setValue(cstyle->shadowXOffset() / 10.0);
441
//              effects_->ShadowVal->Yoffset->setValue(cstyle->shadowYOffset() / 10.0);
442
//              effects_->OutlineVal->LWidth->setValue(cstyle->outlineWidth() / 10.0);
443
//              effects_->StrikeVal->LPos->setValue(cstyle->strikethruOffset() / 10.0);
444
//              effects_->StrikeVal->LWidth->setValue(cstyle->strikethruWidth() / 10.0);
445
//              effects_->UnderlineVal->LPos->setValue(cstyle->underlineOffset() / 10.0);
446
//              effects_->UnderlineVal->LWidth->setValue(cstyle->underlineWidth() / 10.0);
447
}
448
 
449
void SMCStyleWidget::showColors(const QList<CharStyle*> &cstyles)
450
{
451
        strokeShade_->setEnabled(true);
452
        strokeColor_->setEnabled(true);
453
 
454
        double d = -30000;
455
        for (int i = 0; i < cstyles.count(); ++i)
456
        {
457
                if (d != -30000 && cstyles[i]->fillShade() != d)
458
                {
459
                        d = -30000;
460
                        break;
461
                }
462
                else
463
                        d = cstyles[i]->fillShade();
464
        }
465
        if (d == -30000)
466
                fillShade_->setText( tr("Shade"));
467
        else
468
                fillShade_->setValue(qRound(d));
469
 
470
        d = -30000;
471
        for (int i = 0; i < cstyles.count(); ++i)
472
        {
473
                if (d != -30000 && cstyles[i]->strokeShade() != d)
474
                {
475
                        d = -30000;
476
                        break;
477
                }
478
                else
479
                        d = cstyles[i]->strokeShade();
480
        }
481
        if (d == -30000)
482
        {
483
                strokeShade_->setValue(21);
484
                strokeShade_->setText( tr("Shade"));
485
        }
486
        else
487
                strokeShade_->setValue(qRound(d));
488
 
489
        QString s;
490
        QString emptyString;
491
        for (int i = 0; i < cstyles.count(); ++i)
492
        {
493
                if (!s.isNull() && s != cstyles[i]->fillColor())
494
                {
495
                        s = emptyString;
496
                        break;
497
                }
498
                else
499
                        s = cstyles[i]->fillColor();
500
        }
501
        if (s.isEmpty())
502
        {
10585 fschmid 503
                if (fillColor_->itemText(fillColor_->count() - 1) != "")
504
                        fillColor_->addItem("");
505
                fillColor_->setCurrentIndex(fillColor_->count() - 1);
10355 subik 506
        }
507
        else
508
                fillColor_->setCurrentText(s);
509
 
510
        s = emptyString;
511
        for (int i = 0; i < cstyles.count(); ++i)
512
        {
513
                if (!s.isNull() && s != cstyles[i]->strokeColor())
514
                {
515
                        s = emptyString;
516
                        break;
517
                }
518
                else
519
                        s = cstyles[i]->strokeColor();
520
        }
521
        if (s.isEmpty())
522
        {
10585 fschmid 523
                if (strokeColor_->itemText(strokeColor_->count() - 1) != "")
524
                        strokeColor_->addItem("");
525
                strokeColor_->setCurrentIndex(fillColor_->count() - 1);
10355 subik 526
        }
527
        else
528
                strokeColor_->setCurrentText(s);
529
}
530
 
531
void SMCStyleWidget::showLanguage(const QList<CharStyle*> &cstyles, const QString &defLang)
532
{
533
        QString emptyString;
534
        QString s(cstyles[0]->language());
535
        for (int i = 0; i < cstyles.count(); ++i)
536
        {
537
                if (s != cstyles[i]->language())
538
                {
539
                        s = emptyString;
540
                        break;
541
                }
542
                else
543
                        s = cstyles[i]->language();
544
        }
545
 
546
        if (s.isEmpty())
547
        {
10585 fschmid 548
                if (language_->itemText(language_->count() - 1) != "")
549
                        language_->addItem("");
550
                language_->setCurrentIndex(language_->count() - 1);
10355 subik 551
        }
552
        else
553
        {
554
                Q_ASSERT(langMap_.contains(s));
10648 fschmid 555
                setCurrentComboItem(language_, langMap_[s]);
10355 subik 556
        }
557
}
558
 
559
void SMCStyleWidget::showParent(const QList<CharStyle*> &cstyles)
560
{
561
        parentCombo->setEnabled(false);
562
}
563
 
564
void SMCStyleWidget::clearAll()
565
{
566
 
567
}
568
 
569
void SMCStyleWidget::slotColorChange()
570
{
571
        int s = effects_->getStyle();
572
        bool enabled;
573
        if ((s & 4) || (s & 256))
574
                enabled = true;
575
        else
576
                enabled = false;
577
        StrokeIcon->setEnabled(enabled);
578
        strokeShade_->setEnabled(enabled);
579
        strokeColor_->setEnabled(enabled);
580
}
581
 
582
 
583
SMCStyleWidget::~SMCStyleWidget()
584
{
585
 
586
}