| 832 | } |
| 833 | |
| 834 | void Explorerplusplus::OnListViewDoubleClick(NMHDR *nmhdr) |
| 835 | { |
| 836 | if(nmhdr->hwndFrom == m_hActiveListView) |
| 837 | { |
| 838 | LV_HITTESTINFO ht; |
| 839 | DWORD dwPos; |
| 840 | POINT mousePos; |
| 841 | |
| 842 | dwPos = GetMessagePos(); |
| 843 | mousePos.x = GET_X_LPARAM(dwPos); |
| 844 | mousePos.y = GET_Y_LPARAM(dwPos); |
| 845 | ScreenToClient(m_hActiveListView,&mousePos); |
| 846 | |
| 847 | ht.pt = mousePos; |
| 848 | ListView_HitTest(m_hActiveListView,&ht); |
| 849 | |
| 850 | if(ht.flags != LVHT_NOWHERE && ht.iItem != -1) |
| 851 | { |
| 852 | if(IsKeyDown(VK_MENU)) |
| 853 | { |
| 854 | auto pidlDirectory = m_pActiveShellBrowser->GetDirectoryIdl(); |
| 855 | auto pidl = m_pActiveShellBrowser->GetItemChildIdl(ht.iItem); |
| 856 | std::vector<PCITEMID_CHILD> items = { pidl.get() }; |
| 857 | |
| 858 | ShowMultipleFileProperties(pidlDirectory.get(), items.data(), m_hContainer, 1); |
| 859 | } |
| 860 | else if(IsKeyDown(VK_CONTROL)) |
| 861 | { |
| 862 | /* Open the item in a new tab. */ |
| 863 | OpenListViewItem(ht.iItem,TRUE,FALSE); |
| 864 | } |
| 865 | else if(IsKeyDown(VK_SHIFT)) |
| 866 | { |
| 867 | /* Open the item in a new window. */ |
| 868 | OpenListViewItem(ht.iItem,FALSE,TRUE); |
| 869 | } |
| 870 | else |
| 871 | { |
| 872 | OpenListViewItem(ht.iItem,FALSE,FALSE); |
| 873 | } |
| 874 | } |
| 875 | } |
| 876 | } |
| 877 | |
| 878 | void Explorerplusplus::OnListViewFileRename() |
| 879 | { |
nothing calls this directly
no test coverage detected