private void buttonDeleteTicket_Click(object sender, EventArgs e) { if (this.listViewTicket.SelectedIndices.Count >= 1) { ListViewItem item = this.listViewTicket.SelectedItems[0]; string ticket_id = item.SubItems[COLUMN_INDEX_TICKET_ID].Text; DialogResult result = MessageBox.Show( this, string.Format("保存されている検索を削除します。\r\n「{0}」", ticket_id), "検索削除", MessageBoxButtons.OKCancel); if (result == DialogResult.OK) { try { SearchingTicketManager.DeleteTicket(ticket_id); this.listViewTicket.Items.Remove(item); } catch (IOException) { MessageBox.Show(string.Format("保存されている検索の削除に失敗しました。\r\nこの検索の再開は失敗する可能性があります\r\n「{0}」", ticket_id)); } } } }
private void buttonOpenSaveDirectory_Click(object sender, EventArgs e) { if (this.listViewTicket.SelectedIndices.Count >= 1) { string ticket_id = this.listViewTicket.SelectedItems[0].SubItems[COLUMN_INDEX_TICKET_ID].Text; string directory = SearchingTicketManager.GetTicketDirectory(ticket_id); Process.Start(directory); } }
private void ResetTickets() { List <string> id_list = new List <string>(SearchingTicketManager.GetTicketIDs()); id_list.Sort(CompareStringForDescendingSort); foreach (string ticket_id in id_list) { AddTicket(ticket_id); } }
private void toolStripMenuItemRenameTicket_Click(object sender, EventArgs e) { ListViewItem item = this.listViewTicket.SelectedItems[0]; string src_ticket_id = item.SubItems[COLUMN_INDEX_TICKET_ID].Text; string dst_ticket_id = this.toolStripTextBoxNewID.Text; try { SearchingTicketManager.RenameTicket(src_ticket_id, dst_ticket_id); item.SubItems[COLUMN_INDEX_TICKET_ID].Text = dst_ticket_id; } catch (IOException) { MessageBox.Show(string.Format("検索ID変更に失敗しました。\r\n「{0}」→「{1}」", src_ticket_id, dst_ticket_id)); } catch (ArgumentException) { MessageBox.Show(string.Format("検索ID変更に失敗しました。\r\n「{0}」→「{1}」", src_ticket_id, dst_ticket_id)); } }
private void buttonClearTicket_Click(object sender, EventArgs e) { if (this.listViewTicket.SelectedIndices.Count >= 1) { string ticket_id = this.listViewTicket.SelectedItems[0].SubItems[COLUMN_INDEX_TICKET_ID].Text; DialogResult result = MessageBox.Show( this, string.Format("検索条件だけを残して、保存されている検索をリセットします。\r\n「{0}」", ticket_id), "検索リセット", MessageBoxButtons.OKCancel); if (result == DialogResult.OK) { try { SearchingTicketManager.ClearTicket(ticket_id); } catch (IOException) { MessageBox.Show(string.Format("保存されている検索のリセットに失敗しました。\r\n「{0}」", ticket_id)); } } } }
private void AddTicket(string ticket_id) { try { SearchingTagOption option = SearchingTicketManager.GetOption(ticket_id); ListViewItem item = new ListViewItem(ticket_id); string word = string.Join("\r\n", option.searching_tag_list.ToArray()); item.SubItems.Add(word); string tag_or_word = option.is_searching_kind_tag ? "タグ" : "キーワード"; item.SubItems.Add(tag_or_word); string sort; string[] text; if (this.search_sort_method_text_map.TryGetValue(option.GetSortMethod(), out text)) { if (option.GetSearchOrder() == NicoNetwork.SearchOrder.Asc) { sort = text[0]; } else if (option.GetSearchOrder() == NicoNetwork.SearchOrder.Desc) { sort = text[1]; } else { return; } } else { return; } item.SubItems.Add(sort); string page; if (option.is_page_all) { page = "指定無し"; } else { page = string.Format("{0} - {1}", option.page_start, option.page_end); } item.SubItems.Add(page); string date; if (option.is_using_condition) { string date_format = "yyyy年MM月dd日 HH:mm:ss"; date = string.Format("{0} - {1}", option.date_from.ToString(date_format), option.date_to.ToString(date_format)); } else { date = "指定無し"; } item.SubItems.Add(date); string detail = option.is_detail_getting ? "有" : "無"; item.SubItems.Add(detail); string mylist; if (option.is_detail_getting) { mylist = option.detail_info_lower.ToString(); } else { mylist = string.Empty; } item.SubItems.Add(mylist); string redundant_searching_method; switch (option.redundant_seatching_method) { case RedundantSearchingMethod.Once: redundant_searching_method = "無"; break; case RedundantSearchingMethod.TwiceTakeFirst: redundant_searching_method = "2回(1回目を優先)"; break; case RedundantSearchingMethod.TwiceTakeLast: redundant_searching_method = "2回(2回目を優先)"; break; case RedundantSearchingMethod.TwiceMergeResult: redundant_searching_method = "2回(マージ)"; break; case RedundantSearchingMethod.AtMostThreeTimes: redundant_searching_method = "最大3回"; break; default: redundant_searching_method = "無し"; break; } item.SubItems.Add(redundant_searching_method); this.listViewTicket.Items.Add(item); } catch (IOException) { } catch (FormatException) { } }