重命名文件并调整代码结构

1. 将TrayEntry改为VirtualKeyboardTrayIcon

2. 优化构造函数参数顺序

3. 优化成员变量的名字
This commit is contained in:
hanteng 2023-04-04 10:39:15 +08:00 committed by liulinsong
parent b73276f303
commit 95827274ab
6 changed files with 72 additions and 68 deletions

View File

@ -23,7 +23,7 @@ SOURCES += \
src/virtualkeyboard/virtualkeyboardmanager.cpp \
src/virtualkeyboard/virtualkeyboardmodel.cpp \
src/virtualkeyboard/virtualkeyboardview.cpp \
src/virtualkeyboardentry/trayentry.cpp
src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp
TRANSLATIONS = translations/translation.ts \
translations/translation_bo_CN.ts \
@ -64,7 +64,7 @@ HEADERS += \
src/virtualkeyboard/virtualkeyboardstrategy.h \
src/virtualkeyboard/virtualkeyboardview.h \
src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h \
src/virtualkeyboardentry/trayentry.h
src/virtualkeyboardentry/virtualkeyboardtrayicon.h
DISTFILES +=

View File

@ -5,7 +5,7 @@
#include "ipc/dbusservice.h"
#include "ipc/fcitxvirtualkeyboardserviceproxy.h"
#include "virtualkeyboard/virtualkeyboardmanager.h"
#include "virtualkeyboardentry/trayentry.h"
#include "virtualkeyboardentry/virtualkeyboardtrayicon.h"
int main(int argc, char *argv[]) {
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
@ -19,7 +19,8 @@ int main(int argc, char *argv[]) {
VirtualKeyboardManager virtualKeyboardManager;
FcitxVirtualKeyboardServiceProxy virtualKeyboardService;
TrayEntry trayEntry(virtualKeyboardService, virtualKeyboardManager);
VirtualKeyboardTrayIcon trayIcon(virtualKeyboardManager,
virtualKeyboardService);
DBusService dbusService(&virtualKeyboardManager);

View File

@ -1,34 +0,0 @@
#include "trayentry.h"
#include <QIcon>
#include "virtualkeyboard/virtualkeyboardmanager.h"
TrayEntry::TrayEntry(const FcitxVirtualKeyboardService &virtualKeyboardService,
const VirtualKeyboardManager &virtualKeyboardManager)
: virtualKeyboardManager_(virtualKeyboardManager),
virtualKeyboardService_(virtualKeyboardService) {
RegisterTrayEntry();
}
void TrayEntry::RegisterTrayEntry() {
mSystemTray = new QSystemTrayIcon(this);
mSystemTray->setIcon(QIcon::fromTheme("input-keyboard-symbolic"));
mSystemTray->setToolTip(tr("kylin-virtual-keyboard"));
connect(mSystemTray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
this, SLOT(ActiveTray(QSystemTrayIcon::ActivationReason)));
mSystemTray->setVisible(true);
}
void TrayEntry::ActiveTray(QSystemTrayIcon::ActivationReason reason) {
switch (reason) {
case QSystemTrayIcon::Trigger: {
virtualKeyboardManager_.isVirtualKeyboardVisible()
? virtualKeyboardService_.hideVirtualKeyboard()
: virtualKeyboardService_.showVirtualKeyboard();
break;
};
default:
break;
}
}

View File

@ -1,30 +0,0 @@
#ifndef TRAYENTRY_H
#define TRAYENTRY_H
#include <QObject>
#include <QSystemTrayIcon>
#include "virtualkeyboard/virtualkeyboardmanager.h"
#include "virtualkeyboardentry/fcitxvirtualkeyboardservice.h"
class TrayEntry : public QObject {
Q_OBJECT
public:
TrayEntry(const FcitxVirtualKeyboardService &virtualKeyboardService,
const VirtualKeyboardManager &virtualKeyboardManager);
~TrayEntry() = default;
private:
void RegisterTrayEntry();
private slots:
void ActiveTray(QSystemTrayIcon::ActivationReason reason);
private:
QSystemTrayIcon *mSystemTray = nullptr;
const VirtualKeyboardManager &virtualKeyboardManager_;
const FcitxVirtualKeyboardService &virtualKeyboardService_;
};
#endif // TRAYENTRY_H

View File

@ -0,0 +1,35 @@
#include <QIcon>
#include "virtualkeyboard/virtualkeyboardmanager.h"
#include "virtualkeyboardentry/virtualkeyboardtrayicon.h"
VirtualKeyboardTrayIcon::VirtualKeyboardTrayIcon(
VirtualKeyboardManager &virtualKeyboardManager,
const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService)
: virtualKeyboardManager_(virtualKeyboardManager),
fcitxVirtualKeyboardService_(fcitxVirtualKeyboardService) {
initTrayIcon();
}
void VirtualKeyboardTrayIcon::initTrayIcon() {
trayIcon_ = new QSystemTrayIcon(this);
trayIcon_->setIcon(QIcon::fromTheme("input-keyboard-symbolic"));
trayIcon_->setToolTip(tr("kylin-virtual-keyboard"));
connect(trayIcon_, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
this, SLOT(onTrayIconActivated(QSystemTrayIcon::ActivationReason)));
trayIcon_->setVisible(true);
}
void VirtualKeyboardTrayIcon::onTrayIconActivated(
QSystemTrayIcon::ActivationReason reason) {
switch (reason) {
case QSystemTrayIcon::Trigger: {
virtualKeyboardManager_.isVirtualKeyboardVisible()
? fcitxVirtualKeyboardService_.hideVirtualKeyboard()
: fcitxVirtualKeyboardService_.showVirtualKeyboard();
break;
};
default:
break;
}
}

View File

@ -0,0 +1,32 @@
#ifndef VIRTUALKEYBOARDTRAYICON_H
#define VIRTUALKEYBOARDTRAYICON_H
#include <QObject>
#include <QSystemTrayIcon>
#include "virtualkeyboard/virtualkeyboardmanager.h"
#include "virtualkeyboardentry/fcitxvirtualkeyboardservice.h"
class VirtualKeyboardTrayIcon : public QObject {
Q_OBJECT
public:
VirtualKeyboardTrayIcon(
VirtualKeyboardManager &virtualKeyboardManager,
const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService);
~VirtualKeyboardTrayIcon() override = default;
private:
void initTrayIcon();
private slots:
void onTrayIconActivated(QSystemTrayIcon::ActivationReason reason);
private:
QSystemTrayIcon *trayIcon_ = nullptr;
VirtualKeyboardManager &virtualKeyboardManager_;
const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService_;
};
#endif // VIRTUALKEYBOARDTRAYICON_H