diff --git a/frontend/control/search-line-edit.cpp b/frontend/control/search-line-edit.cpp index 6b4032e..8811bd3 100644 --- a/frontend/control/search-line-edit.cpp +++ b/frontend/control/search-line-edit.cpp @@ -113,6 +113,11 @@ void SeachBarWidget::reSearch() Q_EMIT this->m_searchLineEdit->requestSearchKeyword(m_searchLineEdit->text()); } +void SeachBarWidget::setText(QString keyword) +{ + m_searchLineEdit->setText(keyword); +} + void SeachBarWidget::paintEvent(QPaintEvent *e) { Q_UNUSED(e) diff --git a/frontend/control/search-line-edit.h b/frontend/control/search-line-edit.h index 85b99f6..bfe2d73 100644 --- a/frontend/control/search-line-edit.h +++ b/frontend/control/search-line-edit.h @@ -69,6 +69,9 @@ protected: Q_SIGNALS: void requestSearchKeyword(QString text); +public Q_SLOTS: + void setText(QString keyword); + private: SearchLineEdit *m_searchLineEdit; QHBoxLayout *m_ly; diff --git a/frontend/frontend.pro b/frontend/frontend.pro index e8f85c3..3668333 100644 --- a/frontend/frontend.pro +++ b/frontend/frontend.pro @@ -31,7 +31,7 @@ include(view/view.pri) SOURCES += \ main.cpp \ mainwindow.cpp \ - ukui-search-dubs-service.cpp + ukui-search-dbus-service.cpp HEADERS += \ diff --git a/frontend/mainwindow.cpp b/frontend/mainwindow.cpp index 7e5e04d..a6d0b7f 100644 --- a/frontend/mainwindow.cpp +++ b/frontend/mainwindow.cpp @@ -171,6 +171,7 @@ void MainWindow::initConnections() connect(m_searchBarWidget, &SeachBarWidget::requestSearchKeyword, this, &MainWindow::searchKeywordSlot); // connect(m_stackedWidget, &StackedWidget::effectiveSearch, m_searchLayout, &SearchBarHLayout::effectiveSearchRecord); //connect(m_searchResultPage, &SearchResultPage::resizeHeight, this, &MainWindow::resizeHeight); + connect(this,&MainWindow::setText,m_searchBarWidget,&SeachBarWidget::setText); } /** diff --git a/frontend/mainwindow.h b/frontend/mainwindow.h index 644cc42..5b05a27 100644 --- a/frontend/mainwindow.h +++ b/frontend/mainwindow.h @@ -87,6 +87,7 @@ protected: Q_SIGNALS: void searchMethodChanged(FileUtils::SearchMethod); void webEngineChanged(); + void setText(QString keyword); public Q_SLOTS: /** diff --git a/frontend/ukui-search-dubs-service.cpp b/frontend/ukui-search-dbus-service.cpp similarity index 62% rename from frontend/ukui-search-dubs-service.cpp rename to frontend/ukui-search-dbus-service.cpp index 8be6564..f214b2c 100644 --- a/frontend/ukui-search-dubs-service.cpp +++ b/frontend/ukui-search-dbus-service.cpp @@ -1,22 +1,27 @@ #include "ukui-search-dbus-service.h" + using namespace Zeeker; void UkuiSearchDbusServices::showWindow(){ m_mainWindow->bootOptionsFilter("-s"); } +void UkuiSearchDbusServices::searchKeyword(QString keyword) +{ + showWindow(); + m_mainWindow->setText(keyword); +} + UkuiSearchDbusServices::UkuiSearchDbusServices(MainWindow *m) { m_mainWindow = m; //注册服务 QDBusConnection sessionBus = QDBusConnection::sessionBus(); if(!sessionBus.registerService("org.ukui.search.service")){ - qCritical() << "QDbus register service failed reason:" << sessionBus.lastError(); - exit(1); + qWarning() << "ukui-search dbus register service failed reason:" << sessionBus.lastError(); } if(!sessionBus.registerObject("/", this, QDBusConnection::ExportAllSlots)){ - qCritical() << "QDbus register object failed reason:" << sessionBus.lastError(); - exit(2); + qWarning() << "ukui-search dbus register object failed reason:" << sessionBus.lastError(); } } diff --git a/frontend/ukui-search-dbus-service.h b/frontend/ukui-search-dbus-service.h index d02ba87..4adda09 100644 --- a/frontend/ukui-search-dbus-service.h +++ b/frontend/ukui-search-dbus-service.h @@ -19,6 +19,7 @@ public: public Q_SLOTS: void showWindow(); + void searchKeyword(QString keyword); private: MainWindow *m_mainWindow;