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; };