Changeset 1366


Ignore:
Timestamp:
Jan 1, 2009, 10:36:46 PM (17 years ago)
Author:
Gregg Young
Message:

Seek and scan called from the dir or drive context menu opens seek and scan and provides the path to start the search from. (Ticket 167)

Location:
trunk/dll
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/collect.c

    r1357 r1366  
    13831383               MPVOID, MPFROM2SHORT(0, CMA_ERASE | CMA_REPOSITION));
    13841384    disable_menuitem(WinWindowFromID(WinQueryWindow(hwndMain, QW_PARENT),
    1385                                      FID_MENU), IDM_GREP, FALSE);
     1385                                     FID_MENU), IDM_GREP, FALSE);
     1386    disable_menuitem(TreeMenu, IDM_GREP, FALSE);
     1387    disable_menuitem(DirMenu, IDM_GREP, FALSE);
    13861388    PostMsg(hwnd, UM_RESCAN, MPVOID, MPVOID);
    13871389    if (dcd) {
     
    19351937                 "Collector busy - please try again later");
    19361938        }
    1937         else {
    1938           if (WinDlgBox(HWND_DESKTOP, hwnd, GrepDlgProc,
    1939                         FM3ModHandle, GREP_FRAME, (PVOID) & hwnd)) {
    1940             dcd->amextracted = TRUE;    // Say busy scanning
    1941             disable_menuitem(WinWindowFromID
    1942                              (WinQueryWindow(hwndMain, QW_PARENT), FID_MENU),
    1943                              IDM_GREP, TRUE);
    1944             PostMsg(hwnd, UM_RESCAN, MPVOID, MPVOID);
     1939        else {
     1940          GREPINFO *GrepInfo;
     1941
     1942          GrepInfo = xmallocz(sizeof(GREPINFO), pszSrcFile, __LINE__);
     1943          if (GrepInfo) {
     1944            GrepInfo->hwnd = &hwnd;
     1945            if (mp2)
     1946              GrepInfo->szGrepPath = mp2;
     1947            if (WinDlgBox(HWND_DESKTOP, hwnd, GrepDlgProc,
     1948                          FM3ModHandle, GREP_FRAME, (PVOID) GrepInfo)) {
     1949              free(GrepInfo);
     1950              dcd->amextracted = TRUE;  // Say busy scanning
     1951              disable_menuitem(WinWindowFromID
     1952                               (WinQueryWindow(hwndMain, QW_PARENT), FID_MENU),
     1953                               IDM_GREP, TRUE);
     1954              disable_menuitem(TreeMenu, IDM_GREP, TRUE);
     1955              disable_menuitem(DirMenu, IDM_GREP, TRUE);
     1956              PostMsg(hwnd, UM_RESCAN, MPVOID, MPVOID);
     1957            }
     1958            else
     1959              free(GrepInfo);
    19451960          }
    19461961        }
  • trunk/dll/dircnrs.c

    r1357 r1366  
    21462146        }
    21472147        else
    2148           StartCollector(dcd->hwndParent, 4);
    2149         if (SHORT1FROMMP(mp1) == IDM_GREP)
    2150           PostMsg(Collector, WM_COMMAND,
    2151                   MPFROM2SHORT(IDM_GREP, 0), MPVOID);
     2148          StartCollector(dcd->hwndParent, 4);
     2149        if (SHORT1FROMMP(mp1) == IDM_GREP) {
     2150          PCNRITEM pci = NULL;
     2151
     2152          pci = WinSendMsg(hwnd,
     2153                           CM_QUERYRECORDEMPHASIS,
     2154                           MPFROMLONG(CMA_FIRST), MPFROMSHORT(CRA_CURSORED));
     2155          if (pci && (INT) pci != -1)
     2156            PostMsg(Collector, WM_COMMAND,
     2157                    MPFROM2SHORT(IDM_GREP, 0), MPFROMP(pci->pszFileName));
     2158          else
     2159            PostMsg(Collector, WM_COMMAND,
     2160                    MPFROM2SHORT(IDM_GREP, 0), MPVOID);
     2161        }
    21522162        else
    21532163          PostMsg(hwnd, WM_COMMAND, MPFROM2SHORT(IDM_COLLECTOR, 0), MPVOID);
  • trunk/dll/fm3res.rc

    r1362 r1366  
    13431343         MENUITEM "Si~zes...\tCtrl + z",IDM_SIZES
    13441344         MENUITEM "~Show all files...\tCtrl + G",IDM_SHOWALLFILES
     1345         MENUITEM "~Seek & scan files",IDM_GREP
    13451346         MENUITEM "~Undelete...",    IDM_UNDELETE
    13461347         MENUITEM "",                -1,       MIS_SEPARATOR
  • trunk/dll/grep2.c

    r1335 r1366  
    188188  CHAR simple[8192];
    189189  CHAR path[CCHMAXPATH];
     190  GREPINFO *GrepInfo;
    190191
    191192  static CHAR lastmask[8192] = "*";
     
    200201  static BOOL findifany = TRUE;
    201202  static BOOL gRemember = FALSE;
    202   ULONG size = sizeof(BOOL);
     203  ULONG size;
    203204  static UINT newer = 0;
    204205  static UINT older = 0;
     
    212213      break;
    213214    }
    214     WinSetWindowULong(hwnd, QWL_USER, *(HWND *) mp2);
     215    GrepInfo = mp2;
     216    if (GrepInfo->szGrepPath)
     217      BldFullPathName(lastmask, GrepInfo->szGrepPath, "*");
     218    WinSetWindowULong(hwnd, QWL_USER, *(HWND *) GrepInfo->hwnd);
    215219    WinSendDlgItemMsg(hwnd,
    216220                      GREP_MASK,
     
    232236    WinSetDlgItemText(hwnd, GREP_MASK, lastmask);
    233237    WinSendDlgItemMsg(hwnd,
    234                       GREP_MASK, EM_SETSEL, MPFROM2SHORT(0, 8192), MPVOID);
     238                      GREP_MASK, EM_SETSEL, MPFROM2SHORT(0, 8192), MPVOID);
     239    size = sizeof(BOOL);
    235240    PrfQueryProfileData(fmprof, FM3Str, "RememberFlagsGrep",
    236241                        (PVOID) & gRemember, &size);
    237242    WinCheckButton(hwnd, GREP_REMEMBERFLAGS, gRemember);
    238243    if (gRemember) {
     244      size = sizeof(BOOL);
    239245      PrfQueryProfileData(fmprof, FM3Str, "Grep_Recurse",
    240                           (PVOID) & recurse, &size);
     246                          (PVOID) & recurse, &size);
     247      size = sizeof(BOOL);
    241248      PrfQueryProfileData(fmprof, FM3Str, "Grep_Absolute",
    242                           (PVOID) & absolute, &size);
     249                          (PVOID) & absolute, &size);
     250      size = sizeof(BOOL);
    243251      PrfQueryProfileData(fmprof, FM3Str, "Grep_Case",
    244                           (PVOID) & sensitive, &size);
     252                          (PVOID) & sensitive, &size);
     253      size = sizeof(BOOL);
    245254      PrfQueryProfileData(fmprof, FM3Str, "Grep_Sayfiles",
    246                           (PVOID) & sayfiles, &size);
     255                          (PVOID) & sayfiles, &size);
     256      size = sizeof(BOOL);
    247257      PrfQueryProfileData(fmprof, FM3Str, "Grep_Searchfiles",
    248                           (PVOID) & searchFiles, &size);
     258                          (PVOID) & searchFiles, &size);
     259      size = sizeof(BOOL);
    249260      PrfQueryProfileData(fmprof, FM3Str, "Grep_SearchfEAs",
    250261                          (PVOID) & searchEAs, &size);
  • trunk/dll/grep2.h

    r1197 r1366  
    1818MRESULT EXPENTRY GrepDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
    1919
     20typedef struct {
     21
     22  HWND     *hwnd;
     23  CHAR     *szGrepPath;
     24  CHAR     *szGrepText;
     25}
     26GREPINFO;
     27
    2028
    2129#endif // GREP2_H
  • trunk/dll/treecnr.c

    r1360 r1366  
    27472747        else
    27482748          StartCollector(dcd->hwndParent, 4);
    2749         if (SHORT1FROMMP(mp1) == IDM_GREP)
    2750           PostMsg(Collector, WM_COMMAND,
    2751                   MPFROM2SHORT(IDM_GREP, 0), MPVOID);
     2749        if (SHORT1FROMMP(mp1) == IDM_GREP) {
     2750          PCNRITEM pci = NULL;
     2751
     2752          pci = WinSendMsg(hwnd,
     2753                           CM_QUERYRECORDEMPHASIS,
     2754                           MPFROMLONG(CMA_FIRST), MPFROMSHORT(CRA_CURSORED));
     2755          if (pci && (INT) pci != -1)
     2756            PostMsg(Collector, WM_COMMAND,
     2757                    MPFROM2SHORT(IDM_GREP, 0), MPFROMP(pci->pszFileName));
     2758          else
     2759            PostMsg(Collector, WM_COMMAND,
     2760                    MPFROM2SHORT(IDM_GREP, 0), MPVOID);
     2761        }
    27522762        else
    27532763        PostMsg(hwnd, WM_COMMAND, MPFROM2SHORT(IDM_COLLECTOR, 0), MPVOID);
Note: See TracChangeset for help on using the changeset viewer.