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