Rev 197 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#include "../StdAfx.h"#include "FakePatchControl.h"namespace PluginManager {void FakePatchControl::UpdateList(){this->listView1->Items->Clear();m_pPackages->AssignPackageNumbers();for ( CBaseFile *p = m_pPackages->FirstPackage(); p; p = m_pPackages->NextPackage() ){if ( !p->IsEnabled() ) continue;if ( !p->AnyFileType(FILETYPE_MOD) ) continue;Utils::WString packageName = p->getFullPackageName(m_pPackages->GetLanguage());for ( C_File *f = p->GetFirstFile(FILETYPE_MOD); f; f = p->GetNextFile(f) ){if (!f->IsFakePatch()) continue;if (!f->checkFileExt(L"cat")) continue;ListViewItem ^item = gcnew ListViewItem(_US(packageName));item->ImageIndex = 1;this->listView1->Items->Add(item);item->Tag = p->GetNum();break;}}this->listView1->AutoResizeColumns(ColumnHeaderAutoResizeStyle::HeaderSize);}void FakePatchControl::ApplyOrder(){auto& list = m_pPackages->getFakePatchOrder();for(auto itr = list.begin(); itr != list.end(); itr++){CBaseFile *p = m_pPackages->findPackage((*itr)->str, (*itr)->data);if ( p ){// find item and move itfor ( int i = 0; i < this->listView1->Items->Count; i++ ){if ( Convert::ToInt32(this->listView1->Items[i]->Tag) == p->GetNum() ){Order(this->listView1->Items[i]);break;}}}}}void FakePatchControl::Save(){m_lFakePatches->clear();for ( int i = 0; i < this->listView2->Items->Count; i++ ){int pos = Convert::ToInt32(this->listView2->Items[i]->Tag);CBaseFile *p = m_pPackages->GetPackageAt(pos);if ( p )m_lFakePatches->pushBack(p->name(), p->author());}}};