BinEditor: Fix Ctrl+Home/End for files

Doesn't seem to affect memory editor

Change-Id: I9cc21744d0dcc5fe8cf2685c61f8e71f87af3961
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
Orgad Shaneh
2012-12-20 23:07:40 +02:00
committed by hjk
parent c92d5ed743
commit d0f9d0c136
5 changed files with 16 additions and 53 deletions

View File

@@ -1302,20 +1302,22 @@ void BinEditor::keyPressEvent(QKeyEvent *e)
setCursorPosition((verticalScrollBar()->value() + line) * m_bytesPerLine + m_cursorPosition % m_bytesPerLine, moveMode); setCursorPosition((verticalScrollBar()->value() + line) * m_bytesPerLine + m_cursorPosition % m_bytesPerLine, moveMode);
} break; } break;
case Qt::Key_Home: case Qt::Key_Home: {
if (e->modifiers() & Qt::ControlModifier) { int pos;
emit startOfFileRequested(editor()); if (e->modifiers() & Qt::ControlModifier)
} else { pos = 0;
setCursorPosition(m_cursorPosition/m_bytesPerLine * m_bytesPerLine, moveMode); else
} pos = m_cursorPosition/m_bytesPerLine * m_bytesPerLine;
break; setCursorPosition(pos, moveMode);
case Qt::Key_End: } break;
if (e->modifiers() & Qt::ControlModifier) { case Qt::Key_End: {
emit endOfFileRequested(editor()); int pos;
} else { if (e->modifiers() & Qt::ControlModifier)
setCursorPosition(m_cursorPosition/m_bytesPerLine * m_bytesPerLine + 15, moveMode); pos = m_size;
} else
break; pos = m_cursorPosition/m_bytesPerLine * m_bytesPerLine + 15;
setCursorPosition(pos, moveMode);
} break;
default: default:
if (m_readOnly) if (m_readOnly)
break; break;

View File

@@ -142,8 +142,6 @@ Q_SIGNALS:
void newWindowRequested(quint64 address); void newWindowRequested(quint64 address);
void newRangeRequested(Core::IEditor *, quint64 address); void newRangeRequested(Core::IEditor *, quint64 address);
void addWatchpointRequested(quint64 address, uint size); void addWatchpointRequested(quint64 address, uint size);
void startOfFileRequested(Core::IEditor *);
void endOfFileRequested(Core::IEditor *);
void dataChanged(Core::IEditor *, quint64 address, const QByteArray &data); void dataChanged(Core::IEditor *, quint64 address, const QByteArray &data);
protected: protected:

View File

@@ -187,10 +187,6 @@ public:
this, SLOT(provideData(Core::IEditor*,quint64))); this, SLOT(provideData(Core::IEditor*,quint64)));
connect(m_editor, SIGNAL(newRangeRequested(Core::IEditor*,quint64)), connect(m_editor, SIGNAL(newRangeRequested(Core::IEditor*,quint64)),
this, SLOT(provideNewRange(Core::IEditor*,quint64))); this, SLOT(provideNewRange(Core::IEditor*,quint64)));
connect(m_editor, SIGNAL(startOfFileRequested(Core::IEditor*)), this,
SLOT(handleStartOfFileRequested(Core::IEditor*)));
connect(m_editor, SIGNAL(endOfFileRequested(Core::IEditor*)), this,
SLOT(handleEndOfFileRequested(Core::IEditor*)));
} }
~BinEditorDocument() {} ~BinEditorDocument() {}
@@ -273,14 +269,6 @@ private slots:
open(0, m_fileName, offset); open(0, m_fileName, offset);
} }
void handleStartOfFileRequested(Core::IEditor *) {
open(0, m_fileName, 0);
}
void handleEndOfFileRequested(Core::IEditor *) {
open(0, m_fileName, QFileInfo(m_fileName).size() - 1);
}
public: public:
void setFilename(const QString &filename) { void setFilename(const QString &filename) {

View File

@@ -140,12 +140,6 @@ void MemoryAgent::connectBinEditorWidget(QWidget *w)
connect(w, connect(w,
SIGNAL(newRangeRequested(Core::IEditor*,quint64)), SIGNAL(newRangeRequested(Core::IEditor*,quint64)),
SLOT(provideNewRange(Core::IEditor*,quint64))); SLOT(provideNewRange(Core::IEditor*,quint64)));
connect(w,
SIGNAL(startOfFileRequested(Core::IEditor*)),
SLOT(handleStartOfFileRequested(Core::IEditor*)));
connect(w,
SIGNAL(endOfFileRequested(Core::IEditor*)),
SLOT(handleEndOfFileRequested(Core::IEditor*)));
connect(w, connect(w,
SIGNAL(dataChanged(Core::IEditor*,quint64,QByteArray)), SIGNAL(dataChanged(Core::IEditor*,quint64,QByteArray)),
SLOT(handleDataChanged(Core::IEditor*,quint64,QByteArray))); SLOT(handleDataChanged(Core::IEditor*,quint64,QByteArray)));
@@ -250,23 +244,6 @@ void MemoryAgent::provideNewRange(IEditor *, quint64 address)
MemoryView::setBinEditorRange(w, address, DataRange, BinBlockSize); MemoryView::setBinEditorRange(w, address, DataRange, BinBlockSize);
} }
// Since we are not dealing with files, we take these signals to mean
// "move to start/end of range". This seems to make more sense than
// jumping to the start or end of the address space, respectively.
void MemoryAgent::handleStartOfFileRequested(IEditor *)
{
QWidget *w = qobject_cast<QWidget *>(sender());
QTC_ASSERT(w, return);
MemoryView::binEditorSetCursorPosition(w, 0);
}
void MemoryAgent::handleEndOfFileRequested(IEditor *)
{
QWidget *w = qobject_cast<QWidget *>(sender());
QTC_ASSERT(w, return);
MemoryView::binEditorSetCursorPosition(w, DataRange - 1);
}
void MemoryAgent::handleDataChanged(IEditor *, void MemoryAgent::handleDataChanged(IEditor *,
quint64 addr, const QByteArray &data) quint64 addr, const QByteArray &data)
{ {

View File

@@ -99,8 +99,6 @@ public slots:
private slots: private slots:
void fetchLazyData(Core::IEditor *, quint64 block); void fetchLazyData(Core::IEditor *, quint64 block);
void provideNewRange(Core::IEditor *editor, quint64 address); void provideNewRange(Core::IEditor *editor, quint64 address);
void handleStartOfFileRequested(Core::IEditor *editor);
void handleEndOfFileRequested(Core::IEditor *editor);
void handleDataChanged(Core::IEditor *editor, quint64 address, void handleDataChanged(Core::IEditor *editor, quint64 address,
const QByteArray &data); const QByteArray &data);
void handleWatchpointRequest(quint64 address, uint size); void handleWatchpointRequest(quint64 address, uint size);