fix(frontend):将通过QIcon和XdgIcon获取图标的方法加锁,避免多线程调用崩溃

This commit is contained in:
iaom 2023-09-01 17:30:21 +08:00
parent 1354acbc44
commit 81f4a315ee
30 changed files with 351 additions and 1775 deletions

View File

@ -22,6 +22,7 @@
#include "create-index-ask-dialog.h"
#include <QPainterPath>
#include <KWindowSystem>
#include "icon-loader.h"
#define MAIN_SIZE QSize(380, 202)
#define MAIN_SPACING 0
@ -61,16 +62,16 @@ void CreateIndexAskDialog::initUi() {
m_titleFrame->setLayout(m_titleLyt);
m_iconLabel = new QLabel(m_titleFrame);
m_iconLabel->setFixedSize(ICON_SIZE);
m_iconLabel->setPixmap(QIcon::fromTheme("kylin-search").pixmap(QSize(24, 24)));
m_iconLabel->setPixmap(IconLoader::loadIconQt("kylin-search").pixmap(QSize(24, 24)));
//主题改变时,更新自定义标题栏的图标
connect(qApp, &QApplication::paletteChanged, this, [ = ]() {
m_iconLabel->setPixmap(QIcon::fromTheme("kylin-search").pixmap(QSize(24, 24)));
m_iconLabel->setPixmap(IconLoader::loadIconQt("kylin-search").pixmap(QSize(24, 24)));
});
m_titleLabel = new QLabel(m_titleFrame);
m_titleLabel->setText(tr("Search"));
m_closeBtn = new QPushButton(m_titleFrame);
m_closeBtn->setFixedSize(CLOSE_BTN_SIZE);
m_closeBtn->setIcon(QIcon::fromTheme("window-close-symbolic"));
m_closeBtn->setIcon(IconLoader::loadIconQt("window-close-symbolic"));
m_closeBtn->setProperty("isWindowButton", 0x02);
m_closeBtn->setProperty("useIconHighlightEffect", 0x08);
m_closeBtn->setFlat(true);

View File

@ -19,6 +19,7 @@
*
*/
#include "show-more-label.h"
#include "icon-loader.h"
#include <QEvent>
#include <QDebug>
#include <QIcon>
@ -30,13 +31,13 @@ ShowMoreLabel::ShowMoreLabel(QWidget *parent) : QWidget(parent) {
void ShowMoreLabel::resetLabel() {
m_isOpen = false;
m_iconLabel->setPixmap(QIcon::fromTheme("ukui-down-symbolic", QIcon(":/res/icons/ukui-down-symbolic.svg")).pixmap(QSize(16, 16)));
m_iconLabel->setPixmap(IconLoader::loadIconQt("ukui-down-symbolic", QIcon(":/res/icons/ukui-down-symbolic.svg")).pixmap(QSize(16, 16)));
}
void ShowMoreLabel::setLabel()
{
m_isOpen = true;
m_iconLabel->setPixmap(QIcon::fromTheme("ukui-up-symbolic", QIcon(":/res/icons/ukui-up-symbolic.svg")).pixmap(QSize(16, 16)));
m_iconLabel->setPixmap(IconLoader::loadIconQt("ukui-up-symbolic", QIcon(":/res/icons/ukui-up-symbolic.svg")).pixmap(QSize(16, 16)));
}
/**
@ -53,7 +54,7 @@ void ShowMoreLabel::initUi() {
m_layout = new QHBoxLayout(this);
m_layout->setContentsMargins(0, 0, 0, 6);
m_iconLabel = new QLabel(this);
m_iconLabel->setPixmap(QIcon::fromTheme("ukui-down-symbolic", QIcon(":/res/icons/ukui-down-symbolic.svg")).pixmap(QSize(16, 16)));
m_iconLabel->setPixmap(IconLoader::loadIconQt("ukui-down-symbolic", QIcon(":/res/icons/ukui-down-symbolic.svg")).pixmap(QSize(16, 16)));
m_iconLabel->setCursor(QCursor(Qt::PointingHandCursor));
m_iconLabel->installEventFilter(this);
// m_loadingIconLabel = new QLabel(this); //使用图片显示加载状态时取消此label的注释
@ -73,11 +74,11 @@ bool ShowMoreLabel::eventFilter(QObject *watched, QEvent *event) {
if(event->type() == QEvent::MouseButtonPress) {
if(! m_timer->isActive()) {
if(!m_isOpen) {
m_iconLabel->setPixmap(QIcon::fromTheme("ukui-up-symbolic", QIcon(":/res/icons/ukui-up-symbolic.svg")).pixmap(QSize(16, 16)));
m_iconLabel->setPixmap(IconLoader::loadIconQt("ukui-up-symbolic", QIcon(":/res/icons/ukui-up-symbolic.svg")).pixmap(QSize(16, 16)));
m_isOpen = true;
Q_EMIT this->showMoreClicked();
} else {
m_iconLabel->setPixmap(QIcon::fromTheme("ukui-down-symbolic", QIcon(":/res/icons/ukui-down-symbolic.svg")).pixmap(QSize(16, 16)));
m_iconLabel->setPixmap(IconLoader::loadIconQt("ukui-down-symbolic", QIcon(":/res/icons/ukui-down-symbolic.svg")).pixmap(QSize(16, 16)));
m_isOpen = false;
Q_EMIT this->retractClicked();
}

View File

@ -19,6 +19,7 @@
*
*/
#include "search-line-edit.h"
#include "icon-loader.h"
#include <KWindowEffects>
#include <QApplication>
#include <QPainterPath>
@ -39,12 +40,7 @@ SearchLineEdit::SearchLineEdit(QWidget *parent) : QLineEdit(parent) {
this->setDragEnabled(true);
m_queryIcon = new QLabel;
QPixmap pixmap;
if (!QIcon::fromTheme("system-search-symbolic").isNull()) {
pixmap = QPixmap(QIcon::fromTheme("system-search-symbolic").pixmap(QSize(18, 18)));
} else {
pixmap = QPixmap(QIcon(":/res/icons/system-search.symbolic.png").pixmap(QSize(18, 18)));
}
QPixmap pixmap = QPixmap(IconLoader::loadIconQt("system-search-symbolic", QIcon(":/res/icons/system-search.symbolic.png")).pixmap(QSize(18, 18)));
m_queryIcon->setProperty("useIconHighlightEffect", 0x10);
m_queryIcon->setFixedSize(pixmap.size() / pixmap.devicePixelRatio());
m_queryIcon->setPixmap(pixmap);

View File

@ -1,594 +0,0 @@
/*
*
* Copyright (C) 2020, KylinSoft Co., Ltd.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* Authors: zhangjiaping <zhangjiaping@kylinos.cn>
*
*/
#include "settings-widget.h"
#include <QPainter>
#include <QPainterPath>
#include <QFileDialog>
#include <QDir>
#include <QDebug>
#include <QMessageBox>
#include "global-settings.h"
#include "file-utils.h"
using namespace UkuiSearch;
extern void qt_blurImage(QImage &blurImage, qreal radius, bool quality, int transposed);
SettingsWidget::SettingsWidget(QWidget *parent) : QWidget(parent) {
// this->setWindowIcon(QIcon::fromTheme("kylin-search"));
this->setWindowTitle(tr("ukui-search-settings"));
// this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
// this->setAttribute(Qt::WA_TranslucentBackground);
#if (QT_VERSION >= QT_VERSION_CHECK(5, 12, 0))
m_hints.flags = MWM_HINTS_FUNCTIONS | MWM_HINTS_DECORATIONS;
m_hints.functions = MWM_FUNC_ALL;
m_hints.decorations = MWM_DECOR_BORDER;
XAtomHelper::getInstance()->setWindowMotifHint(winId(), m_hints);
#endif
initUi();
refreshIndexState();
setupBlackList(GlobalSettings::getInstance()->getBlockDirs());
resetWebEngine();
}
SettingsWidget::~SettingsWidget() {
}
/**
* @brief SettingsWidget::initUi UI
*/
void SettingsWidget::initUi() {
QPalette pal = palette();
pal.setColor(QPalette::Window, QColor(0, 0, 0, 0));
// this->setFixedWidth(528);
// this->setMinimumHeight(460);
// this->setMaximumHeight(680);
m_mainLyt = new QVBoxLayout(this);
m_mainLyt->setContentsMargins(16, 8, 16, 24);
this->setLayout(m_mainLyt);
//标题栏
m_titleFrame = new QFrame(this);
m_titleFrame->setFixedHeight(40);
m_titleLyt = new QHBoxLayout(m_titleFrame);
m_titleLyt->setContentsMargins(0, 0, 0, 0);
m_titleFrame->setLayout(m_titleLyt);
m_titleIcon = new QLabel(m_titleFrame);
m_titleIcon->setPixmap(QIcon::fromTheme("kylin-search").pixmap(QSize(24, 24)));
//主题改变时,更新自定义标题栏的图标
connect(qApp, &QApplication::paletteChanged, this, [ = ]() {
m_titleIcon->setPixmap(QIcon::fromTheme("kylin-search").pixmap(QSize(24, 24)));
});
m_titleLabel = new QLabel(m_titleFrame);
m_titleLabel->setText(tr("Search"));
m_closeBtn = new QPushButton(m_titleFrame);
m_closeBtn->setFixedSize(24, 24);
// m_closeBtn->setIcon(QIcon(":/res/icons/close.svg"));
m_closeBtn->setIcon(QIcon::fromTheme("window-close-symbolic"));
m_closeBtn->setProperty("isWindowButton", 0x02);
m_closeBtn->setProperty("useIconHighlightEffect", 0x08);
m_closeBtn->setFlat(true);
connect(m_closeBtn, &QPushButton::clicked, this, [ = ]() {
Q_EMIT this->settingWidgetClosed();
m_timer->stop();
this->close();
});
m_titleLyt->addWidget(m_titleIcon);
m_titleLyt->addWidget(m_titleLabel);
m_titleLyt->addStretch();
m_titleLyt->addWidget(m_closeBtn);
m_mainLyt->addWidget(m_titleFrame);
m_contentFrame = new QFrame(this);
m_contentLyt = new QVBoxLayout(m_contentFrame);
m_contentFrame->setLayout(m_contentLyt);
m_contentLyt->setContentsMargins(8, 0, 8, 0);
m_mainLyt->addWidget(m_contentFrame);
//设置
m_settingLabel = new QLabel(m_contentFrame);
m_settingLabel->setText(tr("<h2>Settings</h2>"));
m_contentLyt->addWidget(m_settingLabel);
//文件索引
m_indexTitleLabel = new QLabel(m_contentFrame);
m_indexTitleLabel->setText(tr("<h3>Index State</h3>"));
m_indexStateLabel = new QLabel(m_contentFrame);
m_indexStateLabel->setText(tr("..."));
m_indexNumLabel = new QLabel(m_contentFrame);
m_indexNumLabel->setText(tr("..."));
m_contentLyt->addWidget(m_indexTitleLabel);
m_contentLyt->addWidget(m_indexStateLabel);
// m_mainLyt->addWidget(m_indexNumLabel);
m_indexNumLabel->hide();
//文件索引设置(黑名单)
m_indexSettingLabel = new QLabel(m_contentFrame);
m_indexSettingLabel->setText(tr("<h3>File Index Settings</h3>"));
m_indexDescLabel = new QLabel(m_contentFrame);
m_indexDescLabel->setText(tr("Following folders will not be searched. You can set it by adding and removing folders."));
m_indexDescLabel->setWordWrap(true);
m_indexBtnFrame = new QFrame(m_contentFrame);
m_indexBtnLyt = new QHBoxLayout(m_indexBtnFrame);
m_indexBtnLyt->setContentsMargins(0, 0, 0, 0);
m_indexBtnFrame->setLayout(m_indexBtnLyt);
m_addDirBtn = new QPushButton(m_indexBtnFrame);
m_addDirBtn->setFixedHeight(32);
m_addDirBtn->setMinimumWidth(164);
m_addDirBtn->setText(tr("Add ignored folders"));
connect(m_addDirBtn, &QPushButton::clicked, this, &SettingsWidget::onBtnAddClicked);
m_indexBtnLyt->addWidget(m_addDirBtn);
m_indexBtnLyt->addStretch();
m_dirListArea = new QScrollArea(m_contentFrame);
m_dirListArea->setPalette(pal);
m_dirListArea->setFrameShape(QFrame::Shape::NoFrame);
m_dirListWidget = new QWidget(m_contentFrame);
m_dirListLyt = new QVBoxLayout(m_dirListWidget);
m_dirListLyt->setContentsMargins(0, 0, 0, 0);
m_dirListLyt->setSpacing(0);
m_dirListWidget->setLayout(m_dirListLyt);
m_dirListArea->setWidget(m_dirListWidget);
m_dirListArea->setWidgetResizable(m_contentFrame);
m_contentLyt->addWidget(m_indexSettingLabel);
m_contentLyt->addWidget(m_indexDescLabel);
m_contentLyt->addWidget(m_indexBtnFrame);
m_contentLyt->addWidget(m_dirListArea);
//搜索引擎设置
m_searchEngineLabel = new QLabel(m_contentFrame);
m_searchEngineLabel->setText(tr("<h3>Search Engine Settings</h3>"));
m_engineDescLabel = new QLabel(m_contentFrame);
m_engineDescLabel->setText(tr("Please select search engine you preferred."));
m_engineDescLabel->setWordWrap(true);
m_engineBtnGroup = new QButtonGroup(m_contentFrame);
m_baiduBtn = new QRadioButton(m_contentFrame);
m_sougouBtn = new QRadioButton(m_contentFrame);
m_360Btn = new QRadioButton(m_contentFrame);
m_baiduBtn->setFixedSize(16, 16);
m_sougouBtn->setFixedSize(16, 16);
m_360Btn->setFixedSize(16, 16);
m_radioBtnFrame = new QFrame(m_contentFrame);
m_radioBtnLyt = new QHBoxLayout(m_radioBtnFrame);
m_radioBtnFrame->setLayout(m_radioBtnLyt);
m_baiduLabel = new QLabel();
m_baiduLabel->setText(tr("baidu"));
m_sougouLabel = new QLabel();
m_sougouLabel->setText(tr("sougou"));
m_360Label = new QLabel();
m_360Label->setText(tr("360"));
m_radioBtnLyt->setContentsMargins(0, 0, 0, 0);
m_radioBtnLyt->addWidget(m_baiduBtn);
m_radioBtnLyt->addWidget(m_baiduLabel);
m_radioBtnLyt->addWidget(m_sougouBtn);
m_radioBtnLyt->addWidget(m_sougouLabel);
m_radioBtnLyt->addWidget(m_360Btn);
m_radioBtnLyt->addWidget(m_360Label);
m_radioBtnLyt->addStretch();
m_engineBtnGroup->setExclusive(true);
m_engineBtnGroup->addButton(m_baiduBtn);
m_engineBtnGroup->addButton(m_sougouBtn);
m_engineBtnGroup->addButton(m_360Btn);
// m_engineBtnGroup->setId(m_baiduBtn, WebEngine::Baidu);
// m_engineBtnGroup->setId(m_sougouBtn, WebEngine::Sougou);
// m_engineBtnGroup->setId(m_360Btn, WebEngine::_360);
// connect(m_engineBtnGroup, QOverload<int>::of(&QButtonGroup::buttonClicked), [ = ] (int id) {
// setWebEngine(id);
// });
connect(m_baiduBtn, &QRadioButton::clicked, [ = ](bool checked) {
if(checked) setWebEngine("baidu");
});
connect(m_sougouBtn, &QRadioButton::clicked, [ = ](bool checked) {
if(checked) setWebEngine("sougou");
});
connect(m_360Btn, &QRadioButton::clicked, [ = ](bool checked) {
if(checked) setWebEngine("360");
});
m_contentLyt->addWidget(m_searchEngineLabel);
m_contentLyt->addWidget(m_engineDescLabel);
m_contentLyt->addWidget(m_radioBtnFrame);
//取消与确认按钮 (隐藏)
// m_bottomBtnFrame = new QFrame(this);
// m_bottomBtnLyt = new QHBoxLayout(m_bottomBtnFrame);
// m_bottomBtnFrame->setLayout(m_bottomBtnLyt);
// m_bottomBtnLyt->setSpacing(20);
// m_cancelBtn = new QPushButton(m_bottomBtnFrame);
// m_cancelBtn->setText(tr("Cancel"));
// m_cancelBtn->setFixedSize(80, 32);
// connect(m_cancelBtn, &QPushButton::clicked, this, &SettingsWidget::onBtnCancelClicked);
// m_confirmBtn = new QPushButton(m_bottomBtnFrame);
// m_confirmBtn->setText(tr("Confirm"));
// m_confirmBtn->setFixedSize(80, 32);
// connect(m_confirmBtn, &QPushButton::clicked, this, &SettingsWidget::onBtnConfirmClicked);
// m_bottomBtnLyt->addStretch();
// m_bottomBtnLyt->addWidget(m_cancelBtn);
// m_bottomBtnLyt->addWidget(m_confirmBtn);
// m_mainLyt->addWidget(m_bottomBtnFrame);
m_contentLyt->addStretch();
#if (QT_VERSION < QT_VERSION_CHECK(5, 12, 0))
this->m_titleFrame->hide();
setAttribute(Qt::WA_DeleteOnClose);
#endif
}
/**
* @brief SettingsWidget::setupBlackList
* @param list
*/
void SettingsWidget::setupBlackList(const QStringList& list) {
clearLayout(m_dirListLyt);
m_blockdirs = 0;
Q_FOREACH(QString path, list) {
FolderListItem * item = new FolderListItem(m_dirListWidget, path);
m_dirListLyt->addWidget(item);
item->setMaximumWidth(this->width() - 52);
connect(item, &FolderListItem::onDelBtnClicked, this, &SettingsWidget::onBtnDelClicked);
m_blockdirs ++;
}
this->resize();
m_dirListWidget->setFixedWidth(this->width() - 68);
// m_dirListLyt->addStretch();
}
/**
* @brief SettingsWidget::clearLayout
* @param layout
*/
void SettingsWidget::clearLayout(QLayout * layout) {
if(! layout) return;
QLayoutItem * child;
while((child = layout->takeAt(0)) != 0) {
if(child->widget()) {
child->widget()->setParent(NULL);
}
delete child;
}
child = NULL;
}
/**
* @brief SettingsWidget::refreshIndexState
*/
void SettingsWidget::refreshIndexState() {
// qDebug()<<"FileUtils::indexStatus: "<<FileUtils::indexStatus;
if(FileUtils::indexStatus != 0) {
this->setIndexState(true);
} else {
this->setIndexState(false);
}
m_indexNumLabel->setText(QString("%1/%2").arg(QString::number(SearchManager::getCurrentIndexCount())).arg(QString::number(FileUtils::maxIndexCount)));
m_timer = new QTimer;
connect(m_timer, &QTimer::timeout, this, [ = ]() {
qDebug() << "FileUtils::indexStatus: " << FileUtils::indexStatus;
if(FileUtils::indexStatus != 0) {
this->setIndexState(true);
} else {
this->setIndexState(false);
}
m_indexNumLabel->setText(QString("%1/%2").arg(QString::number(SearchManager::getCurrentIndexCount())).arg(QString::number(FileUtils::maxIndexCount)));
});
m_timer->start(0.5 * 1000);
}
/**
* @brief SettingsWidget::onBtnDelClicked
* @param path
*/
void SettingsWidget::onBtnDelClicked(const QString& path) {
QMessageBox message(QMessageBox::Question, tr("Search"), tr("Whether to delete this directory?"));
QPushButton * buttonYes = message.addButton(tr("Yes"), QMessageBox::YesRole);
message.addButton(tr("No"), QMessageBox::NoRole);
message.exec();
if(message.clickedButton() != buttonYes) {
return;
}
int returnCode = 0;
if(GlobalSettings::getInstance()->setBlockDirs(path, returnCode, true)) {
qDebug() << "Remove block dir in onBtnDelClicked() successed.";
Q_FOREACH(FolderListItem * item, m_dirListWidget->findChildren<FolderListItem*>()) {
if(item->getPath() == path) {
item->deleteLater();
item = NULL;
m_blockdirs --;
this->resize();
return;
}
}
} else {
showWarningDialog(returnCode);
}
}
/**
* @brief SettingsWidget::resetWebEngine UI控件上
*/
void SettingsWidget::resetWebEngine() {
QString engine = GlobalSettings::getInstance()->getValue(WEB_ENGINE).toString();
m_engineBtnGroup->blockSignals(true);
if(!engine.isEmpty()) {
if(engine == "360") {
m_360Btn->setChecked(true);
} else if(engine == "sougou") {
m_sougouBtn->setChecked(true);
} else {
m_baiduBtn->setChecked(true);
}
} else {
m_baiduBtn->setChecked(true);
}
m_engineBtnGroup->blockSignals(false);
}
/**
* @brief SettingsWidget::setWebEngine
* @param engine
*/
void SettingsWidget::setWebEngine(const QString& engine) {
// GlobalSettings::getInstance()->setValue(WEB_ENGINE, engine);
Q_EMIT this->webEngineChanged(engine);
}
/**
* @brief setIndexState
* @param isCreatingIndex
*/
void SettingsWidget::setIndexState(bool isCreatingIndex) {
if(isCreatingIndex) {
m_indexStateLabel->setText(tr("Creating ..."));
return;
}
m_indexStateLabel->setText(tr("Done"));
}
/**
* @brief SettingsWidget::setIndexNum
* @param num
*/
void SettingsWidget::setIndexNum(int num) {
m_indexNumLabel->setText(QString(tr("Index Entry: %1")).arg(QString::number(num)));
}
/**
* @brief SettingsWidget::showWidget
*/
void SettingsWidget::showWidget() {
Qt::WindowFlags flags = this->windowFlags();
flags |= Qt::WindowStaysOnTopHint;
this->setWindowFlags(flags);
flags &= ~Qt::WindowStaysOnTopHint;
this->setWindowFlags(flags);
m_timer->start();
#if (QT_VERSION >= QT_VERSION_CHECK(5, 12, 0))
XAtomHelper::getInstance()->setWindowMotifHint(winId(), m_hints);
#endif
this->show();
}
///**
// * @brief SettingsWidget::onBtnConfirmClicked 点击确认按钮的槽函数
// */
//void SettingsWidget::onBtnConfirmClicked() {
// Q_EMIT this->settingWidgetClosed();
// m_timer->stop();
// this->close();
//}
///**
// * @brief SettingsWidget::onBtnCancelClicked 点击取消按钮的槽函数
// */
//void SettingsWidget::onBtnCancelClicked() {
// Q_EMIT this->settingWidgetClosed();
// m_timer->stop();
// this->close();
//}
/**
* @brief SettingsWidget::onBtnAddClicked
*/
void SettingsWidget::onBtnAddClicked() {
QFileDialog * fileDialog = new QFileDialog(this);
// fileDialog->setFileMode(QFileDialog::Directory); //允许查看文件和文件夹,但只允许选择文件夹
fileDialog->setFileMode(QFileDialog::DirectoryOnly); //只允许查看文件夹
// fileDialog->setViewMode(QFileDialog::Detail);
fileDialog->setDirectory(QDir::homePath());
fileDialog->setNameFilter(tr("Directories"));
fileDialog->setWindowTitle(tr("select blocked folder"));
fileDialog->setLabelText(QFileDialog::Accept, tr("Select"));
fileDialog->setLabelText(QFileDialog::LookIn, tr("Position: "));
fileDialog->setLabelText(QFileDialog::FileName, tr("FileName: "));
fileDialog->setLabelText(QFileDialog::FileType, tr("FileType: "));
fileDialog->setLabelText(QFileDialog::Reject, tr("Cancel"));
if(fileDialog->exec() != QDialog::Accepted) {
fileDialog->deleteLater();
return;
}
QString selectedDir = 0;
int returnCode;
selectedDir = fileDialog->selectedFiles().first();
qDebug() << "Selected a folder in onBtnAddClicked(): " << selectedDir << ". ->settings-widget.cpp #238";
if(GlobalSettings::getInstance()->setBlockDirs(selectedDir, returnCode)) {
setupBlackList(GlobalSettings::getInstance()->getBlockDirs());
qDebug() << "Add block dir in onBtnAddClicked() successed. ->settings-widget.cpp #238";
} else {
showWarningDialog(returnCode);
}
}
/**
* @brief SettingsWidget::paintEvent
* @param event
*/
void SettingsWidget::paintEvent(QPaintEvent *event) {
Q_UNUSED(event)
QPainter p(this);
p.setRenderHint(QPainter::Antialiasing);
QPainterPath rectPath;
rectPath.addRect(this->rect());
// 绘制一个背景
p.save();
p.fillPath(rectPath, palette().color(QPalette::Base));
p.restore();
}
/**
* @brief SettingsWidget::resize
*/
void SettingsWidget::resize() {
// if (m_blockdirs <= 1) {
// this->setFixedSize(528, 455);
// } else if (m_blockdirs <= 3) {
// this->setFixedSize(528, 425 + 30 * m_blockdirs);
// } else {
// this->setFixedSize(528, 515);
// }
if(m_blockdirs <= 4) {
m_dirListArea->setFixedHeight(32 * m_blockdirs + 4);
m_dirListWidget->setFixedHeight(32 * m_blockdirs);
} else {
m_dirListWidget->setFixedHeight(32 * m_blockdirs);
m_dirListArea->setFixedHeight(32 * 4 + 4);
}
this->setFixedSize(528, 410 + m_dirListArea->height());
}
/**
* @brief SettingsWidget::showWarningDialog
* @param errorCode
*/
void SettingsWidget::showWarningDialog(const int & errorCode) {
qWarning() << "Add block dir in onBtnAddClicked() failed. Code: " << errorCode << " ->settings-widget.cpp #238";
QString errorMessage;
switch(errorCode) {
case 1: {
errorMessage = tr("Choosen path is Empty!");
break;
}
case 2: {
errorMessage = tr("Choosen path is not in \"home\"!");
break;
}
case 3: {
errorMessage = tr("Its' parent folder has been blocked!");
break;
}
default: {
errorMessage = tr("Set blocked folder failed!");
break;
}
}
QMessageBox message(QMessageBox::Warning, tr("Search"), errorMessage);
message.addButton(tr("OK"), QMessageBox::AcceptRole);
message.exec();
}
FolderListItem::FolderListItem(QWidget *parent, const QString &path) : QWidget(parent) {
m_path = path;
initUi();
}
FolderListItem::~FolderListItem() {
}
/**
* @brief FolderListItem::initUi ui
*/
void FolderListItem::initUi() {
m_layout = new QVBoxLayout(this);
m_layout->setSpacing(0);
m_layout->setContentsMargins(0, 0, 0, 0);
m_widget = new QWidget(this);
m_widget->setObjectName("mWidget");
this->setFixedHeight(32);
m_layout->addWidget(m_widget);
m_widgetlayout = new QHBoxLayout(m_widget);
m_widgetlayout->setContentsMargins(8, 4, 8, 4);
m_widget->setLayout(m_widgetlayout);
m_iconLabel = new QLabel(m_widget);
m_pathLabel = new QLabel(m_widget);
m_delLabel = new QLabel(m_widget);
m_iconLabel->setPixmap(QIcon::fromTheme("inode-directory").pixmap(QSize(16, 16)));
m_pathLabel->setText(m_path);
m_delLabel->setText(tr("Delete the folder out of blacklist"));
QPalette pal = palette();
pal.setColor(QPalette::WindowText, QColor(55, 144, 250, 255));
m_delLabel->setPalette(pal);
m_delLabel->setCursor(QCursor(Qt::PointingHandCursor));
m_delLabel->installEventFilter(this);
m_delLabel->hide();
m_widgetlayout->addWidget(m_iconLabel);
m_widgetlayout->addWidget(m_pathLabel);
m_widgetlayout->addStretch();
m_widgetlayout->addWidget(m_delLabel);
}
/**
* @brief FolderListItem::getPath
* @return
*/
QString FolderListItem::getPath() {
return m_path;
}
/**
* @brief FolderListItem::enterEvent
* @param event
*/
void FolderListItem::enterEvent(QEvent *event) {
m_delLabel->show();
m_widget->setStyleSheet("QWidget#mWidget{background: rgba(0,0,0,0.1);}");
QWidget::enterEvent(event);
}
/**
* @brief FolderListItem::leaveEvent
* @param event
*/
void FolderListItem::leaveEvent(QEvent *event) {
m_delLabel->hide();
m_widget->setStyleSheet("QWidget#mWidget{background: transparent;}");
QWidget::leaveEvent(event);
}
/**
* @brief FolderListItem::eventFilter
* @param watched
* @param event
* @return
*/
bool FolderListItem::eventFilter(QObject *watched, QEvent *event) {
if(watched == m_delLabel) {
if(event->type() == QEvent::MouseButtonPress) {
// qDebug()<<"pressed!";
Q_EMIT this->onDelBtnClicked(m_path);
}
}
return QObject::eventFilter(watched, event);
}

View File

@ -1,154 +0,0 @@
/*
*
* Copyright (C) 2020, KylinSoft Co., Ltd.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* Authors: zhangjiaping <zhangjiaping@kylinos.cn>
*
*/
#ifndef SETTINGSWIDGET_H
#define SETTINGSWIDGET_H
#include <QWidget>
#include <QDialog>
#include <QFrame>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QLabel>
#include <QRadioButton>
#include <QButtonGroup>
#include <QPushButton>
#include <QScrollArea>
#include <QTimer>
#include "libsearch.h"
#if (QT_VERSION >= QT_VERSION_CHECK(5, 12, 0))
#include "xatom-helper.h"
#endif
namespace UkuiSearch {
class FolderListItem : public QWidget {
Q_OBJECT
public:
explicit FolderListItem(QWidget *parent = nullptr, const QString &path = 0);
~FolderListItem();
QString getPath();
protected:
virtual void enterEvent(QEvent *);
virtual void leaveEvent(QEvent *);
bool eventFilter(QObject *, QEvent *);
private:
void initUi();
QString m_path;
QVBoxLayout * m_layout = nullptr;
QWidget * m_widget = nullptr;
QHBoxLayout * m_widgetlayout = nullptr;
QLabel * m_iconLabel = nullptr;
QLabel * m_pathLabel = nullptr;
QLabel * m_delLabel = nullptr;
Q_SIGNALS:
void onDelBtnClicked(const QString&);
};
class SettingsWidget : public QWidget {
Q_OBJECT
public:
explicit SettingsWidget(QWidget *parent = nullptr);
~SettingsWidget();
void setIndexState(bool);
void setIndexNum(int);
void showWidget();
void resetWebEngine();
private:
void initUi();
void setupBlackList(const QStringList &);
void clearLayout(QLayout *);
void refreshIndexState();
void paintEvent(QPaintEvent *);
void resize();
void showWarningDialog(const int&);
#if (QT_VERSION >= QT_VERSION_CHECK(5, 12, 0))
MotifWmHints m_hints;
#endif
//标题栏
QVBoxLayout * m_mainLyt = nullptr;
QFrame * m_contentFrame = nullptr;
QVBoxLayout * m_contentLyt = nullptr;
QFrame * m_titleFrame = nullptr;
QHBoxLayout * m_titleLyt = nullptr;
QLabel * m_titleIcon = nullptr;
QLabel * m_titleLabel = nullptr;
QPushButton * m_closeBtn = nullptr;
//设置
QLabel * m_settingLabel = nullptr;
//文件索引
QLabel * m_indexTitleLabel = nullptr;
QLabel * m_indexStateLabel = nullptr;
QLabel * m_indexNumLabel = nullptr;
//文件索引设置(黑名单)
QLabel * m_indexSettingLabel = nullptr;
QLabel * m_indexDescLabel = nullptr;
QFrame * m_indexBtnFrame = nullptr;
QHBoxLayout * m_indexBtnLyt = nullptr;
QPushButton * m_addDirBtn = nullptr;
QScrollArea * m_dirListArea = nullptr;
QWidget * m_dirListWidget = nullptr;
QVBoxLayout * m_dirListLyt = nullptr;
//搜索引擎设置
QLabel * m_searchEngineLabel = nullptr;
QLabel * m_engineDescLabel = nullptr;
QButtonGroup * m_engineBtnGroup = nullptr;
QFrame * m_radioBtnFrame = nullptr;
QHBoxLayout * m_radioBtnLyt = nullptr;
QRadioButton * m_baiduBtn = nullptr;
QLabel * m_baiduLabel = nullptr;
QRadioButton * m_sougouBtn = nullptr;
QLabel * m_sougouLabel = nullptr;
QRadioButton * m_360Btn = nullptr;
QLabel * m_360Label = nullptr;
//取消与确认按钮
QFrame * m_bottomBtnFrame = nullptr;
QHBoxLayout * m_bottomBtnLyt = nullptr;
QPushButton * m_cancelBtn = nullptr;
QPushButton * m_confirmBtn = nullptr;
QTimer * m_timer;
int m_blockdirs = 0; //黑名单文件夹数量
Q_SIGNALS:
void settingWidgetClosed();
void webEngineChanged(const QString&);
private Q_SLOTS:
// void onBtnConfirmClicked();
// void onBtnCancelClicked();
void onBtnAddClicked();
void onBtnDelClicked(const QString&);
void setWebEngine(const QString&);
};
}
#endif // SETTINGSWIDGET_H

View File

@ -36,6 +36,7 @@
#include "windowmanager/windowmanager.h"
#include "global-settings.h"
#include "action-transmiter.h"
#include "icon-loader.h"
#define MAIN_MARGINS 0, 0, 0, 0
#define TITLE_MARGINS 0,0,0,0
@ -75,7 +76,7 @@ MainWindow::MainWindow(QWidget *parent) :
initTimer();
m_sys_tray_icon = new QSystemTrayIcon(this);
m_sys_tray_icon->setIcon(QIcon::fromTheme("system-search-symbolic", QIcon(":/res/icons/edit-find-symbolic.svg")));
m_sys_tray_icon->setIcon(IconLoader::loadIconQt("system-search-symbolic", QIcon(":/res/icons/edit-find-symbolic.svg")));
m_sys_tray_icon->setToolTip(tr("Global Search"));
m_sys_tray_icon->show();
installEventFilter(this);

View File

@ -25,6 +25,7 @@
#include <QCommandLineParser>
#include "plugin-manager.h"
#include "search-plugin-manager.h"
#include "icon-loader.h"
using namespace UkuiSearch;
UkuiSearchGui::UkuiSearchGui(int &argc, char *argv[], const QString &applicationName): QtSingleApplication (applicationName, argc, argv)
@ -73,7 +74,7 @@ UkuiSearchGui::UkuiSearchGui(int &argc, char *argv[], const QString &application
m_mainWindow = new UkuiSearch::MainWindow();
m_dbusService = new UkuiSearch::UkuiSearchDbusServices(m_mainWindow);
qApp->setWindowIcon(QIcon::fromTheme("kylin-search"));
qApp->setWindowIcon(IconLoader::loadIconQt("kylin-search"));
this->setActivationWindow(m_mainWindow);
}

View File

@ -99,6 +99,7 @@ set(LIBUKUI_SEARCH_SRC
searchinterface/ukui-search-task.cpp searchinterface/ukui-search-task.h
settingsearch/settings-search-plugin.cpp settingsearch/settings-search-plugin.h
websearch/web-search-plugin.cpp websearch/web-search-plugin.h
icon-loader.cpp icon-loader.h
)
set(QRC_FILES resource1.qrc)
file(GLOB TS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../translations/libukui-search/*.ts)

View File

@ -21,7 +21,6 @@
#include <gio/gdesktopappinfo.h>
#include <QWidget>
#include <QLabel>
#include <qt5xdg/XdgIcon>
#include <QDeadlineTimer>
#include "file-utils.h"
using namespace UkuiSearch;
@ -191,7 +190,7 @@ void AppSearchPlugin::run()
SearchPluginIface::ResultInfo ri;
ri.name = data.value(SearchProperty::SearchResultProperty::ApplicationLocalName).toString();
ri.icon = XdgIcon::fromTheme(data.value(SearchProperty::SearchResultProperty::ApplicationIconName).toString(), QIcon(":/res/icons/unknown.svg"));
ri.icon = IconLoader::loadIconQt(data.value(SearchProperty::SearchResultProperty::ApplicationIconName).toString(), QIcon(":/res/icons/unknown.svg"));
SearchPluginIface::DescriptionInfo description;
description.key = QString(tr("Application Description:"));
description.value = data.value(SearchProperty::SearchResultProperty::ApplicationDescription).toString();

View File

@ -35,6 +35,8 @@
#include "separation-line.h"
#include "libsearch_global.h"
#include "ukui-search-task.h"
#include "icon-loader.h"
namespace UkuiSearch {
class LIBSEARCH_EXPORT AppSearchPlugin : public QThread, public SearchPluginIface
{
@ -46,7 +48,7 @@ public:
PluginType pluginType() {return PluginType::SearchPlugin;}
const QString name();
const QString description();
const QIcon icon() {return QIcon::fromTheme("appsearch");}
const QIcon icon() {return IconLoader::loadIconQt("appsearch");}
void setEnable(bool enable) {m_enable = enable;}
bool isEnable() {return m_enable;}
QString getPluginName();

View File

@ -55,11 +55,11 @@
#include "gobject-template.h"
#include "hanzi-to-pinyin.h"
#include "common.h"
#include "icon-loader.h"
using namespace UkuiSearch;
#define MAX_CONTENT_LENGTH 20480000
static QMutex iconMutex;
/**
* @brief elem的子节点
* @param elem
@ -219,7 +219,6 @@ std::string FileUtils::makeDocUterm(QString path) {
*/
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(),
G_FILE_ATTRIBUTE_STANDARD_ICON,
@ -227,7 +226,8 @@ QIcon FileUtils::getFileIcon(const QString &uri, bool checkValid) {
nullptr,
nullptr));
if(!G_IS_FILE_INFO(info.get()->get()))
return QIcon::fromTheme("unknown",QIcon(":/res/icons/unknown.svg"));
return IconLoader::loadIconQt("unknown",QIcon(":/res/icons/unknown.svg"));
GIcon *g_icon = g_file_info_get_icon(info.get()->get());
//do not unref the GIcon from info.
@ -236,7 +236,7 @@ QIcon FileUtils::getFileIcon(const QString &uri, bool checkValid) {
if(icon_names) {
auto p = icon_names;
while(*p) {
QIcon icon = QIcon::fromTheme(*p);
QIcon icon = IconLoader::loadIconQt(*p);
if(!icon.isNull()) {
return icon;
} else {
@ -245,63 +245,12 @@ QIcon FileUtils::getFileIcon(const QString &uri, bool checkValid) {
}
}
}
return QIcon::fromTheme("unknown",QIcon(":/res/icons/unknown.svg"));
}
/**
* @brief FileUtils::getAppIcon
* @param path .desktop文件的完整路径
* @return
*/
QIcon FileUtils::getAppIcon(const QString &path) {
QByteArray ba;
ba = path.toUtf8();
GKeyFile * keyfile;
keyfile = g_key_file_new();
if(!g_key_file_load_from_file(keyfile, ba.data(), G_KEY_FILE_NONE, NULL)) {
g_key_file_free(keyfile);
return QIcon::fromTheme("unknown",QIcon(":/res/icons/unknown.svg"));
}
QString icon = QString(g_key_file_get_locale_string(keyfile, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_ICON, NULL, NULL));
g_key_file_free(keyfile);
if(QIcon::fromTheme(icon).isNull()) {
return QIcon(":/res/icons/desktop.png");
}
return QIcon::fromTheme(icon);
}
/**
* @brief FileUtils::getSettingIcon
* @param setting About/About->Properties
* @param is_white
* @return
*/
QIcon FileUtils::getSettingIcon(const QString &setting, const bool is_white) {
QString name = setting.left(setting.indexOf("/"));
if(! name.isEmpty()) {
name.replace(QString(name.at(0)), QString(name.at(0).toUpper()));
}
QString path;
if(is_white) {
path = QString("/usr/share/ukui-control-center/shell/res/secondaryleftmenu/%1White.svg").arg(name);
} else {
path = QString("/usr/share/ukui-control-center/shell/res/secondaryleftmenu/%1.svg").arg(name);
}
QFile file(path);
if(file.exists()) {
return QIcon(path);
} else {
return QIcon::fromTheme("ukui-control-center", QIcon(":/res/icons/ukui-control-center.svg")); //无插件图标时,返回控制面板应用图标
// if (is_white) {
// return QIcon(QString("/usr/share/ukui-control-center/shell/res/secondaryleftmenu/%1White.svg").arg("About"));
// } else {
// return QIcon(QString("/usr/share/ukui-control-center/shell/res/secondaryleftmenu/%1.svg").arg("About"));
// }
}
return IconLoader::loadIconQt("unknown", QIcon(":/res/icons/unknown.svg"));
}
QIcon FileUtils::getSettingIcon() {
return QIcon::fromTheme("ukui-control-center", QIcon(":/res/icons/ukui-control-center.svg")); //返回控制面板应用图标
return IconLoader::loadIconQt("ukui-control-center", QIcon(":/res/icons/ukui-control-center.svg")); //返回控制面板应用图标
// 返回控制面板应用图标
}
/**
@ -971,12 +920,6 @@ QString FileUtils::getSnippet(const std::string &myStr, uint start, const QStrin
return snippet;
}
QIcon FileUtils::iconFromTheme(const QString &name, const QIcon &iconDefault)
{
QMutexLocker locker(&iconMutex);
return QIcon::fromTheme(name, iconDefault);
}
bool FileUtils::isOpenXMLFileEncrypted(const QString &path)
{
QFile file(path);

View File

@ -37,8 +37,6 @@ public:
static qreal horizontalAdvanceContainsKeyword(const QString &content, const QString &keyword);
static std::string makeDocUterm(QString path);
static QIcon getFileIcon(const QString &uri, bool checkValid = true);
static QIcon getAppIcon(const QString &path);
static QIcon getSettingIcon(const QString &setting, const bool is_white);
static QIcon getSettingIcon();
static QString getFileName(const QString &uri);
@ -64,7 +62,6 @@ public:
static bool copyPath(QString &path);
static QString escapeHtml(const QString &str);
static QString getSnippet(const std::string &myStr, uint start, const QString &keyword);
static QIcon iconFromTheme(const QString &name, const QIcon &iconDefault);
static bool isOpenXMLFileEncrypted(const QString &path);
/**
* @brief isEncrypedOrUnsupport

23
libsearch/icon-loader.cpp Normal file
View File

@ -0,0 +1,23 @@
//
// Created by zpf on 2023/9/1.
//
#include "icon-loader.h"
#include <QMutex>
#include <QMutexLocker>
#include <XdgIcon>
namespace UkuiSearch {
static QMutex qtIconMutex;
static QMutex xdgIconMutex;
QIcon IconLoader::loadIconQt(const QString &name, const QIcon &fallback)
{
QMutexLocker locker(&qtIconMutex);
return QIcon::fromTheme(name,fallback);
}
QIcon IconLoader::loadIconXdg(const QString &name, const QIcon &fallback)
{
QMutexLocker locker(&xdgIconMutex);
return XdgIcon::fromTheme("name",fallback);
}
} // UkuiSearch

19
libsearch/icon-loader.h Normal file
View File

@ -0,0 +1,19 @@
//
// Created by zpf on 2023/9/1.
//
#ifndef UKUI_SEARCH_ICON_LOADER_H
#define UKUI_SEARCH_ICON_LOADER_H
#include <QIcon>
namespace UkuiSearch {
class IconLoader
{
public:
static QIcon loadIconQt(const QString &name, const QIcon &fallback = {});
static QIcon loadIconXdg(const QString &name, const QIcon &fallback = {});
};
} // UkuiSearch
#endif //UKUI_SEARCH_ICON_LOADER_H

View File

@ -34,6 +34,7 @@
#include "action-label.h"
#include "separation-line.h"
#include "global-settings.h"
#include "icon-loader.h"
namespace UkuiSearch {
//internal plugin
@ -45,7 +46,7 @@ public:
PluginType pluginType() {return PluginType::SearchPlugin;}
const QString name();
const QString description();
const QIcon icon() {return QIcon::fromTheme("folder");}
const QIcon icon() {return IconLoader::loadIconQt("folder");}
void setEnable(bool enable) {m_enable = enable;}
bool isEnable() {return m_enable;}
QString getPluginName();
@ -100,7 +101,7 @@ public:
PluginType pluginType() {return PluginType::SearchPlugin;}
const QString name();
const QString description();
const QIcon icon() {return QIcon::fromTheme("folder");}
const QIcon icon() {return IconLoader::loadIconQt("folder");}
void setEnable(bool enable) {m_enable = enable;}
bool isEnable() {return m_enable;}
QString getPluginName();
@ -155,7 +156,7 @@ public:
PluginType pluginType() {return PluginType::SearchPlugin;}
const QString name();
const QString description();
const QIcon icon() {return QIcon::fromTheme("folder");}
const QIcon icon() {return IconLoader::loadIconQt("folder");}
void setEnable(bool enable) {m_enable = enable;}
bool isEnable() {return m_enable;}
QString getPluginName();

View File

@ -20,7 +20,6 @@
#include "note-search-plugin.h"
#include <QWidget>
#include <QLabel>
#include <qt5xdg/xdgicon.h>
#include <QDebug>
#include "file-utils.h"
#include "chinese-segmentation.h"
@ -233,7 +232,7 @@ void NoteSearch::run() {
dbusArgs.endArray();
qDebug() << str;
SearchPluginIface::ResultInfo ri(
XdgIcon::fromTheme("kylin-notebook", QIcon(":/res/icons/desktop.png")),
IconLoader::loadIconQt("kylin-notebook", QIcon(":/res/icons/desktop.png")),
str.at(1),
QVector<SearchPluginIface::DescriptionInfo>() << SearchPluginIface::DescriptionInfo {
key : QString(tr("Note Description:")),

View File

@ -36,6 +36,8 @@
#include "action-label.h"
#include "separation-line.h"
#include "libsearch_global.h"
#include "icon-loader.h"
namespace UkuiSearch {
static size_t g_uniqueSymbol;
@ -52,7 +54,7 @@ public:
PluginType pluginType() {return PluginType::SearchPlugin;}
const QString name();
const QString description();
const QIcon icon() {return QIcon::fromTheme("folder");}
const QIcon icon() {return IconLoader::loadIconQt("folder");}
void setEnable(bool enable) {m_enable = enable;}
bool isEnable() {return m_enable;}
QString getPluginName();

View File

@ -15,6 +15,7 @@
#include "action-label.h"
#include "separation-line.h"
#include "search-plugin-iface.h"
#include "icon-loader.h"
namespace UkuiSearch {
class LIBSEARCH_EXPORT SettingsSearchPlugin : public QObject, public SearchPluginIface
@ -27,7 +28,7 @@ public:
PluginType pluginType() {return PluginType::SearchPlugin;}
const QString name();
const QString description();
const QIcon icon() {return QIcon::fromTheme("folder");}
const QIcon icon() {return IconLoader::loadIconQt("folder");}
void setEnable(bool enable) {m_enable = enable;}
bool isEnable() {return m_enable;}
QString getPluginName();

View File

@ -56,7 +56,7 @@ void UkuiSearch::WebSearchPlugin::KeywordSearch(QString keyword, DataQueue<UkuiS
GDesktopAppInfo * textinfo = g_desktop_app_info_new_from_filename(ba.constData());
char *iconname = g_icon_to_string(g_app_info_get_icon(G_APP_INFO(textinfo)));
QIcon appicon;
appicon = QIcon::fromTheme(QString(QLatin1String(iconname)),
appicon = IconLoader::loadIconQt(QString(QLatin1String(iconname)),
QIcon(QString("/usr/share/pixmaps/"+QString(QLatin1String(iconname))
+".png")));
g_free(iconname);

View File

@ -14,6 +14,7 @@
#include "search-plugin-iface.h"
#include <gio/gdesktopappinfo.h>
#include <QGSettings>
#include "icon-loader.h"
namespace UkuiSearch {
@ -26,7 +27,7 @@ public:
PluginType pluginType() {return PluginType::SearchPlugin;}
const QString name();
const QString description();
const QIcon icon() {return QIcon::fromTheme("folder");}
const QIcon icon() {return IconLoader::loadIconQt("folder");}
void setEnable(bool enable) {m_enable = enable;}
bool isEnable() {return m_enable;}
QString getPluginName();

View File

@ -24,42 +24,42 @@
<context>
<name>UkuiSearch::AppSearchPlugin</name>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="31"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="248"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="30"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="247"/>
<source>Open</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="32"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="249"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="31"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="248"/>
<source>Add Shortcut to Desktop</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="33"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="250"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="32"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="249"/>
<source>Add Shortcut to Panel</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="34"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="251"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="33"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="250"/>
<source>Install</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="196"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="195"/>
<source>Application Description:</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="64"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="69"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="63"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="68"/>
<source>Applications Search</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="154"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="153"/>
<source>Application</source>
<translation></translation>
</message>
@ -313,7 +313,7 @@
<context>
<name>UkuiSearch::NoteSearch</name>
<message>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="239"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="238"/>
<source>Note Description:</source>
<translation></translation>
</message>
@ -321,24 +321,24 @@
<context>
<name>UkuiSearch::NoteSearchPlugin</name>
<message>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="33"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="177"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="32"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="176"/>
<source>Open</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="47"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="46"/>
<source>Note Search.</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="52"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="155"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="51"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="154"/>
<source>Note Search</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="129"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="128"/>
<source>Application</source>
<translation></translation>
</message>

View File

@ -31,42 +31,42 @@
<context>
<name>UkuiSearch::AppSearchPlugin</name>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="31"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="248"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="30"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="247"/>
<source>Open</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="32"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="249"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="31"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="248"/>
<source>Add Shortcut to Desktop</source>
<translation> </translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="33"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="250"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="32"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="249"/>
<source>Add Shortcut to Panel</source>
<translation> </translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="34"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="251"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="33"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="250"/>
<source>Install</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="64"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="69"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="63"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="68"/>
<source>Applications Search</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="154"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="153"/>
<source>Application</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="196"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="195"/>
<source>Application Description:</source>
<translation></translation>
</message>
@ -328,7 +328,7 @@
<context>
<name>UkuiSearch::NoteSearch</name>
<message>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="239"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="238"/>
<source>Note Description:</source>
<translatorcomment>便</translatorcomment>
<translation> </translation>
@ -337,27 +337,27 @@
<context>
<name>UkuiSearch::NoteSearchPlugin</name>
<message>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="33"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="177"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="32"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="176"/>
<source>Open</source>
<translatorcomment></translatorcomment>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="52"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="155"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="51"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="154"/>
<source>Note Search</source>
<translatorcomment>便</translatorcomment>
<translation> </translation>
</message>
<message>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="47"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="46"/>
<source>Note Search.</source>
<translatorcomment>便.</translatorcomment>
<translation> </translation>
</message>
<message>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="129"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="128"/>
<source>Application</source>
<translatorcomment></translatorcomment>
<translation></translation>

View File

@ -31,42 +31,42 @@
<context>
<name>UkuiSearch::AppSearchPlugin</name>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="31"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="248"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="30"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="247"/>
<source>Open</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="32"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="249"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="31"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="248"/>
<source>Add Shortcut to Desktop</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="33"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="250"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="32"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="249"/>
<source>Add Shortcut to Panel</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="34"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="251"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="33"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="250"/>
<source>Install</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="64"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="69"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="63"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="68"/>
<source>Applications Search</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="154"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="153"/>
<source>Application</source>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="196"/>
<location filename="../../libsearch/appsearch/app-search-plugin.cpp" line="195"/>
<source>Application Description:</source>
<translation></translation>
</message>
@ -328,7 +328,7 @@
<context>
<name>UkuiSearch::NoteSearch</name>
<message>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="239"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="238"/>
<source>Note Description:</source>
<translatorcomment>便</translatorcomment>
<translation>便</translation>
@ -337,27 +337,27 @@
<context>
<name>UkuiSearch::NoteSearchPlugin</name>
<message>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="33"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="177"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="32"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="176"/>
<source>Open</source>
<translatorcomment></translatorcomment>
<translation></translation>
</message>
<message>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="52"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="155"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="51"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="154"/>
<source>Note Search</source>
<translatorcomment>便</translatorcomment>
<translation>便</translation>
</message>
<message>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="47"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="46"/>
<source>Note Search.</source>
<translatorcomment>便.</translatorcomment>
<translation>便.</translation>
</message>
<message>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="129"/>
<location filename="../../libsearch/notesearch/note-search-plugin.cpp" line="128"/>
<source>Application</source>
<translatorcomment></translatorcomment>
<translation></translation>

View File

@ -12,53 +12,45 @@
<context>
<name>UkuiSearch::CreateIndexAskDialog</name>
<message>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="41"/>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="42"/>
<source>ukui-search</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="70"/>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="71"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="94"/>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="95"/>
<source>Creating index can help you getting results quickly, whether to create or not?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="105"/>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="106"/>
<source>Don&apos;t remind</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="116"/>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="117"/>
<source>No</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="118"/>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="119"/>
<source>Yes</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UkuiSearch::FolderListItem</name>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="538"/>
<source>Delete the folder out of blacklist</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UkuiSearch::MainWindow</name>
<message>
<location filename="../../../frontend/mainwindow.cpp" line="71"/>
<location filename="../../../frontend/mainwindow.cpp" line="72"/>
<source>ukui-search</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/mainwindow.cpp" line="79"/>
<location filename="../../../frontend/mainwindow.cpp" line="80"/>
<source>Global Search</source>
<translation type="unfinished"></translation>
</message>
@ -66,201 +58,40 @@
<context>
<name>UkuiSearch::SearchLineEdit</name>
<message>
<location filename="../../../frontend/control/search-line-edit.cpp" line="57"/>
<location filename="../../../frontend/control/search-line-edit.cpp" line="53"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UkuiSearch::SettingsWidget</name>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="35"/>
<source>ukui-search-settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="81"/>
<location filename="../../../frontend/control/settings-widget.cpp" line="299"/>
<location filename="../../../frontend/control/settings-widget.cpp" line="503"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="108"/>
<source>&lt;h2&gt;Settings&lt;/h2&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="113"/>
<source>&lt;h3&gt;Index State&lt;/h3&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="115"/>
<location filename="../../../frontend/control/settings-widget.cpp" line="117"/>
<source>...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="125"/>
<source>&lt;h3&gt;File Index Settings&lt;/h3&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="127"/>
<source>Following folders will not be searched. You can set it by adding and removing folders.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="136"/>
<source>Add ignored folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="157"/>
<source>&lt;h3&gt;Search Engine Settings&lt;/h3&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="159"/>
<source>Please select search engine you preferred.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="172"/>
<source>baidu</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="174"/>
<source>sougou</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="176"/>
<source>360</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="299"/>
<source>Whether to delete this directory?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="300"/>
<source>Yes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="301"/>
<source>No</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="359"/>
<source>Creating ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="362"/>
<source>Done</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="370"/>
<source>Index Entry: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="416"/>
<source>Directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="417"/>
<source>select blocked folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="418"/>
<source>Select</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="419"/>
<source>Position: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="420"/>
<source>FileName: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="421"/>
<source>FileType: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="422"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="487"/>
<source>Choosen path is Empty!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="491"/>
<source>Choosen path is not in &quot;home&quot;!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="495"/>
<source>Its&apos; parent folder has been blocked!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="499"/>
<source>Set blocked folder failed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="504"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UkuiSearch::UkuiSearchGui</name>
<message>
<location filename="../../../frontend/ukui-search-gui.cpp" line="106"/>
<location filename="../../../frontend/ukui-search-gui.cpp" line="107"/>
<source>Quit ukui-search application</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/ukui-search-gui.cpp" line="109"/>
<location filename="../../../frontend/ukui-search-gui.cpp" line="110"/>
<source>Show main window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/ukui-search-gui.cpp" line="112"/>
<location filename="../../../frontend/ukui-search-gui.cpp" line="113"/>
<source>unregister a plugin with &lt;pluginName&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/ukui-search-gui.cpp" line="115"/>
<location filename="../../../frontend/ukui-search-gui.cpp" line="116"/>
<source>register a plugin with &lt;pluginName&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/ukui-search-gui.cpp" line="118"/>
<location filename="../../../frontend/ukui-search-gui.cpp" line="119"/>
<source>move &lt;pluginName&gt; to the target pos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/ukui-search-gui.cpp" line="121"/>
<location filename="../../../frontend/ukui-search-gui.cpp" line="122"/>
<source>move plugin to &lt;index&gt;</source>
<translation type="unfinished"></translation>
</message>

View File

@ -12,53 +12,45 @@
<context>
<name>UkuiSearch::CreateIndexAskDialog</name>
<message>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="41"/>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="42"/>
<source>ukui-search</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="70"/>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="71"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="94"/>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="95"/>
<source>Creating index can help you getting results quickly, whether to create or not?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="105"/>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="106"/>
<source>Don&apos;t remind</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="116"/>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="117"/>
<source>No</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="118"/>
<location filename="../../../frontend/control/create-index-ask-dialog.cpp" line="119"/>
<source>Yes</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UkuiSearch::FolderListItem</name>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="538"/>
<source>Delete the folder out of blacklist</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UkuiSearch::MainWindow</name>
<message>
<location filename="../../../frontend/mainwindow.cpp" line="71"/>
<location filename="../../../frontend/mainwindow.cpp" line="72"/>
<source>ukui-search</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/mainwindow.cpp" line="79"/>
<location filename="../../../frontend/mainwindow.cpp" line="80"/>
<source>Global Search</source>
<translation type="unfinished"></translation>
</message>
@ -66,201 +58,40 @@
<context>
<name>UkuiSearch::SearchLineEdit</name>
<message>
<location filename="../../../frontend/control/search-line-edit.cpp" line="57"/>
<location filename="../../../frontend/control/search-line-edit.cpp" line="53"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UkuiSearch::SettingsWidget</name>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="35"/>
<source>ukui-search-settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="81"/>
<location filename="../../../frontend/control/settings-widget.cpp" line="299"/>
<location filename="../../../frontend/control/settings-widget.cpp" line="503"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="108"/>
<source>&lt;h2&gt;Settings&lt;/h2&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="113"/>
<source>&lt;h3&gt;Index State&lt;/h3&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="115"/>
<location filename="../../../frontend/control/settings-widget.cpp" line="117"/>
<source>...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="125"/>
<source>&lt;h3&gt;File Index Settings&lt;/h3&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="127"/>
<source>Following folders will not be searched. You can set it by adding and removing folders.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="136"/>
<source>Add ignored folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="157"/>
<source>&lt;h3&gt;Search Engine Settings&lt;/h3&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="159"/>
<source>Please select search engine you preferred.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="172"/>
<source>baidu</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="174"/>
<source>sougou</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="176"/>
<source>360</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="299"/>
<source>Whether to delete this directory?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="300"/>
<source>Yes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="301"/>
<source>No</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="359"/>
<source>Creating ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="362"/>
<source>Done</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="370"/>
<source>Index Entry: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="416"/>
<source>Directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="417"/>
<source>select blocked folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="418"/>
<source>Select</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="419"/>
<source>Position: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="420"/>
<source>FileName: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="421"/>
<source>FileType: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="422"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="487"/>
<source>Choosen path is Empty!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="491"/>
<source>Choosen path is not in &quot;home&quot;!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="495"/>
<source>Its&apos; parent folder has been blocked!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="499"/>
<source>Set blocked folder failed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/control/settings-widget.cpp" line="504"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UkuiSearch::UkuiSearchGui</name>
<message>
<location filename="../../../frontend/ukui-search-gui.cpp" line="106"/>
<location filename="../../../frontend/ukui-search-gui.cpp" line="107"/>
<source>Quit ukui-search application</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/ukui-search-gui.cpp" line="109"/>
<location filename="../../../frontend/ukui-search-gui.cpp" line="110"/>
<source>Show main window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/ukui-search-gui.cpp" line="112"/>
<location filename="../../../frontend/ukui-search-gui.cpp" line="113"/>
<source>unregister a plugin with &lt;pluginName&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/ukui-search-gui.cpp" line="115"/>
<location filename="../../../frontend/ukui-search-gui.cpp" line="116"/>
<source>register a plugin with &lt;pluginName&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/ukui-search-gui.cpp" line="118"/>
<location filename="../../../frontend/ukui-search-gui.cpp" line="119"/>
<source>move &lt;pluginName&gt; to the target pos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../frontend/ukui-search-gui.cpp" line="121"/>
<location filename="../../../frontend/ukui-search-gui.cpp" line="122"/>
<source>move plugin to &lt;index&gt;</source>
<translation type="unfinished"></translation>
</message>

View File

@ -35,13 +35,6 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UkuiSearch::FolderListItem</name>
<message>
<source>Delete the folder out of blacklist</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UkuiSearch::MainWindow</name>
<message>
@ -60,133 +53,6 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UkuiSearch::SettingsWidget</name>
<message>
<source>ukui-search-settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;h2&gt;Settings&lt;/h2&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;h3&gt;Index State&lt;/h3&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;h3&gt;File Index Settings&lt;/h3&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Following folders will not be searched. You can set it by adding and removing folders.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add ignored folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;h3&gt;Search Engine Settings&lt;/h3&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Please select search engine you preferred.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>baidu</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>sougou</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>360</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Whether to delete this directory?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Yes</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Creating ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Done</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Index Entry: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>select blocked folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Position: </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>FileName: </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>FileType: </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Choosen path is Empty!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Choosen path is not in &quot;home&quot;!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Its&apos; parent folder has been blocked!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set blocked folder failed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UkuiSearch::UkuiSearchGui</name>
<message>

View File

@ -12,32 +12,32 @@
<context>
<name>UkuiSearch::CreateIndexAskDialog</name>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="41"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="42"/>
<source>ukui-search</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="70"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="71"/>
<source>Search</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="94"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="95"/>
<source>Creating index can help you getting results quickly, whether to create or not?</source>
<translation> </translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="105"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="106"/>
<source>Don&apos;t remind</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="116"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="117"/>
<source>No</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="118"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="119"/>
<source>Yes</source>
<translation></translation>
</message>
@ -45,20 +45,19 @@
<context>
<name>UkuiSearch::FolderListItem</name>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="538"/>
<source>Delete the folder out of blacklist</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>UkuiSearch::MainWindow</name>
<message>
<location filename="../../frontend/mainwindow.cpp" line="71"/>
<location filename="../../frontend/mainwindow.cpp" line="72"/>
<source>ukui-search</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/mainwindow.cpp" line="79"/>
<location filename="../../frontend/mainwindow.cpp" line="80"/>
<source>Global Search</source>
<translation></translation>
</message>
@ -66,7 +65,7 @@
<context>
<name>UkuiSearch::SearchLineEdit</name>
<message>
<location filename="../../frontend/control/search-line-edit.cpp" line="57"/>
<location filename="../../frontend/control/search-line-edit.cpp" line="53"/>
<source>Search</source>
<translation></translation>
</message>
@ -74,193 +73,159 @@
<context>
<name>UkuiSearch::SettingsWidget</name>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="35"/>
<source>ukui-search-settings</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="81"/>
<location filename="../../frontend/control/settings-widget.cpp" line="299"/>
<location filename="../../frontend/control/settings-widget.cpp" line="503"/>
<source>Search</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="108"/>
<source>&lt;h2&gt;Settings&lt;/h2&gt;</source>
<translation>&lt;h2&gt; &lt;/h2&gt;</translation>
<translation type="vanished">&lt;h2&gt; &lt;/h2&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="113"/>
<source>&lt;h3&gt;Index State&lt;/h3&gt;</source>
<translation>&lt;h3&gt;&lt;/h3&gt;</translation>
<translation type="vanished">&lt;h3&gt;&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="115"/>
<location filename="../../frontend/control/settings-widget.cpp" line="117"/>
<source>...</source>
<translation>...</translation>
<translation type="vanished">...</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="125"/>
<source>&lt;h3&gt;File Index Settings&lt;/h3&gt;</source>
<translation>&lt;h3&gt; &lt;/h3&gt;</translation>
<translation type="vanished">&lt;h3&gt; &lt;/h3&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="127"/>
<source>Following folders will not be searched. You can set it by adding and removing folders.</source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="136"/>
<source>Add ignored folders</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="157"/>
<source>&lt;h3&gt;Search Engine Settings&lt;/h3&gt;</source>
<translation>&lt;h3&gt;&lt;/h3&gt;</translation>
<translation type="vanished">&lt;h3&gt;&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="159"/>
<source>Please select search engine you preferred.</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="172"/>
<source>baidu</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="174"/>
<source>sougou</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="176"/>
<source>360</source>
<translation>360</translation>
<translation type="vanished">360</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="299"/>
<source>Whether to delete this directory?</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="300"/>
<source>Yes</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="301"/>
<source>No</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="359"/>
<source>Creating ...</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="362"/>
<source>Done</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="370"/>
<source>Index Entry: %1</source>
<translation>:</translation>
<translation type="vanished">:</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="416"/>
<source>Directories</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="417"/>
<source>select blocked folder</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="418"/>
<source>Select</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="419"/>
<source>Position: </source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="420"/>
<source>FileName: </source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="421"/>
<source>FileType: </source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="422"/>
<source>Cancel</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="487"/>
<source>Choosen path is Empty!</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="491"/>
<source>Choosen path is not in &quot;home&quot;!</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="495"/>
<source>Its&apos; parent folder has been blocked!</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="499"/>
<source>Set blocked folder failed!</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="504"/>
<source>OK</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>UkuiSearch::UkuiSearchGui</name>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="106"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="107"/>
<source>Quit ukui-search application</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="109"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="110"/>
<source>Show main window</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="112"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="113"/>
<source>unregister a plugin with &lt;pluginName&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="115"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="116"/>
<source>register a plugin with &lt;pluginName&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="118"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="119"/>
<source>move &lt;pluginName&gt; to the target pos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="121"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="122"/>
<source>move plugin to &lt;index&gt;</source>
<translation type="unfinished"></translation>
</message>

View File

@ -12,32 +12,32 @@
<context>
<name>UkuiSearch::CreateIndexAskDialog</name>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="41"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="42"/>
<source>ukui-search</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="70"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="71"/>
<source>Search</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="94"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="95"/>
<source>Creating index can help you getting results quickly, whether to create or not?</source>
<translation> ?</translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="105"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="106"/>
<source>Don&apos;t remind</source>
<translation> </translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="116"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="117"/>
<source>No</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="118"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="119"/>
<source>Yes</source>
<translation></translation>
</message>
@ -45,20 +45,19 @@
<context>
<name>UkuiSearch::FolderListItem</name>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="538"/>
<source>Delete the folder out of blacklist</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>UkuiSearch::MainWindow</name>
<message>
<location filename="../../frontend/mainwindow.cpp" line="71"/>
<location filename="../../frontend/mainwindow.cpp" line="72"/>
<source>ukui-search</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/mainwindow.cpp" line="79"/>
<location filename="../../frontend/mainwindow.cpp" line="80"/>
<source>Global Search</source>
<translation></translation>
</message>
@ -66,7 +65,7 @@
<context>
<name>UkuiSearch::SearchLineEdit</name>
<message>
<location filename="../../frontend/control/search-line-edit.cpp" line="57"/>
<location filename="../../frontend/control/search-line-edit.cpp" line="53"/>
<source>Search</source>
<translation></translation>
</message>
@ -74,193 +73,159 @@
<context>
<name>UkuiSearch::SettingsWidget</name>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="35"/>
<source>ukui-search-settings</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="81"/>
<location filename="../../frontend/control/settings-widget.cpp" line="299"/>
<location filename="../../frontend/control/settings-widget.cpp" line="503"/>
<source>Search</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="108"/>
<source>&lt;h2&gt;Settings&lt;/h2&gt;</source>
<translation>&lt;h2&gt; &lt;/h2&gt;</translation>
<translation type="vanished">&lt;h2&gt; &lt;/h2&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="113"/>
<source>&lt;h3&gt;Index State&lt;/h3&gt;</source>
<translation>&lt;h3&gt; &lt;/h3&gt;</translation>
<translation type="vanished">&lt;h3&gt; &lt;/h3&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="115"/>
<location filename="../../frontend/control/settings-widget.cpp" line="117"/>
<source>...</source>
<translation>...</translation>
<translation type="vanished">...</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="125"/>
<source>&lt;h3&gt;File Index Settings&lt;/h3&gt;</source>
<translation>&lt;h3&gt; &lt;/h3&gt;</translation>
<translation type="vanished">&lt;h3&gt; &lt;/h3&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="127"/>
<source>Following folders will not be searched. You can set it by adding and removing folders.</source>
<translation type="unfinished"> </translation>
<translation type="obsolete"> </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="136"/>
<source>Add ignored folders</source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="157"/>
<source>&lt;h3&gt;Search Engine Settings&lt;/h3&gt;</source>
<translation>&lt;h3&gt; &lt;/h3&gt;</translation>
<translation type="vanished">&lt;h3&gt; &lt;/h3&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="159"/>
<source>Please select search engine you preferred.</source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="172"/>
<source>baidu</source>
<translation type="unfinished"> </translation>
<translation type="obsolete"> </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="174"/>
<source>sougou</source>
<translation type="unfinished"> </translation>
<translation type="obsolete"> </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="176"/>
<source>360</source>
<translation type="unfinished">360</translation>
<translation type="obsolete">360</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="299"/>
<source>Whether to delete this directory?</source>
<translation> ?</translation>
<translation type="vanished"> ?</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="300"/>
<source>Yes</source>
<translation>Yes</translation>
<translation type="vanished">Yes</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="301"/>
<source>No</source>
<translation>No</translation>
<translation type="vanished">No</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="359"/>
<source>Creating ...</source>
<translation> ...</translation>
<translation type="vanished"> ...</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="362"/>
<source>Done</source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="370"/>
<source>Index Entry: %1</source>
<translation> %1</translation>
<translation type="vanished"> %1</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="416"/>
<source>Directories</source>
<translation type="unfinished"></translation>
<translation type="obsolete"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="417"/>
<source>select blocked folder</source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="418"/>
<source>Select</source>
<translation type="unfinished"></translation>
<translation type="obsolete"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="419"/>
<source>Position: </source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="420"/>
<source>FileName: </source>
<translation type="unfinished"> </translation>
<translation type="obsolete"> </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="421"/>
<source>FileType: </source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="422"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
<translation type="obsolete"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="487"/>
<source>Choosen path is Empty!</source>
<translation> !</translation>
<translation type="vanished"> !</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="491"/>
<source>Choosen path is not in &quot;home&quot;!</source>
<translation> !</translation>
<translation type="vanished"> !</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="495"/>
<source>Its&apos; parent folder has been blocked!</source>
<translation> !</translation>
<translation type="vanished"> !</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="499"/>
<source>Set blocked folder failed!</source>
<translation> !</translation>
<translation type="vanished"> !</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="504"/>
<source>OK</source>
<translation>OK</translation>
<translation type="vanished">OK</translation>
</message>
</context>
<context>
<name>UkuiSearch::UkuiSearchGui</name>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="106"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="107"/>
<source>Quit ukui-search application</source>
<translation> </translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="109"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="110"/>
<source>Show main window</source>
<translation> </translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="112"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="113"/>
<source>unregister a plugin with &lt;pluginName&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="115"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="116"/>
<source>register a plugin with &lt;pluginName&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="118"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="119"/>
<source>move &lt;pluginName&gt; to the target pos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="121"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="122"/>
<source>move plugin to &lt;index&gt;</source>
<translation type="unfinished"></translation>
</message>

View File

@ -297,32 +297,32 @@
<context>
<name>UkuiSearch::CreateIndexAskDialog</name>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="41"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="42"/>
<source>ukui-search</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="70"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="71"/>
<source>Search</source>
<translation type="unfinished">Ara</translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="94"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="95"/>
<source>Creating index can help you getting results quickly, whether to create or not?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="105"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="106"/>
<source>Don&apos;t remind</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="116"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="117"/>
<source>No</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="118"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="119"/>
<source>Yes</source>
<translation type="unfinished"></translation>
</message>
@ -330,9 +330,8 @@
<context>
<name>UkuiSearch::FolderListItem</name>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="538"/>
<source>Delete the folder out of blacklist</source>
<translation type="unfinished">Klasörü kara listeden silin</translation>
<translation type="obsolete">Klasörü kara listeden silin</translation>
</message>
</context>
<context>
@ -353,12 +352,12 @@
<context>
<name>UkuiSearch::MainWindow</name>
<message>
<location filename="../../frontend/mainwindow.cpp" line="71"/>
<location filename="../../frontend/mainwindow.cpp" line="72"/>
<source>ukui-search</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/mainwindow.cpp" line="79"/>
<location filename="../../frontend/mainwindow.cpp" line="80"/>
<source>Global Search</source>
<translation type="unfinished">Genel Arama</translation>
</message>
@ -419,7 +418,7 @@
<context>
<name>UkuiSearch::SearchLineEdit</name>
<message>
<location filename="../../frontend/control/search-line-edit.cpp" line="57"/>
<location filename="../../frontend/control/search-line-edit.cpp" line="53"/>
<source>Search</source>
<translation type="unfinished">Ara</translation>
</message>
@ -427,162 +426,84 @@
<context>
<name>UkuiSearch::SettingsWidget</name>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="35"/>
<source>ukui-search-settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="81"/>
<location filename="../../frontend/control/settings-widget.cpp" line="299"/>
<location filename="../../frontend/control/settings-widget.cpp" line="503"/>
<source>Search</source>
<translation type="unfinished">Ara</translation>
<translation type="obsolete">Ara</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="108"/>
<source>&lt;h2&gt;Settings&lt;/h2&gt;</source>
<translation type="unfinished">&lt;h2&gt;Ayarlar&lt;/h2&gt;</translation>
<translation type="obsolete">&lt;h2&gt;Ayarlar&lt;/h2&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="113"/>
<source>&lt;h3&gt;Index State&lt;/h3&gt;</source>
<translation type="unfinished">&lt;h3&gt;Dizin Durumu&lt;/h3&gt;</translation>
<translation type="obsolete">&lt;h3&gt;Dizin Durumu&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="115"/>
<location filename="../../frontend/control/settings-widget.cpp" line="117"/>
<source>...</source>
<translation type="unfinished">...</translation>
<translation type="obsolete">...</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="125"/>
<source>&lt;h3&gt;File Index Settings&lt;/h3&gt;</source>
<translation type="unfinished">&lt;h3&gt;Dosya Dizini Ayarları&lt;/h3&gt;</translation>
<translation type="obsolete">&lt;h3&gt;Dosya Dizini Ayarları&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="127"/>
<source>Following folders will not be searched. You can set it by adding and removing folders.</source>
<translation type="unfinished">Aşağıdaki klasörler aranmayacaktır. Klasör ekleyip kaldırarak ayarlayabilirsiniz.</translation>
<translation type="obsolete">Aşağıdaki klasörler aranmayacaktır. Klasör ekleyip kaldırarak ayarlayabilirsiniz.</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="136"/>
<source>Add ignored folders</source>
<translation type="unfinished">Göz ardı edilen klasörleri ekleyin</translation>
<translation type="obsolete">Göz ardı edilen klasörleri ekleyin</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="157"/>
<source>&lt;h3&gt;Search Engine Settings&lt;/h3&gt;</source>
<translation type="unfinished">&lt;h3&gt;SArama Motoru Ayarları&lt;/h3&gt;</translation>
<translation type="obsolete">&lt;h3&gt;SArama Motoru Ayarları&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="159"/>
<source>Please select search engine you preferred.</source>
<translation type="unfinished">Lütfen tercih ettiğiniz arama motorunu seçin.</translation>
<translation type="obsolete">Lütfen tercih ettiğiniz arama motorunu seçin.</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="172"/>
<source>baidu</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="174"/>
<source>sougou</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="176"/>
<source>360</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="299"/>
<source>Whether to delete this directory?</source>
<translation type="unfinished">Bu dizini silinsin mi?</translation>
<translation type="obsolete">Bu dizini silinsin mi?</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="300"/>
<source>Yes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="301"/>
<source>No</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="359"/>
<source>Creating ...</source>
<translation type="unfinished">Oluşturuluyor...</translation>
<translation type="obsolete">Oluşturuluyor...</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="362"/>
<source>Done</source>
<translation type="unfinished">Tamam</translation>
<translation type="obsolete">Tamam</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="370"/>
<source>Index Entry: %1</source>
<translation type="unfinished">Dizin Girişi: %1</translation>
<translation type="obsolete">Dizin Girişi: %1</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="416"/>
<source>Directories</source>
<translation type="unfinished">Dizinler</translation>
<translation type="obsolete">Dizinler</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="417"/>
<source>select blocked folder</source>
<translation type="unfinished">engellenen klasörü seç</translation>
<translation type="obsolete">engellenen klasörü seç</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="418"/>
<source>Select</source>
<translation type="unfinished">Seç</translation>
<translation type="obsolete">Seç</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="419"/>
<source>Position: </source>
<translation type="unfinished">Pozisyon: </translation>
<translation type="obsolete">Pozisyon: </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="420"/>
<source>FileName: </source>
<translation type="unfinished">Dosya Adı: </translation>
<translation type="obsolete">Dosya Adı: </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="421"/>
<source>FileType: </source>
<translation type="unfinished">Dosya Türü: </translation>
<translation type="obsolete">Dosya Türü: </translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="422"/>
<source>Cancel</source>
<translation type="unfinished">İptal</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="487"/>
<source>Choosen path is Empty!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="491"/>
<source>Choosen path is not in &quot;home&quot;!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="495"/>
<source>Its&apos; parent folder has been blocked!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="499"/>
<source>Set blocked folder failed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="504"/>
<source>OK</source>
<translation type="unfinished"></translation>
<translation type="obsolete">İptal</translation>
</message>
</context>
<context>
@ -615,32 +536,32 @@
<context>
<name>UkuiSearch::UkuiSearchGui</name>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="106"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="107"/>
<source>Quit ukui-search application</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="109"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="110"/>
<source>Show main window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="112"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="113"/>
<source>unregister a plugin with &lt;pluginName&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="115"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="116"/>
<source>register a plugin with &lt;pluginName&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="118"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="119"/>
<source>move &lt;pluginName&gt; to the target pos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="121"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="122"/>
<source>move plugin to &lt;index&gt;</source>
<translation type="unfinished"></translation>
</message>

View File

@ -59,32 +59,32 @@
<context>
<name>UkuiSearch::CreateIndexAskDialog</name>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="41"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="42"/>
<source>ukui-search</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="70"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="71"/>
<source>Search</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="94"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="95"/>
<source>Creating index can help you getting results quickly, whether to create or not?</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="105"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="106"/>
<source>Don&apos;t remind</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="116"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="117"/>
<source>No</source>
<translation>(N)</translation>
</message>
<message>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="118"/>
<location filename="../../frontend/control/create-index-ask-dialog.cpp" line="119"/>
<source>Yes</source>
<translation>(Y)</translation>
</message>
@ -92,9 +92,8 @@
<context>
<name>UkuiSearch::FolderListItem</name>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="538"/>
<source>Delete the folder out of blacklist</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
</context>
<context>
@ -115,12 +114,12 @@
<context>
<name>UkuiSearch::MainWindow</name>
<message>
<location filename="../../frontend/mainwindow.cpp" line="71"/>
<location filename="../../frontend/mainwindow.cpp" line="72"/>
<source>ukui-search</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/mainwindow.cpp" line="79"/>
<location filename="../../frontend/mainwindow.cpp" line="80"/>
<source>Global Search</source>
<translation></translation>
</message>
@ -193,7 +192,7 @@
<context>
<name>UkuiSearch::SearchLineEdit</name>
<message>
<location filename="../../frontend/control/search-line-edit.cpp" line="57"/>
<location filename="../../frontend/control/search-line-edit.cpp" line="53"/>
<source>Search</source>
<translation></translation>
</message>
@ -201,162 +200,120 @@
<context>
<name>UkuiSearch::SettingsWidget</name>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="35"/>
<source>ukui-search-settings</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="81"/>
<location filename="../../frontend/control/settings-widget.cpp" line="299"/>
<location filename="../../frontend/control/settings-widget.cpp" line="503"/>
<source>Search</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="108"/>
<source>&lt;h2&gt;Settings&lt;/h2&gt;</source>
<translation>&lt;h2&gt;&lt;/h2&gt;</translation>
<translation type="vanished">&lt;h2&gt;&lt;/h2&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="113"/>
<source>&lt;h3&gt;Index State&lt;/h3&gt;</source>
<translation>&lt;h3&gt;&lt;/h3&gt;</translation>
<translation type="vanished">&lt;h3&gt;&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="115"/>
<location filename="../../frontend/control/settings-widget.cpp" line="117"/>
<source>...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="125"/>
<source>&lt;h3&gt;File Index Settings&lt;/h3&gt;</source>
<translation>&lt;h3&gt;&lt;/h3&gt;</translation>
<translation type="vanished">&lt;h3&gt;&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="127"/>
<source>Following folders will not be searched. You can set it by adding and removing folders.</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="136"/>
<source>Add ignored folders</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="157"/>
<source>&lt;h3&gt;Search Engine Settings&lt;/h3&gt;</source>
<translation>&lt;h3&gt;&lt;/h3&gt;</translation>
<translation type="vanished">&lt;h3&gt;&lt;/h3&gt;</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="159"/>
<source>Please select search engine you preferred.</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="172"/>
<source>baidu</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="174"/>
<source>sougou</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="176"/>
<source>360</source>
<translation>360</translation>
<translation type="vanished">360</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="299"/>
<source>Whether to delete this directory?</source>
<translation>?</translation>
<translation type="vanished">?</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="300"/>
<source>Yes</source>
<translation>(Y)</translation>
<translation type="vanished">(Y)</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="301"/>
<source>No</source>
<translation>(N)</translation>
<translation type="vanished">(N)</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="359"/>
<source>Creating ...</source>
<translation>...</translation>
<translation type="vanished">...</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="362"/>
<source>Done</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="370"/>
<source>Index Entry: %1</source>
<translation>: %1</translation>
<translation type="vanished">: %1</translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="416"/>
<source>Directories</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="417"/>
<source>select blocked folder</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="418"/>
<source>Select</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="419"/>
<source>Position: </source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="420"/>
<source>FileName: </source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="421"/>
<source>FileType: </source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="422"/>
<source>Cancel</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="487"/>
<source>Choosen path is Empty!</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="491"/>
<source>Choosen path is not in &quot;home&quot;!</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="495"/>
<source>Its&apos; parent folder has been blocked!</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="499"/>
<source>Set blocked folder failed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/control/settings-widget.cpp" line="504"/>
<source>OK</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
</context>
<context>
@ -389,32 +346,32 @@
<context>
<name>UkuiSearch::UkuiSearchGui</name>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="106"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="107"/>
<source>Quit ukui-search application</source>
<translation>退</translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="109"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="110"/>
<source>Show main window</source>
<translation></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="112"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="113"/>
<source>unregister a plugin with &lt;pluginName&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="115"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="116"/>
<source>register a plugin with &lt;pluginName&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="118"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="119"/>
<source>move &lt;pluginName&gt; to the target pos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../frontend/ukui-search-gui.cpp" line="121"/>
<location filename="../../frontend/ukui-search-gui.cpp" line="122"/>
<source>move plugin to &lt;index&gt;</source>
<translation type="unfinished"></translation>
</message>