Subversion Repositories Scribus

Compare Revisions

Ignore whitespace Rev 13024 → Rev 13025

/trunk/Scribus/scribus/smcheckbox.h
0,0 → 1,36
/*
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.
*/
#ifndef SMCHECKBOX_H
#define SMCHECKBOX_H
 
#include <QCheckBox>
 
class SMCheckBox : public QCheckBox
{
Q_OBJECT
public:
SMCheckBox(QWidget *parent);
~SMCheckBox() {};
 
void setChecked(bool);
void setChecked(bool val, bool isParentVal);
 
void setParentValue(bool);
 
bool useParentValue();
 
private:
bool hasParent_;
bool useParentValue_;
bool pValue_;
void setFont(bool wantBold);
 
private slots:
void slotStateChanged(int);
};
 
#endif
/trunk/Scribus/scribus/smcheckbox.cpp
0,0 → 1,64
/*
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 "smcheckbox.h"
 
SMCheckBox::SMCheckBox(QWidget *parent)
: QCheckBox(parent),
hasParent_(false),
useParentValue_(false),
pValue_(false)
{
 
}
 
void SMCheckBox::setChecked(bool val)
{
disconnect(this, SIGNAL(stateChanged(int)), this, SLOT(slotStateChanged(int)));
hasParent_ = false;
pValue_ = false;
setFont(false);
 
QCheckBox::setChecked(val);
}
 
void SMCheckBox::setChecked(bool val, bool isParentVal)
{
disconnect(this, SIGNAL(stateChanged(int)), this, SLOT(slotStateChanged(int)));
hasParent_ = true;
pValue_ = val;
setFont(!isParentVal);
 
QCheckBox::setChecked(val);
connect(this, SIGNAL(stateChanged(int)), this, SLOT(slotStateChanged(int)));
}
 
void SMCheckBox::setParentValue(bool val)
{
hasParent_ = true;
pValue_ = val;
}
 
bool SMCheckBox::useParentValue()
{
bool ret = useParentValue_;
useParentValue_ = false;
return ret;
}
 
void SMCheckBox::setFont(bool wantBold)
{
QFont f(font());
f.setBold(wantBold);
QCheckBox::setFont(f);
}
 
void SMCheckBox::slotStateChanged(int)
{
if(hasParent_)
setFont(true);
}