private bool Query(IQuickWindow quickWindow) { bool bInited = TestEverything(quickWindow); if (!bInited) { CurrentDescriptionType = DescriptionType.NotInited; quickWindow.Refresh(0); return(false); } QuickEverything.Everything_Reset(); QuickEverything.Everything_SetMax(MAX_FILE_NUMBER_IN_ONE_QUERY); QuickEverything.Everything_SetOffset(GetPage() * MAX_FILE_NUMBER_IN_ONE_QUERY); string arg = quickWindow.GetArgument(); if (arg == null) { return(false); } //改善易用性,将/视为\ arg = arg.Replace('/', '\\'); SearchOption option = SearchOption.File; string a = arg.Trim().ToLower(); if (a.StartsWith("folder:")) { option = SearchOption.Folder; } else if (a.StartsWith("all:")) { option = SearchOption.All; } string realQueryText = arg; if (option == SearchOption.File) { realQueryText = "file:" + arg; } else if (option == SearchOption.Folder) { realQueryText = "folder:" + arg; } QuickEverything.Everything_SetSearchW(realQueryText); QuickEverything.Everything_QueryW(true); int count = QuickEverything.Everything_GetNumResults(); EVERYTHING_RESULT result = (EVERYTHING_RESULT)QuickEverything.Everything_GetLastError(); if (result == EVERYTHING_RESULT.EVERYTHING_OK && count > 0) { ReplaceMethods(quickWindow, count); return(true); } CurrentDescriptionType = DescriptionType.NoResult; return(false); }
private void AsyncQuery(IQuickWindow quickWindow) { quickWindow.AsyncInvoke( () => { Query(quickWindow); quickWindow.Refresh(0); } ); }
private void UpdatePage(IQuickWindow quickWindow, bool isPageDown) { int backupPage = GetPage(); if (isPageDown) { SetPage(GetPage() + 1); } else { if (GetPage() > 0) { SetPage(GetPage() - 1); } else { return; } } bool success = Query(quickWindow); if (!success) { SetPage(backupPage); return; } if (isPageDown) { quickWindow.Refresh(0); } else { quickWindow.Refresh(MAX_FILE_NUMBER_IN_ONE_QUERY); } }
public void Closed(IQuickWindow quickWindow) { GetCache().ClearCache(); quickWindow.Refresh(0); }
public void Closed(IQuickWindow quickWindow) { ResetPage(); CurrentDescriptionType = DescriptionType.Default; quickWindow.Refresh(0); }
public void Closed(IQuickWindow quickWindow) { quickWindow.Refresh(0); }