Skip to content

Commit a7b1a0c

Browse files
committed
Improve error handling when file doesn't exist (one pop-up instead of two)
1 parent 12895f8 commit a7b1a0c

File tree

2 files changed

+15
-17
lines changed

2 files changed

+15
-17
lines changed

Studio/Data/Session.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -203,10 +203,6 @@ bool Session::save_project(QString filename) {
203203
bool Session::load_project(QString filename) {
204204
modified_ = false;
205205

206-
if (!QFile::exists(filename)) {
207-
QMessageBox::critical(nullptr, "ShapeWorksStudio", "File does not exist: " + filename, QMessageBox::Ok);
208-
return false;
209-
}
210206

211207
// clear the project out first
212208
filename_ = QFileInfo(filename).absoluteFilePath();

Studio/Interface/ShapeWorksStudioApp.cpp

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
#include <Data/Session.h>
3333
#include <Data/Telemetry.h>
3434
#include <DeepSSM/DeepSSMTool.h>
35-
#include <ShapeWorksMONAI/MonaiLabelTool.h>
3635
#include <Groom/GroomTool.h>
3736
#include <Interface/CompareWidget.h>
3837
#include <Interface/ExportImageDialog.h>
@@ -45,6 +44,7 @@
4544
#include <Optimize/OptimizeTool.h>
4645
#include <Python/PythonWorker.h>
4746
#include <Shape.h>
47+
#include <ShapeWorksMONAI/MonaiLabelTool.h>
4848
#include <Utils/StudioUtils.h>
4949
#include <Visualization/Lightbox.h>
5050
#include <Visualization/Visualizer.h>
@@ -130,14 +130,15 @@ ShapeWorksStudioApp::ShapeWorksStudioApp() {
130130
connect(deepssm_tool_.data(), &DeepSSMTool::progress, this, &ShapeWorksStudioApp::handle_progress);
131131
connect(deepssm_tool_.data(), &DeepSSMTool::update_view, this, &ShapeWorksStudioApp::handle_display_setting_changed);
132132

133-
134133
// monai tool init
135134
monai_tool_ = QSharedPointer<monailabel::MonaiLabelTool>::create(preferences_);
136135
monai_tool_->set_app(this);
137136
ui_->stacked_widget->addWidget(monai_tool_.data());
138137
connect(monai_tool_.data(), &monailabel::MonaiLabelTool::progress, this, &ShapeWorksStudioApp::handle_progress);
139-
connect(monai_tool_.data(), &monailabel::MonaiLabelTool::update_view, this, &ShapeWorksStudioApp::handle_display_setting_changed);
140-
connect(monai_tool_.data(), &monailabel::MonaiLabelTool::sampleChanged, this, &ShapeWorksStudioApp::reset_num_viewers);
138+
connect(monai_tool_.data(), &monailabel::MonaiLabelTool::update_view, this,
139+
&ShapeWorksStudioApp::handle_display_setting_changed);
140+
connect(monai_tool_.data(), &monailabel::MonaiLabelTool::sampleChanged, this,
141+
&ShapeWorksStudioApp::reset_num_viewers);
141142

142143
// resize from preferences
143144
if (!preferences_.get_window_geometry().isEmpty()) {
@@ -525,7 +526,6 @@ void ShapeWorksStudioApp::enable_possible_actions() {
525526
ui_->action_deepssm_mode->setEnabled(session_->get_project()->get_images_present() && original_present);
526527
ui_->action_monai_mode->setEnabled(session_->get_project()->get_images_present());
527528

528-
529529
// verification step for broken projects
530530
if (session_->get_tool_state() == Session::DEEPSSM_C && !ui_->action_deepssm_mode->isEnabled()) {
531531
session_->set_tool_state(Session::DATA_C);
@@ -915,7 +915,6 @@ void ShapeWorksStudioApp::handle_new_mesh() {
915915
}
916916

917917
deepssm_tool_->handle_new_mesh();
918-
919918
}
920919

921920
//---------------------------------------------------------------------------
@@ -1153,7 +1152,7 @@ void ShapeWorksStudioApp::update_view_mode() {
11531152
}
11541153
}
11551154

1156-
else if (session_->get_tool_state() == Session::ANALYSIS_C) {
1155+
else if (session_->get_tool_state() == Session::ANALYSIS_C) {
11571156
if (analysis_tool_->get_display_feature_map() != feature_map) {
11581157
feature_map_override = analysis_tool_->get_display_feature_map();
11591158
}
@@ -1206,9 +1205,7 @@ void ShapeWorksStudioApp::on_action_analysis_mode_triggered() { session_->set_to
12061205
void ShapeWorksStudioApp::on_action_deepssm_mode_triggered() { session_->set_tool_state(Session::DEEPSSM_C); }
12071206

12081207
//---------------------------------------------------------------------------
1209-
void ShapeWorksStudioApp::on_action_monai_mode_triggered() {
1210-
session_->set_tool_state(Session::MONAI_C);
1211-
}
1208+
void ShapeWorksStudioApp::on_action_monai_mode_triggered() { session_->set_tool_state(Session::MONAI_C); }
12121209

12131210
//---------------------------------------------------------------------------
12141211
void ShapeWorksStudioApp::handle_project_changed() {
@@ -1501,6 +1498,12 @@ void ShapeWorksStudioApp::open_project(QString filename) {
15011498
session_->set_loading(true);
15021499

15031500
try {
1501+
if (!QFile::exists(filename)) {
1502+
QMessageBox::critical(nullptr, "ShapeWorksStudio", "File does not exist: " + filename, QMessageBox::Ok);
1503+
handle_progress(100);
1504+
return;
1505+
}
1506+
15041507
if (!session_->load_project(filename)) {
15051508
enable_possible_actions();
15061509
handle_error("Project failed to load");
@@ -2150,7 +2153,7 @@ void ShapeWorksStudioApp::reset_num_viewers() {
21502153

21512154
if (session_->get_tool_state() == Session::DEEPSSM_C) {
21522155
num_samples = deepssm_tool_->get_shapes().size();
2153-
}
2156+
}
21542157

21552158
int value = 4;
21562159
if (num_samples == 1) {
@@ -2165,7 +2168,7 @@ void ShapeWorksStudioApp::reset_num_viewers() {
21652168
value = 4; // 4x4
21662169
}
21672170
if (session_->get_tool_state() == Session::MONAI_C) {
2168-
value = 0; // single viewer always for MONAI tool state
2171+
value = 0; // single viewer always for MONAI tool state
21692172
}
21702173
if (value != ui_->zoom_slider->value()) {
21712174
ui_->zoom_slider->setValue(value);
@@ -2204,7 +2207,6 @@ void ShapeWorksStudioApp::update_view_combo() {
22042207
set_view_combo_item_enabled(DisplayMode::Reconstructed, should_reconstruct_view_show());
22052208
}
22062209

2207-
22082210
std::string mode = AnalysisTool::MODE_ALL_SAMPLES_C;
22092211
bool analysis_mode = ui_->action_analysis_mode->isChecked();
22102212
if (analysis_mode) {

0 commit comments

Comments
 (0)