public void AddHashToHistory(string hash, bool isIgnorePermanent)
{
hash = hash.Trim();
if (!string.IsNullOrEmpty(hash))
{
if (isIgnorePermanent || !_isPermanent)
{
//無条件に先頭に挿入
int idx = GetIndexOf(HistoryHashList.Items, hash);
if (idx != -1) HistoryHashList.Items.RemoveAt(idx);
HistoryHashList.Items.Insert(0, hash);
}
else
{
//固定されていたら2行目に挿入
int idx = GetIndexOf(HistoryHashList.Items, hash);
if (_isPermanent)
{
if (idx > 0)
{
//重複アイテムが2行目以降にあれば2行目へ
HistoryHashList.Items.RemoveAt(idx);
HistoryHashList.Items.Insert(1, hash);
}
else if (idx == -1)
{
//重複アイテムなし
if (HistoryHashList.Items.Count == 0)
{
//リストが空なら追加
HistoryHashList.Items.Add(hash);
}
else
{
//リストにアイテムがあれば2行目へ
HistoryHashList.Items.Insert(1, hash);
}
}
}
}
}
}