Commit Graph

143 Commits

Author SHA1 Message Date
c51fd3c555 shared: FileSaver: Return NOTFOUND, Handle NOTHING_PROCESSED exit code correctly 2022-04-15 21:06:56 +02:00
715023a3ee shared: FileSaver: Make addFile(),updateFile() public 2022-04-15 21:06:56 +02:00
4234967ef5 shared: Add NOTFOUND SaveFileResult 2022-04-15 21:06:56 +02:00
d483d05db1 shared: Begin Indexer 2022-04-15 21:06:56 +02:00
564b5ddae8 shared: Begin FileScanWorker 2022-04-15 21:06:56 +02:00
d7705241ee shared: Begin ParallelDirScanner 2022-04-15 21:06:56 +02:00
f3fbf4a1dc shared: Begin DirScanWorker 2022-04-15 21:06:56 +02:00
56414ee5e2 shared: Begin basic ConcurrentQueue 2022-04-15 21:06:56 +02:00
478d57b342 cli: Move most classes to shared lib for reuse 2022-04-15 21:06:56 +02:00
d43c35819d common: Use DBMigrator to init and update database 2022-04-15 21:06:56 +02:00
3d8b086f53 shared: Begin db migration logic
Issue: #26
2022-04-15 21:06:56 +02:00
294455b861 DatabaseFactory: Move to /shared 2022-04-15 21:06:56 +02:00
7066cc1a45 Logger: Move to shared/ 2022-02-27 23:10:46 +01:00
c0657947b1 LooqsQuery: Add hasContentSearch(),hasPathSearch() convenience functions 2022-01-04 11:24:37 +01:00
1f35e2120e LooqsQuery::build(): Ensure values are non-empty and ignore empty lone words 2022-01-04 11:24:37 +01:00
407ee1210c gui: Perform content search and path search by default
Search for content and paths. Merge lone words for content search.

This behaviour is much more natural than typing "c:()".
2022-01-03 23:14:55 +01:00
88ee2383f7 Switch to exile.h 2022-01-01 17:58:52 +01:00
b1f3e95622 shared: looksquery: Fix incorrect varname in exception 2022-01-01 17:58:52 +01:00
890925929a GUI: Begin IPC mechanism to open files despite sandboxing 2022-01-01 17:58:52 +01:00
01872e37d5 Add missing paranthesis
Not sure how these slipped through.
2021-06-12 22:51:22 +02:00
248bfb96fe shared: LooksQuery: init tokensMask with 0 to be sure 2021-06-12 22:48:59 +02:00
414d53e59a shared: create.sql: Fix format
The qt sqlite3 driver only accepts a single statement
per exec().

We can't split by ; due to the trigger statements.

Thus, the pragmatic and dirty solution is to simply
put a query per line.
2021-06-12 17:29:13 +02:00
604d45afb2 shared: common: Remove redundant qDebug() 2021-06-12 17:24:47 +02:00
e97551be97 Rename all symbols to new project name 2021-06-12 14:59:58 +02:00
645903ed6b README: Rename project from 'qss' to 'looqs' 2021-06-12 14:57:26 +02:00
e88d0e57b2 shared: qssquery: Fix sqlerror if sort condition comes last
If we had something like c:(test) sort:(mtime, desc), then
we would run into an sql error eventually, since we
would have added an implicit AND token before the sort
condition. This is wrong, as a sort is not a filter.

So, as a quick hack to fix this, just remove a preceeding
boolean (as dirty as it may be, but it does the job for now).
2021-03-07 22:54:24 +01:00
ee4fe51a77 shared: sqlitesearch: Remove subquery for content search
The subquery only works for boolean retrieval, its
ordering is irrelevant. Thus, use INNER JOIN instead
and order by rank by default.
2021-03-07 22:27:48 +01:00
64b87dd595 shared: qssquery: checkParanthesis(): Ignore paranthesis in quotes
Fixes #12
2020-12-19 12:52:40 +01:00
33b145e6d2 shared: sqlitesearch: Order by rank by default for content search
Making ranked results the default makes (obviously) more sense for
content search.
2020-12-19 12:42:28 +01:00
ef78e74cdd Detect first run and initialize database and config
Relates to #1
2020-08-24 21:36:45 +02:00
7c1e12d589 Ship database creation script as embedded resource 2020-08-24 21:33:56 +02:00
8de07b703c Add Common::databasePath which also allows overriding it 2020-05-24 15:36:27 +02:00
13fb901044 added Common namespace. cli: use settings instead of env for db path 2020-05-23 22:52:42 +02:00
f64362ac63 cli: search: implement -r, cleanup of options that don't belong there 2019-08-19 21:09:03 +02:00
cff481a57e Refactor search queries: Introduced QSSQuery
Purpose is to seperate certain logic from SQLite and generalize it more.
Even though we only have Sqlite atm, in general the database layers
must be stupid as possible, while QSSQuery should do most of the hard work.

Fixes in Tokenizer logic.
Switched to C++17.
2019-08-18 00:25:21 +02:00
4a8d994358 sqlitesearch: improve tokenizer and fix sort handling 2019-05-04 20:40:43 +02:00
6f92b9ff5a search: fixed: order by after group by in content search 2019-04-27 21:23:06 +02:00
c338bb20bd search: default sort by mtime and page 2019-04-26 21:41:20 +02:00
8c027566e3 search: Avoid redundant results by placing pages into vector instead of returning searchresult for each page 2019-04-26 15:31:42 +02:00
569d8c4138 Begin sort: statement implementation, use bindvalues in all search filters, gui: save current scale 2019-04-25 10:27:54 +02:00
a26382b697 SqliteSearch: Use correct column for file size 2019-04-22 23:16:29 +02:00
326c12ca80 move more files to shared project ; searchresultt.h: use filedata.h 2019-04-22 21:07:41 +02:00
6b94b8f619 Begin 'shared' project to share code between cli and gui 2019-04-20 23:31:14 +02:00