use DBus Interface to show ukui-search window
This commit is contained in:
parent
cc3cd423f9
commit
8ab2857b1b
|
@ -30,11 +30,13 @@ include(view/view.pri)
|
||||||
|
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
main.cpp \
|
main.cpp \
|
||||||
mainwindow.cpp
|
mainwindow.cpp \
|
||||||
|
ukui-search-dubs-service.cpp
|
||||||
|
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
mainwindow.h \
|
mainwindow.h \ \
|
||||||
|
ukui-search-dbus-service.h
|
||||||
|
|
||||||
# Default rules for deployment.
|
# Default rules for deployment.
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,7 @@
|
||||||
#include "qt-local-peer.h"
|
#include "qt-local-peer.h"
|
||||||
#include "libsearch.h"
|
#include "libsearch.h"
|
||||||
#include "global-settings.h"
|
#include "global-settings.h"
|
||||||
|
#include "ukui-search-dbus-service.h"
|
||||||
|
|
||||||
using namespace Zeeker;
|
using namespace Zeeker;
|
||||||
|
|
||||||
|
@ -263,6 +264,7 @@ int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
//set main window to the center of screen
|
//set main window to the center of screen
|
||||||
MainWindow *w = new MainWindow;
|
MainWindow *w = new MainWindow;
|
||||||
|
UkuiSearchDbusServices dbusService(w);
|
||||||
qApp->setWindowIcon(QIcon::fromTheme("kylin-search"));
|
qApp->setWindowIcon(QIcon::fromTheme("kylin-search"));
|
||||||
centerToScreen(w);
|
centerToScreen(w);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
#ifndef UKUISEARCHDBUSSERVICE_H
|
||||||
|
#define UKUISEARCHDBUSSERVICE_H
|
||||||
|
|
||||||
|
#include <QDBusConnection>
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
#include "mainwindow.h"
|
||||||
|
|
||||||
|
namespace Zeeker {
|
||||||
|
|
||||||
|
class UkuiSearchDbusServices: public QObject{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
Q_CLASSINFO("D-Bus Interface","org.ukui.search.service")
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit UkuiSearchDbusServices(MainWindow *m);
|
||||||
|
~UkuiSearchDbusServices();
|
||||||
|
|
||||||
|
public Q_SLOTS:
|
||||||
|
void showWindow();
|
||||||
|
|
||||||
|
private:
|
||||||
|
MainWindow *m_mainWindow;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // UKUISEARCHDBUSSERVICE_H
|
|
@ -0,0 +1,24 @@
|
||||||
|
#include "ukui-search-dbus-service.h"
|
||||||
|
using namespace Zeeker;
|
||||||
|
void UkuiSearchDbusServices::showWindow(){
|
||||||
|
m_mainWindow->bootOptionsFilter("-s");
|
||||||
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!sessionBus.registerObject("/", this, QDBusConnection::ExportAllSlots)){
|
||||||
|
qCritical() << "QDbus register object failed reason:" << sessionBus.lastError();
|
||||||
|
exit(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
UkuiSearchDbusServices::~UkuiSearchDbusServices(){
|
||||||
|
}
|
Loading…
Reference in New Issue