LRESULT StatsFrame::onCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { // [+]IRainman //DownloadManager::getInstance()->addListener(this); //UploadManager::getInstance()->addListener(this); // [~]IRainman create_timer(1000); SetFont(Fonts::g_font); bHandled = FALSE; #ifdef FLYLINKDC_USE_SHOW_UD_RATIO ctrlRatio.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS, WS_EX_CLIENTEDGE, IDC_UD_RATIO); ratioContainer.SubclassWindow(ctrlRatio); SET_EXTENDENT_LIST_VIEW_STYLE(ctrlRatio); SET_LIST_COLOR(ctrlRatio); BOOST_STATIC_ASSERT(_countof(columnSizes) == COLUMN_LAST); BOOST_STATIC_ASSERT(_countof(columnNames) == COLUMN_LAST); for (uint8_t j = 0; j < COLUMN_LAST; j++) { ctrlRatio.InsertColumn(j, CTSTRING_I(columnNames[j]), LVCFMT_LEFT, columnSizes[j], j); } #endif return 1; }
LRESULT AVIPreview::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { PropPage::translate((HWND)(*this), texts); CRect rc; ctrlCommands.Attach(GetDlgItem(IDC_MENU_ITEMS)); ctrlCommands.GetClientRect(rc); ctrlCommands.InsertColumn(0, CTSTRING(SETTINGS_NAME), LVCFMT_LEFT, rc.Width() / 5, 0); ctrlCommands.InsertColumn(1, CTSTRING(SETTINGS_COMMAND), LVCFMT_LEFT, rc.Width() * 2 / 5, 1); ctrlCommands.InsertColumn(2, CTSTRING(SETTINGS_ARGUMENT), LVCFMT_LEFT, rc.Width() / 5, 2); ctrlCommands.InsertColumn(3, CTSTRING(SETTINGS_EXTENSIONS), LVCFMT_LEFT, rc.Width() / 5, 3); SET_EXTENDENT_LIST_VIEW_STYLE(ctrlCommands); SET_LIST_COLOR_IN_SETTING(ctrlCommands); // Do specialized reading here const PreviewApplication::List lst = FavoriteManager::getInstance()->getPreviewApps(); auto cnt = ctrlCommands.GetItemCount(); for (auto i = lst.cbegin(); i != lst.cend(); ++i) { PreviewApplication::Ptr pa = *i; addEntry(pa, cnt++); } return 0; }
LRESULT RecentHubsFrame::onCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { ctrlHubs.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | LVS_REPORT | LVS_SHOWSELALWAYS, WS_EX_CLIENTEDGE, IDC_RECENTS); SET_EXTENDENT_LIST_VIEW_STYLE(ctrlHubs); SET_LIST_COLOR(ctrlHubs); // Create listview columns WinUtil::splitTokens(columnIndexes, SETTING(RECENTFRAME_ORDER), COLUMN_LAST); WinUtil::splitTokensWidth(columnSizes, SETTING(RECENTFRAME_WIDTHS), COLUMN_LAST); BOOST_STATIC_ASSERT(_countof(columnSizes) == COLUMN_LAST); BOOST_STATIC_ASSERT(_countof(columnNames) == COLUMN_LAST); for (int j = 0; j < COLUMN_LAST; j++) { const int fmt = LVCFMT_LEFT; ctrlHubs.InsertColumn(j, CTSTRING_I(columnNames[j]), fmt, columnSizes[j], j); } ctrlHubs.SetColumnOrderArray(COLUMN_LAST, columnIndexes); ctrlConnect.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_PUSHBUTTON , 0, IDC_CONNECT); ctrlConnect.SetWindowText(CTSTRING(CONNECT)); ctrlConnect.SetFont(Fonts::g_systemFont); // [~] Sergey Shuhskanov ctrlRemove.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_PUSHBUTTON , 0, IDC_REMOVE); ctrlRemove.SetWindowText(CTSTRING(REMOVE)); ctrlRemove.SetFont(Fonts::g_systemFont); // [~] Sergey Shuhskanov ctrlRemoveAll.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_PUSHBUTTON , 0, IDC_REMOVE_ALL); ctrlRemoveAll.SetWindowText(CTSTRING(REMOVE_ALL)); ctrlRemoveAll.SetFont(Fonts::g_systemFont); // [~] Sergey Shuhskanov FavoriteManager::getInstance()->addListener(this); SettingsManager::getInstance()->addListener(this); updateList(FavoriteManager::getInstance()->getRecentHubs()); const int l_sort = SETTING(HUBS_RECENTS_COLUMNS_SORT); int l_sort_type = ExListViewCtrl::SORT_STRING_NOCASE; if (l_sort == 2 || l_sort == 3) l_sort_type = ExListViewCtrl::SORT_INT; ctrlHubs.setSort(SETTING(HUBS_RECENTS_COLUMNS_SORT), l_sort_type , BOOLSETTING(HUBS_RECENTS_COLUMNS_SORT_ASC)); hubsMenu.CreatePopupMenu(); hubsMenu.AppendMenu(MF_STRING, IDC_CONNECT, CTSTRING(CONNECT)); hubsMenu.AppendMenu(MF_STRING, IDC_ADD, CTSTRING(ADD_TO_FAVORITES_HUBS)); hubsMenu.AppendMenu(MF_STRING, IDC_REM_AS_FAVORITE, CTSTRING(REMOVE_FROM_FAVORITES_HUBS)); hubsMenu.AppendMenu(MF_STRING, IDC_EDIT, CTSTRING(PROPERTIES)); hubsMenu.AppendMenu(MF_STRING, IDC_REMOVE, CTSTRING(REMOVE)); hubsMenu.AppendMenu(MF_STRING, IDC_REMOVE_ALL, CTSTRING(REMOVE_ALL)); hubsMenu.SetMenuDefaultItem(IDC_CONNECT); bHandled = FALSE; return TRUE; }
LRESULT RSSNewsFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { // CreateSimpleStatusBar(ATL_IDS_IDLEMESSAGE, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | SBARS_SIZEGRIP); //[-] SCALOlaz // ctrlStatus.Attach(m_hWndStatusBar); ctrlList.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SINGLESEL, WS_EX_CLIENTEDGE, IDC_RSS); SET_EXTENDENT_LIST_VIEW_STYLE(ctrlList); ctrlList.SetImageList(g_fileImage.getIconList(), LVSIL_SMALL); SET_LIST_COLOR(ctrlList); // Create listview columns WinUtil::splitTokens(columnIndexes, SETTING(RSS_COLUMNS_ORDER), COLUMN_LAST); WinUtil::splitTokensWidth(columnSizes, SETTING(RSS_COLUMNS_WIDTHS), COLUMN_LAST); for (size_t j = 0; j < COLUMN_LAST; j++) { const int fmt = (j == COLUMN_DATE) ? LVCFMT_RIGHT : LVCFMT_LEFT; ctrlList.InsertColumn(j, TSTRING_I(rss_columnNames[j]), fmt, columnSizes[j], j); } ctrlList.setColumnOrderArray(COLUMN_LAST, columnIndexes); ctrlList.setVisible(SETTING(RSS_COLUMNS_VISIBLE)); // ctrlList.setSortColumn(COLUMN_DATE); // ctrlList.setAscending(false); ctrlList.setSortColumn(SETTING(RSS_COLUMNS_SORT)); ctrlList.setAscending(BOOLSETTING(RSS_COLUMNS_SORT_ASC)); ctrlRemoveAll.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_PUSHBUTTON , 0, IDC_REMOVE_ALL); ctrlRemoveAll.SetWindowText(CTSTRING(CDM_CLEAR)); ctrlRemoveAll.SetFont(Fonts::g_systemFont); copyMenu.CreatePopupMenu(); copyMenu.AppendMenu(MF_STRING, IDC_COPY_URL, CTSTRING(RSS_URL)); copyMenu.AppendMenu(MF_STRING, IDC_COPY_ACTUAL_LINE, (CTSTRING(RSS_TITLE) + Text::toT(" + ") + CTSTRING(RSS_URL)).c_str()); UpdateLayout(); SettingsManager::getInstance()->addListener(this); RSSManager::getInstance()->addListener(this); RSSManager::updateFeeds(); updateList(RSSManager::lockNewsList()); RSSManager::unlockNewsList(); bHandled = FALSE; return TRUE; }
LRESULT FlyUpdateDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { SetWindowText(CTSTRING(AUTOUPDATE_TITLE)); GetDlgItem(IDC_STATICDESCRIPTION).SetWindowText(Text::toT(m_data).c_str()); CRect rc; ctrlCommands.Attach(GetDlgItem(IDC_UPDATE_FILES)); ctrlCommands.GetClientRect(rc); ctrlCommands.InsertColumn(0, CTSTRING(FILE), LVCFMT_LEFT, (rc.Width() / 8) * 5, 0); ctrlCommands.InsertColumn(1, CTSTRING(SIZE), LVCFMT_LEFT, rc.Width() / 6, 1); ctrlCommands.InsertColumn(2, CTSTRING(COMPRESSED), LVCFMT_LEFT, rc.Width() / 6, 2); SET_EXTENDENT_LIST_VIEW_STYLE(ctrlCommands); SET_LIST_COLOR(ctrlCommands); auto cnt = ctrlCommands.GetItemCount(); for (size_t i = 0; i < m_fileList.size(); i++) { ctrlCommands.insert(cnt++, Text::toT(m_fileList[i].m_sName).c_str()); ctrlCommands.SetItemText(i, 1, Text::toT(Util::formatBytes(m_fileList[i].m_size)).c_str()); ctrlCommands.SetItemText(i, 2, Text::toT(Util::formatBytes(m_fileList[i].m_packedSize)).c_str()); } GetDlgItem(IDOK).SetWindowText(CTSTRING(AUTOUPDATE_UPDATE_NOW_BUTTON)); GetDlgItem(IDC_IGNOREUPDATE).SetWindowText(CTSTRING(AUTOUPDATE_UPDATE_IGNORE_BUTTON)); GetDlgItem(IDCANCEL).SetWindowText(CTSTRING(AUTOUPDATE_UPDATE_CANCEL_BUTTON)); // TODO падаем на XP WinUtil::FillRichEditFromString((HWND)GetDlgItem(IDC_RTFDESCRIPTION), m_rtfData); // TODO please refactoring this to use unicode. m_UpdateIcon = (HICON)::LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDR_AUTOUPDATE), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR); SetIcon(m_UpdateIcon, FALSE); SetIcon(m_UpdateIcon, TRUE); // for Custom Themes Bitmap img_f.LoadFromResource(IDR_FLYLINK_PNG, _T("PNG")); // Leak? GetDlgItem(IDC_STATIC).SendMessage(STM_SETIMAGE, IMAGE_BITMAP, LPARAM((HBITMAP)img_f)); LRESULT lResult = GetDlgItem(IDC_RTFDESCRIPTION).SendMessage(EM_GETEVENTMASK, 0, 0); GetDlgItem(IDC_RTFDESCRIPTION).SendMessage(EM_SETEVENTMASK , 0, lResult | ENM_LINK); GetDlgItem(IDC_RTFDESCRIPTION).SendMessage(EM_AUTOURLDETECT, TRUE, 0); CenterWindow(GetParent()); return TRUE; }
// При инициализации. LRESULT RSSPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { if (m_CodeingList.empty()) { m_CodeingList.insert(CodeingMapPair(TSTRING(RSS_CODEING_AUTO), RSSManager::getInstance()->getCodeing(0))); m_CodeingList.insert(CodeingMapPair(TSTRING(RSS_CODEING_UTF8), RSSManager::getInstance()->getCodeing(1))); m_CodeingList.insert(CodeingMapPair(TSTRING(RSS_CODEING_CP1251), RSSManager::getInstance()->getCodeing(2))); } PropPage::translate((HWND)(*this), texts); PropPage::read((HWND)*this, items); CRect rc; ctrlCommands.Attach(GetDlgItem(IDC_RSS_ITEMS)); ctrlCommands.GetClientRect(rc); ctrlCommands.InsertColumn(0, CTSTRING(RSS_URL), LVCFMT_LEFT, rc.Width() / 3, 0); ctrlCommands.InsertColumn(1, CTSTRING(RSS_TITLE), LVCFMT_LEFT, rc.Width() / 3, 1); ctrlCommands.InsertColumn(2, CTSTRING(RSS_CODEING), LVCFMT_LEFT, rc.Width() / 3, 1); SET_EXTENDENT_LIST_VIEW_STYLE(ctrlCommands); #ifdef USE_SET_LIST_COLOR_IN_SETTINGS SET_LIST_COLOR_IN_SETTING(ctrlCommands); #endif CUpDownCtrl spin; spin.Attach(GetDlgItem(IDC_RSS_AUTO_REFRESH_TIME_SPIN)); spin.SetRange(1, 10); spin.Detach(); // Do specialized reading here const RSSManager::FeedList& lst = RSSManager::getInstance()->lockFeedList(); auto cnt = ctrlCommands.GetItemCount(); for (auto i = lst.cbegin(); i != lst.cend(); ++i) { addEntry((*i), cnt++); } RSSManager::getInstance()->unlockFeedList(); return TRUE; }
LRESULT SharePage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { PropPage::translate((HWND)(*this), texts); GetDlgItem(IDC_TREE).ShowWindow((BOOLSETTING(USE_OLD_SHARING_UI)) ? SW_HIDE : SW_SHOW); GetDlgItem(IDC_DIRECTORIES).ShowWindow((BOOLSETTING(USE_OLD_SHARING_UI)) ? SW_SHOW : SW_HIDE); GetDlgItem(IDC_ADD).ShowWindow((BOOLSETTING(USE_OLD_SHARING_UI)) ? SW_SHOW : SW_HIDE); GetDlgItem(IDC_REMOVE).ShowWindow((BOOLSETTING(USE_OLD_SHARING_UI)) ? SW_SHOW : SW_HIDE); GetDlgItem(IDC_RENAME).ShowWindow((BOOLSETTING(USE_OLD_SHARING_UI)) ? SW_SHOW : SW_HIDE); ctrlDirectories.Attach(GetDlgItem(IDC_DIRECTORIES)); SET_EXTENDENT_LIST_VIEW_STYLE(ctrlDirectories); #ifdef USE_SET_LIST_COLOR_IN_SETTINGS SET_LIST_COLOR_IN_SETTING(ctrlDirectories); #endif ctrlTotal.Attach(GetDlgItem(IDC_TOTAL)); PropPage::read((HWND)*this, items); if (BOOLSETTING(USE_OLD_SHARING_UI)) { // Prepare shared dir list ctrlDirectories.InsertColumn(0, CTSTRING(VIRTUAL_NAME), LVCFMT_LEFT, 80, 0); ctrlDirectories.InsertColumn(1, CTSTRING(DIRECTORY), LVCFMT_LEFT, 197, 1); ctrlDirectories.InsertColumn(2, CTSTRING(SIZE), LVCFMT_RIGHT, 90, 2); } directoryListInit(); ft.SubclassWindow(GetDlgItem(IDC_TREE)); ft.SetStaticCtrl(&ctrlTotal); if (!BOOLSETTING(USE_OLD_SHARING_UI)) ft.PopulateTree(); return TRUE; }
LRESULT WaitingUsersFrame::onCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { m_showTree = BOOLSETTING(UPLOADQUEUEFRAME_SHOW_TREE); // status bar CreateSimpleStatusBar(ATL_IDS_IDLEMESSAGE, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | SBARS_SIZEGRIP); ctrlStatus.Attach(m_hWndStatusBar); m_ctrlList.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS, WS_EX_CLIENTEDGE, IDC_UPLOAD_QUEUE); SET_EXTENDENT_LIST_VIEW_STYLE(m_ctrlList); ctrlQueued.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP, WS_EX_CLIENTEDGE, IDC_DIRECTORIES); ctrlQueued.SetImageList(g_fileImage.getIconList(), TVSIL_NORMAL); m_ctrlList.SetImageList(g_fileImage.getIconList(), LVSIL_SMALL); m_nProportionalPos = SETTING(UPLOADQUEUEFRAME_SPLIT); SetSplitterPanes(ctrlQueued.m_hWnd, m_ctrlList.m_hWnd); // Create listview columns WinUtil::splitTokens(columnIndexes, SETTING(UPLOADQUEUEFRAME_ORDER), UploadQueueItem::COLUMN_LAST); WinUtil::splitTokensWidth(columnSizes, SETTING(UPLOADQUEUEFRAME_WIDTHS), UploadQueueItem::COLUMN_LAST); BOOST_STATIC_ASSERT(_countof(columnSizes) == UploadQueueItem::COLUMN_LAST); BOOST_STATIC_ASSERT(_countof(columnNames) == UploadQueueItem::COLUMN_LAST); // column names, sizes for (uint8_t j = 0; j < UploadQueueItem::COLUMN_LAST; j++) { const int fmt = (j == UploadQueueItem::COLUMN_TRANSFERRED || j == UploadQueueItem::COLUMN_SIZE) ? LVCFMT_RIGHT : LVCFMT_LEFT; m_ctrlList.InsertColumn(j, TSTRING_I(columnNames[j]), fmt, columnSizes[j], j); } m_ctrlList.setColumnOrderArray(UploadQueueItem::COLUMN_LAST, columnIndexes); m_ctrlList.setVisible(SETTING(UPLOADQUEUEFRAME_VISIBLE)); //ctrlList.setSortColumn(COLUMN_NICK); m_ctrlList.setSortColumn(SETTING(UPLOAD_QUEUE_COLUMNS_SORT)); m_ctrlList.setAscending(BOOLSETTING(UPLOAD_QUEUE_COLUMNS_SORT_ASC)); // colors SET_LIST_COLOR(m_ctrlList); ctrlQueued.SetBkColor(Colors::g_bgColor); ctrlQueued.SetTextColor(Colors::g_textColor); ctrlShowTree.Create(ctrlStatus.m_hWnd, rcDefault, _T("+/-"), WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); ctrlShowTree.SetButtonStyle(BS_AUTOCHECKBOX, false); ctrlShowTree.SetCheck(m_showTree); ctrlShowTree.SetFont(Fonts::g_systemFont); showTreeContainer.SubclassWindow(ctrlShowTree.m_hWnd); memzero(statusSizes, sizeof(statusSizes)); statusSizes[0] = 16; ctrlStatus.SetParts(4, statusSizes); UpdateLayout(); UploadManager::getInstance()->addListener(this); SettingsManager::getInstance()->addListener(this); // Load all searches LoadAll(); create_timer(1000); bHandled = FALSE; return TRUE; }
LRESULT PublicHubsFrame::onCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { CreateSimpleStatusBar(ATL_IDS_IDLEMESSAGE, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | SBARS_SIZEGRIP); ctrlStatus.Attach(m_hWndStatusBar); int w[3] = { 0, 0, 0 }; ctrlStatus.SetParts(3, w); m_ctrlHubs.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS, // https://github.com/pavel-pimenov/flylinkdc-r5xx/issues/1611 WS_EX_CLIENTEDGE, IDC_HUBLIST); SET_EXTENDENT_LIST_VIEW_STYLE(m_ctrlHubs); // Create listview columns WinUtil::splitTokens(columnIndexes, SETTING(PUBLICHUBSFRAME_ORDER), COLUMN_LAST); WinUtil::splitTokensWidth(columnSizes, SETTING(PUBLICHUBSFRAME_WIDTHS), COLUMN_LAST); BOOST_STATIC_ASSERT(_countof(columnSizes) == COLUMN_LAST); BOOST_STATIC_ASSERT(_countof(columnNames) == COLUMN_LAST); for (int j = 0; j < COLUMN_LAST; j++) { const int fmt = (j == COLUMN_USERS) ? LVCFMT_RIGHT : LVCFMT_LEFT; m_ctrlHubs.InsertColumn(j, CTSTRING_I(columnNames[j]), fmt, columnSizes[j], j); } m_ctrlHubs.SetColumnOrderArray(COLUMN_LAST, columnIndexes); SET_LIST_COLOR(m_ctrlHubs); m_ctrlHubs.SetImageList(g_flagImage.getIconList(), LVSIL_SMALL); /* extern HIconWrapper g_hOfflineIco; extern HIconWrapper g_hOnlineIco; m_onlineStatusImg.Create(16, 16, ILC_COLOR32 | ILC_MASK, 0, 2); m_onlineStatusImg.AddIcon(g_hOnlineIco); m_onlineStatusImg.AddIcon(g_hOfflineIco); m_ctrlHubs.SetImageList(m_onlineStatusImg, LVSIL_SMALL); */ ClientManager::getOnlineClients(m_onlineHubs); m_ctrlHubs.SetFocus(); m_ctrlTree.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP, WS_EX_CLIENTEDGE, IDC_ISP_TREE); m_ctrlTree.SetBkColor(Colors::g_bgColor); m_ctrlTree.SetTextColor(Colors::g_textColor); WinUtil::SetWindowThemeExplorer(m_ctrlTree.m_hWnd); m_treeContainer.SubclassWindow(m_ctrlTree); SetSplitterExtendedStyle(SPLIT_PROPORTIONAL); // При изменении размеров окна-контейнера размеры разделяемых областей меняются пропорционально. SetSplitterPanes(m_ctrlTree.m_hWnd, m_ctrlHubs.m_hWnd); m_nProportionalPos = SETTING(FLYSERVER_HUBLIST_SPLIT); ctrlConfigure.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_PUSHBUTTON , 0, IDC_PUB_LIST_CONFIG); ctrlConfigure.SetWindowText(CTSTRING(CONFIGURE)); ctrlConfigure.SetFont(Fonts::g_systemFont); ctrlFilter.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | ES_AUTOHSCROLL, WS_EX_CLIENTEDGE); m_filterContainer.SubclassWindow(ctrlFilter.m_hWnd); ctrlFilter.SetFont(Fonts::g_systemFont); ctrlFilterSel.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | CBS_DROPDOWNLIST, WS_EX_CLIENTEDGE); ctrlFilterSel.SetFont(Fonts::g_systemFont, FALSE); //populate the filter list with the column names for (int j = 0; j < COLUMN_LAST; j++) { ctrlFilterSel.AddString(CTSTRING_I(columnNames[j])); } ctrlFilterSel.AddString(CTSTRING(ANY)); ctrlFilterSel.SetCurSel(COLUMN_LAST); ctrlFilterDesc.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | BS_GROUPBOX, WS_EX_TRANSPARENT); ctrlFilterDesc.SetWindowText(CTSTRING(FILTER)); ctrlFilterDesc.SetFont(Fonts::g_systemFont); SettingsManager::getInstance()->addListener(this); updateList(); loadISPHubs(); m_ctrlHubs.setSort(COLUMN_USERS, ExListViewCtrl::SORT_INT, false); /* const int l_sort = SETTING(HUBS_PUBLIC_COLUMNS_SORT); int l_sort_type = ExListViewCtrl::SORT_STRING_NOCASE; if (l_sort == 2 || l_sort > 4) l_sort_type = ExListViewCtrl::SORT_INT; if (l_sort == 5) l_sort_type = ExListViewCtrl::SORT_BYTES; m_ctrlHubs.setSort(SETTING(HUBS_PUBLIC_COLUMNS_SORT), l_sort_type, BOOLSETTING(HUBS_PUBLIC_COLUMNS_SORT_ASC)); */ hubsMenu.CreatePopupMenu(); hubsMenu.AppendMenu(MF_STRING, IDC_CONNECT, CTSTRING(CONNECT)); hubsMenu.AppendMenu(MF_STRING, IDC_ADD, CTSTRING(ADD_TO_FAVORITES_HUBS)); hubsMenu.AppendMenu(MF_STRING, IDC_REM_AS_FAVORITE, CTSTRING(REMOVE_FROM_FAVORITES_HUBS)); hubsMenu.AppendMenu(MF_STRING, IDC_COPY_HUB, CTSTRING(COPY_HUB)); hubsMenu.SetMenuDefaultItem(IDC_CONNECT); bHandled = FALSE; return TRUE; }
LRESULT SpyFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { CreateSimpleStatusBar(ATL_IDS_IDLEMESSAGE, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | SBARS_SIZEGRIP); ctrlStatus.Attach(m_hWndStatusBar); ctrlSearches.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SINGLESEL, WS_EX_CLIENTEDGE, IDC_RESULTS); SET_EXTENDENT_LIST_VIEW_STYLE(ctrlSearches); SET_LIST_COLOR(ctrlSearches); m_ctrlIgnoreTTH.Create(ctrlStatus.m_hWnd, rcDefault, CTSTRING(IGNORE_TTH_SEARCHES), WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); m_ctrlIgnoreTTH.SetButtonStyle(BS_AUTOCHECKBOX, false); m_ctrlIgnoreTTH.SetFont(Fonts::g_systemFont); m_ctrlIgnoreTTH.SetCheck(m_ignoreTTH); m_ignoreTTHContainer.SubclassWindow(m_ctrlIgnoreTTH.m_hWnd); m_ctrlShowNick.Create(ctrlStatus.m_hWnd, rcDefault, CTSTRING(SETTINGS_SHOW_SEEKERS_IN_SPY_FRAME), WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); m_ctrlShowNick.SetButtonStyle(BS_AUTOCHECKBOX, false); m_ctrlShowNick.SetFont(Fonts::g_systemFont); m_ctrlShowNick.SetCheck(m_showNick); m_ShowNickContainer.SubclassWindow(m_ctrlShowNick.m_hWnd); const tstring l_log_path = Text::toT(Util::validateFileName(SETTING(LOG_DIRECTORY) + "spylog.log")); const tstring l_check_box_log_caption = TSTRING(SETTINGS_LOG_FILE_IN_SPY_FRAME) + _T(" (") + l_log_path + _T(" )"); m_ctrlSpyLogFile.Create(ctrlStatus.m_hWnd, rcDefault, l_check_box_log_caption.c_str(), WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); m_ctrlSpyLogFile.SetButtonStyle(BS_AUTOCHECKBOX, false); m_ctrlSpyLogFile.SetFont(Fonts::g_systemFont); m_ctrlSpyLogFile.SetCheck(m_LogFile); m_SpyLogFileContainer.SubclassWindow(m_ctrlSpyLogFile.m_hWnd); WinUtil::splitTokens(columnIndexes, SETTING(SPYFRAME_ORDER), COLUMN_LAST); WinUtil::splitTokensWidth(columnSizes, SETTING(SPYFRAME_WIDTHS), COLUMN_LAST); BOOST_STATIC_ASSERT(_countof(columnSizes) == COLUMN_LAST); BOOST_STATIC_ASSERT(_countof(columnNames) == COLUMN_LAST); for (int j = 0; j < COLUMN_LAST; j++) { const int fmt = (j == COLUMN_COUNT) ? LVCFMT_RIGHT : LVCFMT_LEFT; ctrlSearches.InsertColumn(j, CTSTRING_I(columnNames[j]), fmt, columnSizes[j], j); } //ctrlSearches.setSort(COLUMN_COUNT, ExListViewCtrl::SORT_INT, false); //ctrlSearches.setVisible(SETTING(SPYFRAME_VISIBLE)); // !SMT!-UI ctrlSearches.setSort(SETTING(SEARCH_SPY_COLUMNS_SORT), ExListViewCtrl::SORT_INT, BOOLSETTING(SEARCH_SPY_COLUMNS_SORT_ASC)); ShareManager::setHits(0); if (m_LogFile) { try { m_log = new File(l_log_path, File::WRITE, File::OPEN | File::CREATE); m_log->setEndPos(0); if (m_log->getPos() == 0) m_log->write("\xef\xbb\xbf"); } catch (const FileException& e) { LogManager::message("Error create file " + Text::fromT(l_log_path) + " error = " + e.getError()); safe_delete(m_log); } } //[~]IRainman refactoring SpyFrame create_timer(1000); ClientManager::g_isSpyFrame = true; bHandled = FALSE; return 1; }