diff --git a/src/work-calendar.cpp b/src/work-calendar.cpp index 7a442a6..92c66cb 100644 --- a/src/work-calendar.cpp +++ b/src/work-calendar.cpp @@ -485,6 +485,18 @@ void per_frame(){ ImGui::TableSetColumnIndex(3); if (ImGui::Button("d")) { + for (size_t j = 0; j < num_categorized_days; j++) { + // Remove categorized days that have the to be deleted category + if (categorized_days[j].category == i) { + for (size_t k = j; k < num_categorized_days - 1; k++) categorized_days[k] = categorized_days[k + 1]; + num_categorized_days--; + j--; + } + // Decrement the category index of all categorized days that have an index higher than the one to be removed + if (categorized_days[j].category > i) categorized_days[j].category--; + } + // Remove the category + for (size_t j = i; j < num_categories - 1; j++) categories[j] = categories[j + 1]; num_categories--; }