Tidying
This commit is contained in:
@@ -265,9 +265,9 @@ namespace Bloom
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Insight::onInsightWindowActivated() {
|
void Insight::onInsightWindowActivated() {
|
||||||
auto* getTargetStateTask = new GetTargetState();
|
const auto getTargetStateTask = QSharedPointer<GetTargetState>(new GetTargetState(), &QObject::deleteLater);
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
getTargetStateTask,
|
getTargetStateTask.get(),
|
||||||
&GetTargetState::targetState,
|
&GetTargetState::targetState,
|
||||||
this,
|
this,
|
||||||
[this] (Targets::TargetState targetState) {
|
[this] (Targets::TargetState targetState) {
|
||||||
@@ -354,10 +354,13 @@ namespace Bloom
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (event.state == TargetControllerState::ACTIVE) {
|
if (event.state == TargetControllerState::ACTIVE) {
|
||||||
auto* getTargetDescriptorTask = new GetTargetDescriptor();
|
const auto getTargetDescriptorTask = QSharedPointer<GetTargetDescriptor>(
|
||||||
|
new GetTargetDescriptor(),
|
||||||
|
&QObject::deleteLater
|
||||||
|
);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
getTargetDescriptorTask,
|
getTargetDescriptorTask.get(),
|
||||||
&GetTargetDescriptor::targetDescriptor,
|
&GetTargetDescriptor::targetDescriptor,
|
||||||
this,
|
this,
|
||||||
[this] (Targets::TargetDescriptor targetDescriptor) {
|
[this] (Targets::TargetDescriptor targetDescriptor) {
|
||||||
|
|||||||
@@ -33,16 +33,15 @@ namespace Bloom
|
|||||||
emit this->ready();
|
emit this->ready();
|
||||||
}
|
}
|
||||||
|
|
||||||
void InsightWorker::queueTask(InsightWorkerTask* task) {
|
void InsightWorker::queueTask(const QSharedPointer<InsightWorkerTask>& task) {
|
||||||
const auto taskPtr = QSharedPointer<InsightWorkerTask>(task, &QObject::deleteLater);
|
task->moveToThread(nullptr);
|
||||||
taskPtr->moveToThread(nullptr);
|
|
||||||
|
|
||||||
{
|
{
|
||||||
const auto taskQueueLock = InsightWorker::queuedTasksById.acquireLock();
|
const auto taskQueueLock = InsightWorker::queuedTasksById.acquireLock();
|
||||||
InsightWorker::queuedTasksById.getValue().emplace(taskPtr->id, taskPtr);
|
InsightWorker::queuedTasksById.getValue().emplace(task->id, task);
|
||||||
}
|
}
|
||||||
|
|
||||||
emit InsightSignals::instance()->taskQueued(taskPtr);
|
emit InsightSignals::instance()->taskQueued(task);
|
||||||
}
|
}
|
||||||
|
|
||||||
void InsightWorker::executeTasks() {
|
void InsightWorker::executeTasks() {
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ namespace Bloom
|
|||||||
|
|
||||||
InsightWorker() = default;
|
InsightWorker() = default;
|
||||||
void startup();
|
void startup();
|
||||||
static void queueTask(InsightWorkerTask* task);
|
static void queueTask(const QSharedPointer<InsightWorkerTask>& task);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void ready();
|
void ready();
|
||||||
|
|||||||
@@ -915,10 +915,13 @@ namespace Bloom
|
|||||||
}
|
}
|
||||||
|
|
||||||
void InsightWindow::refreshProgramCounter(std::optional<std::function<void(void)>> callback) {
|
void InsightWindow::refreshProgramCounter(std::optional<std::function<void(void)>> callback) {
|
||||||
auto* readProgramCounterTask = new ReadProgramCounter();
|
const auto readProgramCounterTask = QSharedPointer<ReadProgramCounter>(
|
||||||
|
new ReadProgramCounter(),
|
||||||
|
&QObject::deleteLater
|
||||||
|
);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
readProgramCounterTask,
|
readProgramCounterTask.get(),
|
||||||
&ReadProgramCounter::programCounterRead,
|
&ReadProgramCounter::programCounterRead,
|
||||||
this,
|
this,
|
||||||
[this] (Targets::TargetProgramCounter programCounter) {
|
[this] (Targets::TargetProgramCounter programCounter) {
|
||||||
@@ -930,7 +933,7 @@ namespace Bloom
|
|||||||
|
|
||||||
if (callback.has_value()) {
|
if (callback.has_value()) {
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
readProgramCounterTask,
|
readProgramCounterTask.get(),
|
||||||
&ReadProgramCounter::finished,
|
&ReadProgramCounter::finished,
|
||||||
this,
|
this,
|
||||||
callback.value()
|
callback.value()
|
||||||
|
|||||||
@@ -137,10 +137,13 @@ namespace Bloom::Widgets
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ItemGraphicsScene::init() {
|
void ItemGraphicsScene::init() {
|
||||||
auto* constructHexViewerTopLevelGroupItem = new ConstructHexViewerTopLevelGroupItem(this->focusedMemoryRegions, this->state);
|
const auto constructHexViewerTopLevelGroupItem = QSharedPointer<ConstructHexViewerTopLevelGroupItem>(
|
||||||
|
new ConstructHexViewerTopLevelGroupItem(this->focusedMemoryRegions, this->state),
|
||||||
|
&QObject::deleteLater
|
||||||
|
);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
constructHexViewerTopLevelGroupItem,
|
constructHexViewerTopLevelGroupItem.get(),
|
||||||
&ConstructHexViewerTopLevelGroupItem::topLevelGroupItem,
|
&ConstructHexViewerTopLevelGroupItem::topLevelGroupItem,
|
||||||
this,
|
this,
|
||||||
[this] (TopLevelGroupItem* item) {
|
[this] (TopLevelGroupItem* item) {
|
||||||
|
|||||||
@@ -92,10 +92,13 @@ namespace Bloom::Widgets
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
auto* retrieveSnapshotsTask = new RetrieveMemorySnapshots(this->memoryDescriptor.type);
|
const auto retrieveSnapshotsTask = QSharedPointer<RetrieveMemorySnapshots>(
|
||||||
|
new RetrieveMemorySnapshots(this->memoryDescriptor.type),
|
||||||
|
&QObject::deleteLater
|
||||||
|
);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
retrieveSnapshotsTask,
|
retrieveSnapshotsTask.get(),
|
||||||
&RetrieveMemorySnapshots::memorySnapshotsRetrieved,
|
&RetrieveMemorySnapshots::memorySnapshotsRetrieved,
|
||||||
this,
|
this,
|
||||||
[this] (std::vector<MemorySnapshot> snapshots) {
|
[this] (std::vector<MemorySnapshot> snapshots) {
|
||||||
@@ -136,17 +139,20 @@ namespace Bloom::Widgets
|
|||||||
bool captureFocusedRegions,
|
bool captureFocusedRegions,
|
||||||
bool captureDirectlyFromTarget
|
bool captureDirectlyFromTarget
|
||||||
) {
|
) {
|
||||||
auto* captureTask = new CaptureMemorySnapshot(
|
const auto captureTask = QSharedPointer<CaptureMemorySnapshot>(
|
||||||
|
new CaptureMemorySnapshot(
|
||||||
std::move(name),
|
std::move(name),
|
||||||
std::move(description),
|
std::move(description),
|
||||||
this->memoryDescriptor.type,
|
this->memoryDescriptor.type,
|
||||||
{},
|
{},
|
||||||
{},
|
{},
|
||||||
captureDirectlyFromTarget ? std::nullopt : this->data
|
captureDirectlyFromTarget ? std::nullopt : this->data
|
||||||
|
),
|
||||||
|
&QObject::deleteLater
|
||||||
);
|
);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
captureTask,
|
captureTask.get(),
|
||||||
&CaptureMemorySnapshot::memorySnapshotCaptured,
|
&CaptureMemorySnapshot::memorySnapshotCaptured,
|
||||||
this,
|
this,
|
||||||
[this] (MemorySnapshot snapshot) {
|
[this] (MemorySnapshot snapshot) {
|
||||||
|
|||||||
@@ -298,15 +298,18 @@ namespace Bloom::Widgets
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
auto* readMemoryTask = new ReadTargetMemory(
|
const auto readMemoryTask = QSharedPointer<ReadTargetMemory>(
|
||||||
|
new ReadTargetMemory(
|
||||||
this->targetMemoryDescriptor.type,
|
this->targetMemoryDescriptor.type,
|
||||||
this->targetMemoryDescriptor.addressRange.startAddress,
|
this->targetMemoryDescriptor.addressRange.startAddress,
|
||||||
this->targetMemoryDescriptor.size(),
|
this->targetMemoryDescriptor.size(),
|
||||||
excludedAddressRanges
|
excludedAddressRanges
|
||||||
|
),
|
||||||
|
&QObject::deleteLater
|
||||||
);
|
);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
readMemoryTask,
|
readMemoryTask.get(),
|
||||||
&ReadTargetMemory::targetMemoryRead,
|
&ReadTargetMemory::targetMemoryRead,
|
||||||
this,
|
this,
|
||||||
[this, callback] (const Targets::TargetMemoryBuffer& data) {
|
[this, callback] (const Targets::TargetMemoryBuffer& data) {
|
||||||
@@ -314,9 +317,13 @@ namespace Bloom::Widgets
|
|||||||
|
|
||||||
// Refresh the stack pointer if this is RAM.
|
// Refresh the stack pointer if this is RAM.
|
||||||
if (this->targetMemoryDescriptor.type == Targets::TargetMemoryType::RAM) {
|
if (this->targetMemoryDescriptor.type == Targets::TargetMemoryType::RAM) {
|
||||||
auto* readStackPointerTask = new ReadStackPointer();
|
const auto readStackPointerTask = QSharedPointer<ReadStackPointer>(
|
||||||
|
new ReadStackPointer(),
|
||||||
|
&QObject::deleteLater
|
||||||
|
);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
readStackPointerTask,
|
readStackPointerTask.get(),
|
||||||
&ReadStackPointer::stackPointerRead,
|
&ReadStackPointer::stackPointerRead,
|
||||||
this,
|
this,
|
||||||
[this] (Targets::TargetStackPointer stackPointer) {
|
[this] (Targets::TargetStackPointer stackPointer) {
|
||||||
@@ -325,7 +332,7 @@ namespace Bloom::Widgets
|
|||||||
);
|
);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
readStackPointerTask,
|
readStackPointerTask.get(),
|
||||||
&InsightWorkerTask::finished,
|
&InsightWorkerTask::finished,
|
||||||
this,
|
this,
|
||||||
[this] {
|
[this] {
|
||||||
@@ -339,7 +346,7 @@ namespace Bloom::Widgets
|
|||||||
|
|
||||||
if (callback.has_value()) {
|
if (callback.has_value()) {
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
readStackPointerTask,
|
readStackPointerTask.get(),
|
||||||
&InsightWorkerTask::completed,
|
&InsightWorkerTask::completed,
|
||||||
this,
|
this,
|
||||||
callback.value()
|
callback.value()
|
||||||
@@ -354,7 +361,7 @@ namespace Bloom::Widgets
|
|||||||
// If we're refreshing RAM, the UI should only be updated once we've retrieved the current stack pointer.
|
// If we're refreshing RAM, the UI should only be updated once we've retrieved the current stack pointer.
|
||||||
if (this->targetMemoryDescriptor.type != Targets::TargetMemoryType::RAM) {
|
if (this->targetMemoryDescriptor.type != Targets::TargetMemoryType::RAM) {
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
readMemoryTask,
|
readMemoryTask.get(),
|
||||||
&InsightWorkerTask::finished,
|
&InsightWorkerTask::finished,
|
||||||
this,
|
this,
|
||||||
[this] {
|
[this] {
|
||||||
@@ -368,7 +375,7 @@ namespace Bloom::Widgets
|
|||||||
|
|
||||||
if (callback.has_value()) {
|
if (callback.has_value()) {
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
readMemoryTask,
|
readMemoryTask.get(),
|
||||||
&InsightWorkerTask::completed,
|
&InsightWorkerTask::completed,
|
||||||
this,
|
this,
|
||||||
callback.value()
|
callback.value()
|
||||||
@@ -377,7 +384,7 @@ namespace Bloom::Widgets
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
readMemoryTask,
|
readMemoryTask.get(),
|
||||||
&InsightWorkerTask::failed,
|
&InsightWorkerTask::failed,
|
||||||
this,
|
this,
|
||||||
[this] {
|
[this] {
|
||||||
|
|||||||
@@ -317,10 +317,13 @@ namespace Bloom::Widgets
|
|||||||
|
|
||||||
void TargetRegisterInspectorWindow::refreshRegisterValue() {
|
void TargetRegisterInspectorWindow::refreshRegisterValue() {
|
||||||
this->registerValueContainer->setDisabled(true);
|
this->registerValueContainer->setDisabled(true);
|
||||||
auto* readTargetRegisterTask = new ReadTargetRegisters({this->registerDescriptor});
|
const auto readTargetRegisterTask = QSharedPointer<ReadTargetRegisters>(
|
||||||
|
new ReadTargetRegisters({this->registerDescriptor}),
|
||||||
|
&QObject::deleteLater
|
||||||
|
);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
readTargetRegisterTask,
|
readTargetRegisterTask.get(),
|
||||||
&ReadTargetRegisters::targetRegistersRead,
|
&ReadTargetRegisters::targetRegistersRead,
|
||||||
this,
|
this,
|
||||||
[this] (Targets::TargetRegisters targetRegisters) {
|
[this] (Targets::TargetRegisters targetRegisters) {
|
||||||
@@ -335,7 +338,7 @@ namespace Bloom::Widgets
|
|||||||
);
|
);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
readTargetRegisterTask,
|
readTargetRegisterTask.get(),
|
||||||
&InsightWorkerTask::failed,
|
&InsightWorkerTask::failed,
|
||||||
this,
|
this,
|
||||||
[this] {
|
[this] {
|
||||||
@@ -352,15 +355,18 @@ namespace Bloom::Widgets
|
|||||||
this->registerDescriptor,
|
this->registerDescriptor,
|
||||||
this->registerValue
|
this->registerValue
|
||||||
);
|
);
|
||||||
auto* writeRegisterTask = new WriteTargetRegister(targetRegister);
|
const auto writeRegisterTask = QSharedPointer<WriteTargetRegister>(
|
||||||
|
new WriteTargetRegister(targetRegister),
|
||||||
|
&QObject::deleteLater
|
||||||
|
);
|
||||||
|
|
||||||
QObject::connect(writeRegisterTask, &InsightWorkerTask::completed, this, [this, targetRegister] {
|
QObject::connect(writeRegisterTask.get(), &InsightWorkerTask::completed, this, [this, targetRegister] {
|
||||||
this->registerValueContainer->setDisabled(false);
|
this->registerValueContainer->setDisabled(false);
|
||||||
this->registerHistoryWidget->updateCurrentItemValue(targetRegister.value);
|
this->registerHistoryWidget->updateCurrentItemValue(targetRegister.value);
|
||||||
this->registerHistoryWidget->selectCurrentItem();
|
this->registerHistoryWidget->selectCurrentItem();
|
||||||
});
|
});
|
||||||
|
|
||||||
QObject::connect(writeRegisterTask, &InsightWorkerTask::failed, this, [this] (QString errorMessage) {
|
QObject::connect(writeRegisterTask.get(), &InsightWorkerTask::failed, this, [this] (QString errorMessage) {
|
||||||
this->registerValueContainer->setDisabled(false);
|
this->registerValueContainer->setDisabled(false);
|
||||||
auto* errorDialogue = new ErrorDialogue(
|
auto* errorDialogue = new ErrorDialogue(
|
||||||
"Error",
|
"Error",
|
||||||
|
|||||||
@@ -266,14 +266,17 @@ namespace Bloom::Widgets
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto* readRegisterTask = new ReadTargetRegisters(
|
const auto readRegisterTask = QSharedPointer<ReadTargetRegisters>(
|
||||||
|
new ReadTargetRegisters(
|
||||||
registerDescriptor.has_value()
|
registerDescriptor.has_value()
|
||||||
? Targets::TargetRegisterDescriptors({*registerDescriptor})
|
? Targets::TargetRegisterDescriptors({*registerDescriptor})
|
||||||
: this->registerDescriptors
|
: this->registerDescriptors
|
||||||
|
),
|
||||||
|
&QObject::deleteLater
|
||||||
);
|
);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
readRegisterTask,
|
readRegisterTask.get(),
|
||||||
&ReadTargetRegisters::targetRegistersRead,
|
&ReadTargetRegisters::targetRegistersRead,
|
||||||
this,
|
this,
|
||||||
&TargetRegistersPaneWidget::onRegistersRead
|
&TargetRegistersPaneWidget::onRegistersRead
|
||||||
@@ -281,7 +284,7 @@ namespace Bloom::Widgets
|
|||||||
|
|
||||||
if (callback.has_value()) {
|
if (callback.has_value()) {
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
readRegisterTask,
|
readRegisterTask.get(),
|
||||||
&InsightWorkerTask::completed,
|
&InsightWorkerTask::completed,
|
||||||
this,
|
this,
|
||||||
callback.value()
|
callback.value()
|
||||||
|
|||||||
@@ -51,9 +51,13 @@ namespace Bloom::Widgets::InsightTargetWidgets
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TargetPackageWidget::refreshPinStates(std::optional<std::function<void(void)>> callback) {
|
void TargetPackageWidget::refreshPinStates(std::optional<std::function<void(void)>> callback) {
|
||||||
auto* refreshTask = new RefreshTargetPinStates(this->targetVariant.id);
|
const auto refreshTask = QSharedPointer<RefreshTargetPinStates>(
|
||||||
|
new RefreshTargetPinStates(this->targetVariant.id),
|
||||||
|
&QObject::deleteLater
|
||||||
|
);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
refreshTask,
|
refreshTask.get(),
|
||||||
&RefreshTargetPinStates::targetPinStatesRetrieved,
|
&RefreshTargetPinStates::targetPinStatesRetrieved,
|
||||||
this,
|
this,
|
||||||
&TargetPackageWidget::updatePinStates
|
&TargetPackageWidget::updatePinStates
|
||||||
@@ -61,7 +65,7 @@ namespace Bloom::Widgets::InsightTargetWidgets
|
|||||||
|
|
||||||
if (callback.has_value()) {
|
if (callback.has_value()) {
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
refreshTask,
|
refreshTask.get(),
|
||||||
&InsightWorkerTask::completed,
|
&InsightWorkerTask::completed,
|
||||||
this,
|
this,
|
||||||
callback.value()
|
callback.value()
|
||||||
|
|||||||
@@ -26,22 +26,25 @@ namespace Bloom::Widgets::InsightTargetWidgets
|
|||||||
|
|
||||||
void TargetPinWidget::onWidgetBodyClicked() {
|
void TargetPinWidget::onWidgetBodyClicked() {
|
||||||
// Currently, we only allow users to toggle the IO state of output pins
|
// Currently, we only allow users to toggle the IO state of output pins
|
||||||
if (this->pinState.has_value()
|
if (this->pinState.has_value() && this->pinState.value().ioDirection == TargetPinState::IoDirection::OUTPUT) {
|
||||||
&& this->pinState.value().ioDirection == TargetPinState::IoDirection::OUTPUT
|
|
||||||
) {
|
|
||||||
this->setDisabled(true);
|
this->setDisabled(true);
|
||||||
|
|
||||||
auto pinState = this->pinState.value();
|
auto pinState = this->pinState.value();
|
||||||
pinState.ioState = (pinState.ioState == TargetPinState::IoState::HIGH) ?
|
pinState.ioState = (pinState.ioState == TargetPinState::IoState::HIGH)
|
||||||
TargetPinState::IoState::LOW : TargetPinState::IoState::HIGH;
|
? TargetPinState::IoState::LOW
|
||||||
|
: TargetPinState::IoState::HIGH;
|
||||||
|
|
||||||
auto* setPinStateTask = new SetTargetPinState(this->pinDescriptor, pinState);
|
const auto setPinStateTask = QSharedPointer<SetTargetPinState>(
|
||||||
QObject::connect(setPinStateTask, &InsightWorkerTask::completed, this, [this, pinState] {
|
new SetTargetPinState(this->pinDescriptor, pinState),
|
||||||
|
&QObject::deleteLater
|
||||||
|
);
|
||||||
|
|
||||||
|
QObject::connect(setPinStateTask.get(), &InsightWorkerTask::completed, this, [this, pinState] {
|
||||||
this->updatePinState(pinState);
|
this->updatePinState(pinState);
|
||||||
this->setDisabled(false);
|
this->setDisabled(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
QObject::connect(setPinStateTask, &InsightWorkerTask::failed, this, [this] {
|
QObject::connect(setPinStateTask.get(), &InsightWorkerTask::failed, this, [this] {
|
||||||
this->setDisabled(false);
|
this->setDisabled(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user