Subversion Repositories spk

Rev

Rev 1 | Rev 160 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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 )
50 cycrow 62
				m_lFakePatches->PushBack(CyString(p->name()), CyString(p->author()));
1 cycrow 63
		}
64
	}
65
};