diff --git a/README.md b/README.md
index 9aeee6e..fe77389 100644
--- a/README.md
+++ b/README.md
@@ -8,15 +8,18 @@
广义的ukui-search除了包括全局搜索应用,还包括在ukui桌面环境中的本地搜索服务以及其开发接口。基于文建索引服务,应用搜索数据服务等基础数据源服务,可以提供基于C++接口的搜索功能,应用开发者可以通过引用动态库的形式直接使用其搜索功能。除此之外,ukui桌面环境搜索服务还提供了一组基于Qt插件框架的插件接口,用户可以通过继承接口以实现搜索功能的扩展。
以下提到的ukui-search如无说明均指后者。
-ukui-search 目前被打包成6个包(openkylin):
+ukui-search 目前被打包成9个包(openkylin):
+ ukui-search_xxxxxx.deb
++ ukui-search-service_xxxx.deb
+ libukui-search-dev_xxxxx.deb
+ libukui-search2_xxxxx.deb
++ libukui-search-common_xxxxx.deb
+ libchinese-segmentation1_xxxx.deb
+ libchinese-segmentation-dev_xxxx.deb
++ libchinese-segmentation-common_xxxx.deb
+ ukui-search-systemdbus_xxxxx.deb
-xxx代表版本号。其中,ukui-search 为全局搜索应用本体,libukui-search包提供了搜索服务基本功能以及扩展接口,libukui-search-dev为其开发包。libchinese-segmentation包为搜索服务提供了NLP能力,如中文分词等。ukui-search-systemdbus包提供了一些systemdbus提权操作。
+xxx代表版本号。其中,ukui-search 为全局搜索应用本体,ukui-search-service为搜索数据服务相关进程,libukui-search包提供了搜索服务基本功能以及扩展接口,libukui-search-dev为其开发包。libchinese-segmentation包为搜索服务提供了NLP能力,如中文分词等。ukui-search-systemdbus包提供了一些systemdbus提权操作。
## 运行
搜索服务相关的进程共有5个,包括ukui-search(全局搜索GUI界面),ukui-search-service(文件搜索服务),ukui-search-service-dir-manager(文件搜索目录管理模块), ukui-search-app-data-service(应用数据服务),ukuisearch-systemdbus(systembus)。
diff --git a/frontend/control/search-line-edit.cpp b/frontend/control/search-line-edit.cpp
index eb2b9e2..6eb828a 100644
--- a/frontend/control/search-line-edit.cpp
+++ b/frontend/control/search-line-edit.cpp
@@ -99,6 +99,7 @@ void SearchLineEdit::paintEvent(QPaintEvent *e)
void SearchLineEdit::focusOutEvent(QFocusEvent *e)
{
+ Q_UNUSED(e)
this->setFocus();
}
diff --git a/frontend/control/stack-pages/search-page-section.cpp b/frontend/control/stack-pages/search-page-section.cpp
index f363655..0c7bd8c 100644
--- a/frontend/control/stack-pages/search-page-section.cpp
+++ b/frontend/control/stack-pages/search-page-section.cpp
@@ -630,49 +630,6 @@ QString escapeHtml(const QString & str) {
return temp;
}
-void DetailWidget::setWidgetInfo(const QString &plugin_name, const SearchPluginIface::ResultInfo &info)
-{
-// clearLayout(m_descFrameLyt);
-// clearLayout(m_previewFrameLyt);
-// if(SearchPluginManager::getInstance()->getPlugin(plugin_name)->isPreviewEnable(info.actionKey,info.type)) {
-// m_iconLabel->hide();
-// m_previewFrameLyt->addWidget(SearchPluginManager::getInstance()->getPlugin(plugin_name)->previewPage(info.actionKey,info.type, m_previewFrame), 0 , Qt::AlignHCenter);
-// m_previewFrameLyt->setContentsMargins(0,0,0,0);
-// m_previewFrame->show();
-// } else {
-// m_previewFrame->hide();
-// m_iconLabel->setPixmap(info.icon.pixmap(info.icon.actualSize(ICON_SIZE)));
-// m_iconLabel->show();
-// }
-// QFontMetrics fontMetrics = m_nameLabel->fontMetrics();
-// QString name = fontMetrics.elidedText(info.name, Qt::ElideRight, NAME_LABEL_WIDTH - 8);
-// m_nameLabel->setText(QString("
%1
").arg(escapeHtml(name)));
-// m_nameLabel->setToolTip(info.name);
-// m_pluginLabel->setText(plugin_name);
-// m_nameFrame->show();
-// m_line_1->show();
-
-// if (info.description.length() > 0) {
-// //NEW_TODO 样式待优化
-// clearLayout(m_descFrameLyt);
-// Q_FOREACH (SearchPluginIface::DescriptionInfo desc, info.description) {
-// QLabel * descLabel = new QLabel(m_descFrame);
-// descLabel->setTextFormat(Qt::PlainText);
-// descLabel->setWordWrap(true);
-// QString show_desc = desc.key + " " + desc.value;
-// descLabel->setText(show_desc);
-// m_descFrameLyt->addWidget(descLabel);
-// }
-// m_descFrame->show();
-// m_line_2->show();
-// }
-// clearLayout(m_actionFrameLyt);
-// Q_FOREACH (SearchPluginIface::Actioninfo actioninfo, SearchPluginManager::getInstance()->getPlugin(plugin_name)->getActioninfo(info.type)) {
-// ActionLabel * actionLabel = new ActionLabel(actioninfo.displayName, info.actionKey, actioninfo.actionkey, plugin_name, info.type, m_actionFrame);
-// m_actionFrameLyt->addWidget(actionLabel);
-// }
-// m_actionFrame->show();
-}
void DetailWidget::updateDetailPage(const QString &plugin_name, const SearchPluginIface::ResultInfo &info)
{
@@ -697,71 +654,6 @@ void DetailWidget::updateDetailPage(const QString &plugin_name, const SearchPlug
m_currentPluginId = plugin_name;
}
-void DetailWidget::clear()
-{
-// m_iconLabel->hide();
-// m_nameFrame->hide();
-// m_line_1->hide();
-// m_descFrame->hide();
-// m_line_2->hide();
-// m_actionFrame->hide();
-}
-
-void DetailWidget::initUi()
-{
-// this->setFixedSize(368, 516);
-// m_mainLyt = new QVBoxLayout(this);
-// this->setLayout(m_mainLyt);
-// m_mainLyt->setContentsMargins(DETAIL_WIDGET_MARGINS);
-// m_mainLyt->setAlignment(Qt::AlignHCenter);
-
-// m_iconLabel = new QLabel(this);
-// m_iconLabel->setFixedHeight(DETAIL_ICON_HEIGHT);
-// m_iconLabel->setAlignment(Qt::AlignCenter);
-// m_previewFrame = new QFrame(this);
-// m_previewFrameLyt = new QHBoxLayout(m_previewFrame);
-
-// m_nameFrame = new QFrame(this);
-// m_nameFrameLyt = new QHBoxLayout(m_nameFrame);
-// m_nameFrame->setLayout(m_nameFrameLyt);
-// m_nameFrameLyt->setContentsMargins(DETAIL_FRAME_MARGINS);
-// m_nameLabel = new QLabel(m_nameFrame);
-// m_nameLabel->setMaximumWidth(NAME_LABEL_WIDTH);
-// m_pluginLabel = new QLabel(m_nameFrame);
-// m_pluginLabel->setEnabled(false);
-// m_nameFrameLyt->addWidget(m_nameLabel);
-// m_nameFrameLyt->addStretch();
-// m_nameFrameLyt->addWidget(m_pluginLabel);
-
-// m_line_1 = new QFrame(this);
-// m_line_1->setFixedHeight(1);
-// m_line_1->setLineWidth(0);
-// m_line_1->setStyleSheet(LINE_STYLE);
-// m_line_2 = new QFrame(this);
-// m_line_2->setFixedHeight(1);
-// m_line_2->setLineWidth(0);
-// m_line_2->setStyleSheet(LINE_STYLE);
-
-// m_descFrame = new QFrame(this);
-// m_descFrameLyt = new QVBoxLayout(m_descFrame);
-// m_descFrame->setLayout(m_descFrameLyt);
-// m_descFrameLyt->setContentsMargins(DETAIL_FRAME_MARGINS);
-
-// m_actionFrame = new QFrame(this);
-// m_actionFrameLyt = new QVBoxLayout(m_actionFrame);
-// m_actionFrame->setLayout(m_actionFrameLyt);
-// m_actionFrameLyt->setContentsMargins(DETAIL_FRAME_MARGINS);
-
-// m_mainLyt->addWidget(m_iconLabel);
-// m_mainLyt->addWidget(m_previewFrame, 0, Qt::AlignHCenter);
-// m_mainLyt->addWidget(m_nameFrame);
-// m_mainLyt->addWidget(m_line_1);
-// m_mainLyt->addWidget(m_descFrame);
-// m_mainLyt->addWidget(m_line_2);
-// m_mainLyt->addWidget(m_actionFrame);
-// m_mainLyt->addStretch();
-}
-
void DetailWidget::paintEvent(QPaintEvent *event)
{
QStyleOption opt;
@@ -791,53 +683,6 @@ void DetailWidget::clearLayout(QLayout *layout)
child = NULL;
}
-//ActionLabel::ActionLabel(const QString &action, const QString &key, const int &ActionKey, const QString &pluginId, const int type, QWidget *parent) : QLabel(parent)
-//{
-// m_action = action;
-// m_key = key;
-// m_actionKey = ActionKey;
-// m_type = type;
-// m_pluginId = pluginId;
-// this->initUi();
-// this->installEventFilter(this);
-//}
-
-//void ActionLabel::initUi()
-//{
-// this->setText(m_action);
-// QPalette pal = palette();
-// pal.setColor(QPalette::WindowText, ACTION_NORMAL_COLOR);
-// pal.setColor(QPalette::Light, ACTION_HOVER_COLOR);
-// pal.setColor(QPalette::Dark, ACTION_PRESS_COLOR);
-// this->setPalette(pal);
-// this->setForegroundRole(QPalette::WindowText);
-// this->setCursor(QCursor(Qt::PointingHandCursor));
-//}
-
-//bool ActionLabel::eventFilter(QObject *watched, QEvent *event)
-//{
-// if (watched == this) {
-// if(event->type() == QEvent::MouseButtonPress) {
-// this->setForegroundRole(QPalette::Dark);
-// return true;
-// } else if(event->type() == QEvent::MouseButtonRelease) {
-// SearchPluginIface *plugin = SearchPluginManager::getInstance()->getPlugin(m_pluginId);
-// if (plugin)
-// plugin->openAction(m_actionKey, m_key, m_type);
-// else
-// qWarning()<<"Get plugin failed!";
-// this->setForegroundRole(QPalette::Light);
-// return true;
-// } else if(event->type() == QEvent::Enter) {
-// this->setForegroundRole(QPalette::Light);
-// return true;
-// } else if(event->type() == QEvent::Leave) {
-// this->setForegroundRole(QPalette::WindowText);
-// return true;
-// }
-// }
-//}
-
ResultScrollBar::ResultScrollBar(QWidget *parent) : QScrollBar(parent)
{
diff --git a/frontend/control/stack-pages/search-page-section.h b/frontend/control/stack-pages/search-page-section.h
index 2559d13..807f689 100644
--- a/frontend/control/stack-pages/search-page-section.h
+++ b/frontend/control/stack-pages/search-page-section.h
@@ -115,32 +115,16 @@ class DetailWidget : public QWidget
public:
DetailWidget(QWidget *parent = nullptr);
~DetailWidget() = default;
- void clear();
public Q_SLOTS:
- void setWidgetInfo(const QString &plugin_name, const SearchPluginIface::ResultInfo &info);
void updateDetailPage(const QString &plugin_name, const SearchPluginIface::ResultInfo &info);
protected:
void paintEvent(QPaintEvent *event);
private:
- void initUi();
void clearLayout(QLayout *);
QVBoxLayout * m_mainLyt = nullptr;
QString m_currentPluginId;
QWidget *m_detailPage = nullptr;
-// QLabel * m_iconLabel = nullptr;
-// QFrame *m_previewFrame = nullptr;
-// QHBoxLayout *m_previewFrameLyt = nullptr;
-// QFrame * m_nameFrame = nullptr;
-// QHBoxLayout * m_nameFrameLyt = nullptr;
-// QLabel * m_nameLabel = nullptr;
-// QLabel * m_pluginLabel = nullptr;
-// QFrame * m_line_1 = nullptr;
-// QFrame * m_descFrame = nullptr;
-// QVBoxLayout * m_descFrameLyt = nullptr;
-// QFrame * m_line_2 = nullptr;
-// QFrame * m_actionFrame = nullptr;
-// QVBoxLayout * m_actionFrameLyt = nullptr;
};
class DetailArea : public QScrollArea
@@ -156,24 +140,6 @@ private:
Q_SIGNALS:
void setWidgetInfo(const QString&, const SearchPluginIface::ResultInfo&);
};
-
-//class ActionLabel : public QLabel
-//{
-// Q_OBJECT
-//public:
-// ActionLabel(const QString &action, const QString &key, const int &ActionKey, const QString &pluginId, const int type = 0, QWidget *parent = nullptr);
-// ~ActionLabel() = default;
-//private:
-// void initUi();
-// QString m_action;
-// QString m_key;
-// int m_actionKey;
-// int m_type = 0;
-// QString m_pluginId;
-
-//protected:
-// bool eventFilter(QObject *, QEvent *);
-//};
}
#endif // SEARCHPAGESECTION_H
diff --git a/frontend/control/stack-pages/search-result-page.cpp b/frontend/control/stack-pages/search-result-page.cpp
index e83c52c..b2819da 100644
--- a/frontend/control/stack-pages/search-result-page.cpp
+++ b/frontend/control/stack-pages/search-result-page.cpp
@@ -35,11 +35,6 @@ SearchResultPage::SearchResultPage(QWidget *parent) : QWidget(parent)
setInternalPlugins();
}
-void SearchResultPage::setSize(const int&width, const int&height)
-{
-// m_splitter->setFixedSize(width, height);
-}
-
void SearchResultPage::setInternalPlugins()
{
QList infoList = SearchPluginManager::getInstance()->getPluginIds();
@@ -129,6 +124,7 @@ void SearchResultPage::setWidth(int width)
void SearchResultPage::paintEvent(QPaintEvent *event)
{
+ Q_UNUSED(event)
QPainter p(this);
p.setRenderHint(QPainter::Antialiasing);
p.setBrush(palette().base());
diff --git a/frontend/control/stack-pages/search-result-page.h b/frontend/control/stack-pages/search-result-page.h
index f501620..ad42cc5 100644
--- a/frontend/control/stack-pages/search-result-page.h
+++ b/frontend/control/stack-pages/search-result-page.h
@@ -31,7 +31,6 @@ class SearchResultPage : public QWidget
public:
explicit SearchResultPage(QWidget *parent = nullptr);
~SearchResultPage() = default;
- void setSize(const int&, const int&);
void setInternalPlugins();
void appendPlugin(const QString &plugin_id);
void movePlugin(const QString &plugin_id, int index);
diff --git a/frontend/mainwindow.cpp b/frontend/mainwindow.cpp
index 8940f3b..0e223b1 100644
--- a/frontend/mainwindow.cpp
+++ b/frontend/mainwindow.cpp
@@ -404,8 +404,9 @@ void MainWindow::keyPressEvent(QKeyEvent *event)
return QWidget::keyPressEvent(event);
}
-void MainWindow::paintEvent(QPaintEvent *event) {
-
+void MainWindow::paintEvent(QPaintEvent *event)
+{
+ Q_UNUSED(event)
QPainterPath path;
path.addRoundedRect(m_searchBarWidget->x()+10, m_searchBarWidget->y()+10, m_searchBarWidget->width()-20, m_searchBarWidget->height()-20, 12, 12);
diff --git a/frontend/model/best-list-model.cpp b/frontend/model/best-list-model.cpp
index 97f5159..436359c 100644
--- a/frontend/model/best-list-model.cpp
+++ b/frontend/model/best-list-model.cpp
@@ -31,6 +31,7 @@ BestListModel::BestListModel(QObject *parent)
QModelIndex BestListModel::index(int row, int column, const QModelIndex &parent) const
{
+ Q_UNUSED(parent)
if(row < 0 || row > m_item->m_result_info_list.length() - 1)
return QModelIndex();
return createIndex(row, column, m_item);
@@ -38,6 +39,7 @@ QModelIndex BestListModel::index(int row, int column, const QModelIndex &parent)
QModelIndex BestListModel::parent(const QModelIndex &index) const
{
+ Q_UNUSED(index)
return QModelIndex();
}
@@ -96,6 +98,7 @@ QStringList BestListModel::getActions(const QModelIndex &index)
{
// if (m_item->m_result_info_list.length() > index.row() && index.row() >= 0)
// return m_item->m_result_info_list.at(index.row()).actionList;
+ Q_UNUSED(index)
return QStringList();
}
@@ -200,6 +203,7 @@ void BestListModel::moveInfo(const QString &pluginName, const int pos)
void BestListModel::startSearch(const QString &keyword)
{
+ Q_UNUSED(keyword)
if (!m_item->m_result_info_list.isEmpty()) {
this->beginResetModel();
m_plugin_id_list.clear();
diff --git a/frontend/model/search-result-model.cpp b/frontend/model/search-result-model.cpp
index 9204d8a..6a6b080 100644
--- a/frontend/model/search-result-model.cpp
+++ b/frontend/model/search-result-model.cpp
@@ -33,6 +33,7 @@ SearchResultModel::SearchResultModel(const QString &plugin_id)
QModelIndex SearchResultModel::index(int row, int column, const QModelIndex &parent) const
{
+ Q_UNUSED(parent)
if(row < 0 || row > m_item->m_result_info_list.length() - 1)
return QModelIndex();
// QVector * m_info = &m_result_info_list;
@@ -41,6 +42,7 @@ QModelIndex SearchResultModel::index(int row, int column, const QModelIndex &par
QModelIndex SearchResultModel::parent(const QModelIndex &child) const
{
+ Q_UNUSED(child)
return QModelIndex();
}
diff --git a/frontend/model/web-search-model.cpp b/frontend/model/web-search-model.cpp
index 8efcdd1..6fc9212 100644
--- a/frontend/model/web-search-model.cpp
+++ b/frontend/model/web-search-model.cpp
@@ -30,6 +30,7 @@ WebSearchModel::WebSearchModel(QObject *parent)
QModelIndex WebSearchModel::index(int row, int column, const QModelIndex &parent) const
{
+ Q_UNUSED(parent)
if(row < 0 || row > m_item->m_result_info_list.length() - 1)
return QModelIndex();
return createIndex(row, column, m_item);
@@ -37,6 +38,7 @@ QModelIndex WebSearchModel::index(int row, int column, const QModelIndex &parent
QModelIndex WebSearchModel::parent(const QModelIndex &index) const
{
+ Q_UNUSED(index)
return QModelIndex();
}
diff --git a/frontend/view/best-list-view.cpp b/frontend/view/best-list-view.cpp
index 0ec93ef..74178a8 100644
--- a/frontend/view/best-list-view.cpp
+++ b/frontend/view/best-list-view.cpp
@@ -167,21 +167,6 @@ const bool &BestListView::isExpanded()
return m_model->isExpanded();
}
-/**
- * @brief BestListView::onMenuTriggered 点击右键菜单的槽函数
- * @param action
- */
-void BestListView::onMenuTriggered(QAction *action)
-{
- //NEW_TODO 接口调整后需要修改
-// SearchPluginIface *plugin = SearchPluginManager::getInstance()->getPlugin(m_plugin_id);
-// if (plugin) {
-//// plugin->openAction(action->text(), m_model->getKey(this->currentIndex()));
-// } else {
-// qWarning()<<"Get plugin failed!";
-// }
-}
-
void BestListView::mousePressEvent(QMouseEvent *event)
{
m_tmpCurrentIndex = this->currentIndex();
diff --git a/frontend/view/best-list-view.h b/frontend/view/best-list-view.h
index 1027369..2acb63e 100644
--- a/frontend/view/best-list-view.h
+++ b/frontend/view/best-list-view.h
@@ -53,7 +53,6 @@ public Q_SLOTS:
void onItemListChanged(const int &);
void setExpanded(const bool &);
const bool &isExpanded();
- void onMenuTriggered(QAction *);
protected:
void mousePressEvent(QMouseEvent *event);
diff --git a/frontend/view/result-view.cpp b/frontend/view/result-view.cpp
index 46021bd..7f76337 100644
--- a/frontend/view/result-view.cpp
+++ b/frontend/view/result-view.cpp
@@ -325,6 +325,7 @@ const bool &ResultView::isExpanded()
*/
void ResultView::onMenuTriggered(QAction *action)
{
+ Q_UNUSED(action)
//NEW_TODO 接口调整后需要修改
SearchPluginIface *plugin = SearchPluginManager::getInstance()->getPlugin(m_plugin_id);
if (plugin) {
diff --git a/libsearch/appsearch/app-search-plugin.cpp b/libsearch/appsearch/app-search-plugin.cpp
index 89f83f4..26c4417 100644
--- a/libsearch/appsearch/app-search-plugin.cpp
+++ b/libsearch/appsearch/app-search-plugin.cpp
@@ -343,8 +343,7 @@ bool AppSearchPlugin::addDesktopShortcut(const QString& path) {
QString newName = QString(dirpath + "/" + desktopfn);
bool ret = file.copy(QString(dirpath + "/" + desktopfn));
if(ret) {
- QProcess process;
- process.startDetached(QString("chmod a+x %1").arg(newName));
+ QProcess::startDetached("chmod", {"a+x", newName});
return true;
}
return false;
@@ -385,8 +384,7 @@ bool AppSearchPlugin::installAppAction(const QString & name) {
}
appLaunchInterface = nullptr;
if (!res) {
- QProcess process;
- res = process.startDetached(QString("kylin-software-center -find %1").arg(name));
+ res = QProcess::startDetached("kylin-software-center", {"-find", name});
}
}
if(interface) {
diff --git a/libsearch/file-utils.cpp b/libsearch/file-utils.cpp
index e259d5e..6c49b52 100644
--- a/libsearch/file-utils.cpp
+++ b/libsearch/file-utils.cpp
@@ -217,6 +217,7 @@ std::string FileUtils::makeDocUterm(QString path) {
* @return
*/
QIcon FileUtils::getFileIcon(const QString &uri, bool checkValid) {
+ Q_UNUSED(checkValid)
QMutexLocker locker(&iconMutex);
auto file = wrapGFile(g_file_new_for_uri(uri.toUtf8().constData()));
auto info = wrapGFileInfo(g_file_query_info(file.get()->get(),
@@ -790,7 +791,7 @@ QString FileUtils::chineseSubString(const std::string &myStr, uint start, uint l
if (length >= myStr.length()) {
afterSub = myStr.substr(start,length); //截取;
- if (fm.width(QString::fromStdString(afterSub)) >= 2*LABEL_MAX_WIDTH) {
+ if (fm.horizontalAdvance(QString::fromStdString(afterSub)) >= 2*LABEL_MAX_WIDTH) {
sub = fm.elidedText(sub, Qt::ElideRight, 2*LABEL_MAX_WIDTH); //超过两行则省略
} else {
sub = fm.elidedText(sub, Qt::ElideLeft, 2*LABEL_MAX_WIDTH); //超过两行则省略
@@ -812,7 +813,7 @@ QString FileUtils::chineseSubString(const std::string &myStr, uint start, uint l
afterSub = myStr.substr(newStart, length);
sub=QString::fromStdString(afterSub);
- if (fm.width(QString::fromStdString(myStr.substr(newStart, start))) >= 2*LABEL_MAX_WIDTH) {
+ if (fm.horizontalAdvance(QString::fromStdString(myStr.substr(newStart, start))) >= 2*LABEL_MAX_WIDTH) {
sub = fm.elidedText(sub, Qt::ElideLeft, 2*LABEL_MAX_WIDTH);
} else {
if (newStart + 3 < start) {
@@ -959,7 +960,7 @@ QString FileUtils::wrapData(QLabel *p_label, const QString &text)
QString wrapText = text;
QFontMetrics fontMetrics = p_label->fontMetrics();
- int textSize = fontMetrics.width(wrapText);
+ int textSize = fontMetrics.horizontalAdvance(wrapText);
if(textSize > LABEL_MAX_WIDTH){
int lastIndex = 0;
@@ -967,11 +968,11 @@ QString FileUtils::wrapData(QLabel *p_label, const QString &text)
for(int i = lastIndex; i < wrapText.length(); i++) {
- if(fontMetrics.width(wrapText.mid(lastIndex, i - lastIndex)) == LABEL_MAX_WIDTH) {
+ if(fontMetrics.horizontalAdvance(wrapText.mid(lastIndex, i - lastIndex)) == LABEL_MAX_WIDTH) {
lastIndex = i;
wrapText.insert(i, '\n');
count++;
- } else if(fontMetrics.width(wrapText.mid(lastIndex, i - lastIndex)) > LABEL_MAX_WIDTH) {
+ } else if(fontMetrics.horizontalAdvance(wrapText.mid(lastIndex, i - lastIndex)) > LABEL_MAX_WIDTH) {
lastIndex = i;
wrapText.insert(i - 1, '\n');
count++;
diff --git a/libsearch/index/batch-indexer.cpp b/libsearch/index/batch-indexer.cpp
index 51b9f6b..15f7609 100644
--- a/libsearch/index/batch-indexer.cpp
+++ b/libsearch/index/batch-indexer.cpp
@@ -19,10 +19,11 @@
*/
#include "batch-indexer.h"
#include
-#include
+#include
#include
#include
#include
+#include
#include "file-utils.h"
#include "basic-indexer.h"
@@ -42,7 +43,8 @@ BatchIndexer::BatchIndexer(const QStringList &folders, const QStringList &blackL
void BatchIndexer::run()
{
- QTime t = QTime::currentTime();
+ QElapsedTimer timer;
+ timer.start();
if(m_target == Target::None || m_stop->LOAD) {
Q_EMIT done(m_mode);
return;
@@ -57,7 +59,7 @@ void BatchIndexer::run()
}
m_cache.clear();
malloc_trim(0);
- qDebug() << "FirstRunIndexer: time :" << t.elapsed();
+ qDebug() << "FirstRunIndexer: time :" << timer.elapsed() << "milliseconds";
Q_EMIT done(m_mode);
}
@@ -196,7 +198,7 @@ void BatchIndexer::contentIndex()
// bool ocrEnable = FileIndexerConfig::getInstance()->isOCREnable();
if(FileIndexerConfig::getInstance()->isOCREnable()) {
qDebug() << "OCR enabled.";
- suffixMap.unite(targetPhotographTypeMap);
+ suffixMap.insert(targetPhotographTypeMap);
}
if(m_mode == WorkMode::Rebuild) {
contentDb.rebuild();
diff --git a/libsearch/index/file-search-plugin.cpp b/libsearch/index/file-search-plugin.cpp
index c9ac09e..dee2401 100644
--- a/libsearch/index/file-search-plugin.cpp
+++ b/libsearch/index/file-search-plugin.cpp
@@ -80,13 +80,14 @@ void FileSearchPlugin::stopSearch()
QList FileSearchPlugin::getActioninfo(int type)
{
+ Q_UNUSED(type)
return m_actionInfo;
}
void FileSearchPlugin::openAction(int actionkey, QString key, int type)
{
+ Q_UNUSED(type)
//TODO add some return message here.
- qDebug() << "openAction!!!!!!!!";
switch (actionkey) {
case 0:
if(FileUtils::openFile(key) == -1) {
@@ -288,11 +289,13 @@ void DirSearchPlugin::stopSearch()
QList DirSearchPlugin::getActioninfo(int type)
{
+ Q_UNUSED(type)
return m_actionInfo;
}
void DirSearchPlugin::openAction(int actionkey, QString key, int type)
{
+ Q_UNUSED(type)
//TODO add some return message here.
switch (actionkey) {
case 0:
@@ -469,11 +472,13 @@ void FileContengSearchPlugin::stopSearch()
QList FileContengSearchPlugin::getActioninfo(int type)
{
+ Q_UNUSED(type)
return m_actionInfo;
}
void FileContengSearchPlugin::openAction(int actionkey, QString key, int type)
{
+ Q_UNUSED(type)
//TODO add some return message here.
switch (actionkey) {
case 0:
@@ -556,18 +561,18 @@ QString FileContengSearchPlugin::wrapData(QLabel *p_label, const QString &text)
QString wrapText = text;
QFontMetrics fontMetrics = p_label->fontMetrics();
- int textSize = fontMetrics.width(wrapText);
+ int textSize = fontMetrics.horizontalAdvance(wrapText);
if(textSize > LABEL_MAX_WIDTH){
int lastIndex = 0;
int count = 0;
for(int i = lastIndex; i < wrapText.length(); i++) {
- if(fontMetrics.width(wrapText.mid(lastIndex, i - lastIndex)) == LABEL_MAX_WIDTH) {
+ if(fontMetrics.horizontalAdvance(wrapText.mid(lastIndex, i - lastIndex)) == LABEL_MAX_WIDTH) {
lastIndex = i;
wrapText.insert(i, '\n');
count++;
- } else if(fontMetrics.width(wrapText.mid(lastIndex, i - lastIndex)) > LABEL_MAX_WIDTH) {
+ } else if(fontMetrics.horizontalAdvance(wrapText.mid(lastIndex, i - lastIndex)) > LABEL_MAX_WIDTH) {
lastIndex = i;
wrapText.insert(i - 1, '\n');
count++;
diff --git a/libsearch/index/index-updater.cpp b/libsearch/index/index-updater.cpp
index 36e14ef..69d8766 100644
--- a/libsearch/index/index-updater.cpp
+++ b/libsearch/index/index-updater.cpp
@@ -62,7 +62,7 @@ void IndexUpdater::UpdateIndex()
qDebug() << "===finish update basic index===";
}
if(FileIndexerConfig::getInstance()->isContentIndexEnable()) {
- if(m_stop->load()) {
+ if(m_stop->loadRelaxed()) {
qDebug() << "Index stopped, abort update content index.";
return;
}
@@ -75,7 +75,7 @@ void IndexUpdater::UpdateIndex()
QMap suffixMap = targetFileTypeMap;
//ocr
if(FileIndexerConfig::getInstance()->isOCREnable()) {
- suffixMap.unite(targetPhotographTypeMap);
+ suffixMap.insert(targetPhotographTypeMap);
}
qDebug() << "===update content index===";
int size = 0;
@@ -110,7 +110,7 @@ void IndexUpdater::UpdateIndex()
qDebug() << "30 finished.";
size = 0;
}
- if(m_stop->load()) {
+ if(m_stop->loadRelaxed()) {
qDebug() << "Index stopped, content index update interrupted";
m_cache.clear();
m_cache.shrink_to_fit();
diff --git a/libsearch/index/search-manager.cpp b/libsearch/index/search-manager.cpp
index fd79511..58ba3fd 100644
--- a/libsearch/index/search-manager.cpp
+++ b/libsearch/index/search-manager.cpp
@@ -128,7 +128,7 @@ int FileSearch::keywordSearchfile() {
try {
qDebug() << "--keywordSearchfile start--";
Xapian::Database db(INDEX_PATH);
- Xapian::Query query = creatQueryForFileSearch(db);
+ Xapian::Query query = creatQueryForFileSearch();
Xapian::Enquire enquire(db);
Xapian::Query queryFile;
@@ -162,7 +162,7 @@ int FileSearch::keywordSearchfile() {
}
}
-Xapian::Query FileSearch::creatQueryForFileSearch(Xapian::Database &db) {
+Xapian::Query FileSearch::creatQueryForFileSearch() {
auto userInput = m_keyword.toLower();
std::vector v;
for(int i = 0; i < userInput.size(); i++) {
diff --git a/libsearch/index/search-manager.h b/libsearch/index/search-manager.h
index 4da74d3..06207c7 100644
--- a/libsearch/index/search-manager.h
+++ b/libsearch/index/search-manager.h
@@ -105,7 +105,7 @@ protected:
void run();
private:
int keywordSearchfile();
- Xapian::Query creatQueryForFileSearch(Xapian::Database &db);
+ Xapian::Query creatQueryForFileSearch();
int getResult(Xapian::MSet &result);
DataQueue *m_search_result = nullptr;
diff --git a/libsearch/libsearch.pro b/libsearch/libsearch.pro
index fc0b67c..5acd334 100644
--- a/libsearch/libsearch.pro
+++ b/libsearch/libsearch.pro
@@ -39,7 +39,7 @@ include(settingsearch/settingsearch.pri)
include(websearch/websearch.pri)
include(searchinterface/search-interface.pri)
include(dirwatcher/dirwatcher.pri)
-include(mailsearch/mailsearch.pri)
+#include(mailsearch/mailsearch.pri)
include(search-app-widget-plugin/search-app-widget-plugin.pri)
LIBS += -L$$OUT_PWD/../libchinese-segmentation/ -lchinese-segmentation
diff --git a/libsearch/notesearch/note-search-plugin.cpp b/libsearch/notesearch/note-search-plugin.cpp
index c6ab657..7f51bae 100644
--- a/libsearch/notesearch/note-search-plugin.cpp
+++ b/libsearch/notesearch/note-search-plugin.cpp
@@ -28,6 +28,7 @@ using namespace UkuiSearch;
NoteSearchPlugin::NoteSearchPlugin(QObject *parent)
{
+ Q_UNUSED(parent)
g_uniqueSymbol = 0;
SearchPluginIface::Actioninfo open { 0, tr("Open")};
m_actionInfo << open;
@@ -70,11 +71,13 @@ void NoteSearchPlugin::stopSearch()
QList NoteSearchPlugin::getActioninfo(int type)
{
+ Q_UNUSED(type)
return m_actionInfo;
}
void NoteSearchPlugin::openAction(int actionkey, QString key, int type)
{
+ Q_UNUSED(type)
switch (actionkey) {
case 0:
{
@@ -103,7 +106,7 @@ void NoteSearchPlugin::openAction(int actionkey, QString key, int type)
if (res)
break;
QProcess process;
- process.startDetached(QString("ukui-notebook --show %1").arg(key.toInt()));
+ process.startDetached("ukui-notebook", {"--show", key});
break;
}
default:
diff --git a/libsearch/pluginmanage/search-plugin-manager.cpp b/libsearch/pluginmanage/search-plugin-manager.cpp
index 64243e7..99896cd 100644
--- a/libsearch/pluginmanage/search-plugin-manager.cpp
+++ b/libsearch/pluginmanage/search-plugin-manager.cpp
@@ -24,7 +24,6 @@
#include "settings-search-plugin.h"
#include "note-search-plugin.h"
#include "web-search-plugin.h"
-#include "mail-search-plugin.h"
#define PLUGIN_ORDER_SETTINGS QDir::homePath() + "/.config/org.ukui/ukui-search/ukui-search-plugin-order.conf"
#define PLUGINS_INFO_GROUP "PluginsInfo"
@@ -41,6 +40,7 @@ using namespace UkuiSearch;
static SearchPluginManager *global_instance = nullptr;
SearchPluginManager::SearchPluginManager(QObject *parent)
{
+ Q_UNUSED(parent)
initOrderSettings();
registerPlugin(new AppSearchPlugin);
registerPlugin(new NoteSearchPlugin);
diff --git a/libsearch/searchinterface/search-result-property-info.h b/libsearch/searchinterface/search-result-property-info.h
index 541c377..f6fb5ef 100644
--- a/libsearch/searchinterface/search-result-property-info.h
+++ b/libsearch/searchinterface/search-result-property-info.h
@@ -9,7 +9,7 @@ class SearchResultPropertyInfo: public QObject
Q_OBJECT
public:
SearchResultPropertyInfo();
- SearchResultPropertyInfo(SearchProperty::SearchResultProperty property);
+ explicit SearchResultPropertyInfo(SearchProperty::SearchResultProperty property);
SearchResultPropertyInfo(const SearchResultPropertyInfo &other);
SearchResultPropertyInfo& operator=(const SearchResultPropertyInfo& rhs);
bool operator==(const SearchResultPropertyInfo& rhs) const;
diff --git a/libsearch/searchinterface/searchtasks/app-search-task.h b/libsearch/searchinterface/searchtasks/app-search-task.h
index 93861ef..dee7024 100644
--- a/libsearch/searchinterface/searchtasks/app-search-task.h
+++ b/libsearch/searchinterface/searchtasks/app-search-task.h
@@ -43,7 +43,7 @@ public:
const QString name();
const QString description();
const QIcon icon() {return QIcon::fromTheme("appsearch");}
- void setEnable(bool enable) {}
+ void setEnable(bool enable) {Q_UNUSED(enable)}
bool isEnable() { return true;}
SearchProperty::SearchType getSearchType() {return SearchProperty::SearchType::Application;}
diff --git a/libsearch/searchinterface/searchtasks/file-search-task.h b/libsearch/searchinterface/searchtasks/file-search-task.h
index d9bd3e5..b3be0d9 100644
--- a/libsearch/searchinterface/searchtasks/file-search-task.h
+++ b/libsearch/searchinterface/searchtasks/file-search-task.h
@@ -40,7 +40,7 @@ public:
const QString name();
const QString description();
const QIcon icon() {return QIcon::fromTheme("folder");}
- void setEnable(bool enable) {}
+ void setEnable(bool enable) {Q_UNUSED(enable)}
bool isEnable() { return true;}
SearchProperty::SearchType getSearchType() {return SearchProperty::SearchType::File;}
diff --git a/libsearch/settingsearch/settings-search-plugin.cpp b/libsearch/settingsearch/settings-search-plugin.cpp
index 8ded2d4..3c1f83f 100644
--- a/libsearch/settingsearch/settings-search-plugin.cpp
+++ b/libsearch/settingsearch/settings-search-plugin.cpp
@@ -57,11 +57,13 @@ void SettingsSearchPlugin::stopSearch()
QList SettingsSearchPlugin::getActioninfo(int type)
{
+ Q_UNUSED(type)
return m_actionInfo;
}
void SettingsSearchPlugin::openAction(int actionkey, QString key, int type)
{
+ Q_UNUSED(type)
//TODO add some return message here.
switch (actionkey) {
case 0:
@@ -91,8 +93,7 @@ void SettingsSearchPlugin::openAction(int actionkey, QString key, int type)
if (res)
break;
//打开控制面板对应页面
- QProcess process;
- process.startDetached(QString("ukui-control-center -m %1").arg(key.toLower()));
+ QProcess::startDetached("ukui-control-center", {"-m", key.toLower()});
break;
}
default:
diff --git a/libsearch/websearch/web-search-plugin.cpp b/libsearch/websearch/web-search-plugin.cpp
index ac4eff2..3b6e52f 100644
--- a/libsearch/websearch/web-search-plugin.cpp
+++ b/libsearch/websearch/web-search-plugin.cpp
@@ -61,11 +61,15 @@ void WebSearchPlugin::stopSearch()
QList UkuiSearch::WebSearchPlugin::getActioninfo(int type)
{
+ Q_UNUSED(type)
return m_actionInfo;
}
void UkuiSearch::WebSearchPlugin::openAction(int actionkey, QString key, int type)
{
+ Q_UNUSED(actionkey)
+ Q_UNUSED(key)
+ Q_UNUSED(type)
QString address;
QString engine = GlobalSettings::getInstance()->getValue("webEngine").toString();
if(!engine.isEmpty()) {
@@ -108,6 +112,7 @@ void UkuiSearch::WebSearchPlugin::openAction(int actionkey, QString key, int typ
QWidget *UkuiSearch::WebSearchPlugin::detailPage(const UkuiSearch::SearchPluginIface::ResultInfo &ri)
{
+ Q_UNUSED(ri)
return m_detailPage;
}