Changeset 1695 for trunk/src/shell32/shlview.cpp
- Timestamp:
- Nov 10, 1999, 11:14:12 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/shell32/shlview.cpp
r1558 r1695 1 /* $Id: shlview.cpp,v 1. 4 1999-11-02 20:38:48phaller Exp $ */1 /* $Id: shlview.cpp,v 1.5 1999-11-10 22:13:10 phaller Exp $ */ 2 2 /* 3 3 * ShellView … … 8 8 * Release() ??? 9 9 * 10 * FIXME: There is still a design problem in this implementation. 11 * This implementation is more or less ok for file system folders 12 * but there are many more kinds of folders. 13 * The shellview is not supposed to know much about the colums 14 * appearing in the view. To fix this it should use the IShellFolder2 15 * interface when possible to get the informations dynamically 16 * this will take a lot of work to implemet and wont likely not 17 * be done in near future 18 * Please considder this when code new features. Mail me if you 19 * are in doubt how to do things. (jsch 25/10/99) 20 * 21 * FIXME: Set the buttons in the filedialog according to the view state 22 10 23 */ 11 24 … … 227 240 * change the style of the listview control 228 241 */ 229 230 242 static void SetStyle(IShellViewImpl * This, DWORD dwAdd, DWORD dwRemove) 231 243 { … … 285 297 /********************************************************** 286 298 * ShellView_InitList() 299 * 300 * NOTES 301 * FIXME: the headers should depend on the kind of shellfolder 302 * thats creating the shellview. this hack implements only the 303 * correct headers for a filesystem folder (jsch 25/10/99) 287 304 */ 288 305 static BOOL ShellView_InitList(IShellViewImpl * This) … … 304 321 ListView_InsertColumnA(This->hWndList, 0, &lvColumn); 305 322 306 lvColumn.cx = 80;323 lvColumn.cx = 60; 307 324 LoadStringA(shell32_hInstance, IDS_SHV_COLUMN2, szString, sizeof(szString)); 308 325 ListView_InsertColumnA(This->hWndList, 1, &lvColumn); 309 326 310 lvColumn.cx = 1 70;327 lvColumn.cx = 120; 311 328 LoadStringA(shell32_hInstance, IDS_SHV_COLUMN3, szString, sizeof(szString)); 312 329 ListView_InsertColumnA(This->hWndList, 2, &lvColumn); … … 356 373 * 357 374 * NOTES 375 * FIXME: function does what ShellView_CompareItems is supposed to do. 376 * unify it and figure out how to use the undocumented first parameter 377 * of IShellFolder_CompareIDs to do the job this function does and 378 * move this code to IShellFolder. 379 * make LISTVIEW_SORT_INFO obsolete 380 * the way this function works is only usable if we had only 381 * filesystemfolders (25/10/99 jsch) 358 382 * 359 383 */ … … 968 992 case 0x32: 969 993 case 0x33: 970 ListView_SortItems(This->hWndList, ShellView_ListViewCompareItems, (LPARAM) (dwCmdID - 0x30)); 994 This->ListViewSortInfo.nHeaderID = (LPARAM) (dwCmdID - 0x30); 995 This->ListViewSortInfo.bIsAscending = TRUE; 996 This->ListViewSortInfo.nLastHeaderID = This->ListViewSortInfo.nHeaderID; 997 ListView_SortItems(This->hWndList, ShellView_ListViewCompareItems, (LPARAM) (&(This->ListViewSortInfo))); 998 CheckToolbar(This); 971 999 break; 972 1000 … … 1021 1049 1022 1050 case LVN_COLUMNCLICK: 1023 {1024 1051 This->ListViewSortInfo.nHeaderID = lpnmlv->iSubItem; 1025 1052 if(This->ListViewSortInfo.nLastHeaderID == This->ListViewSortInfo.nHeaderID) … … 1034 1061 1035 1062 ListView_SortItems(lpnmlv->hdr.hwndFrom, ShellView_ListViewCompareItems, (LPARAM) (&(This->ListViewSortInfo))); 1036 1037 1063 break; 1038 }1039 1064 1040 1065 case LVN_GETDISPINFOA: … … 1326 1351 ICOM_THIS(IShellViewImpl, iface); 1327 1352 1353 #if 0 1328 1354 FIXME("(%p)->(%p: hwnd=%x msg=%x lp=%lx wp=%x) stub\n",This,lpmsg, lpmsg->hwnd, lpmsg->message, lpmsg->lParam, lpmsg->wParam); 1329 1330 1331 switch (lpmsg->message) 1332 { case WM_KEYDOWN: TRACE("-- key=0x04%x",lpmsg->wParam) ; 1333 } 1334 return NOERROR; 1355 #endif 1356 1357 if ((lpmsg->message>=WM_KEYFIRST) && (lpmsg->message>=WM_KEYLAST)) 1358 { 1359 TRACE("-- key=0x04%x",lpmsg->wParam) ; 1360 } 1361 return S_FALSE; /* not handled */ 1335 1362 } 1336 1363 … … 1348 1375 ICOM_THIS(IShellViewImpl, iface); 1349 1376 1377 /* 1350 1378 CHAR szName[MAX_PATH]; 1379 */ 1351 1380 LRESULT lResult; 1352 1381 int nPartArray[1] = {-1}; … … 1367 1396 { 1368 1397 1398 /* 1399 GetFolderPath is not a method of IShellFolder 1369 1400 IShellFolder_GetFolderPath( This->pSFParent, szName, sizeof(szName) ); 1370 1401 */ 1371 1402 /* set the number of parts */ 1372 1403 IShellBrowser_SendControlMsg(This->pShellBrowser, FCW_STATUS, SB_SETPARTS, 1, … … 1374 1405 1375 1406 /* set the text for the parts */ 1407 /* 1376 1408 IShellBrowser_SendControlMsg(This->pShellBrowser, FCW_STATUS, SB_SETTEXTA, 1377 1409 0, (LPARAM)szName, &lResult); 1410 */ 1378 1411 } 1379 1412
Note:
See TracChangeset
for help on using the changeset viewer.