diff options
Diffstat (limited to 'protocols/IRCG/src/windows.cpp')
-rw-r--r-- | protocols/IRCG/src/windows.cpp | 248 |
1 files changed, 0 insertions, 248 deletions
diff --git a/protocols/IRCG/src/windows.cpp b/protocols/IRCG/src/windows.cpp index e27c60e6d9..18e8149a72 100644 --- a/protocols/IRCG/src/windows.cpp +++ b/protocols/IRCG/src/windows.cpp @@ -240,254 +240,6 @@ bool CNickDlg::OnApply() }
/////////////////////////////////////////////////////////////////////////////////////////
-// 'Change nickname' dialog
-
-#define LIST_TIMER 10
-
-CListDlg::CListDlg(CIrcProto *_pro) :
- CIrcBaseDlg(_pro, IDD_LIST),
- m_Join(this, IDC_JOIN),
- m_list(this, IDC_INFO_LISTVIEW),
- m_list2(this, IDC_INFO_LISTVIEW2),
- m_status(this, IDC_TEXT),
- m_filter(this, IDC_FILTER_STRING)
-{
- m_list.OnColumnClick = Callback(this, &CListDlg::onColumnClick_List);
- m_list2.OnDoubleClick = m_list.OnDoubleClick = m_Join.OnClick = Callback(this, &CListDlg::onClick_Join);
- m_filter.OnChange = Callback(this, &CListDlg::onChange_Filter);
-}
-
-bool CListDlg::OnInitDialog()
-{
- RECT screen;
-
- SystemParametersInfo(SPI_GETWORKAREA, 0, &screen, 0);
- LVCOLUMN lvC;
- int COLUMNS_SIZES[4] = { 200, 50, 50, 2000 };
- wchar_t szBuffer[32];
-
- lvC.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
- lvC.fmt = LVCFMT_LEFT;
- for (int index = 0; index < 4; index++) {
- lvC.iSubItem = index;
- lvC.cx = COLUMNS_SIZES[index];
-
- switch (index) {
- case 0: mir_wstrcpy(szBuffer, TranslateT("Channel")); break;
- case 1: mir_wstrcpy(szBuffer, L"#"); break;
- case 2: mir_wstrcpy(szBuffer, TranslateT("Mode")); break;
- case 3: mir_wstrcpy(szBuffer, TranslateT("Topic")); break;
- }
- lvC.pszText = szBuffer;
- m_list.InsertColumn(index, &lvC);
- m_list2.InsertColumn(index, &lvC);
- }
-
- Utils_RestoreWindowPosition(m_hwnd, NULL, m_proto->m_szModuleName, "channelList_");
-
- m_list.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT);
- m_list2.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT);
- Window_SetIcon_IcoLib(m_hwnd, g_plugin.getIconHandle(IDI_LIST));
- m_status.SetText(TranslateT("Please wait..."));
- return true;
-}
-
-INT_PTR CListDlg::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam)
-{
- if (msg == WM_TIMER) {
- ::KillTimer(m_hwnd, m_timer); m_timer = 0;
-
- // Retrieve the input text
- wchar_t strFilterText[255];
- wchar_t newTitle[255];
- m_filter.GetText(strFilterText, _countof(strFilterText));
-
- if (strFilterText[0]) {
- int itemCount = 0;
- int j = m_list.GetItemCount();
- if (j <= 0)
- return FALSE;
-
- // Empty the filtered list
- m_list2.DeleteAllItems();
-
- LVITEM lvm;
- wchar_t text[255];
- lvm.pszText = text; // Set buffer for texts
- lvm.cchTextMax = _countof(text);
- lvm.mask = LVIF_TEXT;
- for (int i = 0; i < j; i++) {
- lvm.iSubItem = 0; // First column
- lvm.iItem = i;
- m_list.GetItem(&lvm);
-
- // Match the text?
- wchar_t* t = wcsstr(lvm.pszText, strFilterText);
- if (t == nullptr) { // If no, then Check if in the topics
- m_list.GetItem(&lvm);
-
- // Match the text?
- t = wcsstr(lvm.pszText, strFilterText);
- }
-
- if (t) {
- ++itemCount;
-
- // Column 0
- LVITEM lvItem;
- lvItem.iItem = m_list2.GetItemCount();
- lvItem.mask = LVIF_TEXT | LVIF_PARAM;
-
- lvItem.iSubItem = 0;
- lvItem.pszText = lvm.pszText;
- lvItem.lParam = lvItem.iItem;
- lvItem.iItem = m_list2.InsertItem(&lvItem);
-
- // Column 2
- lvm.mask = LVIF_TEXT;
- lvm.iSubItem = 1;
- lvm.iItem = i;
- m_list.GetItem(&lvm);
-
- lvItem.mask = LVIF_TEXT;
- lvItem.iSubItem = 1;
- lvItem.pszText = lvm.pszText;
- m_list2.SetItem(&lvItem);
-
- // Column 4
- lvm.mask = LVIF_TEXT;
- lvm.iSubItem = 3;
- lvm.iItem = i;
- m_list.GetItem(&lvm);
-
- lvItem.mask = LVIF_TEXT;
- lvItem.pszText = lvm.pszText;
- lvItem.iSubItem = 3;
- m_list2.SetItem(&lvItem);
- }
- }
-
- // Show the list
- SetWindowPos(m_list2.GetHwnd(), HWND_TOP, 0, 0, 0, 0, SWP_SHOWWINDOW | SWP_NOMOVE | SWP_NOSIZE);
- ShowWindow(m_list.GetHwnd(), SW_HIDE);
-
- // New dialog title
- mir_snwprintf(newTitle, TranslateT("%s - Filtered - %d items"), strFilterText, itemCount);
- SetWindowText(m_hwnd, newTitle);
- }
- else {
- ShowWindow(m_list.GetHwnd(), SW_SHOW);
- ShowWindow(m_list2.GetHwnd(), SW_HIDE);
- mir_snwprintf(newTitle, TranslateT("Channels on server"));
- SetWindowText(m_hwnd, newTitle);
- }
- }
-
- return CProtoDlgBase<CIrcProto>::DlgProc(msg, wParam, lParam);
-}
-
-void CListDlg::onChange_Filter(CCtrlEdit*)
-{
- m_timer = ::SetTimer(m_hwnd, LIST_TIMER, 200, nullptr);
-}
-
-void CListDlg::OnDestroy()
-{
- if (m_timer)
- ::KillTimer(m_hwnd, m_timer);
- Utils_SaveWindowPosition(m_hwnd, NULL, m_proto->m_szModuleName, "channelList_");
-
- mir_cslock lck(m_proto->m_csList);
- m_proto->m_listDlg = nullptr;
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
-
-struct ListViewSortParam
-{
- CCtrlListView* pList;
- int iSubItem;
-};
-
-static int CALLBACK ListViewSort(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
-{
- ListViewSortParam* param = (ListViewSortParam*)lParamSort;
- if (!param->pList->GetHwnd())
- return 0;
-
- wchar_t temp1[512];
- wchar_t temp2[512];
- LVITEM lvm;
- lvm.mask = LVIF_TEXT;
- lvm.iItem = lParam1;
- lvm.iSubItem = param->iSubItem;
- lvm.pszText = temp1;
- lvm.cchTextMax = _countof(temp1);
- param->pList->GetItem(&lvm);
- lvm.iItem = lParam2;
- lvm.pszText = temp2;
- param->pList->GetItem(&lvm);
- if (param->iSubItem != 1) {
- if (mir_wstrlen(temp1) != 0 && mir_wstrlen(temp2) != 0)
- return mir_wstrcmpi(temp1, temp2);
-
- return (*temp1 == 0) ? 1 : -1;
- }
-
- return (_wtoi(temp1) < _wtoi(temp2)) ? 1 : -1;
-}
-
-int CListDlg::Resizer(UTILRESIZECONTROL *urc)
-{
- switch (urc->wId) {
- case IDC_INFO_LISTVIEW:
- case IDC_INFO_LISTVIEW2:
- return RD_ANCHORX_LEFT | RD_ANCHORY_TOP | RD_ANCHORY_HEIGHT | RD_ANCHORX_WIDTH;
- case IDC_FILTER_STRING:
- case IDC_FILTER_BTN:
- return RD_ANCHORX_LEFT | RD_ANCHORY_BOTTOM;
- case IDC_TEXT:
- return RD_ANCHORX_LEFT | RD_ANCHORY_BOTTOM | RD_ANCHORX_WIDTH;
- }
-
- return RD_ANCHORX_RIGHT | RD_ANCHORY_BOTTOM;
-}
-
-void CListDlg::onColumnClick_List(CCtrlListView::TEventInfo *ev)
-{
- ListViewSortParam param = { &m_list, ev->nmlv->iSubItem };
- m_list.SortItems(ListViewSort, (LPARAM)¶m);
- UpdateList();
-}
-
-void CListDlg::onClick_Join(CCtrlButton*)
-{
- wchar_t szTemp[255];
- m_filter.GetText(szTemp, _countof(szTemp));
-
- if (szTemp[0])
- m_list2.GetItemText(m_list2.GetSelectionMark(), 0, szTemp, 255);
- else
- m_list.GetItemText(m_list.GetSelectionMark(), 0, szTemp, 255);
- m_proto->PostIrcMessage(L"/JOIN %s", szTemp);
-}
-
-void CListDlg::UpdateList()
-{
- int j = m_list.GetItemCount();
- if (j > 0) {
- LVITEM lvm;
- lvm.mask = LVIF_PARAM;
- lvm.iSubItem = 0;
- for (int i = 0; i < j; i++) {
- lvm.iItem = i;
- lvm.lParam = i;
- m_list.SetItem(&lvm);
- }
- }
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
// 'Join' dialog
CJoinDlg::CJoinDlg(CIrcProto *_pro) :
|