void TaskListPanel::RenameTask() { const TCHAR *oldname = get_cursor_name(); StaticString<40> newname(oldname); if (ClearSuffix(newname.buffer(), _T(".cup"))) { MessageBoxX(_("Can't rename .CUP files"), _("Rename Error"), MB_ICONEXCLAMATION); return; } ClearSuffix(newname.buffer(), _T(".tsk")); if (!TextEntryDialog(*(SingleWindow *)wf.get_root_owner(), newname)) return; newname.append(_T(".tsk")); TCHAR oldpath[MAX_PATH]; TCHAR newpath[MAX_PATH]; LocalPath(oldpath, oldname); LocalPath(newpath, newname.c_str()); File::Rename(oldpath, newpath); task_store->Scan(); RefreshView(); }
void TaskListPanel::LoadTask() { const OrderedTask* orig = get_cursor_task(); if (orig == NULL) return; tstring text = _("Load the selected task?"); text += _T("\n("); text += get_cursor_name(); text += _T(")"); if (MessageBoxX(text.c_str(), _("Task Browser"), MB_YESNO | MB_ICONQUESTION) != IDYES) return; // create new task first to guarantee pointers are different OrderedTask* temptask = protected_task_manager->TaskCopy(*orig); delete *active_task; *active_task = temptask; RefreshView(); *task_modified = true; tab_bar.SetCurrentPage(dlgTaskManager::GetTurnpointTab()); tab_bar.set_focus(); }
void TaskListPanel::DeleteTask() { const TCHAR *fname = get_cursor_name(); tstring upperstring = fname; std::transform(upperstring.begin(), upperstring.end(), upperstring.begin(), ::toupper); if (upperstring.find(_T(".CUP")) != tstring::npos) { MessageBoxX(_("Can't delete .CUP files"), _("Delete Error"), MB_ICONEXCLAMATION); return; } tstring text = _("Delete the selected task?"); text += _T("\n("); text += fname; text += _T(")"); if (MessageBoxX(text.c_str(), _("Task Browser"), MB_YESNO | MB_ICONQUESTION) != IDYES) return; TCHAR path[MAX_PATH]; LocalPath(path, fname); File::Delete(path); task_store->Scan(); RefreshView(); }
void TaskListPanel::LoadTask() { const OrderedTask* orig = get_cursor_task(); if (orig == nullptr) return; StaticString<1024> text; text.Format(_T("%s\n(%s)"), _("Load the selected task?"), get_cursor_name()); if (ShowMessageBox(text.c_str(), _("Task Browser"), MB_YESNO | MB_ICONQUESTION) != IDYES) return; // create new task first to guarantee pointers are different OrderedTask* temptask = orig->Clone(CommonInterface::GetComputerSettings().task); delete *active_task; *active_task = temptask; const unsigned cursor_index = GetList().GetCursorIndex(); (*active_task)->SetName(StaticString<64>(task_store->GetName(cursor_index))); RefreshView(); *task_modified = true; dialog.SwitchToEditTab(); }