feat: add native Qt file search
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
/build/
|
||||||
@@ -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)
|
||||||
|
|
||||||
@@ -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.
|
||||||
|
|
||||||
@@ -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
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user