feat: add native Qt file search

This commit is contained in:
2026-07-25 19:26:35 +02:00
commit 12a41c798f
5 changed files with 1553 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
/build/
+20
View File
@@ -0,0 +1,20 @@
cmake_minimum_required(VERSION 3.21)
project(searchmyfiles VERSION 0.2.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)
find_package(Qt6 REQUIRED COMPONENTS Widgets Concurrent)
qt_add_executable(searchmyfiles
src/main.cpp
)
target_link_libraries(searchmyfiles PRIVATE Qt6::Widgets Qt6::Concurrent)
target_compile_options(searchmyfiles PRIVATE -Wall -Wextra -Wpedantic)
install(TARGETS searchmyfiles RUNTIME DESTINATION bin)
install(FILES packaging/searchmyfiles.desktop
DESTINATION share/applications)
+37
View File
@@ -0,0 +1,37 @@
# SearchMyFiles for Linux
Быстрый Linux-аналог NirSoft SearchMyFiles с нативным GUI. Программа написана
на C++20 и Qt 6, не использует индекс и не запускает фоновую службу.
Возможности:
- поиск по нескольким корневым каталогам и wildcard-маскам;
- исключение файлов и каталогов, ограничение подкаталогов;
- фильтры размера, времени и Linux-атрибутов;
- поиск текста или hex-последовательности внутри файлов;
- поиск полных дубликатов и файлов с одинаковыми именами;
- сводка размера по каталогам;
- сортируемая таблица, открытие файлов и каталогов, копирование путей;
- экспорт результатов в CSV, TSV/TXT, HTML, XML и JSON;
- многопоточный поиск содержимого и вычисление хешей.
## Сборка
Нужны CMake, C++20-компилятор и Qt 6 (`Widgets`, `Concurrent`).
```bash
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
./build/searchmyfiles
```
Установка для текущей системы:
```bash
cmake --install build
```
На Linux нет полного аналога Windows creation time, NTFS-атрибутов и Windows
Search Handlers. Используются POSIX-время изменения/доступа/смены метаданных и
атрибуты hidden/read-only/executable/symlink.
+9
View File
@@ -0,0 +1,9 @@
[Desktop Entry]
Type=Application
Name=SearchMyFiles
Comment=Fast advanced file search
Exec=searchmyfiles
Icon=system-search
Terminal=false
Categories=Utility;FileTools;
+1486
View File
File diff suppressed because it is too large Load Diff