将FloatButtonManager与ViewLocalSettings解耦

FloatButtonManager使用由VirtualKeyboardEntryManager定义的
ViewLocalSettings对象,不再直接定义ViewLocalSettings对象
This commit is contained in:
liulinsong 2023-07-26 15:23:31 +08:00 committed by hanteng
parent 2ec61d32e5
commit f88fb42fae
4 changed files with 13 additions and 7 deletions

View File

@ -35,9 +35,11 @@ const QString floatButtonEnabledKey = "floatButtonEnabled";
FloatButtonManager::FloatButtonManager(
const VirtualKeyboardManager &virtualKeyboardManager,
const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService)
const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService,
LocalSettings &floatButtonSettings)
: virtualKeyboardManager_(virtualKeyboardManager),
fcitxVirtualKeyboardService_(fcitxVirtualKeyboardService) {
fcitxVirtualKeyboardService_(fcitxVirtualKeyboardService),
floatButtonSettings_(floatButtonSettings) {
initGeometryManager();
initInternalSignalConnections();

View File

@ -24,7 +24,7 @@
#include <QObject>
#include <QPushButton>
#include "localsettings/viewlocalsettings.h"
#include "localsettings/localsettings.h"
#include "virtualkeyboard/virtualkeyboardmanager.h"
#include "virtualkeyboardentry/fcitxvirtualkeyboardservice.h"
#include "virtualkeyboardentry/floatbutton.h"
@ -35,7 +35,8 @@ class FloatButtonManager : public QObject {
public:
FloatButtonManager(
const VirtualKeyboardManager &virtualKeyboardManager,
const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService);
const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService,
LocalSettings &floatButtonSettings);
~FloatButtonManager() override = default;
void loadFloatButtonAvailability();
@ -73,11 +74,11 @@ private:
private:
bool floatButtonEnabled_ = true;
ViewLocalSettings floatButtonSettings_{"kylinsoft", "kylin float button"};
const VirtualKeyboardManager &virtualKeyboardManager_;
const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService_;
LocalSettings &floatButtonSettings_;
std::unique_ptr<FloatButton> floatButton_ = nullptr;
std::unique_ptr<FloatGeometryManager> geometryManager_ = nullptr;

View File

@ -28,7 +28,8 @@ VirtualKeyboardEntryManager::VirtualKeyboardEntryManager(
const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService)
: virtualKeyboardManager_(virtualKeyboardManager),
floatButtonManager_(new FloatButtonManager(virtualKeyboardManager,
fcitxVirtualKeyboardService)) {
fcitxVirtualKeyboardService,
floatButtonSettings_)) {
initTrayIcon(fcitxVirtualKeyboardService);
initFloatButtonContextMenuAndAction();

View File

@ -25,6 +25,7 @@
#include <QObject>
#include "ipc/fcitxvirtualkeyboardserviceproxy.h"
#include "localsettings/viewlocalsettings.h"
#include "virtualkeyboard/virtualkeyboardmanager.h"
#include "virtualkeyboardentry/floatbuttonmanager.h"
#include "virtualkeyboardentry/virtualkeyboardtrayicon.h"
@ -54,6 +55,7 @@ private:
private:
VirtualKeyboardManager &virtualKeyboardManager_;
ViewLocalSettings floatButtonSettings_{"kylinsoft", "kylin float button"};
std::unique_ptr<FloatButtonManager> floatButtonManager_ = nullptr;
std::unique_ptr<VirtualKeyboardTrayIcon> trayIconEntry_ = nullptr;