diff --git a/src/content-widget.cpp b/src/content-widget.cpp index ec842ec..a35d3e8 100644 --- a/src/content-widget.cpp +++ b/src/content-widget.cpp @@ -56,6 +56,7 @@ void ContentWidget::initUI() { m_homePage = new QWidget; m_homePageLyt = new QVBoxLayout(m_homePage); m_homePageLyt->setSpacing(0); + m_homePageLyt->setContentsMargins(0,0,0,0); m_homePage->setLayout(m_homePageLyt); m_resultPage = new QWidget; @@ -80,7 +81,7 @@ void ContentWidget::initUI() { m_resultList->setFixedWidth(240); m_resultList->setFixedHeight(0); m_resultList->setStyleSheet("QWidget{background:transparent;}"); - m_listLyt->setContentsMargins(0, 0, 15, 0); + m_listLyt->setContentsMargins(0, 0, 12, 0); m_listLyt->setSpacing(0); m_resultListArea->setWidget(m_resultList); m_resultListArea->setWidgetResizable(true); @@ -265,10 +266,10 @@ void ContentWidget::setupConnect(SearchListView * listview) { m_detailView->setWebWidget(this->m_keyword); } else if (type == SearchItem::SearchType::Apps) { int index = listview->currentIndex().row(); - m_detailView->setAppWidget(m_appList.at(index), m_appPathList.at(index), m_appIconList.at(index)); + m_detailView->setAppWidget(m_appList.at(index), m_appPathList.at(index), m_appIconList.at(index), m_appDescList.at(index)); } else if (type == SearchItem::SearchType::Best) { if (m_bestList.at(listview->currentIndex().row()).first == SearchItem::SearchType::Apps) { - m_detailView->setAppWidget(m_appList.at(0), m_appPathList.at(0), m_appIconList.at(0)); + m_detailView->setAppWidget(m_appList.at(0), m_appPathList.at(0), m_appIconList.at(0), m_appDescList.at(0)); } else { m_detailView->setupWidget(m_bestList.at(listview->currentIndex().row()).first, m_bestList.at(listview->currentIndex().row()).second); } @@ -372,7 +373,7 @@ void ContentWidget::initHomePage() { QWidget * itemWidget = new QWidget(listWidget); if (i == 1) { if (lists.at(i).length() <= 2) itemWidget->setFixedHeight(48); - else itemWidget->setFixedHeight(112); + else itemWidget->setFixedHeight(104); titleLabel->setText(tr("Recently Opened")); QGridLayout * layout = new QGridLayout(itemWidget); layout->setSpacing(8); @@ -380,16 +381,16 @@ void ContentWidget::initHomePage() { itemWidget->setLayout(layout); for (int j = 0; j < lists.at(i).count(); j++) { HomePageItem * item = new HomePageItem(itemWidget, i, lists.at(i).at(j)); - item->setFixedSize(265, 48); + item->setFixedSize(300, 48); layout->addWidget(item, j / 2, j % 2); } if (lists.at(i).length() == 1) { QWidget * emptyItem = new QWidget(itemWidget); - emptyItem->setFixedSize(265, 48); //占位用widget,只有一项时在右方补全 + emptyItem->setFixedSize(300, 48); //占位用widget,只有一项时在右方补全 layout->addWidget(emptyItem, 1, 2); } } else { - itemWidget->setFixedHeight(136); + itemWidget->setFixedHeight(116); QHBoxLayout * layout = new QHBoxLayout(itemWidget); layout->setSpacing(8); layout->setContentsMargins(0, 0, 0, 0); @@ -401,12 +402,12 @@ void ContentWidget::initHomePage() { continue; } HomePageItem * item = new HomePageItem(itemWidget, i, path); - item->setFixedSize(100, 100); + item->setFixedSize(116, 116); layout->addWidget(item); } for (int j = 0; j < 5 - shownItem; j++) { QWidget * emptyItem = new QWidget(itemWidget); - emptyItem->setFixedSize(100, 100); //占位用widget,少于5项会补全后方占位 + emptyItem->setFixedSize(116, 116); //占位用widget,少于5项会补全后方占位 layout->addWidget(emptyItem); } if (i == 0 && shownItem) titleLabel->setText(tr("Open Quickly")); @@ -518,6 +519,8 @@ void ContentWidget::resetSearchList() m_appPathList.clear(); if (! m_appIconList.isEmpty()) m_appIconList.clear(); + if (!m_appDescList.isEmpty()) + m_appDescList.clear(); } /** @@ -553,6 +556,7 @@ void ContentWidget::setAppList(const QVector& appList) { m_appList = appList.at(0); m_appPathList = appList.at(1); m_appIconList = appList.at(2); + m_appDescList = appList.at(3); m_appListView->setAppList(m_appPathList, m_appIconList); qDebug()<<"Append a best item into list: "<(m_bestListView->model()); diff --git a/src/content-widget.h b/src/content-widget.h index aa4afb1..fa125c8 100644 --- a/src/content-widget.h +++ b/src/content-widget.h @@ -98,6 +98,7 @@ private: QStringList m_quicklyOpenList; QStringList m_appPathList; QStringList m_appIconList; + QStringList m_appDescList; QList> m_bestList; QString m_bestContent; //最佳匹配有文件内容搜索结果的时候,以此变量传递 diff --git a/src/control/folder-list-item.cpp b/src/control/folder-list-item.cpp index fa86f6d..4706083 100644 --- a/src/control/folder-list-item.cpp +++ b/src/control/folder-list-item.cpp @@ -45,7 +45,7 @@ void FolderListItem::initUi() { this->setFixedHeight(32); m_layout->addWidget(m_widget); m_widgetlayout = new QHBoxLayout(m_widget); - m_widgetlayout->setContentsMargins(4, 4, 4, 4); + m_widgetlayout->setContentsMargins(8, 4, 8, 4); m_widget->setLayout(m_widgetlayout); m_iconLabel = new QLabel(m_widget); diff --git a/src/control/search-detail-view.cpp b/src/control/search-detail-view.cpp index 406fa2f..c473d2f 100644 --- a/src/control/search-detail-view.cpp +++ b/src/control/search-detail-view.cpp @@ -208,7 +208,7 @@ void SearchDetailView::setAppWidget(const QString &appname, const QString &path, m_iconLabel->setPixmap(icon.pixmap(icon.actualSize(QSize(96, 96)))); QFontMetrics fontMetrics = m_nameLabel->fontMetrics(); - QString showname = fontMetrics.elidedText(m_name, Qt::ElideRight, 215); //当字体长度超过215时显示为省略号 + QString showname = fontMetrics.elidedText(m_name, Qt::ElideRight, 274); //当字体长度超过215时显示为省略号 m_nameLabel->setText(showname); if (QString::compare(showname, m_name)) { m_nameLabel->setToolTip(m_name); @@ -326,7 +326,7 @@ void SearchDetailView::setupWidget(const int& type, const QString& path) { m_iconLabel->setPixmap(icon.pixmap(icon.actualSize(QSize(96, 96)))); QFontMetrics fontMetrics = m_nameLabel->fontMetrics(); QString wholeName = FileUtils::getFileName(path); - QString name = fontMetrics.elidedText(wholeName, Qt::ElideRight, 215); + QString name = fontMetrics.elidedText(wholeName, Qt::ElideRight, 274); m_nameLabel->setText(name); if (QString::compare(name, wholeName)) { m_nameLabel->setToolTip(wholeName); @@ -456,7 +456,7 @@ void SearchDetailView::initUI() m_nameLabel->setStyleSheet("QLabel{font-size: 18px;}"); m_typeLabel->setStyleSheet("QLabel{font-size: 14px; color: palette(mid);}"); m_nameFrame->setFixedHeight(48); - m_nameLabel->setMaximumWidth(240); + m_nameLabel->setMaximumWidth(280); m_nameLayout->addWidget(m_nameLabel); m_nameLayout->addStretch(); m_nameLayout->addWidget(m_typeLabel); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 229dfcf..5134274 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -155,18 +155,18 @@ MainWindow::~MainWindow() */ void MainWindow::initUi() { - this->setFixedSize(640, 640); + this->setFixedSize(640, 590); m_frame = new QFrame(this); this->setCentralWidget(m_frame); QVBoxLayout * mainlayout = new QVBoxLayout(m_frame); - mainlayout->setContentsMargins(16, 0, 16, 16); + mainlayout->setContentsMargins(8, 0, 8, 6); m_frame->setLayout(mainlayout); m_frame->setStyleSheet("QLabel{color: palette(text);}"); m_titleFrame = new QFrame(m_frame);//标题栏 - m_titleFrame->setFixedHeight(48); + m_titleFrame->setFixedHeight(40); m_titleLyt = new QHBoxLayout(m_titleFrame); m_titleLyt->setContentsMargins(0, 0, 0, 0); m_iconLabel = new QLabel(m_titleFrame); @@ -175,7 +175,7 @@ void MainWindow::initUi() m_titleLabel = new QLabel(m_titleFrame); m_titleLabel->setText(tr("Search")); m_menuBtn = new QPushButton(m_titleFrame); - m_menuBtn->setFixedSize(24, 24); + m_menuBtn->setFixedSize(30, 30); // m_menuBtn->setIcon(QIcon(":/res/icons/commonuse.svg")); m_menuBtn->setIcon(QIcon::fromTheme("document-properties-symbolic")); m_menuBtn->setProperty("useIconHighlightEffect", 0x2); @@ -214,7 +214,6 @@ void MainWindow::initUi() mainlayout->addWidget(m_titleFrame); mainlayout->addWidget(m_contentFrame); mainlayout->addWidget(m_searchWidget); - mainlayout->setContentsMargins(16, 0, 16, 10); connect(QApplication::primaryScreen(), &QScreen::geometryChanged, this, &MainWindow::monitorResolutionChange); diff --git a/src/search-app-thread.cpp b/src/search-app-thread.cpp index 36b0c54..a5bd942 100644 --- a/src/search-app-thread.cpp +++ b/src/search-app-thread.cpp @@ -31,7 +31,7 @@ void SearchAppThread::stop() void SearchAppThread::run() { //nameList:应用名,pathList:已安装的是.desktop路径,未安装为空,iconList:已安装的是图标名,未安装的是图标路径 - QStringList nameList, pathList, iconList; + QStringList nameList, pathList, iconList, descList; QVector appVector; AppMatch::getAppMatch()->startMatchApp(m_keyword, m_installed_apps, m_uninstalled_apps); QMapIterator installed_iter(m_installed_apps); @@ -41,6 +41,7 @@ void SearchAppThread::run() nameList << installed_iter.key().app_name; pathList << installed_iter.value().at(0); iconList << installed_iter.value().at(1); + descList << installed_iter.value().at(3); } QMapIterator uninstalled_iter(m_uninstalled_apps); while(uninstalled_iter.hasNext()) @@ -54,10 +55,12 @@ void SearchAppThread::run() nameList << name; pathList << uninstalled_iter.value().at(0); iconList << uninstalled_iter.value().at(1); + descList << uninstalled_iter.value().at(3); } appVector.append(nameList); appVector.append(pathList); appVector.append(iconList); + appVector.append(descList); if (!m_stop) Q_EMIT this->searchResultApp(appVector); } diff --git a/src/settings-widget.cpp b/src/settings-widget.cpp index 601aa1b..577f361 100644 --- a/src/settings-widget.cpp +++ b/src/settings-widget.cpp @@ -34,7 +34,7 @@ extern void qt_blurImage(QImage &blurImage, qreal radius, bool quality, int tran SettingsWidget::SettingsWidget(QWidget *parent) : QDialog(parent) { this->setWindowIcon(QIcon::fromTheme("kylin-search")); - this->setWindowTitle(tr("ukui-search")); + this->setWindowTitle(tr("ukui-search-settings")); this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint); this->setAttribute(Qt::WA_TranslucentBackground); initUi(); @@ -55,7 +55,7 @@ void SettingsWidget::initUi() { // this->setMinimumHeight(460); // this->setMaximumHeight(680); m_mainLyt = new QVBoxLayout(this); - m_mainLyt->setContentsMargins(24, 9, 24, 24); + m_mainLyt->setContentsMargins(16, 8, 16, 24); this->setLayout(m_mainLyt); //标题栏 @@ -88,30 +88,36 @@ void SettingsWidget::initUi() { 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(this); + m_settingLabel = new QLabel(m_contentFrame); m_settingLabel->setText(tr("

Settings

")); - m_mainLyt->addWidget(m_settingLabel); + m_contentLyt->addWidget(m_settingLabel); //文件索引 - m_indexTitleLabel = new QLabel(this); + m_indexTitleLabel = new QLabel(m_contentFrame); m_indexTitleLabel->setText(tr("

Index State

")); - m_indexStateLabel = new QLabel(this); + m_indexStateLabel = new QLabel(m_contentFrame); m_indexStateLabel->setText(tr("...")); - m_indexNumLabel = new QLabel(this); + m_indexNumLabel = new QLabel(m_contentFrame); m_indexNumLabel->setText(tr("...")); - m_mainLyt->addWidget(m_indexTitleLabel); - m_mainLyt->addWidget(m_indexStateLabel); + m_contentLyt->addWidget(m_indexTitleLabel); + m_contentLyt->addWidget(m_indexStateLabel); // m_mainLyt->addWidget(m_indexNumLabel); m_indexNumLabel->hide(); //文件索引设置(黑名单) - m_indexSettingLabel = new QLabel(this); + m_indexSettingLabel = new QLabel(m_contentFrame); m_indexSettingLabel->setText(tr("

File Index Settings

")); - m_indexDescLabel = new QLabel(this); + 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(this); + m_indexBtnFrame = new QFrame(m_contentFrame); m_indexBtnLyt = new QHBoxLayout(m_indexBtnFrame); m_indexBtnLyt->setContentsMargins(0, 0, 0, 0); m_indexBtnFrame->setLayout(m_indexBtnLyt); @@ -122,35 +128,35 @@ void SettingsWidget::initUi() { connect(m_addDirBtn, &QPushButton::clicked, this, &SettingsWidget::onBtnAddClicked); m_indexBtnLyt->addWidget(m_addDirBtn); m_indexBtnLyt->addStretch(); - m_dirListArea = new QScrollArea(this); + m_dirListArea = new QScrollArea(m_contentFrame); m_dirListArea->setStyleSheet("QScrollArea{background:transparent;}"); - m_dirListWidget = new QWidget(this); + m_dirListWidget = new QWidget(m_contentFrame); m_dirListWidget->setStyleSheet("QWidget{background:transparent;}"); 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(true); - m_mainLyt->addWidget(m_indexSettingLabel); - m_mainLyt->addWidget(m_indexDescLabel); - m_mainLyt->addWidget(m_indexBtnFrame); - m_mainLyt->addWidget(m_dirListArea); + 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(this); + m_searchEngineLabel = new QLabel(m_contentFrame); m_searchEngineLabel->setText(tr("

Search Engine Settings

")); - m_engineDescLabel = new QLabel(this); + m_engineDescLabel = new QLabel(m_contentFrame); m_engineDescLabel->setText(tr("Please select search engine you preferred.")); m_engineDescLabel->setWordWrap(true); - m_engineBtnGroup = new QButtonGroup(this); - m_baiduBtn = new QRadioButton(this); - m_sougouBtn = new QRadioButton(this); - m_360Btn = new QRadioButton(this); + 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(this); + m_radioBtnFrame = new QFrame(m_contentFrame); m_radioBtnLyt = new QHBoxLayout(m_radioBtnFrame); m_radioBtnFrame->setLayout(m_radioBtnLyt); m_baiduLabel = new QLabel(); @@ -187,9 +193,9 @@ void SettingsWidget::initUi() { if (checked) setWebEngine("360"); }); - m_mainLyt->addWidget(m_searchEngineLabel); - m_mainLyt->addWidget(m_engineDescLabel); - m_mainLyt->addWidget(m_radioBtnFrame); + m_contentLyt->addWidget(m_searchEngineLabel); + m_contentLyt->addWidget(m_engineDescLabel); + m_contentLyt->addWidget(m_radioBtnFrame); //取消与确认按钮 (隐藏) // m_bottomBtnFrame = new QFrame(this); @@ -209,7 +215,7 @@ void SettingsWidget::initUi() { // m_bottomBtnLyt->addWidget(m_confirmBtn); // m_mainLyt->addWidget(m_bottomBtnFrame); - m_mainLyt->addStretch(); + m_contentLyt->addStretch(); } /** diff --git a/src/settings-widget.h b/src/settings-widget.h index 1c29e87..8d13ad1 100644 --- a/src/settings-widget.h +++ b/src/settings-widget.h @@ -55,6 +55,8 @@ private: void resetWebEngine(); //标题栏 QVBoxLayout * m_mainLyt = nullptr; + QFrame * m_contentFrame = nullptr; + QVBoxLayout * m_contentLyt = nullptr; QFrame * m_titleFrame = nullptr; QHBoxLayout * m_titleLyt = nullptr; QLabel * m_titleIcon = nullptr; diff --git a/translations/ukui-search/bo.ts b/translations/ukui-search/bo.ts index 877541e..7dd4a25 100644 --- a/translations/ukui-search/bo.ts +++ b/translations/ukui-search/bo.ts @@ -4,57 +4,57 @@ ContentWidget - + Recently Opened - + Open Quickly - + Commonly Used - + Apps - + Settings - + Files - + Dirs - + File Contents - + Best Matches - + Web Pages - + Unknown @@ -80,7 +80,7 @@ - + Search @@ -121,7 +121,7 @@ QObject - + ukui-search is already running! @@ -137,22 +137,27 @@ SearchDetailView - + Path - + Last time modified - + Application - + + Introduction: %1 + + + + Document @@ -161,154 +166,154 @@ SettingsWidget - - + + Search - - + + ... - + Following folders will not be searched. You can set it by adding and removing folders. - + Add ignored folders - + Please select search engine you preferred. - + baidu - + sougou - + 360 - + Cancel - + Creating ... - ukui-search + ukui-search-settings - + <h2>Settings</h2> - + <h3>Index State</h3> - + <h3>File Index Settings</h3> - + <h3>Search Engine Settings</h3> - + Whether to delete this directory? - + Yes - + No - + Done - + Index Entry: %1 - + Directories - + select blocked folder - + Select - + Position: - + FileName: - + FileType: - + Choosen path is Empty! - + Choosen path is not in "home"! - + Its' parent folder has been blocked! - + Set blocked folder failed! diff --git a/translations/ukui-search/tr.ts b/translations/ukui-search/tr.ts index ff70791..146e6d2 100644 --- a/translations/ukui-search/tr.ts +++ b/translations/ukui-search/tr.ts @@ -4,57 +4,57 @@ ContentWidget - + Recently Opened Yeni Açılan - + Open Quickly Hızlı Aç - + Commonly Used Genel olarak kullanılan - + Apps Uygulamalar - + Settings Ayarlar - + Files Dosyalar - + Dirs Dizinler - + File Contents Dosya İçeriği - + Best Matches En İyi Eşleşen - + Web Pages - + Unknown Bilinmeyen @@ -80,7 +80,7 @@ Genel Arama - + Search Ara @@ -121,7 +121,7 @@ QObject - + ukui-search is already running! ukui-bul zaten çalışıyor! @@ -137,22 +137,27 @@ SearchDetailView - + Path Yol - + Last time modified Son değiştirilme zamanı - + Application Uygulama - + + Introduction: %1 + + + + Document Belge @@ -161,154 +166,158 @@ SettingsWidget - - + + Search Ara - - + + ... ... - + Following folders will not be searched. You can set it by adding and removing folders. Aşağıdaki klasörler aranmayacaktır. Klasör ekleyip kaldırarak ayarlayabilirsiniz. - + Add ignored folders Göz ardı edilen klasörleri ekleyin - + Please select search engine you preferred. Lütfen tercih ettiğiniz arama motorunu seçin. - + baidu - + sougou - + 360 - + Cancel İptal - + Creating ... Oluşturuluyor... - ukui-search - ukui-bul + ukui-bul - + + ukui-search-settings + + + + <h2>Settings</h2> <h2>Ayarlar</h2> - + <h3>Index State</h3> <h3>Dizin Durumu</h3> - + <h3>File Index Settings</h3> <h3>Dosya Dizini Ayarları</h3> - + <h3>Search Engine Settings</h3> <h3>SArama Motoru Ayarları</h3> - + Whether to delete this directory? Bu dizini silinsin mi? - + Yes - + No - + Done Tamam - + Index Entry: %1 Dizin Girişi: %1 - + Directories Dizinler - + select blocked folder engellenen klasörü seç - + Select Seç - + Position: Pozisyon: - + FileName: Dosya Adı: - + FileType: Dosya Türü: - + Choosen path is Empty! - + Choosen path is not in "home"! - + Its' parent folder has been blocked! - + Set blocked folder failed! diff --git a/translations/ukui-search/zh_CN.ts b/translations/ukui-search/zh_CN.ts index f704d7f..f1afd6a 100644 --- a/translations/ukui-search/zh_CN.ts +++ b/translations/ukui-search/zh_CN.ts @@ -4,57 +4,57 @@ ContentWidget - + Recently Opened 最近 - + Open Quickly 快速入口 - + Commonly Used 常用 - + Apps 应用 - + Settings 配置项 - + Files 文件 - + Dirs 文件夹 - + File Contents 文件内容 - + Best Matches 最佳匹配 - + Web Pages 网页 - + Unknown 未知 @@ -80,7 +80,7 @@ 搜索 - + Search 搜索 @@ -121,7 +121,7 @@ QObject - + ukui-search is already running! @@ -137,178 +137,187 @@ SearchDetailView - + Path 路径 - + Last time modified 上次修改时间 - + Application 应用 - + + Introduction: %1 + 软件介绍: %1 + + + Document 文件 SettingsWidget + + + ukui-search-settings + 搜索 + - - + + Search 搜索 - + <h2>Settings</h2> <h2>设置</h2> - + <h3>Index State</h3> <h3>索引状态</h3> - - + + ... - + <h3>File Index Settings</h3> <h3>文件索引设置</h3> - + Following folders will not be searched. You can set it by adding and removing folders. 搜索将不再查看以下文件夹。通过增加和删除文件夹可进行文件索引设置。 - + Add ignored folders 添加文件夹至黑名单 - + <h3>Search Engine Settings</h3> <h3>搜索引擎设置</h3> - + Please select search engine you preferred. 设置互联网搜索引擎 - + baidu 百度 - + sougou 搜狗 - + 360 360 - + Whether to delete this directory? 是否要删除此目录 - + Yes 是(Y) - + No 否(N) - + Cancel 取消 - + Choosen path is Empty! 选择的路径不存在! - + Choosen path is not in "home"! 请选择家目录下的文件夹! - + Its' parent folder has been blocked! 父文件夹已被屏蔽! - + Set blocked folder failed! - + Creating ... 正在索引 - ukui-search - 搜索 + 搜索 - + Done 索引完成 - + Index Entry: %1 索引项: %1 - + Directories 文件夹 - + select blocked folder 选择屏蔽文件夹 - + Select 选择 - + Position: 位置: - + FileName: 名称: - + FileType: 类型: