21#include "symbolcombo.h"
29class Q_DECL_HIDDEN KPropertySymbolComboEditor::Private
38KPropertySymbolComboEditor::KPropertySymbolComboEditor(
KProperty *property,
QWidget *parent)
39 : Widget(property, parent), d(new Private)
45 d->edit->setReadOnly(
true);
47 d->edit->setMinimumHeight(5);
48 d->edit->setMaxLength(1);
51 Utils::setupDotDotDotButton(d->select, tr(
"Select symbol"),
52 tr(
"Selects a symbol"));
54 d->select->setMinimumHeight(5);
57 connect(d->select, SIGNAL(clicked()),
this, SLOT(selectChar()));
61KPropertySymbolComboEditor::~KPropertySymbolComboEditor()
67KPropertySymbolComboEditor::value()
const
69 if (!(d->edit->text().isNull()))
70 return d->edit->text().at(0).unicode();
76KPropertySymbolComboEditor::setValue(
const QVariant &value,
bool emitChange)
78 if (!(value.isNull()))
80 d->edit->blockSignals(
true);
81 d->edit->setText(QChar(value.toInt()));
82 d->edit->blockSignals(
false);
84 emit valueChanged(
this);
89KPropertySymbolComboEditor::drawViewer(
QPainter *p,
const QColorGroup &cg,
const QRect &r,
const QVariant &value)
91 Widget::drawViewer(p, cg, r, QString(QChar(value.toInt())));
95KPropertySymbolComboEditor::selectChar()
97 QDialog dialog(this->topLevelWidget());
98 dialog.setWindowTitle(tr(
"Select Character",
"Window title"));
99 dialog.setObjectName(
"charselect_dialog");
100 dialog.setButtons(QDialog::Ok | QDialog::Cancel);
101 dialog.setDefaultButton(QDialog::Ok);
102 dialog.setModal(
false);
104 KCharSelect *select =
new KCharSelect(&dialog);
105 dialog.setObjectName(
"select_char");
109 if (!(d->edit->text().isNull()))
117KPropertySymbolComboEditor::slotValueChanged(
const QString&)
119 emit valueChanged(
this);
123KPropertySymbolComboEditor::setReadOnlyInternal(
bool readOnly)
125 d->select->setEnabled(!readOnly);
void setCurrentChar(const QChar &c)
QChar currentChar() const
The base class representing a single property.
QFuture< ArgsType< Signal > > connect(Sender *sender, Signal signal)