#include "kitemlistroleeditor.h"
-#include <KDebug>
-#include <kio/global.h>
-#include <QKeyEvent>
+#include <KIO/Global>
KItemListRoleEditor::KItemListRoleEditor(QWidget *parent) :
KTextEdit(parent),
- m_index(0),
m_role(),
m_blockFinishedSignal(false)
{
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setAcceptRichText(false);
+ enableFindReplace(false);
document()->setDocumentMargin(0);
if (parent) {
parent->installEventFilter(this);
}
- connect(this, SIGNAL(textChanged()), this, SLOT(autoAdjustSize()));
+ connect(this, &KItemListRoleEditor::textChanged, this, &KItemListRoleEditor::autoAdjustSize);
}
KItemListRoleEditor::~KItemListRoleEditor()
{
}
-void KItemListRoleEditor::setIndex(int index)
-{
- m_index = index;
-}
-
-int KItemListRoleEditor::index() const
-{
- return m_index;
-}
-
void KItemListRoleEditor::setRole(const QByteArray& role)
{
m_role = role;
// a roleEditingFinished signal (see KItemListRoleEditor::event),
// which is not wanted in this case.
m_blockFinishedSignal = true;
- emit roleEditingCanceled(m_index, m_role, KIO::encodeFileName(toPlainText()));
+ emit roleEditingCanceled(m_role, KIO::encodeFileName(toPlainText()));
m_blockFinishedSignal = false;
event->accept();
return;
emitRoleEditingFinished();
event->accept();
return;
+ case Qt::Key_Left:
+ case Qt::Key_Right: {
+ QTextCursor cursor = textCursor();
+ if (event->modifiers() == Qt::NoModifier && cursor.hasSelection()) {
+ if (event->key() == Qt::Key_Left) {
+ cursor.setPosition(cursor.selectionStart());
+ } else {
+ cursor.setPosition(cursor.selectionEnd());
+ }
+ cursor.clearSelection();
+ setTextCursor(cursor);
+ event->accept();
+ return;
+ }
+ break;
+ }
default:
break;
}
void KItemListRoleEditor::emitRoleEditingFinished()
{
if (!m_blockFinishedSignal) {
- emit roleEditingFinished(m_index, m_role, KIO::encodeFileName(toPlainText()));
+ emit roleEditingFinished(m_role, KIO::encodeFileName(toPlainText()));
}
}
-#include "kitemlistroleeditor.moc"