| 1 |
cycrow |
1 |
#include "../StdAfx.h"
|
|
|
2 |
#include "FakePatchControl.h"
|
|
|
3 |
|
|
|
4 |
namespace PluginManager {
|
|
|
5 |
void FakePatchControl::UpdateList()
|
|
|
6 |
{
|
|
|
7 |
this->listView1->Items->Clear();
|
|
|
8 |
|
|
|
9 |
m_pPackages->AssignPackageNumbers();
|
|
|
10 |
for ( CBaseFile *p = m_pPackages->FirstPackage(); p; p = m_pPackages->NextPackage() )
|
|
|
11 |
{
|
|
|
12 |
if ( !p->IsEnabled() ) continue;
|
|
|
13 |
if ( !p->AnyFileType(FILETYPE_MOD) ) continue;
|
|
|
14 |
|
|
|
15 |
CyString packageName = p->GetFullPackageName(m_pPackages->GetLanguage());
|
|
|
16 |
|
|
|
17 |
for ( C_File *f = p->GetFirstFile(FILETYPE_MOD); f; f = p->GetNextFile(f) )
|
|
|
18 |
{
|
|
|
19 |
if ( !f->IsFakePatch() ) continue;
|
|
|
20 |
if ( !f->CheckFileExt("cat") ) continue;
|
|
|
21 |
|
|
|
22 |
ListViewItem ^item = gcnew ListViewItem(SystemStringFromCyString(packageName));
|
|
|
23 |
item->ImageIndex = 1;
|
|
|
24 |
this->listView1->Items->Add(item);
|
|
|
25 |
item->Tag = p->GetNum();
|
|
|
26 |
|
|
|
27 |
break;
|
|
|
28 |
}
|
|
|
29 |
}
|
|
|
30 |
|
|
|
31 |
this->listView1->AutoResizeColumns(ColumnHeaderAutoResizeStyle::HeaderSize);
|
|
|
32 |
}
|
|
|
33 |
|
|
|
34 |
void FakePatchControl::ApplyOrder()
|
|
|
35 |
{
|
|
|
36 |
for ( SStringList *str = m_pPackages->GetFakePatchOrder()->Head(); str; str = str->next )
|
|
|
37 |
{
|
|
|
38 |
CBaseFile *p = m_pPackages->FindPackage(str->str, str->data);
|
|
|
39 |
if ( p )
|
|
|
40 |
{
|
|
|
41 |
// find item and move it
|
|
|
42 |
for ( int i = 0; i < this->listView1->Items->Count; i++ )
|
|
|
43 |
{
|
|
|
44 |
if ( Convert::ToInt32(this->listView1->Items[i]->Tag) == p->GetNum() )
|
|
|
45 |
{
|
|
|
46 |
Order(this->listView1->Items[i]);
|
|
|
47 |
break;
|
|
|
48 |
}
|
|
|
49 |
}
|
|
|
50 |
}
|
|
|
51 |
}
|
|
|
52 |
}
|
|
|
53 |
|
|
|
54 |
void FakePatchControl::Save()
|
|
|
55 |
{
|
|
|
56 |
m_lFakePatches->Clear();
|
|
|
57 |
for ( int i = 0; i < this->listView2->Items->Count; i++ )
|
|
|
58 |
{
|
|
|
59 |
int pos = Convert::ToInt32(this->listView2->Items[i]->Tag);
|
|
|
60 |
CBaseFile *p = m_pPackages->GetPackageAt(pos);
|
|
|
61 |
if ( p )
|
|
|
62 |
m_lFakePatches->PushBack(p->GetName(), p->GetAuthor());
|
|
|
63 |
}
|
|
|
64 |
}
|
|
|
65 |
};
|