Ignore:
Timestamp:
Nov 10, 1999, 11:14:12 PM (26 years ago)
Author:
phaller
Message:

Add: updated to WINE19991108

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:48 phaller Exp $ */
     1/* $Id: shlview.cpp,v 1.5 1999-11-10 22:13:10 phaller Exp $ */
    22/*
    33 * ShellView
     
    88 *  Release() ???
    99 *
     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
    1023 */
    1124
     
    227240 * change the style of the listview control
    228241 */
    229 
    230242static void SetStyle(IShellViewImpl * This, DWORD dwAdd, DWORD dwRemove)
    231243{
     
    285297/**********************************************************
    286298* 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)
    287304*/
    288305static BOOL ShellView_InitList(IShellViewImpl * This)
     
    304321   ListView_InsertColumnA(This->hWndList, 0, &lvColumn);
    305322
    306    lvColumn.cx = 80;
     323   lvColumn.cx = 60;
    307324   LoadStringA(shell32_hInstance, IDS_SHV_COLUMN2, szString, sizeof(szString));
    308325   ListView_InsertColumnA(This->hWndList, 1, &lvColumn);
    309326
    310    lvColumn.cx = 170;
     327   lvColumn.cx = 120;
    311328   LoadStringA(shell32_hInstance, IDS_SHV_COLUMN3, szString, sizeof(szString));
    312329   ListView_InsertColumnA(This->hWndList, 2, &lvColumn);
     
    356373 *
    357374 * 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)
    358382 *
    359383 */
     
    968992     case 0x32:
    969993     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);
    971999       break;
    9721000
     
    10211049
    10221050     case LVN_COLUMNCLICK:
    1023      {
    10241051            This->ListViewSortInfo.nHeaderID = lpnmlv->iSubItem;
    10251052            if(This->ListViewSortInfo.nLastHeaderID == This->ListViewSortInfo.nHeaderID)
     
    10341061
    10351062       ListView_SortItems(lpnmlv->hdr.hwndFrom, ShellView_ListViewCompareItems, (LPARAM) (&(This->ListViewSortInfo)));
    1036 
    10371063       break;
    1038      }
    10391064
    10401065     case LVN_GETDISPINFOA:
     
    13261351   ICOM_THIS(IShellViewImpl, iface);
    13271352
     1353#if 0
    13281354   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 */
    13351362}
    13361363
     
    13481375   ICOM_THIS(IShellViewImpl, iface);
    13491376
     1377/*
    13501378   CHAR  szName[MAX_PATH];
     1379*/
    13511380   LRESULT  lResult;
    13521381   int   nPartArray[1] = {-1};
     
    13671396   {
    13681397
     1398/*
     1399   GetFolderPath is not a method of IShellFolder
    13691400     IShellFolder_GetFolderPath( This->pSFParent, szName, sizeof(szName) );
    1370 
     1401*/
    13711402     /* set the number of parts */
    13721403     IShellBrowser_SendControlMsg(This->pShellBrowser, FCW_STATUS, SB_SETPARTS, 1,
     
    13741405
    13751406     /* set the text for the parts */
     1407/*
    13761408     IShellBrowser_SendControlMsg(This->pShellBrowser, FCW_STATUS, SB_SETTEXTA,
    13771409                                         0, (LPARAM)szName, &lResult);
     1410*/
    13781411   }
    13791412
Note: See TracChangeset for help on using the changeset viewer.