diff --git a/assets/configs/org.deepin.dde.file-manager.search.json b/assets/configs/org.deepin.dde.file-manager.search.json index 0408722fbe..e0c7f9e63a 100644 --- a/assets/configs/org.deepin.dde.file-manager.search.json +++ b/assets/configs/org.deepin.dde.file-manager.search.json @@ -12,6 +12,17 @@ "description":"Used to determine whether to enable full-text search", "permissions":"readwrite", "visibility":"private" + }, + "displaySearchHistory": { + "value":true, + "serial":0, + "flags":[], + "name":"Display search history", + "name[zh_CN]":"显示搜索记录", + "description[zh_CN]":"用于判断是否显示搜索记录", + "description":"Used to determine whether to enable display search history", + "permissions":"readwrite", + "visibility":"private" } } } diff --git a/src/dfm-base/utils/dialogmanager.cpp b/src/dfm-base/utils/dialogmanager.cpp index 9776124f24..782a113301 100644 --- a/src/dfm-base/utils/dialogmanager.cpp +++ b/src/dfm-base/utils/dialogmanager.cpp @@ -606,6 +606,29 @@ int DialogManager::showUnableToVistDir(const QString &dir) return code; } +int DialogManager::showClearSearchHistories() +{ + QString clearSearch = tr("Are you sure clear search histories?"); + QStringList buttonTexts; + buttonTexts.append(tr("Cancel","button")); + buttonTexts.append(tr("Confirm","button")); + + DDialog d; + + if (!d.parentWidget()) { + d.setWindowFlags(d.windowFlags() | Qt::WindowStaysOnTopHint); + } + d.setIcon(QIcon::fromTheme("dialog-warning")); + d.setTitle(clearSearch); + d.addButton(buttonTexts[0], true, DDialog::ButtonNormal); + d.addButton(buttonTexts[1], false, DDialog::ButtonWarning); + d.setDefaultButton(1); + d.getButton(1)->setFocus(); + d.moveToCenter(); + int code = d.exec(); + return code; +} + DFMBASE_NAMESPACE::GlobalEventType DialogManager::showBreakSymlinkDialog(const QString &targetName, const QUrl &linkfile) { DDialog d(qApp->activeWindow()); diff --git a/src/dfm-base/utils/dialogmanager.h b/src/dfm-base/utils/dialogmanager.h index 1e5366a3e4..80c9c46817 100644 --- a/src/dfm-base/utils/dialogmanager.h +++ b/src/dfm-base/utils/dialogmanager.h @@ -75,6 +75,7 @@ class DialogManager : public QObject void showRenameBusyErrDialog(); int showRenameNameDotBeginDialog(); int showUnableToVistDir(const QString &dir); + int showClearSearchHistories(); // link file not exist DFMBASE_NAMESPACE::GlobalEventType showBreakSymlinkDialog(const QString &targetName, const QUrl &linkfile); diff --git a/src/plugins/filemanager/core/dfmplugin-titlebar/views/addressbar.cpp b/src/plugins/filemanager/core/dfmplugin-titlebar/views/addressbar.cpp index afd5dca7c3..3564fe3039 100644 --- a/src/plugins/filemanager/core/dfmplugin-titlebar/views/addressbar.cpp +++ b/src/plugins/filemanager/core/dfmplugin-titlebar/views/addressbar.cpp @@ -12,6 +12,8 @@ #include #include #include +#include +#include #include @@ -115,6 +117,8 @@ void AddressBarPrivate::initConnect() }); connect(pauseButton, &DIconButton::clicked, q, &AddressBar::pauseButtonClicked); + connect(DConfigManager::instance(), &DConfigManager::valueChanged, + this, &AddressBarPrivate::onDConfigValueChanged); #ifdef DTKWIDGET_CLASS_DSizeMode connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::sizeModeChanged, this, [this]() { @@ -151,12 +155,15 @@ void AddressBarPrivate::initData() void AddressBarPrivate::updateHistory() { + ipHistroyList.clear(); + ipHistroyList = SearchHistroyManager::instance()->getIPHistory(); + + if (!DConfigManager::instance()->value(DConfigSearch::kSearchCfgPath, + DConfigSearch::kDisplaySearchHistory, true).toBool()) + return; historyList.clear(); historyList.append(SearchHistroyManager::instance()->getSearchHistroy()); isHistoryInCompleterModel = false; - - ipHistroyList.clear(); - ipHistroyList = SearchHistroyManager::instance()->getIPHistory(); } /*! @@ -213,6 +220,7 @@ void AddressBarPrivate::clearCompleterModel() void AddressBarPrivate::updateCompletionState(const QString &text) { + isClearSearch = false; if (ipRegExp.exactMatch(text)) { inputIsIpAddress = true; completeIpAddress(text); @@ -290,6 +298,7 @@ void AddressBarPrivate::onTravelCompletionListFinished() if (urlCompleter->popup()->isHidden() && q->isVisible()) doComplete(); } else { + completionPrefix.clear(); completerView->hide(); q->setFocus(); // Hide will cause lost focus (weird..), so setFocus() here. } @@ -300,6 +309,35 @@ void AddressBarPrivate::onIndicatorTriggerd() onReturnPressed(); } +void AddressBarPrivate::onDConfigValueChanged(const QString &config, const QString &key) +{ + if (config != DConfigSearch::kSearchCfgPath || key != DConfigSearch::kDisplaySearchHistory) + return; + + bool show = DConfigManager::instance()->value(config, key, false).toBool(); + if (show) { + historyList.clear(); + historyList.append(SearchHistroyManager::instance()->getSearchHistroy()); + } else { + historyList.clear(); + showHistoryList.clear(); + completerModel.setStringList(showHistoryList); + } + isHistoryInCompleterModel = false; +} + +void AddressBarPrivate::filterHistory(const QString &text) +{ + completionPrefix = text; + showHistoryList.clear(); + for (const auto &str : historyList) { + if (str.startsWith(text)) + showHistoryList.push_back(str); + } + showHistoryList.append(QObject::tr("Clear search history")); + completerModel.setStringList(showHistoryList); +} + void AddressBarPrivate::requestCompleteByUrl(const QUrl &url) { if (!crumbController || !crumbController->isSupportedScheme(url.scheme())) { @@ -329,7 +367,8 @@ void AddressBarPrivate::completeSearchHistory(const QString &text) setIndicator(AddressBar::IndicatorType::Search); // set completion prefix. - urlCompleter->setCompletionPrefix(text); + urlCompleter->setCompletionPrefix(""); + filterHistory(text); // Check if we already loaded history list in model if (isHistoryInCompleterModel) @@ -340,7 +379,7 @@ void AddressBarPrivate::completeSearchHistory(const QString &text) // History completion. isHistoryInCompleterModel = true; - completerModel.setStringList(historyList); + completerModel.setStringList(showHistoryList); } void AddressBarPrivate::completeIpAddress(const QString &text) @@ -450,9 +489,13 @@ void AddressBarPrivate::onReturnPressed() // add search history list if (!dfmbase::FileUtils::isLocalFile(UrlRoute::fromUserInput(text))) { - if (!historyList.contains(text)) - historyList.removeAll(text); - historyList.append(text); + if (DConfigManager::instance()->value(DConfigSearch::kSearchCfgPath, + DConfigSearch::kDisplaySearchHistory, true).toBool()) { + if (!historyList.contains(text)) + historyList.removeAll(text); + historyList.append(text); + isHistoryInCompleterModel = false; + } SearchHistroyManager::instance()->writeIntoSearchHistory(text); if (protocolIPRegExp.exactMatch(text)) { @@ -469,6 +512,13 @@ void AddressBarPrivate::onReturnPressed() } bool isSearch { false }; + if (text == QObject::tr("Clear search history")) { + emit q->escKeyPressed();; + auto result = DialogManager::instance()->showClearSearchHistories(); + if (result == DDialog::Accepted) + q->clearSearchHistory(); + return; + } TitleBarHelper::handlePressed(q, text, &isSearch); if (isSearch) { @@ -486,12 +536,20 @@ void AddressBarPrivate::insertCompletion(const QString &completion) if (inputIsIpAddress) { q->setText(completion); } else { + if (completion == QObject::tr("Clear search history")) { + isClearSearch = true; + emit q->returnPressed(); + return; + } + + isClearSearch = false; q->setText(completerBaseString + completion); } } void AddressBarPrivate::onCompletionHighlighted(const QString &highlightedCompletion) { + isClearSearch = false; if (inputIsIpAddress) { if (highlightedCompletion.isEmpty()) { q->setText(completerBaseString); @@ -502,9 +560,16 @@ void AddressBarPrivate::onCompletionHighlighted(const QString &highlightedComple q->setText(highlightedCompletion); q->setSelection(0, selectLength); } else { - int completionPrefixLen = urlCompleter->completionPrefix().length(); + int completionPrefixLen = indicatorType == AddressBar::IndicatorType::Search + ? completionPrefix.length() : urlCompleter->completionPrefix().length(); int selectBeginPos = highlightedCompletion.length() - completionPrefixLen; - q->setText(completerBaseString + highlightedCompletion); + if (highlightedCompletion == QObject::tr("Clear search history")) { + q->setText(completerBaseString + lastEditedString); + isClearSearch = true; + } else { + q->setText(completerBaseString + highlightedCompletion); + isClearSearch = false; + } q->setSelection(q->text().length() - selectBeginPos, q->text().length()); } } @@ -608,6 +673,20 @@ void AddressBar::showOnFocusLostOnce() d->isKeepVisible = true; } +QString AddressBar::text() const +{ + if (d->isClearSearch && Search == d->indicatorType) + return QObject::tr("Clear search history"); + return QLineEdit::text(); +} + +void AddressBar::clearSearchHistory() +{ + d->historyList.clear(); + SearchHistroyManager::instance()->clearHistory(); + d->isHistoryInCompleterModel = false; +} + bool AddressBar::event(QEvent *e) { if (e->type() == QEvent::KeyPress) { @@ -641,6 +720,7 @@ void AddressBar::focusOutEvent(QFocusEvent *e) setFocus(); return; } + d->completionPrefix.clear(); d->completerView->hide(); if (d->isKeepVisible) { d->isKeepVisible = false; @@ -672,7 +752,8 @@ void AddressBar::keyPressEvent(QKeyEvent *e) if (d->isHistoryInCompleterModel && e->modifiers() == Qt::ShiftModifier && e->key() == Qt::Key_Delete) { QString completeResult = d->completerView->currentIndex().data().toString(); bool ret = SearchHistroyManager::instance()->removeSearchHistory(completeResult); - if (ret) { + if (ret && DConfigManager::instance()->value(DConfigSearch::kSearchCfgPath, + DConfigSearch::kDisplaySearchHistory, true).toBool()) { d->historyList.clear(); d->historyList.append(SearchHistroyManager::instance()->getSearchHistroy()); d->completerModel.setStringList(d->historyList); @@ -688,6 +769,7 @@ void AddressBar::keyPressEvent(QKeyEvent *e) case Qt::Key_Return: e->accept(); d->completerView->hide(); + d->completionPrefix.clear(); emit returnPressed(); return; case Qt::Key_Tab: diff --git a/src/plugins/filemanager/core/dfmplugin-titlebar/views/addressbar.h b/src/plugins/filemanager/core/dfmplugin-titlebar/views/addressbar.h index 54d006de2f..5656363031 100644 --- a/src/plugins/filemanager/core/dfmplugin-titlebar/views/addressbar.h +++ b/src/plugins/filemanager/core/dfmplugin-titlebar/views/addressbar.h @@ -29,6 +29,8 @@ class AddressBar : public QLineEdit void setCurrentUrl(const QUrl &url); QUrl currentUrl(); void showOnFocusLostOnce(); + QString text() const; + void clearSearchHistory(); protected: bool event(QEvent *e) override; diff --git a/src/plugins/filemanager/core/dfmplugin-titlebar/views/private/addressbar_p.h b/src/plugins/filemanager/core/dfmplugin-titlebar/views/private/addressbar_p.h index f6455529a9..005ac546d4 100644 --- a/src/plugins/filemanager/core/dfmplugin-titlebar/views/private/addressbar_p.h +++ b/src/plugins/filemanager/core/dfmplugin-titlebar/views/private/addressbar_p.h @@ -33,6 +33,11 @@ DWIDGET_USE_NAMESPACE DFMBASE_USE_NAMESPACE +namespace DConfigSearch { +inline constexpr char kSearchCfgPath[] { "org.deepin.dde.file-manager.search" }; +inline constexpr char kDisplaySearchHistory[] = "displaySearchHistory"; +} + namespace dfmplugin_titlebar { class CrumbInterface; class AddressBarPrivate : public QObject @@ -41,6 +46,7 @@ class AddressBarPrivate : public QObject friend class AddressBar; AddressBar *const q; QStringList historyList; + QStringList showHistoryList; QList ipHistroyList; QTimer timer; DSpinner spinner; @@ -52,22 +58,24 @@ class AddressBarPrivate : public QObject QString completerBaseString; QString lastEditedString; AddressBar::IndicatorType indicatorType { AddressBar::IndicatorType::Search }; - bool isHistoryInCompleterModel { false }; int lastPressedKey { Qt::Key_D }; // just an init value int lastPreviousKey { Qt::Key_Control }; //记录上前一个按钮 - bool isKeyPressed { false }; + int selectPosStart { 0 }; CrumbInterface *crumbController { nullptr }; CompleterViewModel completerModel; CompleterView *completerView { nullptr }; QCompleter *urlCompleter { nullptr }; CompleterViewDelegate *cpItemDelegate { nullptr }; // inputMethodEvent中获取不到选中的内容,故缓存光标开始位置以及选中长度 - int selectPosStart { 0 }; int selectLength { 0 }; + bool isKeepVisible { false }; + bool isClearSearch { false }; + bool isKeyPressed { false }; + bool isHistoryInCompleterModel { false }; QRegExp ipRegExp; // 0.0.0.0-255.255.255.255 QRegExp protocolIPRegExp; // smb://ip, ftp://ip, sftp://ip + QString completionPrefix; bool inputIsIpAddress { false }; - bool isKeepVisible { false }; public: explicit AddressBarPrivate(AddressBar *qq); @@ -99,6 +107,8 @@ public Q_SLOTS: void appendToCompleterModel(const QStringList &stringList); void onTravelCompletionListFinished(); void onIndicatorTriggerd(); + void onDConfigValueChanged(const QString &config, const QString &key); + void filterHistory(const QString &text); protected: virtual bool eventFilterResize(AddressBar *addressbar, QResizeEvent *event); diff --git a/src/plugins/filemanager/core/dfmplugin-titlebar/views/titlebarwidget.cpp b/src/plugins/filemanager/core/dfmplugin-titlebar/views/titlebarwidget.cpp index c574151beb..e7f96b4750 100644 --- a/src/plugins/filemanager/core/dfmplugin-titlebar/views/titlebarwidget.cpp +++ b/src/plugins/filemanager/core/dfmplugin-titlebar/views/titlebarwidget.cpp @@ -162,6 +162,7 @@ void TitleBarWidget::initConnect() connect(addressBar, &AddressBar::escKeyPressed, this, [this]() { if (crumbBar->controller()) crumbBar->controller()->processAction(CrumbInterface::kEscKeyPressed); + addressBar->stopSpinner(); }); connect(addressBar, &AddressBar::lostFocus, this, [this]() { if (crumbBar->controller()) diff --git a/src/plugins/filemanager/dfmplugin-search/dfmplugin_search_global.h b/src/plugins/filemanager/dfmplugin-search/dfmplugin_search_global.h index c0159fc849..91543edb3e 100644 --- a/src/plugins/filemanager/dfmplugin-search/dfmplugin_search_global.h +++ b/src/plugins/filemanager/dfmplugin-search/dfmplugin_search_global.h @@ -37,11 +37,13 @@ inline constexpr char kGroupSearch[] { SEARCH_SETTING_GROUP }; inline constexpr char kIndexInternal[] { SEARCH_SETTING_GROUP ".00_index_internal" }; inline constexpr char kIndexExternal[] { SEARCH_SETTING_GROUP ".01_index_external" }; inline constexpr char kFulltextSearch[] { SEARCH_SETTING_GROUP ".02_fulltext_search" }; +inline constexpr char kDisplaySearchHistory[] { SEARCH_SETTING_GROUP ".03_display_search_history" }; } namespace DConfig { inline constexpr char kSearchCfgPath[] { "org.deepin.dde.file-manager.search" }; inline constexpr char kEnableFullTextSearch[] { "enableFullTextSearch" }; +inline constexpr char kDisplaySearchHistory[] { "displaySearchHistory" }; } DPSEARCH_END_NAMESPACE diff --git a/src/plugins/filemanager/dfmplugin-search/search.cpp b/src/plugins/filemanager/dfmplugin-search/search.cpp index 9b0d407097..a9c3c66827 100644 --- a/src/plugins/filemanager/dfmplugin-search/search.cpp +++ b/src/plugins/filemanager/dfmplugin-search/search.cpp @@ -141,6 +141,9 @@ void Search::regSearchSettingConfig() SettingJsonGenerator::instance()->addCheckBoxConfig(SearchSettings::kFulltextSearch, tr("Full-Text search"), false); + SettingJsonGenerator::instance()->addCheckBoxConfig(SearchSettings::kDisplaySearchHistory, + tr("Display search history"), + true); SettingBackend::instance()->addSettingAccessor( SearchSettings::kFulltextSearch, []() { @@ -153,6 +156,19 @@ void Search::regSearchSettingConfig() DConfig::kEnableFullTextSearch, val); }); + + SettingBackend::instance()->addSettingAccessor( + SearchSettings::kDisplaySearchHistory, + []() { + return DConfigManager::instance()->value(DConfig::kSearchCfgPath, + DConfig::kDisplaySearchHistory, + true); + }, + [](const QVariant &val) { + DConfigManager::instance()->setValue(DConfig::kSearchCfgPath, + DConfig::kDisplaySearchHistory, + val); + }); } void Search::bindEvents() diff --git a/translations/dde-file-manager.ts b/translations/dde-file-manager.ts index cc5aad039e..b237d9becd 100644 --- a/translations/dde-file-manager.ts +++ b/translations/dde-file-manager.ts @@ -64,33 +64,33 @@ DockItemDataManager - + The device has been safely removed The device has been safely removed - + eject eject - + unmount Unmount - - + + remove remove - + Operation failed Operation failed - + Device (%1) is busy, cannot %2 now. Device (%1) is busy, cannot %2 now. @@ -333,21 +333,21 @@ Unable to find the original file - - - + + + File has been moved or deleted File has been moved or deleted - - + + You do not have permission to access this folder You do not have permission to access this folder - - + + You do not have permission to traverse files in it You do not have permission to traverse files in it @@ -422,7 +422,7 @@ - + Computers in LAN Computers in LAN @@ -920,10 +920,10 @@ - + - + Open in new window Open in new window @@ -934,10 +934,11 @@ - + + - + Open in new tab Open in new tab @@ -1372,22 +1373,22 @@ New window - + Connect to Server Connect to Server - + Set share password Set share password - + Change disk password Change disk password - + Settings Settings @@ -1397,7 +1398,7 @@ Copy path - + Edit address Edit address @@ -1716,6 +1717,15 @@ or + + + + + + + Clear search history + + ddplugin_canvas::CanvasMenuScene @@ -2410,7 +2420,8 @@ - + + Confirm button @@ -2520,7 +2531,7 @@ - + OK button OK @@ -2549,8 +2560,9 @@ - - + + + Cancel button Cancel @@ -2579,7 +2591,7 @@ - + Run button Run @@ -2723,22 +2735,27 @@ Unable to access %1 - + + Are you sure clear search histories? + + + + %1 that this shortcut refers to has been changed or moved %1 that this shortcut refers to has been changed or moved - + Do you want to delete this shortcut? Do you want to delete this shortcut? - + This file is not executable, do you want to add the execute permission and run? This file is not executable, do you want to add the execute permission and run? - + The selected files contain system file/directory, and it cannot be deleted The selected files contain system file/directory, and it cannot be deleted @@ -5142,6 +5159,11 @@ Full-Text search Full-Text search + + + Display search history + + dfmplugin_search::SearchHelper @@ -5306,7 +5328,7 @@ dfmplugin_titlebar::AddressBarPrivate - + Search or enter address Search or enter address @@ -5532,12 +5554,12 @@ dfmplugin_titlebar::TitleBarWidget - + search - + advanced search @@ -6600,7 +6622,7 @@ filedialog_core::FileDialog - + Save button Save diff --git a/translations/dde-file-manager_bo.ts b/translations/dde-file-manager_bo.ts index 865487700e..0a44c3c4ce 100644 --- a/translations/dde-file-manager_bo.ts +++ b/translations/dde-file-manager_bo.ts @@ -64,33 +64,33 @@ DockItemDataManager - + The device has been safely removed སྒྲིག་ཆས་བདེ་འཇགས་ངང་སྤོ་འབུད་བྱས་སོང་། - + eject ཕྱིར་འདོན། - + unmount བཤིག་འདོན། - - + + remove སུབ་པ། - + Operation failed བཀོལ་སྤྱོད་བྱེད་མ་ཐུབ། - + Device (%1) is busy, cannot %2 now. སྒྲིག་(%1)སྤྱོད་བཞིན་པས། %2བྱེད་ཐབས་མེད། @@ -333,21 +333,21 @@ དམིགས་འབེན་ཡིག་ཆའི་འབྲེལ་མཐུད་རྙེད་ཐབས་བྲལ། - - - + + + File has been moved or deleted ཡིག་ཆ་སྤོས་ཟིན་པའམ་བསུབས་ཟིན། - - + + You do not have permission to access this folder ཁྱོད་ལ་ཡིག་ཁུག་འདི་ཀློག་དབང་མེད། - - + + You do not have permission to traverse files in it ཁྱོད་ལ་ཡན་ལག་ཡིག་ཆར་ལྟ་སྤྱོད་བྱེད་དབང་མེད། @@ -422,7 +422,7 @@ - + Computers in LAN དྲ་རྒྱའི་ཁྱིམ་མཚེས། @@ -920,10 +920,10 @@ - + - + Open in new window སྒེའུ་ཁུང་གསར་པ་ནས་ཁ་ཕྱེ། @@ -934,10 +934,11 @@ - + + - + Open in new tab ཤོག་བྱང་གསར་པ་ནས་ཁ་ཕྱེ། @@ -1372,22 +1373,22 @@ སྒེའུ་ཁུང་གསར་འཛུགས། - + Connect to Server ཞབས་ཞུ་འཕྲུལ་ཆས་དང་སྦྲེལ་མཐུད་པ། - + Set share password མཉམ་སྤྱོད་གསང་ཨང་བཟོ་བ། - + Change disk password སྡུད་སྡེར་གྱི་གསང་ཨང་བཟོ་བཅོས། - + Settings སྒྲིག་འགོད། @@ -1397,7 +1398,7 @@ པར་སློག་འགྲོ་ལམ། - + Edit address རྩོམ་སྒྲིག་བྱེད་ས། @@ -1716,6 +1717,15 @@ or ཡང་ན། + + + + + + + Clear search history + + ddplugin_canvas::CanvasMenuScene @@ -2410,7 +2420,8 @@ - + + Confirm button @@ -2520,7 +2531,7 @@ - + OK button ཆོག @@ -2549,8 +2560,9 @@ - - + + + Cancel button འདོར་བ། @@ -2579,7 +2591,7 @@ - + Run button འཁོར་སྐྱོད། @@ -2723,22 +2735,27 @@ ལྟ་སྤྱོད་%1བྱེད་མ་ཐུབ། - + + Are you sure clear search histories? + + + + %1 that this shortcut refers to has been changed or moved མྱུར་ལམ་འདིས་སྟོན་པའི་“%1”སྒྱུར་ཟིན་པའམ་སྤོས་འདུག - + Do you want to delete this shortcut? མྱུར་ལམ་འདི་བསུབ་དགོས་སམ། - + This file is not executable, do you want to add the execute permission and run? ཡིག་ཆ་འདིར་ལག་བསྟར་བྱེད་དབང་མེད་པས། དབང་ཚད་སྣོན་ཏེ་འཁོར་སྐྱོད་བྱེད་དགོས་སམ། - + The selected files contain system file/directory, and it cannot be deleted བདམས་ཟིན་པའི་ཡིག་ཆའི་ནང་རྒྱུད་ཁོངས་ཀྱི་དཀར་ཆག་ཚུད་ཡོད་པས། སུབ་ཐབས་མི་འདུག @@ -5142,6 +5159,11 @@ Full-Text search རྩོམ་ཡིག་ཧྲིལ་པོར་བཤེར་འཚོལ་བྱེད། + + + Display search history + + dfmplugin_search::SearchHelper @@ -5306,7 +5328,7 @@ dfmplugin_titlebar::AddressBarPrivate - + Search or enter address བཤེར་འཚོལ་ལམ་གནས་ཡུལ་ནང་འཇུག་བྱེད་པ། @@ -5532,12 +5554,12 @@ dfmplugin_titlebar::TitleBarWidget - + search བཤེར་འཚོལ། - + advanced search མཐོ་རིམ་བཤེར་འཚོལ། @@ -6599,7 +6621,7 @@ filedialog_core::FileDialog - + Save button ཉར་ཚགས། diff --git a/translations/dde-file-manager_ug.ts b/translations/dde-file-manager_ug.ts index d12ef8a6a1..d9e74cbe29 100644 --- a/translations/dde-file-manager_ug.ts +++ b/translations/dde-file-manager_ug.ts @@ -64,33 +64,33 @@ DockItemDataManager - + The device has been safely removed ئۈسكۈنە بىخەتەر چىقىرىۋىتىلدى - + eject چىقىرۋېتىش - + unmount ئۆچۈرۈش - - + + remove چىقىرۋېتىش - + Operation failed مەشغۇلات مەغلۇب بولدى - + Device (%1) is busy, cannot %2 now. ئۈسكۈنە (%1)  ئالدىراش، %2 قا ئامالسىز. @@ -333,21 +333,21 @@ ئۇلىنىش نىشان ھۆججىتىنى تاپالمىدى - - - + + + File has been moved or deleted ھۆججەت يۆتكىۋېتىلگەن ياكى ئۆچۈرۈلگەن - - + + You do not have permission to access this folder بۇ ھۆججەتنى ئوقۇش ھوقۇقىڭىز يوق - - + + You do not have permission to traverse files in it تارماق ھۆججەتلەرنى كۆرۈش ھوقۇقىڭىز يوق @@ -422,7 +422,7 @@ - + Computers in LAN توردىكى قوشنىلار @@ -920,10 +920,10 @@ - + - + Open in new window يىڭى كۆزنەكتە ئېچىش @@ -934,10 +934,11 @@ - + + - + Open in new tab يىڭى بەتتە ئېچىش @@ -1372,22 +1373,22 @@ يېڭى كۆزنەك - + Connect to Server مۇلازىمېتىرغا ئۇلاش - + Set share password ھەمبەھرىلىنىش پارولى تەڭشەش - + Change disk password دىسكا پارولىنى ئۆزگەرتىش - + Settings تەڭشەكلەر @@ -1397,7 +1398,7 @@ ئادېرىس كۆچۈرۈش - + Edit address ئادرېسنى تەھرىرلەش @@ -1716,6 +1717,15 @@ or ياكى + + + + + + + Clear search history + + ddplugin_canvas::CanvasMenuScene @@ -2410,7 +2420,8 @@ - + + Confirm button @@ -2520,7 +2531,7 @@ - + OK button ماقۇل @@ -2549,8 +2560,9 @@ - - + + + Cancel button بىكار قىلىش @@ -2579,7 +2591,7 @@ - + Run button يۈرگۈزۈش @@ -2723,22 +2735,27 @@ %1نى زىيارەت قىلغىلى بولمىدى - + + Are you sure clear search histories? + + + + %1 that this shortcut refers to has been changed or moved بۇ تېزلەتمە كۆرسەتكەن “%1” ئۆزگەرتىۋېتىلگەن ياكى يۆتكىۋېتىلگەن - + Do you want to delete this shortcut? بۇ تېزلەتمىنى ئۆچۈرەمسىز؟ - + This file is not executable, do you want to add the execute permission and run? بۇ ھۆججەتنىڭ ئىجرا قىلىشقا بولىدىغان ھوقۇق يوق. ھوقۇق قوشۇپ ئىجرا قىلماقچىمۇ؟ - + The selected files contain system file/directory, and it cannot be deleted تاللانغان ھۆججەتتە سىستېما مۇندەرىجىسى بار، ئۆچۈرگىلى بولمايدۇ @@ -5142,6 +5159,11 @@ Full-Text search تولۇق تېكىستلىق ئىزدەش + + + Display search history + + dfmplugin_search::SearchHelper @@ -5306,7 +5328,7 @@ dfmplugin_titlebar::AddressBarPrivate - + Search or enter address ئادرېسنى ئىزدەڭ ياكى كىرگۈزۈڭ @@ -5532,12 +5554,12 @@ dfmplugin_titlebar::TitleBarWidget - + search ئىزدەش - + advanced search ئالىي ئىزدەش @@ -6599,7 +6621,7 @@ filedialog_core::FileDialog - + Save button ساقلاش diff --git a/translations/dde-file-manager_zh_CN.ts b/translations/dde-file-manager_zh_CN.ts index 24c9a60a0a..83b53180d5 100644 --- a/translations/dde-file-manager_zh_CN.ts +++ b/translations/dde-file-manager_zh_CN.ts @@ -64,33 +64,33 @@ DockItemDataManager - + The device has been safely removed 设备已被安全移除 - + eject 弹出 - + unmount 卸载 - - + + remove 移除 - + Operation failed 操作失败 - + Device (%1) is busy, cannot %2 now. 设备(%1)正忙,无法%2。 @@ -333,21 +333,21 @@ 无法找到链接目标文件 - - - + + + File has been moved or deleted 文件已被移动或删除 - - + + You do not have permission to access this folder 您没有权限访问该文件夹 - - + + You do not have permission to traverse files in it 您没有权限遍历子文件 @@ -422,7 +422,7 @@ - + Computers in LAN 网络邻居 @@ -920,10 +920,10 @@ - + - + Open in new window 在新窗口打开 @@ -934,10 +934,11 @@ - + + - + Open in new tab 在新标签中打开 @@ -1372,22 +1373,22 @@ 新建窗口 - + Connect to Server 连接到服务器 - + Set share password 设置共享密码 - + Change disk password 修改磁盘密码 - + Settings 设置 @@ -1397,7 +1398,7 @@ 复制路径 - + Edit address 编辑地址 @@ -1716,6 +1717,15 @@ or + + + + + + + Clear search history + 清空搜索记录 + ddplugin_canvas::CanvasMenuScene @@ -2410,7 +2420,8 @@ - + + Confirm button @@ -2520,7 +2531,7 @@ - + OK button 确 定 @@ -2549,8 +2560,9 @@ - - + + + Cancel button 取 消 @@ -2579,7 +2591,7 @@ - + Run button 运 行 @@ -2723,22 +2735,27 @@ 访问%1失败 - + + Are you sure clear search histories? + 确认清空搜索记录? + + + %1 that this shortcut refers to has been changed or moved 此快捷方式所指向的“%1”已被更改或移动 - + Do you want to delete this shortcut? 是否删除此快捷方式? - + This file is not executable, do you want to add the execute permission and run? 此文件没有可执行权限,是否添加权限并运行? - + The selected files contain system file/directory, and it cannot be deleted 选择的文件中包含系统目录,不能被删除 @@ -5142,6 +5159,11 @@ Full-Text search 全文搜索 + + + Display search history + 显示搜索记录 + dfmplugin_search::SearchHelper @@ -5306,7 +5328,7 @@ dfmplugin_titlebar::AddressBarPrivate - + Search or enter address 搜索或输入地址 @@ -5532,12 +5554,12 @@ dfmplugin_titlebar::TitleBarWidget - + search 搜索 - + advanced search 高级搜索 @@ -6599,7 +6621,7 @@ filedialog_core::FileDialog - + Save button 保 存 diff --git a/translations/dde-file-manager_zh_HK.ts b/translations/dde-file-manager_zh_HK.ts index 2a83fb0eb8..eae2abb9b7 100644 --- a/translations/dde-file-manager_zh_HK.ts +++ b/translations/dde-file-manager_zh_HK.ts @@ -64,33 +64,33 @@ DockItemDataManager - + The device has been safely removed 設備已被安全移除 - + eject 彈出 - + unmount 卸載 - - + + remove 移除 - + Operation failed 操作失敗 - + Device (%1) is busy, cannot %2 now. 設備(%1)正忙,無法%2。 @@ -333,21 +333,21 @@ 無法找到鏈接目標文件 - - - + + + File has been moved or deleted 文件已被移動或刪除 - - + + You do not have permission to access this folder 您沒有權限訪問該文件夾 - - + + You do not have permission to traverse files in it 您沒有權限遍歷子文件 @@ -422,7 +422,7 @@ - + Computers in LAN 網絡鄰居 @@ -920,10 +920,10 @@ - + - + Open in new window 在新窗口打開 @@ -934,10 +934,11 @@ - + + - + Open in new tab 在新標籤中打開 @@ -1372,22 +1373,22 @@ 新建窗口 - + Connect to Server 連接到伺服器 - + Set share password 設置共享密碼 - + Change disk password 修改磁盤密碼 - + Settings 設置 @@ -1397,7 +1398,7 @@ 複製路徑 - + Edit address 編輯地址 @@ -1716,6 +1717,15 @@ or + + + + + + + Clear search history + + ddplugin_canvas::CanvasMenuScene @@ -2410,7 +2420,8 @@ - + + Confirm button @@ -2520,7 +2531,7 @@ - + OK button 確 定 @@ -2549,8 +2560,9 @@ - - + + + Cancel button 取 消 @@ -2579,7 +2591,7 @@ - + Run button 運 行 @@ -2723,22 +2735,27 @@ 訪問%1失敗 - + + Are you sure clear search histories? + + + + %1 that this shortcut refers to has been changed or moved 此快捷方式所指向的“%1”已被更改或移動 - + Do you want to delete this shortcut? 是否刪除此快捷方式? - + This file is not executable, do you want to add the execute permission and run? 此文件沒有可執行權限,是否添加權限並運行? - + The selected files contain system file/directory, and it cannot be deleted 選擇的文件中包含系統目錄,不能被刪除 @@ -5142,6 +5159,11 @@ Full-Text search 全文搜索 + + + Display search history + + dfmplugin_search::SearchHelper @@ -5306,7 +5328,7 @@ dfmplugin_titlebar::AddressBarPrivate - + Search or enter address 搜索或輸入地址 @@ -5532,12 +5554,12 @@ dfmplugin_titlebar::TitleBarWidget - + search 搜索 - + advanced search 高級搜索 @@ -6599,7 +6621,7 @@ filedialog_core::FileDialog - + Save button 保 存 diff --git a/translations/dde-file-manager_zh_TW.ts b/translations/dde-file-manager_zh_TW.ts index f535324738..31c7de1304 100644 --- a/translations/dde-file-manager_zh_TW.ts +++ b/translations/dde-file-manager_zh_TW.ts @@ -64,33 +64,33 @@ DockItemDataManager - + The device has been safely removed 裝置已被安全移除 - + eject 彈出 - + unmount 移除 - - + + remove 移除 - + Operation failed 操作失敗 - + Device (%1) is busy, cannot %2 now. 裝置(%1)正忙,無法%2。 @@ -333,21 +333,21 @@ 無法找到連結目標文件 - - - + + + File has been moved or deleted 文件已被移動或刪除 - - + + You do not have permission to access this folder 您沒有權限訪問該資料夾 - - + + You do not have permission to traverse files in it 您沒有權限遍歷子文件 @@ -422,7 +422,7 @@ - + Computers in LAN 網路鄰居 @@ -920,10 +920,10 @@ - + - + Open in new window 在新視窗打開 @@ -934,10 +934,11 @@ - + + - + Open in new tab 在新標籤中打開 @@ -1372,22 +1373,22 @@ 建立視窗 - + Connect to Server 連線到伺服器 - + Set share password 設定共享密碼 - + Change disk password 修改磁碟密碼 - + Settings 設定 @@ -1397,7 +1398,7 @@ 複製路徑 - + Edit address 編輯地址 @@ -1716,6 +1717,15 @@ or + + + + + + + Clear search history + + ddplugin_canvas::CanvasMenuScene @@ -2410,7 +2420,8 @@ - + + Confirm button @@ -2520,7 +2531,7 @@ - + OK button 確 定 @@ -2549,8 +2560,9 @@ - - + + + Cancel button 取 消 @@ -2579,7 +2591,7 @@ - + Run button 運 行 @@ -2723,22 +2735,27 @@ 訪問%1失敗 - + + Are you sure clear search histories? + + + + %1 that this shortcut refers to has been changed or moved 此捷徑所指向的“%1”已被更改或移動 - + Do you want to delete this shortcut? 是否刪除此捷徑? - + This file is not executable, do you want to add the execute permission and run? 此文件沒有可執行權限,是否添加權限並執行? - + The selected files contain system file/directory, and it cannot be deleted 選擇的文件中包含系統目錄,不能被刪除 @@ -5142,6 +5159,11 @@ Full-Text search 全文搜尋 + + + Display search history + + dfmplugin_search::SearchHelper @@ -5306,7 +5328,7 @@ dfmplugin_titlebar::AddressBarPrivate - + Search or enter address 搜尋或輸入地址 @@ -5532,12 +5554,12 @@ dfmplugin_titlebar::TitleBarWidget - + search 搜尋 - + advanced search 進階搜尋 @@ -6599,7 +6621,7 @@ filedialog_core::FileDialog - + Save button 儲 存