blob: e1d44582772e8514ca9cbb44636a41789c02b868 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
// SevenZip/Plugin.cpp
#include "StdAfx.h"
#include "Plugin.h"
/*
void CPlugin::AddRealIndexOfFile(const CArchiveFolderItem &aFolder,
int anIndexInVector, vector<int> &aRealIndexes)
{
const CArchiveFolderFileItem &anItem = aFolder.m_FileSubItems[anIndexInVector];
int aHandlerItemIndex = m_ProxyHandler->GetHandlerItemIndex(anItem.m_Properties);
if (aHandlerItemIndex < 0)
throw "error";
aRealIndexes.push_back(aHandlerItemIndex);
}
void CPlugin::AddRealIndexes(const CArchiveFolderItem &anItem,
vector<int> &aRealIndexes)
{
int aHandlerItemIndex = m_ProxyHandler->GetHandlerItemIndex(anItem.m_Properties);
if (aHandlerItemIndex >= 0) // test -1 value
aRealIndexes.push_back(aHandlerItemIndex);
for (int i = 0; i < anItem.m_DirSubItems.Size(); i++)
AddRealIndexes(anItem.m_DirSubItems[i], aRealIndexes);
for (i = 0; i < anItem.m_FileSubItems.Size(); i++)
AddRealIndexOfFile(anItem, i , aRealIndexes);
}
void CPlugin::GetRealIndexes(PluginPanelItem *aPanelItems, int anItemsNumber,
vector<int> &aRealIndexes)
{
aRealIndexes.clear();
for (int i = 0; i < anItemsNumber; i++)
{
int anIndex = aPanelItems[i].UserData;
if (anIndex < m_FolderItem->m_DirSubItems.Size())
{
const CArchiveFolderItem &anItem = m_FolderItem->m_DirSubItems[anIndex];
AddRealIndexes(anItem, aRealIndexes);
}
else
AddRealIndexOfFile(*m_FolderItem, anIndex - m_FolderItem->m_DirSubItems.Size(),
aRealIndexes);
}
sort(aRealIndexes.begin(), aRealIndexes.end());
}
*/
|