diff --git a/data/layout.xml b/data/layout.xml
index da48052..acb00c7 100644
--- a/data/layout.xml
+++ b/data/layout.xml
@@ -693,7 +693,7 @@
-
+
@@ -731,7 +731,7 @@
-
+
@@ -753,10 +753,10 @@
-
+
-
+
@@ -771,7 +771,7 @@
-
+
@@ -789,8 +789,8 @@
-
-
+
+
diff --git a/src/app_layout.cpp b/src/app_layout.cpp
index 48c5a76..ea7f1a5 100644
--- a/src/app_layout.cpp
+++ b/src/app_layout.cpp
@@ -354,7 +354,10 @@ void App::init_sidebar()
if (grid->m_parent)
{
if (auto fp = dynamic_cast(grid->m_parent->m_parent))
+ {
+ grid->remove_from_parent();
fp->destroy();
+ }
}
layout[main_id]->add_child(grid);
auto tick = layout[main_id]->add_child();
diff --git a/src/node_dialog_cloud.cpp b/src/node_dialog_cloud.cpp
index 63ba217..93d2d80 100644
--- a/src/node_dialog_cloud.cpp
+++ b/src/node_dialog_cloud.cpp
@@ -45,6 +45,7 @@ void NodeDialogCloud::loaded()
void NodeDialogCloud::removed(Node* parent)
{
+ NodeBorder::removed(parent);
closed = true;
}
diff --git a/src/node_progress_bar.cpp b/src/node_progress_bar.cpp
index f3a5501..d6d5fb7 100644
--- a/src/node_progress_bar.cpp
+++ b/src/node_progress_bar.cpp
@@ -19,6 +19,7 @@ void NodeProgressBar::init()
btn_cancel = find("btn-cancel");
btn_cancel->on_click = [&](Node*) { destroy(); };
m_progress = find("progress");
+ m_body = find("body");
m_progress->SetWidthP(0);
}
@@ -34,3 +35,9 @@ void NodeProgressBar::set_progress(float p) noexcept
{
m_progress->SetWidthP(p * 100.f);
}
+
+void NodeProgressBar::added(Node* parent)
+{
+ NodeBorder::added(parent);
+ m_body->mouse_capture();
+}
diff --git a/src/node_progress_bar.h b/src/node_progress_bar.h
index f8436e1..7fdae6d 100644
--- a/src/node_progress_bar.h
+++ b/src/node_progress_bar.h
@@ -11,6 +11,7 @@ public:
NodeButton* btn_cancel;
NodeText* m_title;
NodeBorder* m_progress;
+ NodeBorder* m_body;
int m_total = 0;
int m_count = 0;
virtual Node* clone_instantiate() const override;
@@ -18,4 +19,5 @@ public:
void increment() noexcept;
// set progress where p [0, 1]
void set_progress(float p) noexcept;
+ virtual void added(Node* parent) override;
};