void CPropTask::FillDialog() { AFX_MANAGE_STATE(AfxGetStaticModuleState( )); SetFileName(); string buf; ReadFileContent(CString(m_ProjectPath) + _T("\\") + m_sFileName, buf); m_ResourceText = buf.c_str(); m_sName = GetNameFromId(); ASSERT(!m_ResourceText.IsEmpty()); m_Resource = (Resource *)ParsePou(m_ResourceText, m_Resource); InitFromFile(m_Resource); if(!m_bAutomationMode) { COperation::FillDialog(); GetDialog()->SetCreateUser(m_sCreateUser); GetDialog()->SetCreateDate(m_sCreateDate); GetDialog()->SetLastModUser(m_sLastModUser); GetDialog()->SetLastModDate(m_sLastModDate); GetDialog()->SetAlias(m_sAlias); GetDialog()->SetName(m_sName); GetDialog()->SetText1(m_sUsrText[0]); GetDialog()->SetText2(m_sUsrText[1]); GetDialog()->SetText3(m_sUsrText[2]); GetDialog()->SetHelpUrl(m_sHelpUrl); GetDialog()->SetUrl(m_sUrl); BOOL bAutoStart = IsAutoStart(); GetDialog()->SetAutoStart(bAutoStart); GetDialog()->SetLoaded(IsLoaded()); // NFTASKHANDLING 19.05.05 SIS GetDialog()->SetInterval(m_sInterval); GetDialog()->SetIoSync(m_sIOSync); GetDialog()->SetPriority(m_sPriority); GetDialog()->SetEventString(m_sEvent); GetDialog()->SetWatchdog(m_sWatchdog); } }
/************************************************************************************************** This function handles events. **************************************************************************************************/ void CGroup::HandleEvent(UINT uEvent) { if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_NONE) == 0) { return; } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_RENAME) == 0) { ListView_EditLabel(m_hwndListView, ListView_GetNextItem(m_hwndListView, -1, LVNI_FOCUSED)); } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_EXECUTE) == 0) { if (ListView_GetSelectedCount(m_hwndListView) == 1) { int iItem = ListView_GetNextItem(m_hwndListView, -1, LVNI_SELECTED); char szFileName[MAX_PATH]; if (GetNameFromId(iItem, szFileName, sizeof(szFileName))) { if (utils::Is_Directory(szFileName)) { if (m_bInlineBrowsing) { return ChangeDir(".selected"); } else if (m_bExplicitCalls) { LSExecuteEx(NULL, "open", "explorer.exe", szFileName, NULL, SW_SHOWNORMAL); return; } } } } CallWindowProc(m_wpOrigListViewProc, m_hwndListView, WM_KEYDOWN, VK_RETURN, NULL); } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_DELETE) == 0) { DeleteFiles(); } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_PASTE) == 0) { DoPaste(); } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_UNDO) == 0) { // TODO::Add support for this } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_COPY) == 0) { CopyFiles(false); } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_CUT) == 0) { CopyFiles(true); } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_SELECTALL) == 0) { ListView_SetItemState(m_hwndListView, -1, LVIS_SELECTED, LVIS_SELECTED); } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_REFRESH) == 0) { SaveState(); m_pView2->Refresh(); RestoreState(); } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_UP) == 0) { ChangeDir(".up"); } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_CHANGEDIR) == 0) { ChangeDir(".selected"); } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_DOWNKEY) == 0) { CallWindowProc(m_wpOrigListViewProc, m_hwndListView, WM_KEYDOWN, VK_DOWN, NULL); } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_UPKEY) == 0) { CallWindowProc(m_wpOrigListViewProc, m_hwndListView, WM_KEYDOWN, VK_UP, NULL); } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_LEFTKEY) == 0) { CallWindowProc(m_wpOrigListViewProc, m_hwndListView, WM_KEYDOWN, VK_LEFT, NULL); } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_RIGHTKEY) == 0) { CallWindowProc(m_wpOrigListViewProc, m_hwndListView, WM_KEYDOWN, VK_RIGHT, NULL); } else { LSExecute(m_hwndListView, m_szEventCommand[uEvent], SW_SHOWNORMAL); } }
/************************************************************************************************** This function handles mouse events. **************************************************************************************************/ void CGroup::HandleMouseEvent(UINT uEvent, UINT msg, WPARAM wParam, LPARAM lParam) { if (m_bExplorerDesktop) { CallWindowProc(m_wpOrigListViewProc, m_hwndListView, msg, wParam, lParam); return; } if (msg == WM_LBUTTONDOWN || msg == WM_RBUTTONDOWN || msg == WM_LBUTTONDBLCLK) { LVHITTESTINFO lvhi = {0}; lvhi.flags = LVHT_ONITEM; lvhi.pt.x = GET_X_LPARAM(lParam); lvhi.pt.y = GET_Y_LPARAM(lParam); if ( ListView_HitTest(m_hwndListView, &lvhi) != -1 ) { CallWindowProc(m_wpOrigListViewProc, m_hwndListView, msg, wParam, lParam); if (msg == WM_LBUTTONDOWN && m_bSingleClick) SendMessage(m_hwndListView, WM_LBUTTONDBLCLK, wParam, lParam); return; // An icon was clicked. } } if (m_bStealFocus) SetFocus(m_hwndListView); if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_CHANGEDIR) == 0) { // We can override HandleEvent actions like this ;) LVHITTESTINFO lvhi = {0}; lvhi.flags = LVHT_ONITEM; lvhi.pt.x = GET_X_LPARAM(lParam); lvhi.pt.y = GET_Y_LPARAM(lParam); if (msg == WM_MOUSEWHEEL || msg == WM_MOUSEHWHEEL) { MapWindowPoints(HWND_DESKTOP, m_hwndListView, &lvhi.pt, 1); } int nFileid = ListView_HitTest(m_hwndListView, &lvhi); if ( nFileid != -1 ) { char szFileName[MAX_PATH]; if (GetNameFromId(nFileid, szFileName, sizeof(szFileName))) { if (utils::Is_Directory(szFileName)) { if (!m_bNoVirtualSwitch && (_stricmp(szFileName, m_szDesktopPath) == 0)) { ChangeDir(".desktop"); } else { ChangeDir(szFileName); } return; } } } } // We just need to handle the mouse specific events and then forward the event to HandleEvent if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_RECTANGLE) == 0) { if (CheckModkeys(m_wSelectionRectangleMod)) { CallWindowProc(m_wpOrigListViewProc, m_hwndListView, WM_LBUTTONDOWN, wParam, lParam); } else { relayMouseMessage(msg, wParam, lParam); } } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_SYSTEMMENU) == 0) { if (CheckModkeys(m_wSystemMenuMod)) { CallWindowProc(m_wpOrigListViewProc, m_hwndListView, WM_RBUTTONDOWN, wParam, lParam); } else { relayMouseMessage(msg, wParam, lParam); } } else if (_stricmp(m_szEventCommand[uEvent], EVENT_ACTION_FORWARD) == 0) { relayMouseMessage(msg, wParam, lParam); } else { HandleEvent(uEvent); } }