From 326c12ca80897f6387d4d798581b2822727059b8 Mon Sep 17 00:00:00 2001 From: Albert S Date: Mon, 22 Apr 2019 21:07:41 +0200 Subject: [PATCH] move more files to shared project ; searchresultt.h: use filedata.h --- cli/cli.pro | 2 - cli/commandsearch.h | 3 - gui/gui.pro | 10 +- gui/mainwindow.cpp | 12 +- gui/moc_predefs.h | 389 ++++++++++++++++++++++++ gui/pdfworker.cpp | 5 +- gui/searchresult.cpp | 5 - gui/searchworker.cpp | 54 +--- gui/searchworker.h | 2 +- qss.pro | 5 +- {cli => shared}/filedata.h | 1 + {cli => shared}/qssgeneralexception.cpp | 0 {cli => shared}/qssgeneralexception.h | 2 +- {gui => shared}/searchresult.h | 8 +- shared/shared.pro | 8 +- shared/sqlitesearch.cpp | 51 +++- shared/sqlitesearch.h | 4 +- 17 files changed, 467 insertions(+), 94 deletions(-) create mode 100644 gui/moc_predefs.h delete mode 100644 gui/searchresult.cpp rename {cli => shared}/filedata.h (99%) rename {cli => shared}/qssgeneralexception.cpp (100%) rename {cli => shared}/qssgeneralexception.h (99%) rename {gui => shared}/searchresult.h (55%) diff --git a/cli/cli.pro b/cli/cli.pro index ffe02d1..d2c5df3 100644 --- a/cli/cli.pro +++ b/cli/cli.pro @@ -26,7 +26,6 @@ SOURCES += \ odtprocessor.cpp \ utils.cpp \ odsprocessor.cpp \ - qssgeneralexception.cpp \ commanddelete.cpp \ commandupdate.cpp \ filesaver.cpp \ @@ -48,7 +47,6 @@ HEADERS += \ odtprocessor.h \ utils.h \ odsprocessor.h \ - qssgeneralexception.h \ commanddelete.h \ commandupdate.h \ filesaver.h \ diff --git a/cli/commandsearch.h b/cli/commandsearch.h index f47192b..f771df3 100644 --- a/cli/commandsearch.h +++ b/cli/commandsearch.h @@ -5,9 +5,6 @@ class CommandSearch : public Command { - private: - SqliteSearch searcher; - public: using Command::Command; diff --git a/gui/gui.pro b/gui/gui.pro index 7117d01..48cbcaa 100644 --- a/gui/gui.pro +++ b/gui/gui.pro @@ -25,15 +25,13 @@ DEFINES += QT_DEPRECATED_WARNINGS SOURCES += \ main.cpp \ mainwindow.cpp \ - searchresult.cpp \ - searchworker.cpp \ - pdfworker.cpp \ - pdfpreview.cpp \ - clicklabel.cpp + searchworker.cpp \ + pdfworker.cpp \ + pdfpreview.cpp \ + clicklabel.cpp HEADERS += \ mainwindow.h \ - searchresult.h \ searchworker.h \ pdfworker.h \ pdfpreview.h \ diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index 6bfa55f..3ea2ae4 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -147,28 +147,28 @@ void MainWindow::handleSearchResults(const QVector &results) QString lastpath = ""; for(const SearchResult &result : results) { - if(lastpath != result.path) + if(lastpath != result.fileData.absPath) { - QFileInfo pathInfo(result.path); + QFileInfo pathInfo(result.fileData.absPath); QString fileName = pathInfo.fileName(); QTreeWidgetItem *item = new QTreeWidgetItem(ui->treeResultsList); - QDateTime dt = QDateTime::fromSecsSinceEpoch(result.mtime); + QDateTime dt = QDateTime::fromSecsSinceEpoch(result.fileData.mtime); item->setIcon(0, iconProvider.icon(pathInfo)); item->setText(0, fileName); - item->setText(1, result.path); + item->setText(1, result.fileData.absPath); item->setText(2, dt.toString(Qt::ISODate)); } // TODO: this must be user defined or done more intelligently if(this->pdfSearchResults.size() < 300) { - if(result.path.endsWith(".pdf")) + if(result.fileData.absPath.endsWith(".pdf")) { this->pdfSearchResults.append(result); } } - lastpath = result.path; + lastpath = result.fileData.absPath; } ui->treeResultsList->resizeColumnToContents(0); ui->treeResultsList->resizeColumnToContents(1); diff --git a/gui/moc_predefs.h b/gui/moc_predefs.h new file mode 100644 index 0000000..c692089 --- /dev/null +++ b/gui/moc_predefs.h @@ -0,0 +1,389 @@ +#define __SSP_STRONG__ 3 +#define __DBL_MIN_EXP__ (-1021) +#define __FLT32X_MAX_EXP__ 1024 +#define __cpp_attributes 200809 +#define __UINT_LEAST16_MAX__ 0xffff +#define __ATOMIC_ACQUIRE 2 +#define __FLT128_MAX_10_EXP__ 4932 +#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F +#define __GCC_IEC_559_COMPLEX 2 +#define __cpp_aggregate_nsdmi 201304 +#define __UINT_LEAST8_TYPE__ unsigned char +#define __SIZEOF_FLOAT80__ 16 +#define __INTMAX_C(c) c##L +#define __CHAR_BIT__ 8 +#define __UINT8_MAX__ 0xff +#define __WINT_MAX__ 0xffffffffU +#define __FLT32_MIN_EXP__ (-125) +#define __cpp_static_assert 200410 +#define __ORDER_LITTLE_ENDIAN__ 1234 +#define __SIZE_MAX__ 0xffffffffffffffffUL +#define __WCHAR_MAX__ 0x7fffffff +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#define __GCC_IEC_559 2 +#define __FLT32X_DECIMAL_DIG__ 17 +#define __FLT_EVAL_METHOD__ 0 +#define __unix__ 1 +#define __cpp_binary_literals 201304 +#define __FLT64_DECIMAL_DIG__ 17 +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#define __x86_64 1 +#define __cpp_variadic_templates 200704 +#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL +#define __SIG_ATOMIC_TYPE__ int +#define __DBL_MIN_10_EXP__ (-307) +#define __FINITE_MATH_ONLY__ 0 +#define __cpp_variable_templates 201304 +#define __GNUC_PATCHLEVEL__ 0 +#define __FLT32_HAS_DENORM__ 1 +#define __UINT_FAST8_MAX__ 0xff +#define __has_include(STR) __has_include__(STR) +#define __DEC64_MAX_EXP__ 385 +#define __INT8_C(c) c +#define __INT_LEAST8_WIDTH__ 8 +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL +#define __SHRT_MAX__ 0x7fff +#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L +#define __FLT64X_MAX_10_EXP__ 4932 +#define __UINT_LEAST8_MAX__ 0xff +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 +#define __UINTMAX_TYPE__ long unsigned int +#define __linux 1 +#define __DEC32_EPSILON__ 1E-6DF +#define __FLT_EVAL_METHOD_TS_18661_3__ 0 +#define __unix 1 +#define __UINT32_MAX__ 0xffffffffU +#define __GXX_EXPERIMENTAL_CXX0X__ 1 +#define __LDBL_MAX_EXP__ 16384 +#define __FLT128_MIN_EXP__ (-16381) +#define __WINT_MIN__ 0U +#define __linux__ 1 +#define __FLT128_MIN_10_EXP__ (-4931) +#define __INT_LEAST16_WIDTH__ 16 +#define __SCHAR_MAX__ 0x7f +#define __FLT128_MANT_DIG__ 113 +#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) +#define __INT64_C(c) c##L +#define __DBL_DIG__ 15 +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#define __FLT64X_MANT_DIG__ 64 +#define _FORTIFY_SOURCE ((defined __OPTIMIZE__ && __OPTIMIZE__ > 0) ? 2 : 0) +#define __SIZEOF_INT__ 4 +#define __SIZEOF_POINTER__ 8 +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#define __USER_LABEL_PREFIX__ +#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x +#define __STDC_HOSTED__ 1 +#define __LDBL_HAS_INFINITY__ 1 +#define __FLT32_DIG__ 6 +#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F +#define __GXX_WEAK__ 1 +#define __SHRT_WIDTH__ 16 +#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L +#define __DEC32_MAX__ 9.999999E96DF +#define __cpp_threadsafe_static_init 200806 +#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x +#define __FLT32X_HAS_INFINITY__ 1 +#define __INT32_MAX__ 0x7fffffff +#define __INT_WIDTH__ 32 +#define __SIZEOF_LONG__ 8 +#define __STDC_IEC_559__ 1 +#define __STDC_ISO_10646__ 201706L +#define __UINT16_C(c) c +#define __PTRDIFF_WIDTH__ 64 +#define __DECIMAL_DIG__ 21 +#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 +#define __gnu_linux__ 1 +#define __INTMAX_WIDTH__ 64 +#define __FLT64_MIN_EXP__ (-1021) +#define __has_include_next(STR) __has_include_next__(STR) +#define __FLT64X_MIN_10_EXP__ (-4931) +#define __LDBL_HAS_QUIET_NAN__ 1 +#define __FLT64_MANT_DIG__ 53 +#define __GNUC__ 8 +#define __GXX_RTTI 1 +#define __pie__ 2 +#define __MMX__ 1 +#define __cpp_delegating_constructors 200604 +#define __FLT_HAS_DENORM__ 1 +#define __SIZEOF_LONG_DOUBLE__ 16 +#define __BIGGEST_ALIGNMENT__ 16 +#define __STDC_UTF_16__ 1 +#define __FLT64_MAX_10_EXP__ 308 +#define __FLT32_HAS_INFINITY__ 1 +#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L) +#define __cpp_raw_strings 200710 +#define __INT_FAST32_MAX__ 0x7fffffffffffffffL +#define __DBL_HAS_INFINITY__ 1 +#define __DEC32_MIN_EXP__ (-94) +#define __INTPTR_WIDTH__ 64 +#define __FLT32X_HAS_DENORM__ 1 +#define __INT_FAST16_TYPE__ long int +#define __LDBL_HAS_DENORM__ 1 +#define __cplusplus 201402L +#define __cpp_ref_qualifiers 200710 +#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL +#define __INT_LEAST32_MAX__ 0x7fffffff +#define __DEC32_MIN__ 1E-95DF +#define __DEPRECATED 1 +#define __cpp_rvalue_references 200610 +#define __DBL_MAX_EXP__ 1024 +#define __WCHAR_WIDTH__ 32 +#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32 +#define __DEC128_EPSILON__ 1E-33DL +#define __SSE2_MATH__ 1 +#define __ATOMIC_HLE_RELEASE 131072 +#define __PTRDIFF_MAX__ 0x7fffffffffffffffL +#define __amd64 1 +#define __ATOMIC_HLE_ACQUIRE 65536 +#define __FLT32_HAS_QUIET_NAN__ 1 +#define __GNUG__ 8 +#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL +#define __SIZEOF_SIZE_T__ 8 +#define __cpp_rvalue_reference 200610 +#define __cpp_nsdmi 200809 +#define __FLT64X_MIN_EXP__ (-16381) +#define __SIZEOF_WINT_T__ 4 +#define __LONG_LONG_WIDTH__ 64 +#define __cpp_initializer_lists 200806 +#define __FLT32_MAX_EXP__ 128 +#define __cpp_hex_float 201603 +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#define __GXX_ABI_VERSION 1013 +#define __FLT128_HAS_INFINITY__ 1 +#define __FLT_MIN_EXP__ (-125) +#define __cpp_lambdas 200907 +#define __FLT64X_HAS_QUIET_NAN__ 1 +#define __INT_FAST64_TYPE__ long int +#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64 +#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L) +#define __PIE__ 2 +#define __LP64__ 1 +#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x +#define __DECIMAL_BID_FORMAT__ 1 +#define __FLT64_MIN_10_EXP__ (-307) +#define __FLT64X_DECIMAL_DIG__ 21 +#define __DEC128_MIN__ 1E-6143DL +#define __REGISTER_PREFIX__ +#define __UINT16_MAX__ 0xffff +#define __DBL_HAS_DENORM__ 1 +#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32 +#define __UINT8_TYPE__ unsigned char +#define __NO_INLINE__ 1 +#define __FLT_MANT_DIG__ 24 +#define __LDBL_DECIMAL_DIG__ 21 +#define __VERSION__ "8.2.0" +#define __UINT64_C(c) c##UL +#define __cpp_unicode_characters 200704 +#define _STDC_PREDEF_H 1 +#define __cpp_decltype_auto 201304 +#define __GCC_ATOMIC_INT_LOCK_FREE 2 +#define __FLT128_MAX_EXP__ 16384 +#define __FLT32_MANT_DIG__ 24 +#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __STDC_IEC_559_COMPLEX__ 1 +#define __FLT128_HAS_DENORM__ 1 +#define __FLT128_DIG__ 33 +#define __SCHAR_WIDTH__ 8 +#define __INT32_C(c) c +#define __DEC64_EPSILON__ 1E-15DD +#define __ORDER_PDP_ENDIAN__ 3412 +#define __DEC128_MIN_EXP__ (-6142) +#define __FLT32_MAX_10_EXP__ 38 +#define __INT_FAST32_TYPE__ long int +#define __UINT_LEAST16_TYPE__ short unsigned int +#define __FLT64X_HAS_INFINITY__ 1 +#define unix 1 +#define __INT16_MAX__ 0x7fff +#define __cpp_rtti 199711 +#define __SIZE_TYPE__ long unsigned int +#define __UINT64_MAX__ 0xffffffffffffffffUL +#define __FLT64X_DIG__ 18 +#define __INT8_TYPE__ signed char +#define __cpp_digit_separators 201309 +#define __ELF__ 1 +#define __GCC_ASM_FLAG_OUTPUTS__ 1 +#define __FLT_RADIX__ 2 +#define __INT_LEAST16_TYPE__ short int +#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L +#define __UINTMAX_C(c) c##UL +#define __GLIBCXX_BITSIZE_INT_N_0 128 +#define __k8 1 +#define __SIG_ATOMIC_MAX__ 0x7fffffff +#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +#define __SIZEOF_PTRDIFF_T__ 8 +#define __FLT32X_MANT_DIG__ 53 +#define __x86_64__ 1 +#define __FLT32X_MIN_EXP__ (-1021) +#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF +#define __INT_FAST16_MAX__ 0x7fffffffffffffffL +#define __FLT64_DIG__ 15 +#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL +#define __UINT_LEAST64_TYPE__ long unsigned int +#define __FLT_HAS_QUIET_NAN__ 1 +#define __FLT_MAX_10_EXP__ 38 +#define __LONG_MAX__ 0x7fffffffffffffffL +#define __FLT64X_HAS_DENORM__ 1 +#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL +#define __FLT_HAS_INFINITY__ 1 +#define __cpp_unicode_literals 200710 +#define __UINT_FAST16_TYPE__ long unsigned int +#define __DEC64_MAX__ 9.999999999999999E384DD +#define __INT_FAST32_WIDTH__ 64 +#define __CHAR16_TYPE__ short unsigned int +#define __PRAGMA_REDEFINE_EXTNAME 1 +#define __SIZE_WIDTH__ 64 +#define __SEG_FS 1 +#define __INT_LEAST16_MAX__ 0x7fff +#define __DEC64_MANT_DIG__ 16 +#define __INT64_MAX__ 0x7fffffffffffffffL +#define __UINT_LEAST32_MAX__ 0xffffffffU +#define __SEG_GS 1 +#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32 +#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +#define __SIG_ATOMIC_WIDTH__ 32 +#define __INT_LEAST64_TYPE__ long int +#define __INT16_TYPE__ short int +#define __INT_LEAST8_TYPE__ signed char +#define __DEC32_MAX_EXP__ 97 +#define __INT_FAST8_MAX__ 0x7f +#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128 +#define __INTPTR_MAX__ 0x7fffffffffffffffL +#define __cpp_sized_deallocation 201309 +#define linux 1 +#define __cpp_range_based_for 200907 +#define __FLT64_HAS_QUIET_NAN__ 1 +#define __FLT32_MIN_10_EXP__ (-37) +#define __SSE2__ 1 +#define __EXCEPTIONS 1 +#define __LDBL_MANT_DIG__ 64 +#define __DBL_HAS_QUIET_NAN__ 1 +#define __FLT64_HAS_INFINITY__ 1 +#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +#define __code_model_small__ 1 +#define __cpp_return_type_deduction 201304 +#define __k8__ 1 +#define __INTPTR_TYPE__ long int +#define __UINT16_TYPE__ short unsigned int +#define __WCHAR_TYPE__ int +#define __SIZEOF_FLOAT__ 4 +#define __pic__ 2 +#define __UINTPTR_MAX__ 0xffffffffffffffffUL +#define __INT_FAST64_WIDTH__ 64 +#define __DEC64_MIN_EXP__ (-382) +#define __cpp_decltype 200707 +#define __FLT32_DECIMAL_DIG__ 9 +#define __INT_FAST64_MAX__ 0x7fffffffffffffffL +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#define __FLT_DIG__ 6 +#define __FLT64X_MAX_EXP__ 16384 +#define __UINT_FAST64_TYPE__ long unsigned int +#define __INT_MAX__ 0x7fffffff +#define __amd64__ 1 +#define __INT64_TYPE__ long int +#define __FLT_MAX_EXP__ 128 +#define __ORDER_BIG_ENDIAN__ 4321 +#define __DBL_MANT_DIG__ 53 +#define __cpp_inheriting_constructors 201511 +#define __SIZEOF_FLOAT128__ 16 +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL +#define __DEC64_MIN__ 1E-383DD +#define __WINT_TYPE__ unsigned int +#define __UINT_LEAST32_TYPE__ unsigned int +#define __SIZEOF_SHORT__ 2 +#define __SSE__ 1 +#define __LDBL_MIN_EXP__ (-16381) +#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 +#define __WINT_WIDTH__ 32 +#define __INT_LEAST8_MAX__ 0x7f +#define __FLT32X_MAX_10_EXP__ 308 +#define __SIZEOF_INT128__ 16 +#define __LDBL_MAX_10_EXP__ 4932 +#define __ATOMIC_RELAXED 0 +#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L) +#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 +#define _LP64 1 +#define __UINT8_C(c) c +#define __FLT64_MAX_EXP__ 1024 +#define __INT_LEAST32_TYPE__ int +#define __SIZEOF_WCHAR_T__ 4 +#define __FLT128_HAS_QUIET_NAN__ 1 +#define __INT_FAST8_TYPE__ signed char +#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x +#define __GNUC_STDC_INLINE__ 1 +#define __FLT64_HAS_DENORM__ 1 +#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 +#define __DBL_DECIMAL_DIG__ 17 +#define __STDC_UTF_32__ 1 +#define __INT_FAST8_WIDTH__ 8 +#define __FXSR__ 1 +#define __DEC_EVAL_METHOD__ 2 +#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x +#define __cpp_runtime_arrays 198712 +#define __UINT64_TYPE__ long unsigned int +#define __UINT32_C(c) c##U +#define __INTMAX_MAX__ 0x7fffffffffffffffL +#define __cpp_alias_templates 200704 +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F +#define __INT8_MAX__ 0x7f +#define __LONG_WIDTH__ 64 +#define __PIC__ 2 +#define __UINT_FAST32_TYPE__ long unsigned int +#define __CHAR32_TYPE__ unsigned int +#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F +#define __cpp_constexpr 201304 +#define __INT32_TYPE__ int +#define __SIZEOF_DOUBLE__ 8 +#define __cpp_exceptions 199711 +#define __FLT_MIN_10_EXP__ (-37) +#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 +#define __INT_LEAST32_WIDTH__ 32 +#define __INTMAX_TYPE__ long int +#define __DEC128_MAX_EXP__ 6145 +#define __FLT32X_HAS_QUIET_NAN__ 1 +#define __ATOMIC_CONSUME 1 +#define __GNUC_MINOR__ 2 +#define __GLIBCXX_TYPE_INT_N_0 __int128 +#define __INT_FAST16_WIDTH__ 64 +#define __UINTMAX_MAX__ 0xffffffffffffffffUL +#define __DEC32_MANT_DIG__ 7 +#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x +#define __DBL_MAX_10_EXP__ 308 +#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L +#define __INT16_C(c) c +#define __cpp_generic_lambdas 201304 +#define __STDC__ 1 +#define __FLT32X_DIG__ 15 +#define __PTRDIFF_TYPE__ long int +#define __ATOMIC_SEQ_CST 5 +#define __UINT32_TYPE__ unsigned int +#define __FLT32X_MIN_10_EXP__ (-307) +#define __UINTPTR_TYPE__ long unsigned int +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#define __DEC128_MANT_DIG__ 34 +#define __LDBL_MIN_10_EXP__ (-4931) +#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 +#define __SSE_MATH__ 1 +#define __SIZEOF_LONG_LONG__ 8 +#define __cpp_user_defined_literals 200809 +#define __FLT128_DECIMAL_DIG__ 36 +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x +#define __LDBL_DIG__ 18 +#define __FLT_DECIMAL_DIG__ 9 +#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#define __INT_LEAST64_WIDTH__ 64 +#define __UINT_FAST8_TYPE__ unsigned char +#define _GNU_SOURCE 1 +#define __cpp_init_captures 201304 +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_RELEASE 3 diff --git a/gui/pdfworker.cpp b/gui/pdfworker.cpp index 0102038..ec86d51 100644 --- a/gui/pdfworker.cpp +++ b/gui/pdfworker.cpp @@ -32,12 +32,11 @@ void PdfWorker::generatePreviews(QVector paths, double scalefactor { break; } - Poppler::Document *doc = document(sr.path); + Poppler::Document *doc = document(sr.fileData.absPath); if(doc == nullptr) { continue; } - qDebug() << sr.path; if(doc->isLocked()) { continue; @@ -51,7 +50,7 @@ void PdfWorker::generatePreviews(QVector paths, double scalefactor PdfPreview preview; preview.previewImage = image; - preview.documentPath = sr.path; + preview.documentPath = sr.fileData.absPath; preview.page = sr.page; emit previewReady(preview); } diff --git a/gui/searchresult.cpp b/gui/searchresult.cpp deleted file mode 100644 index a148b18..0000000 --- a/gui/searchresult.cpp +++ /dev/null @@ -1,5 +0,0 @@ -#include "searchresult.h" - -SearchResult::SearchResult() -{ -} diff --git a/gui/searchworker.cpp b/gui/searchworker.cpp index 598e799..53aa600 100644 --- a/gui/searchworker.cpp +++ b/gui/searchworker.cpp @@ -1,9 +1,10 @@ -#include "searchworker.h" #include #include #include #include +#include "searchworker.h" +#include "../shared/sqlitesearch.h" SearchWorker::SearchWorker() { } @@ -165,53 +166,6 @@ bool SearchWorker::checkParanthesis(QString expression) void SearchWorker::search(const QString &query) { - QSqlQuery dbquery(db); - QVector results; - QString whereSql; - try - { - whereSql = makeSql(tokenize(query)); - } - catch(const std::exception &e) - { - emit searchError(e.what()); - return; - } - - QString prep; - // TODO: hack, as we don't wanna look into content and get redundant results, when we don't even care about content - if(whereSql.contains("content.")) - { - prep = "SELECT file.path AS path, content.page AS page, file.mtime AS mtime, file.size AS size, file.filetype " - "AS filetype FROM file INNER JOIN content ON file.id = content.fileid WHERE 1=1 AND " + - whereSql + " ORDER By file.mtime DESC, content.page ASC"; - } - else - { - prep = "SELECT file.path AS path, 0 as page, file.mtime AS mtime, file.size AS size, file.filetype AS " - "filetype FROM file WHERE " + - whereSql + " ORDER by file.mtime DESC"; - } - dbquery.prepare(prep); - bool success = dbquery.exec(); - if(!success) - { - qDebug() << "prepped: " << prep; - qDebug() << dbquery.lastError(); - emit searchError(dbquery.lastError().text()); - return; - } - - while(dbquery.next()) - { - SearchResult result; - - result.path = dbquery.value("path").toString(); - result.page = dbquery.value("page").toUInt(); - result.mtime = dbquery.value("mtime").toUInt(); - result.size = dbquery.value("filesize").toUInt(); - result.filetype = dbquery.value("filetype").toChar(); - results.append(result); - } - emit searchResultsReady(results); + SqliteSearch searcher(db); + emit searchResultsReady(searcher.search(query)); } diff --git a/gui/searchworker.h b/gui/searchworker.h index 6cd3052..2a80258 100644 --- a/gui/searchworker.h +++ b/gui/searchworker.h @@ -5,7 +5,7 @@ #include #include #include -#include "searchresult.h" +#include "../shared/searchresult.h" class SearchWorker : public QObject { diff --git a/qss.pro b/qss.pro index a1724ff..6194aa0 100644 --- a/qss.pro +++ b/qss.pro @@ -1,4 +1,5 @@ TEMPLATE = subdirs -SUBDIRS = gui cli \ - shared +SUBDIRS = gui cli shared +cli.depends = shared +gui.depends = shared diff --git a/cli/filedata.h b/shared/filedata.h similarity index 99% rename from cli/filedata.h rename to shared/filedata.h index 2418642..6cec1dd 100644 --- a/cli/filedata.h +++ b/shared/filedata.h @@ -1,6 +1,7 @@ #ifndef FILEDATA_H #define FILEDATA_H #include + class FileData { public: diff --git a/cli/qssgeneralexception.cpp b/shared/qssgeneralexception.cpp similarity index 100% rename from cli/qssgeneralexception.cpp rename to shared/qssgeneralexception.cpp diff --git a/cli/qssgeneralexception.h b/shared/qssgeneralexception.h similarity index 99% rename from cli/qssgeneralexception.h rename to shared/qssgeneralexception.h index bef5a2a..dd04343 100644 --- a/cli/qssgeneralexception.h +++ b/shared/qssgeneralexception.h @@ -10,7 +10,7 @@ class QSSGeneralException : public QException QSSGeneralException(QString message) { this->message = message; - }; + } void raise() const override { throw *this; diff --git a/gui/searchresult.h b/shared/searchresult.h similarity index 55% rename from gui/searchresult.h rename to shared/searchresult.h index 9df8c7f..eb27d90 100644 --- a/gui/searchresult.h +++ b/shared/searchresult.h @@ -1,16 +1,12 @@ #ifndef SEARCHRESULT_H #define SEARCHRESULT_H -#include +#include "filedata.h" class SearchResult { public: + FileData fileData; unsigned int page; - QString path; - uint64_t mtime; - uint64_t size; - QChar filetype; - SearchResult(); }; #endif // SEARCHRESULT_H diff --git a/shared/shared.pro b/shared/shared.pro index 61ac80f..786e3a4 100644 --- a/shared/shared.pro +++ b/shared/shared.pro @@ -23,9 +23,13 @@ DEFINES += QT_DEPRECATED_WARNINGS # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 -SOURCES += sqlitesearch.cpp +SOURCES += sqlitesearch.cpp \ + qssgeneralexception.cpp -HEADERS += sqlitesearch.h +HEADERS += sqlitesearch.h \ + filedata.h \ + searchresult.h \ + qssgeneralexception.h unix { target.path = /usr/lib INSTALLS += target diff --git a/shared/sqlitesearch.cpp b/shared/sqlitesearch.cpp index 1318b97..8e0feab 100644 --- a/shared/sqlitesearch.cpp +++ b/shared/sqlitesearch.cpp @@ -1,17 +1,21 @@ #include #include - +#include +#include +#include #include "sqlitesearch.h" +#include "qssgeneralexception.h" -SqliteSearch::SqliteSearch() +SqliteSearch::SqliteSearch(QSqlDatabase &db) { + this->db = &db; } QVector SqliteSearch::tokenize(QString expression) { if(!checkParanthesis(expression)) { - throw std::invalid_argument("Invalid paranthesis"); + throw QSSGeneralException("Invalid paranthesis"); } // TODO: merge lonewords QVector result; @@ -108,7 +112,7 @@ QString SqliteSearch::createSql(const SqliteSearch::Token &token) "' )"; } - throw std::invalid_argument("Unknown filter: " + key.toStdString()); + throw QSSGeneralException("Unknown filter: " + key); } QString SqliteSearch::makeSql(const QVector &tokens) @@ -121,8 +125,45 @@ QString SqliteSearch::makeSql(const QVector &tokens) return result; } -void SqliteSearch::search(const QString &query) +QVector SqliteSearch::search(const QString &query) { + QVector results; + QString whereSql = makeSql(tokenize(query)); + QString prep; + // TODO: hack, as we don't wanna look into content and get redundant results, when we don't even care about content + if(whereSql.contains("content.")) + { + prep = "SELECT file.path AS path, content.page AS page, file.mtime AS mtime, file.size AS size, file.filetype " + "AS filetype FROM file INNER JOIN content ON file.id = content.fileid WHERE 1=1 AND " + + whereSql + " ORDER By file.mtime DESC, content.page ASC"; + } + else + { + prep = "SELECT file.path AS path, 0 as page, file.mtime AS mtime, file.size AS size, file.filetype AS " + "filetype FROM file WHERE " + + whereSql + " ORDER by file.mtime DESC"; + } + QSqlQuery dbquery(*db); + dbquery.prepare(prep); + bool success = dbquery.exec(); + if(!success) + { + qDebug() << "prepped: " << prep; + qDebug() << dbquery.lastError(); + throw QSSGeneralException("SQL Error: " + dbquery.lastError().text()); + } + + while(dbquery.next()) + { + SearchResult result; + result.fileData.absPath = dbquery.value("path").toString(); + result.fileData.mtime = dbquery.value("mtime").toUInt(); + result.fileData.size = dbquery.value("filesize").toUInt(); + result.fileData.filetype = dbquery.value("filetype").toChar(); + result.page = dbquery.value("page").toUInt(); + results.append(result); + } + return results; } bool SqliteSearch::checkParanthesis(QString expression) diff --git a/shared/sqlitesearch.h b/shared/sqlitesearch.h index f0d294d..0a16399 100644 --- a/shared/sqlitesearch.h +++ b/shared/sqlitesearch.h @@ -1,6 +1,7 @@ #ifndef SQLITESEARCH_H #define SQLITESEARCH_H #include +#include "searchresult.h" class SqliteSearch { @@ -25,9 +26,8 @@ class SqliteSearch bool checkParanthesis(QString expression); public: - SqliteSearch(); SqliteSearch(QSqlDatabase &db); - void search(const QString &query); + QVector search(const QString &query); }; #endif // SQLITESEARCH_H