}
painter->setFont(m_customizedFont);
- painter->setPen(m_isHidden ? m_additionalInfoTextColor : textColor());
+ painter->setPen(textColor());
const TextInfo* textInfo = m_textInfo.value("text");
if (!textInfo) {
painter->setPen(Qt::green);
painter->drawRect(m_iconRect);
+ painter->setPen(Qt::blue);
+ painter->drawRect(m_textRect);
+
painter->setPen(Qt::red);
painter->drawText(QPointF(0, m_customizedFontMetrics.height()), QString::number(index()));
painter->drawRect(rect());
QColor KStandardItemListWidget::textColor() const
{
- if (m_customTextColor.isValid() && !isSelected()) {
- return m_customTextColor;
+ if (!isSelected()) {
+ if (m_isHidden) {
+ return m_additionalInfoTextColor;
+ } else if (m_customTextColor.isValid()) {
+ return m_customTextColor;
+ }
}
const QPalette::ColorGroup group = isActiveWindow() ? QPalette::Active : QPalette::Inactive;
if (m_roleEditor) {
emit roleEditingCanceled(index(), current, data().value(current));
- disconnect(m_roleEditor, SIGNAL(roleEditingCanceled(int,QByteArray,QVariant)),
- this, SLOT(slotRoleEditingCanceled(int,QByteArray,QVariant)));
- disconnect(m_roleEditor, SIGNAL(roleEditingFinished(int,QByteArray,QVariant)),
- this, SLOT(slotRoleEditingFinished(int,QByteArray,QVariant)));
+ disconnect(m_roleEditor, SIGNAL(roleEditingCanceled(QByteArray,QVariant)),
+ this, SLOT(slotRoleEditingCanceled(QByteArray,QVariant)));
+ disconnect(m_roleEditor, SIGNAL(roleEditingFinished(QByteArray,QVariant)),
+ this, SLOT(slotRoleEditingFinished(QByteArray,QVariant)));
m_oldRoleEditor = m_roleEditor;
m_roleEditor->hide();
m_roleEditor = 0;
const TextInfo* textInfo = m_textInfo.value("text");
m_roleEditor = new KItemListRoleEditor(parent);
- m_roleEditor->setIndex(index());
m_roleEditor->setRole(current);
m_roleEditor->setFont(styleOption().font);
m_roleEditor->setTextCursor(cursor);
}
- connect(m_roleEditor, SIGNAL(roleEditingCanceled(int,QByteArray,QVariant)),
- this, SLOT(slotRoleEditingCanceled(int,QByteArray,QVariant)));
- connect(m_roleEditor, SIGNAL(roleEditingFinished(int,QByteArray,QVariant)),
- this, SLOT(slotRoleEditingFinished(int,QByteArray,QVariant)));
+ connect(m_roleEditor, SIGNAL(roleEditingCanceled(QByteArray,QVariant)),
+ this, SLOT(slotRoleEditingCanceled(QByteArray,QVariant)));
+ connect(m_roleEditor, SIGNAL(roleEditingFinished(QByteArray,QVariant)),
+ this, SLOT(slotRoleEditingFinished(QByteArray,QVariant)));
// Adjust the geometry of the editor
QRectF rect = roleEditingRect(current);
}
}
-void KStandardItemListWidget::slotRoleEditingCanceled(int index,
- const QByteArray& role,
+void KStandardItemListWidget::slotRoleEditingCanceled(const QByteArray& role,
const QVariant& value)
{
closeRoleEditor();
- emit roleEditingCanceled(index, role, value);
+ emit roleEditingCanceled(index(), role, value);
setEditedRole(QByteArray());
}
-void KStandardItemListWidget::slotRoleEditingFinished(int index,
- const QByteArray& role,
+void KStandardItemListWidget::slotRoleEditingFinished(const QByteArray& role,
const QVariant& value)
{
closeRoleEditor();
- emit roleEditingFinished(index, role, value);
+ emit roleEditingFinished(index(), role, value);
setEditedRole(QByteArray());
}
y += lineSpacing;
}
- m_textRect = QRectF(x - option.padding, 0, maximumRequiredTextWidth + 2 * option.padding, widgetHeight);
+ m_textRect = QRectF(x - 2 * option.padding, 0, maximumRequiredTextWidth + 3 * option.padding, widgetHeight);
}
void KStandardItemListWidget::updateDetailsLayoutTextCache()
const qreal textWidth = option.extendedSelectionRegion
? size().width() - textInfo->pos.x()
: requiredWidth + 2 * option.padding;
- m_textRect = QRectF(textInfo->pos.x() - option.padding, 0,
- textWidth, size().height());
+ m_textRect = QRectF(textInfo->pos.x() - 2 * option.padding, 0,
+ textWidth + option.padding, size().height());
// The column after the name should always be aligned on the same x-position independent
// from the expansion-level shown in the name column
void KStandardItemListWidget::closeRoleEditor()
{
- disconnect(m_roleEditor, SIGNAL(roleEditingCanceled(int,QByteArray,QVariant)),
- this, SLOT(slotRoleEditingCanceled(int,QByteArray,QVariant)));
- disconnect(m_roleEditor, SIGNAL(roleEditingFinished(int,QByteArray,QVariant)),
- this, SLOT(slotRoleEditingFinished(int,QByteArray,QVariant)));
+ disconnect(m_roleEditor, SIGNAL(roleEditingCanceled(QByteArray,QVariant)),
+ this, SLOT(slotRoleEditingCanceled(QByteArray,QVariant)));
+ disconnect(m_roleEditor, SIGNAL(roleEditingFinished(QByteArray,QVariant)),
+ this, SLOT(slotRoleEditingFinished(QByteArray,QVariant)));
if (m_roleEditor->hasFocus()) {
// If the editing was not ended by a FocusOut event, we have