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 += \
|
||||
main.cpp \
|
||||
mainwindow.cpp
|
||||
mainwindow.cpp \
|
||||
ukui-search-dubs-service.cpp
|
||||
|
||||
|
||||
HEADERS += \
|
||||
mainwindow.h \
|
||||
mainwindow.h \ \
|
||||
ukui-search-dbus-service.h
|
||||
|
||||
# Default rules for deployment.
|
||||
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
#include "qt-local-peer.h"
|
||||
#include "libsearch.h"
|
||||
#include "global-settings.h"
|
||||
#include "ukui-search-dbus-service.h"
|
||||
|
||||
using namespace Zeeker;
|
||||
|
||||
|
@ -263,6 +264,7 @@ int main(int argc, char *argv[]) {
|
|||
|
||||
//set main window to the center of screen
|
||||
MainWindow *w = new MainWindow;
|
||||
UkuiSearchDbusServices dbusService(w);
|
||||
qApp->setWindowIcon(QIcon::fromTheme("kylin-search"));
|
||||
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