const QByteArray& role,
const QVariant& value)
{
- m_roleEditor->deleteLater();
- m_roleEditor = 0;
+ closeRoleEditor();
emit roleEditingCanceled(index, role, value);
setEditedRole(QByteArray());
}
const QByteArray& role,
const QVariant& value)
{
- m_roleEditor->deleteLater();
- m_roleEditor = 0;
+ closeRoleEditor();
emit roleEditingFinished(index, role, value);
setEditedRole(QByteArray());
}
return rect;
}
+void KStandardItemListWidget::closeRoleEditor()
+{
+ if (m_roleEditor->hasFocus()) {
+ // If the editing was not ended by a FocusOut event, we have
+ // to transfer the keyboard focus back to the KItemListContainer.
+ scene()->views()[0]->parentWidget()->setFocus();
+ }
+ m_roleEditor->deleteLater();
+ m_roleEditor = 0;
+}
+
QPixmap KStandardItemListWidget::pixmapForIcon(const QString& name, int size)
{
const KIcon icon(name);
this, SLOT(slotSortRoleChangedByHeader(QByteArray,QByteArray)));
connect(m_view, SIGNAL(visibleRolesChanged(QList<QByteArray>,QList<QByteArray>)),
this, SLOT(slotVisibleRolesChangedByHeader(QList<QByteArray>,QList<QByteArray>)));
- connect(m_view, SIGNAL(roleEditingCanceled(int,QByteArray,QVariant)),
- this, SLOT(slotRoleEditingCanceled(int,QByteArray,QVariant)));
connect(m_view, SIGNAL(roleEditingFinished(int,QByteArray,QVariant)),
this, SLOT(slotRoleEditingFinished(int,QByteArray,QVariant)));
connect(m_view->header(), SIGNAL(columnWidthChanged(QByteArray,qreal,qreal)),
emit visibleRolesChanged(m_visibleRoles, previousVisibleRoles);
}
-void DolphinView::slotRoleEditingCanceled(int index, const QByteArray& role, const QVariant& value)
-{
- Q_UNUSED(index);
- Q_UNUSED(role);
- Q_UNUSED(value);
- setFocus();
-}
-
void DolphinView::slotRoleEditingFinished(int index, const QByteArray& role, const QVariant& value)
{
if (role == "text") {
KonqOperations::rename(this, oldUrl, newName);
}
}
- setFocus();
}
void DolphinView::loadDirectory(const KUrl& url, bool reload)
void slotVisibleRolesChangedByHeader(const QList<QByteArray>& current,
const QList<QByteArray>& previous);
- void slotRoleEditingCanceled(int index, const QByteArray& role, const QVariant& value);
void slotRoleEditingFinished(int index, const QByteArray& role, const QVariant& value);
/**