20#include "ko_gray_widget.h"
30#include <koFrameButton.h>
31#include <koColorSlider.h>
32#include <kcolordialog.h>
34KoGrayWidget::KoGrayWidget(TQWidget *parent,
const char *name) : super(parent,
name)
37 TQ_CHECK_PTR(m_ColorButton);
39 m_ColorButton -> setFixedSize(m_ColorButton->sizeHint());
40 TQGridLayout *mGrid =
new TQGridLayout(
this, 3, 5, 5, 2);
43 mSlider =
new KoColorSlider(
this);
44 mSlider->setFocusPolicy( TQWidget::ClickFocus );
45 mSlider->setMaximumHeight(20);
46 mSlider->slotSetRange(0, 255);
47 mSlider->slotSetColor1(TQColor(255, 255, 255));
48 mSlider->slotSetColor2(TQColor(0, 0, 0));
51 mLabel =
new TQLabel(
"K:",
this);
52 mLabel->setFixedWidth(12);
53 mLabel->setFixedHeight(20);
56 mIn =
new TQSpinBox(0, 255, 1,
this);
57 mIn->setFixedWidth(50);
58 mIn->setFixedHeight(20);
59 mIn->setFocusPolicy( TQWidget::ClickFocus );
61 mGrid->addMultiCellWidget(m_ColorButton, 0, 3, 0, 0, TQt::AlignTop);
62 mGrid->addWidget(mLabel, 0, 1);
63 mGrid->addMultiCellWidget(mSlider, 0, 0, 2, 3);
64 mGrid->addWidget(mIn, 0, 4);
66 connect(m_ColorButton, TQ_SIGNAL(fgChanged(
const TQColor &)),
this, TQ_SLOT(slotFGColorSelected(
const TQColor &)));
67 connect(m_ColorButton, TQ_SIGNAL(bgChanged(
const TQColor &)),
this, TQ_SLOT(slotBGColorSelected(
const TQColor &)));
70 connect(mSlider, TQ_SIGNAL(valueChanged(
int)),
this, TQ_SLOT(slotChanged(
int)));
73 connect(mIn, TQ_SIGNAL(valueChanged(
int)),
this, TQ_SLOT(slotChanged(
int)));
76void KoGrayWidget::slotChanged(
int v)
80 if (m_ColorButton->current() == KDualColorButton::Foreground){
81 slotFGColorSelected( TQColor( v, v, v));
84 slotBGColorSelected( TQColor( v, v, v));
88void KoGrayWidget::setFgColor(
const TQColor & c)
91 slotFGColorSelected(c);
95void KoGrayWidget::setBgColor(
const TQColor & c)
98 slotBGColorSelected(c);
102void KoGrayWidget::update(
const TQColor & fgColor,
const TQColor & bgColor)
108 TQColor color = (m_ColorButton->current() == KDualColorButton::Foreground)? m_fgColor : m_bgColor;
110 disconnect(mSlider, TQ_SIGNAL(valueChanged(
int)),
this, TQ_SLOT(slotChanged(
int)));
111 disconnect(mIn, TQ_SIGNAL(valueChanged(
int)),
this, TQ_SLOT(slotChanged(
int)));
113 mIn->blockSignals(
true);
114 mSlider->blockSignals(
true);
115 double v = color.red() + color.green() + color.blue();
118 mIn->setValue(
static_cast<int>(v));
119 mSlider->slotSetValue(
static_cast<int>(v));
120 mIn->blockSignals(
false);
121 mSlider->blockSignals(
false);
123 connect(mSlider, TQ_SIGNAL(valueChanged(
int)),
this, TQ_SLOT(slotChanged(
int)));
124 connect(mIn, TQ_SIGNAL(valueChanged(
int)),
this, TQ_SLOT(slotChanged(
int)));
127void KoGrayWidget::slotFGColorSelected(
const TQColor& c)
131 disconnect(m_ColorButton, TQ_SIGNAL(fgChanged(
const TQColor &)),
this, TQ_SLOT(slotFGColorSelected(
const TQColor &)));
132 m_ColorButton->setForeground( m_fgColor );
133 connect(m_ColorButton, TQ_SIGNAL(fgChanged(
const TQColor &)),
this, TQ_SLOT(slotFGColorSelected(
const TQColor &)));
135 emit sigFgColorChanged(m_fgColor);
138void KoGrayWidget::slotBGColorSelected(
const TQColor& c)
142 disconnect(m_ColorButton, TQ_SIGNAL(bgChanged(
const TQColor &)),
this, TQ_SLOT(slotBGColorSelected(
const TQColor &)));
143 m_ColorButton->setBackground( m_bgColor );
144 connect(m_ColorButton, TQ_SIGNAL(bgChanged(
const TQColor &)),
this, TQ_SLOT(slotBGColorSelected(
const TQColor &)));
146 emit sigBgColorChanged(m_bgColor);
149void KoGrayWidget::currentChanged(KDualColorButton::DualColor s)
151 if(s == KDualColorButton::Foreground)
152 slotFGColorSelected(m_ColorButton->currentColor());
154 slotBGColorSelected(m_ColorButton->currentColor());
157#include "ko_gray_widget.moc"
const char * name(StdAction id)