コード例 #1
0
void CDirstatDoc::OnUserdefinedcleanup(UINT id)
{
	const USERDEFINEDCLEANUP *udc= GetOptions()->GetUserDefinedCleanup(id - ID_USERDEFINEDCLEANUP0);
	CItem *item= GetSelection();
	
	ASSERT(UserDefinedCleanupWorksForItem(udc, item));
	if (!UserDefinedCleanupWorksForItem(udc, item))
		return;
	
	ASSERT(item != NULL);

	try
	{
		AskForConfirmation(udc, item);
		PerformUserDefinedCleanup(udc, item);
		RefreshAfterUserDefinedCleanup(udc, item);
	}
	catch (CUserException *pe)
	{
		pe->Delete();
	}
	catch (CException *pe)
	{
		pe->ReportError();
		pe->Delete();
	}
}
コード例 #2
0
ファイル: history.cpp プロジェクト: Greathood/taiga
void ConfirmationQueue::Process() {
  if (in_process) return;
  in_process = true;

  while (!queue_.empty()) {
    anime::Episode& episode = queue_.front();
    int choice = AskForConfirmation(episode);
    if (choice != IDNO) {
      bool change_status = (choice == IDCANCEL);
      auto anime_item = AnimeDatabase.FindItem(episode.anime_id);
      anime_item->AddToQueue(episode, change_status);
    }
    queue_.pop();
  }

  in_process = false;
}