diff options
| author | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-01-01 11:40:09 +0000 |
|---|---|---|
| committer | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-01-01 11:40:09 +0000 |
| commit | 7ed83b6c6666eb8b6b104c211ae7e52907350372 (patch) | |
| tree | 4430b556abac0ad660a0aacf1887d77f85d8be02 /scribus/smstyleselect.cpp | |
| download | scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.gz scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.xz scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.zip | |
Branch 1.3.5 tree to 1.4.x tree, goodbye 1.3.x
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17163 11d20701-8431-0410-a711-e3c959e3b870
Diffstat (limited to 'scribus/smstyleselect.cpp')
| -rw-r--r-- | scribus/smstyleselect.cpp | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/scribus/smstyleselect.cpp b/scribus/smstyleselect.cpp new file mode 100644 index 0000000..6095074 --- /dev/null +++ b/scribus/smstyleselect.cpp @@ -0,0 +1,120 @@ +/* +For general Scribus (>=1.3.2) copyright and licensing information please refer +to the COPYING file provided with the program. Following this notice may exist +a copyright and/or license notice that predates the release of Scribus 1.3.2 +for which a new license (GPL+exception) is in place. +*/ + +#include "smstyleselect.h" + + +SMStyleSelect::SMStyleSelect(QWidget *parent) +: StyleSelect(parent), + hasParent_(false), + useParentStyle_(false), + pStyle_(0) +{ + parentButton = new QToolButton(this); + parentButton->setMaximumSize(QSize(22, 22)); + parentButton->setMinimumSize(QSize(22, 22)); + parentButton->setText( tr("P", "P as in Parent")); + parentButton->setToolTip( tr("Use parent style's effects instead of overriding them")); + ssLayout->addWidget(parentButton); + resize(minimumSizeHint()); + parentButton->hide(); +} + +void SMStyleSelect::setStyle(int i) +{ + disconnect(this, SIGNAL(State(int)), this, SLOT(styleChanged())); + disconnect(ShadowVal->Xoffset, SIGNAL(valueChanged(double)),this, SLOT(styleChanged())); + disconnect(ShadowVal->Yoffset, SIGNAL(valueChanged(double)),this, SLOT(styleChanged())); + disconnect(OutlineVal->LWidth, SIGNAL(valueChanged(double)),this, SLOT(styleChanged())); + disconnect(UnderlineVal->LPos, SIGNAL(valueChanged(double)),this, SLOT(styleChanged())); + disconnect(UnderlineVal->LWidth, SIGNAL(valueChanged(double)),this, SLOT(styleChanged())); + disconnect(StrikeVal->LPos, SIGNAL(valueChanged(double)), this, SLOT(styleChanged())); + disconnect(StrikeVal->LWidth, SIGNAL(valueChanged(double)), this, SLOT(styleChanged())); + disconnect(parentButton, SIGNAL(pressed()), this, SLOT(pbPressed())); + setFont(false); + hasParent_ = false; + pStyle_ = 0; + parentButton->hide(); + StyleSelect::setStyle(i); +} + +void SMStyleSelect::setStyle(int i, bool isParentValue) +{ + disconnect(this, SIGNAL(State(int)), this, SLOT(styleChanged())); + disconnect(ShadowVal->Xoffset, SIGNAL(valueChanged(double)),this, SLOT(styleChanged())); + disconnect(ShadowVal->Yoffset, SIGNAL(valueChanged(double)),this, SLOT(styleChanged())); + disconnect(OutlineVal->LWidth, SIGNAL(valueChanged(double)),this, SLOT(styleChanged())); + disconnect(UnderlineVal->LPos, SIGNAL(valueChanged(double)),this, SLOT(styleChanged())); + disconnect(UnderlineVal->LWidth, SIGNAL(valueChanged(double)),this, SLOT(styleChanged())); + disconnect(StrikeVal->LPos, SIGNAL(valueChanged(double)), this, SLOT(styleChanged())); + disconnect(StrikeVal->LWidth, SIGNAL(valueChanged(double)), this, SLOT(styleChanged())); + disconnect(parentButton, SIGNAL(pressed()), this, SLOT(pbPressed())); + hasParent_ = true; + pStyle_ = i; + setFont(!isParentValue); + if (isParentValue) + parentButton->hide(); + else + parentButton->show(); + parentButton->setChecked(true); + StyleSelect::setStyle(i); + connect(this, SIGNAL(State(int)), this, SLOT(styleChanged())); + connect(ShadowVal->Xoffset, SIGNAL(valueChanged(double)),this, SLOT(styleChanged())); + connect(ShadowVal->Yoffset, SIGNAL(valueChanged(double)),this, SLOT(styleChanged())); + connect(OutlineVal->LWidth, SIGNAL(valueChanged(double)),this, SLOT(styleChanged())); + connect(UnderlineVal->LPos, SIGNAL(valueChanged(double)),this, SLOT(styleChanged())); + connect(UnderlineVal->LWidth, SIGNAL(valueChanged(double)),this, SLOT(styleChanged())); + connect(StrikeVal->LPos, SIGNAL(valueChanged(double)), this, SLOT(styleChanged())); + connect(StrikeVal->LWidth, SIGNAL(valueChanged(double)), this, SLOT(styleChanged())); + connect(parentButton, SIGNAL(pressed()), this, SLOT(pbPressed())); +} + +void SMStyleSelect::setParentItem(int i) +{ + hasParent_ = true; + pStyle_ = i; +} + +bool SMStyleSelect::useParentValue() +{ + bool ret = useParentStyle_; + useParentStyle_ = false; + if (ret) + setStyle(pStyle_, true); + + return ret; +} + +void SMStyleSelect::setFont(bool wantBold) +{ + QFont f(font()); + f.setBold(wantBold); + parentButton->setFont(f); + ShadowVal->Xoffset->setFont(f); + ShadowVal->Yoffset->setFont(f); + OutlineVal->LWidth->setFont(f); + UnderlineVal->LPos->setFont(f); + UnderlineVal->LWidth->setFont(f); + StrikeVal->LPos->setFont(f); + StrikeVal->LWidth->setFont(f); + StyleSelect::setFont(f); +} + +void SMStyleSelect::styleChanged() +{ + if (hasParent_) + { + setFont(true); + parentButton->show(); + } +} + +void SMStyleSelect::pbPressed() +{ + useParentStyle_ = true; + emit State(getStyle()); +} |
