2008-05-03 09:37:10 -05:00
|
|
|
#include "hexlineedit.h"
|
|
|
|
#include "qdebug.h"
|
|
|
|
|
2008-08-08 22:22:13 -05:00
|
|
|
QString & uintToHexStr(quint64 num, QString &hexStr, quint8 octets);
|
|
|
|
|
2008-05-03 09:37:10 -05:00
|
|
|
HexLineEdit::HexLineEdit( QWidget * parent)
|
|
|
|
: QLineEdit(parent)
|
|
|
|
{
|
|
|
|
//QLineEdit::QLineEdit(parent);
|
|
|
|
}
|
|
|
|
|
|
|
|
void HexLineEdit::focusOutEvent( QFocusEvent *e )
|
|
|
|
{
|
|
|
|
#if 0
|
|
|
|
const QValidator *v = validator();
|
|
|
|
if ( v )
|
|
|
|
{
|
|
|
|
int curpos = cursorPosition();
|
|
|
|
QString str = text();
|
|
|
|
if ( v->validate( str, curpos ) == QValidator::Acceptable )
|
|
|
|
{
|
|
|
|
if ( curpos != cursorPosition() )
|
|
|
|
setCursorPosition( curpos );
|
|
|
|
if ( str != text() )
|
|
|
|
setText( str );
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
if ( curpos != cursorPosition() )
|
|
|
|
setCursorPosition( curpos );
|
|
|
|
str = text();
|
|
|
|
v->fixup( str );
|
|
|
|
if ( str != text() )
|
|
|
|
{
|
|
|
|
setText( str );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
QLineEdit::focusOutEvent( e );
|
|
|
|
emit focusOut();
|
|
|
|
#else
|
2009-04-27 11:51:44 -05:00
|
|
|
#define uintToHexStr(num, bytesize) \
|
|
|
|
QString("%1").arg((num), (bytesize)*2 , 16, QChar('0'))
|
|
|
|
|
2008-05-03 09:37:10 -05:00
|
|
|
bool isOk;
|
|
|
|
ulong num;
|
|
|
|
|
|
|
|
qDebug("before = %s\n", text().toAscii().data());
|
|
|
|
num = text().remove(QChar(' ')).toULong(&isOk, 16);
|
2009-04-27 11:51:44 -05:00
|
|
|
setText(uintToHexStr(num, 4));
|
2008-05-03 09:37:10 -05:00
|
|
|
qDebug("after = %s\n", text().toAscii().data());
|
2009-04-27 11:51:44 -05:00
|
|
|
#undef uintToHexStr
|
2008-05-03 09:37:10 -05:00
|
|
|
#endif
|
|
|
|
}
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
void HexLineEdit::focusInEvent( QFocusEvent *e )
|
|
|
|
{
|
|
|
|
QLineEdit::focusInEvent( e );
|
|
|
|
emit focusIn();
|
|
|
|
}
|
|
|
|
|
|
|
|
void HexLineEdit::keyPressEvent( QKeyEvent *e )
|
|
|
|
{
|
|
|
|
QLineEdit::keyPressEvent( e );
|
|
|
|
if ( e->key() == Key_Enter || e->key() == Key_Return )
|
|
|
|
{
|
|
|
|
setSelection( 0, text().length() );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|