OrderedTask * TaskListPanel::get_task_to_display() { return (browse_tabbed->GetCurrentPage() == 0) ? *active_task : get_cursor_task(); }
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::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(); }
void TaskListPanel::Show(const PixelRect &rc) { if (serial != task_list_serial) { serial = task_list_serial; // Scan XCSoarData for available tasks task_store->Scan(more); } dialog.ShowTaskView(get_cursor_task()); GetList().SetCursorIndex(0); // so Save & Declare are always available RefreshView(); ListWidget::Show(rc); }
void TaskListPanel::RefreshView() { GetList().SetLength(task_store->Size()); dialog.InvalidateTaskView(); OrderedTask* ordered_task = get_cursor_task(); dialog.ShowTaskView(ordered_task); if (ordered_task == NULL) { summary.SetText(_T("")); } else { TCHAR text[300]; OrderedTaskSummary(ordered_task, text, false); summary.SetText(text); } if (GetList().IsVisible() && two_widgets != nullptr) two_widgets->UpdateLayout(); }