[Haiku-commits] r31300 - haiku/trunk/src/apps/diskprobe
bonefish at BerliOS
bonefish at mail.berlios.de
Sun Jun 28 19:13:49 CEST 2009
Author: bonefish
Date: 2009-06-28 19:13:48 +0200 (Sun, 28 Jun 2009)
New Revision: 31300
ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=31300&view=rev
Modified:
haiku/trunk/src/apps/diskprobe/Jamfile
haiku/trunk/src/apps/diskprobe/ProbeView.cpp
Log:
Added expression support to the position text control. It's not quite the
direly missing "Go To" function, but better than nothing.
Modified: haiku/trunk/src/apps/diskprobe/Jamfile
===================================================================
--- haiku/trunk/src/apps/diskprobe/Jamfile 2009-06-28 17:11:45 UTC (rev 31299)
+++ haiku/trunk/src/apps/diskprobe/Jamfile 2009-06-28 17:13:48 UTC (rev 31300)
@@ -16,6 +16,6 @@
ProbeView.cpp
OpenWindow.cpp
FindWindow.cpp
- : be tracker translation
+ : be tracker translation libexpression_parser.a libmapm.a
: DiskProbe.rdef
;
Modified: haiku/trunk/src/apps/diskprobe/ProbeView.cpp
===================================================================
--- haiku/trunk/src/apps/diskprobe/ProbeView.cpp 2009-06-28 17:11:45 UTC (rev 31299)
+++ haiku/trunk/src/apps/diskprobe/ProbeView.cpp 2009-06-28 17:13:48 UTC (rev 31300)
@@ -37,6 +37,8 @@
#include <PrintJob.h>
#include <Beep.h>
+#include <ExpressionParser.h>
+
#include "DataView.h"
#include "DiskProbe.h"
#include "TypeEditors.h"
@@ -849,7 +851,7 @@
case kMsgPositionUpdate:
{
- fLastPosition = fPosition;
+ off_t lastPosition = fPosition;
off_t position;
int32 delta;
@@ -862,10 +864,18 @@
} else if (message->FindInt32("delta", &delta) == B_OK) {
fPosition += delta * off_t(fBlockSize);
} else {
- fPosition = strtoll(fPositionControl->Text(), NULL, 0)
- * fBlockSize;
+ try {
+ ExpressionParser parser;
+ parser.SetSupportHexInput(true);
+ fPosition = parser.EvaluateToInt64(
+ fPositionControl->Text()) * fBlockSize;
+ } catch (...) {
+ beep();
+ break;
+ }
}
+ fLastPosition = lastPosition;
fPosition = (fPosition / fBlockSize) * fBlockSize;
// round to block size
More information about the Haiku-commits
mailing list