Changeset 824 for trunk/dll


Ignore:
Timestamp:
Sep 1, 2007, 1:12:20 AM (18 years ago)
Author:
Steven Levine
Message:

Add accelerator support to QuickList windows
Correct IDS_INIREADONLYTEXT message to match reality
Disable misc unused DbgMsg calls

Location:
trunk/dll
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/fm3dll.str

    r636 r824  
    293293Undelete:
    294294Select files to undelete, then click the Okay button.  Click Cancel to exit without doing anything.  Change the mask in the entry field if desired, or select another drive from the dropdown listbox.\r\rNote this requires UNDELETE.COM to be on your PATH (it is in the default installation) and the UNDELETE environment variable to be set for the drive in CONFIG.SYS.  Type HELP UNDELETE at a command line for more information.
    295 The %s file has been marked ReadOnly -- please correct.
     295The FM/2 INI file \"%s\" can not be marked read/write.
    296296FM/2: Help
    297297
  • trunk/dll/fm3res.rc

    r804 r824  
    2626  05 Jul 07 GKY Fix menu removals for WORKPLACE_PROCESS=YES
    2727  06 Aug 07 GKY Fix Dirsizes accel key to be ctrl + z
     28  30 Aug 07 SHL Add accelerator support to QuickList windows
    2829
    2930***********************************************************************/
     
    18941895}
    18951896
     1897ACCELTABLE  MAIN_DRIVELIST
     1898{
     1899  VK_F4,       DID_CANCEL,             ALT,VIRTUALKEY
     1900  VK_F4,       SC_CLOSE,               SYSCOMMAND,CONTROL,ALT,VIRTUALKEY
     1901}
     1902
     1903MENU MAIN_SETUPLIST
     1904{
     1905  MENUITEM "~Save state as name\tCtrl + s",  IDM_SAVEDIRCNRSTATE
     1906  MENUITEM "~Delete state name\tCtrl + d",   IDM_DELETEDIRCNRSTATE
     1907  MENUITEM "",                        -1,    MIS_SEPARATOR
     1908  MENUITEM "~Help",                          IDM_HELPUSERLIST
     1909}
     1910
     1911ACCELTABLE  MAIN_SETUPLIST
     1912{
     1913  "a",         IDM_SAVEDIRCNRSTATE,    CONTROL
     1914  "d",         IDM_DELETEDIRCNRSTATE,  CONTROL
     1915  VK_F4,       DID_CANCEL,             ALT,VIRTUALKEY
     1916  VK_F4,       SC_CLOSE,               SYSCOMMAND,CONTROL,ALT,VIRTUALKEY
     1917  VK_F10,      IDM_CONTEXTMENU,        SHIFT,VIRTUALKEY
     1918}
     1919
     1920ACCELTABLE  MAIN_CMDLIST
     1921{
     1922  VK_F4,       DID_CANCEL,             ALT,VIRTUALKEY
     1923  VK_F4,       SC_CLOSE,               SYSCOMMAND,CONTROL,ALT,VIRTUALKEY
     1924  VK_F10,      IDM_CONTEXTMENU,        SHIFT,VIRTUALKEY
     1925}
     1926
    18961927MENU MAIN_USERLIST
    18971928{
    1898   MENUITEM "~Add pathname",           IDM_ADDTOUSERLIST
    1899   MENUITEM "~Delete pathname",        IDM_DELETEFROMUSERLIST
    1900   MENUITEM "",                        -1,             MIS_SEPARATOR
    1901   MENUITEM "~Help",                   IDM_HELPUSERLIST
    1902 }
    1903 
    1904 MENU MAIN_SETUPLIST
    1905 {
    1906   MENUITEM "~Save state as name",     IDM_SAVEDIRCNRSTATE
    1907   MENUITEM "~Delete state name",      IDM_DELETEDIRCNRSTATE
    1908   MENUITEM "",                        -1,             MIS_SEPARATOR
    1909   MENUITEM "~Help",                   IDM_HELPUSERLIST
     1929  MENUITEM "~Add pathname\tCtrl + a",     IDM_ADDTOUSERLIST
     1930  MENUITEM "~Delete pathname\tCtrl + d",  IDM_DELETEFROMUSERLIST
     1931  MENUITEM "",                        -1, MIS_SEPARATOR
     1932  MENUITEM "~Help",                       IDM_HELPUSERLIST
     1933}
     1934
     1935ACCELTABLE  MAIN_USERLIST
     1936{
     1937  "a",         IDM_ADDTOUSERLIST,      CONTROL
     1938  "d",         IDM_DELETEFROMUSERLIST, CONTROL
     1939  VK_F4,       DID_CANCEL,             ALT,VIRTUALKEY
     1940  VK_F4,       SC_CLOSE,               SYSCOMMAND,CONTROL,ALT,VIRTUALKEY
     1941  VK_F10,      IDM_CONTEXTMENU,        SHIFT,VIRTUALKEY
     1942}
     1943
     1944ACCELTABLE  MAIN_BUTTONLIST
     1945{
     1946  VK_F4,       DID_CANCEL,             ALT,VIRTUALKEY
     1947  VK_F4,       SC_CLOSE,               SYSCOMMAND,CONTROL,ALT,VIRTUALKEY
     1948  VK_F10,      IDM_CONTEXTMENU,        SHIFT,VIRTUALKEY
    19101949}
    19111950
  • trunk/dll/ipf/fm3.ipf

    r554 r824  
    847847onto the button, not the entry field.
    848848:p.
     849The quicklist windows have window-specific context menus and accelerators.
     850If you want access to the general context menu or accelerators,
     851press the Esc key to exit from the quicklist window.
     852:p.
    849853The :hp1.Interface:ehp1. (list-and-arrow) :hp1.button:ehp1. at the
    850854bottom right corner of the FM/2 window toggles the quicklists on and off.
  • trunk/dll/mainwnd.c

    r789 r824  
    4141  19 Aug 07 SHL Move #pragma alloc_text to end of file for OpenWatcom
    4242  19 Aug 07 SHL Rework SaveDirCnrState to return better error info
     43  30 Aug 07 SHL Add accelerator support to quicklist windows
    4344
    4445***********************************************************************/
     
    504505{
    505506  PFNWP oldproc = (PFNWP) INSTDATA(hwnd);
    506   static HWND hwndMenu = (HWND) 0;
    507507  USHORT id;
     508
     509  static HWND hwndMenu = (HWND)0;
    508510  static BOOL emphasized = FALSE;
    509511
     
    523525    }
    524526    break;
     527
     528  case WM_FOCUSCHANGE:
     529    {
     530      HAB hab = WinQueryAnchorBlock(hwnd);
     531      HWND hwndParent = WinQueryWindow(hwnd, QW_PARENT);
     532      HWND hwndFrame = WinQueryWindow(hwndParent, QW_PARENT);
     533      static HACCEL haccelSaved = NULLHANDLE;
     534      static HACCEL haccelDriveList = NULLHANDLE;
     535      static HACCEL haccelSetupList = NULLHANDLE;
     536      static HACCEL haccelUserList = NULLHANDLE;
     537      static HACCEL haccelCmdList = NULLHANDLE;
     538      static HACCEL haccelButtonList = NULLHANDLE;
     539      // DbgMsg(pszSrcFile, __LINE__, "WM_FOCUSCHANGE %u", SHORT1FROMMP(mp2));
     540      id = WinQueryWindowUShort(hwndParent, QWS_ID);
     541      if (SHORT1FROMMP(mp2)) {
     542        // If getting focus 1st time - save original accelerator
     543        if (haccelSaved == NULLHANDLE) {
     544          haccelSaved = WinQueryAccelTable(hab, hwndFrame);
     545          if (haccelSaved == NULLHANDLE)
     546            Win_Error(hwnd, HWND_DESKTOP, pszSrcFile, __LINE__, "WinQueryAccelTable");
     547          // else
     548            // DbgMsg(pszSrcFile, __LINE__, "WinQueryAccelTable SAVED %x", haccelSaved);
     549        }
     550        if (haccelSaved != NULLHANDLE) {
     551          switch (id) {
     552          case MAIN_DRIVELIST:
     553            if (haccelDriveList == NULLHANDLE) {
     554                haccelDriveList = WinLoadAccelTable(hab, FM3ModHandle, MAIN_DRIVELIST);
     555                if (haccelDriveList == NULLHANDLE)
     556                  Win_Error(hwnd, HWND_DESKTOP, pszSrcFile, __LINE__, "WinLoadAccelTable");
     557            }
     558            if (haccelDriveList != NULLHANDLE) {
     559              if (!WinSetAccelTable(hab, haccelDriveList, hwndFrame))
     560                Win_Error(hwndFrame, HWND_DESKTOP, pszSrcFile, __LINE__, "WinSetAccelTable");
     561              // else
     562                // DbgMsg(pszSrcFile, __LINE__, "WinSetAccelTable MAIN_DRIVELIST %x %x", hwndFrame, haccelDriveList);
     563            }
     564            break;
     565          case MAIN_SETUPLIST:
     566            if (haccelSetupList == NULLHANDLE) {
     567                haccelSetupList = WinLoadAccelTable(hab, FM3ModHandle, MAIN_SETUPLIST);
     568                if (haccelSetupList == NULLHANDLE)
     569                  Win_Error(hwnd, HWND_DESKTOP, pszSrcFile, __LINE__, "WinLoadAccelTable");
     570            }
     571            if (haccelSetupList != NULLHANDLE) {
     572              if (!WinSetAccelTable(hab, haccelSetupList, hwndFrame))
     573                Win_Error(hwndFrame, HWND_DESKTOP, pszSrcFile, __LINE__, "WinSetAccelTable");
     574              // else
     575                // DbgMsg(pszSrcFile, __LINE__, "WinSetAccelTable MAIN_SETUPLIST %x %x", hwndFrame, haccelSetupList);
     576            }
     577            break;
     578          case MAIN_CMDLIST:
     579            if (haccelCmdList == NULLHANDLE) {
     580                haccelCmdList = WinLoadAccelTable(hab, FM3ModHandle, MAIN_CMDLIST);
     581                if (haccelCmdList == NULLHANDLE)
     582                  Win_Error(hwnd, HWND_DESKTOP, pszSrcFile, __LINE__, "WinLoadAccelTable");
     583            }
     584            if (haccelCmdList != NULLHANDLE) {
     585              if (!WinSetAccelTable(hab, haccelCmdList, hwndFrame))
     586                Win_Error(hwndFrame, HWND_DESKTOP, pszSrcFile, __LINE__, "WinSetAccelTable");
     587              // else
     588                // DbgMsg(pszSrcFile, __LINE__, "WinSetAccelTable MAIN_CMDLIST %x %x", hwndFrame, haccelCmdList);
     589            }
     590            break;
     591          case MAIN_USERLIST:
     592            if (haccelUserList == NULLHANDLE) {
     593                haccelUserList = WinLoadAccelTable(hab, FM3ModHandle, MAIN_USERLIST);
     594                if (haccelUserList == NULLHANDLE)
     595                  Win_Error(hwnd, HWND_DESKTOP, pszSrcFile, __LINE__, "WinLoadAccelTable");
     596            }
     597            if (haccelUserList != NULLHANDLE) {
     598              if (!WinSetAccelTable(hab, haccelUserList, hwndFrame))
     599                Win_Error(hwndFrame, HWND_DESKTOP, pszSrcFile, __LINE__, "WinSetAccelTable");
     600              // else
     601                // DbgMsg(pszSrcFile, __LINE__, "WinSetAccelTable MAIN_USERLIST %x %x", hwndFrame, haccelUserList);
     602            }
     603            break;
     604          case MAIN_BUTTONLIST:
     605            if (haccelButtonList == NULLHANDLE) {
     606                haccelButtonList = WinLoadAccelTable(hab, FM3ModHandle, MAIN_BUTTONLIST);
     607                if (haccelButtonList == NULLHANDLE)
     608                  Win_Error(hwnd, HWND_DESKTOP, pszSrcFile, __LINE__, "WinLoadAccelTable");
     609            }
     610            if (haccelButtonList != NULLHANDLE) {
     611              if (!WinSetAccelTable(hab, haccelButtonList, hwndFrame))
     612                Win_Error(hwndFrame, HWND_DESKTOP, pszSrcFile, __LINE__, "WinSetAccelTable");
     613              // else
     614                // DbgMsg(pszSrcFile, __LINE__, "WinSetAccelTable MAIN_BUTTONLIST %x %x", hwndFrame, haccelButtonList);
     615            }
     616            break;
     617          } // switch
     618        }
     619      }
     620      else {
     621        // Losing focus
     622        switch (id) {
     623        case MAIN_DRIVELIST:
     624        case MAIN_SETUPLIST:
     625        case MAIN_CMDLIST:
     626        case MAIN_USERLIST:
     627        case MAIN_BUTTONLIST:
     628          if (haccelSaved != NULLHANDLE) {
     629            if (!WinSetAccelTable(hab, haccelSaved, hwndFrame))
     630              Win_Error(hwndFrame, HWND_DESKTOP, pszSrcFile, __LINE__, "WinSetAccelTable");
     631            // else
     632              // DbgMsg(pszSrcFile, __LINE__, "WinSetAccelTable SAVED %x %x", hwndFrame, haccelSaved);
     633          }
     634          break;
     635        } // switch
     636      }
     637    }
     638    break; // WM_FOCUSCHANGE
    525639
    526640  case WM_CONTEXTMENU:
     
    553667        ret = FALSE;
    554668        break;
    555       }
     669      } // switch
    556670      return ret;
    557671    }
     
    40334147  SetShiftState();
    40344148  switch (SHORT1FROMMP(mp1)) {
     4149
     4150  case IDM_CONTEXTMENU:
     4151    {
     4152      HWND hwnd = WinQueryFocus(HWND_DESKTOP);
     4153      // DbgMsg(pszSrcFile, __LINE__, "IDM_CONTEXTMENU %x", hwnd);
     4154      if (hwnd != NULLHANDLE) {
     4155        HWND hwndParent = WinQueryWindow(hwnd, QW_PARENT);
     4156        USHORT id = WinQueryWindowUShort(hwndParent, QWS_ID);
     4157        switch (id) {
     4158        case MAIN_SETUPLIST:
     4159        case MAIN_USERLIST:
     4160        case MAIN_CMDLIST:
     4161          // DbgMsg(pszSrcFile, __LINE__, "WM_CONTEXTMENU");
     4162          WinPostMsg(hwnd, WM_CONTEXTMENU, 0, 0);
     4163        }
     4164      }
     4165    }
     4166    break;
     4167
    40354168  case IDM_SETTARGET:
    40364169    SetTargetDir(hwnd, FALSE);
     
    48654998      }
    48664999    }
    4867     break;
    4868   }
     5000    break;                              // default
     5001  } // switch mp1
    48695002  return 0;
    48705003}
     
    50215154    if (!hwndStatelist)
    50225155      Win_Error2(hwnd, hwnd, pszSrcFile, __LINE__, IDS_WINCREATEWINDOW);
     5156
    50235157    hwndDrivelist = WinCreateWindow(hwndFrame,
    50245158                                    WC_COMBOBOX,
Note: See TracChangeset for help on using the changeset viewer.