feat: 修改代码结构,方便做单元测试

修改代码结构,方便做单元测试

Log:
Change-Id: Icf50804d1e94c64c932583812310103f50e5c0cc
This commit is contained in:
范朋程 2021-03-05 14:26:28 +08:00 committed by fanpengcheng
parent d330600907
commit c45b917a64
3 changed files with 17 additions and 19 deletions

View File

@ -95,6 +95,11 @@ bool DockItemManager::appIsOnDock(const QString &appDesktop) const
void DockItemManager::startLoadPlugins() const
{
if (!QGSettings::isSchemaInstalled("com.deepin.dde.dock")) {
qWarning("com.deepin.dde.dock is not installed");
return;
}
QGSettings gsetting("com.deepin.dde.dock", "/com/deepin/dde/dock/");
QTimer::singleShot(gsetting.get("delay-plugins-time").toUInt(), m_pluginsInter, &DockPluginsController::startLoader);

View File

@ -197,7 +197,7 @@ void AppDragWidget::dropEvent(QDropEvent *event)
m_followMouseTimer->stop();
m_bDragDrop = false;
if (isRemoveAble()) {
if (isRemoveAble(QCursor::pos())) {
if (DWindowManagerHelper::instance()->hasComposite()) {
showRemoveAnimation();
} else {
@ -270,19 +270,12 @@ void AppDragWidget::initAnimations()
void AppDragWidget::initConfigurations()
{
const QString &cschema = "com.deepin.dde.dock.distancemultiple";
const QString &cpath = "/com/deepin/dde/dock/distancemultiple/";
const QByteArray &schema_id {
cschema.toUtf8()
};
const QByteArray &path_id {
cpath.toUtf8()
};
QGSettings gsetting(schema_id, path_id);
m_distanceMultiple = gsetting.get("distance-multiple").toDouble();
if (QGSettings::isSchemaInstalled("com.deepin.dde.dock.distancemultiple")) {
QGSettings gsetting("com.deepin.dde.dock.distancemultiple", "/com/deepin/dde/dock/distancemultiple/");
m_distanceMultiple = gsetting.get("distance-multiple").toDouble();
} else {
m_distanceMultiple = 1.5;
}
}
void AppDragWidget::showRemoveAnimation()
@ -312,13 +305,13 @@ void AppDragWidget::onRemoveAnimationStateChanged(QAbstractAnimation::State newS
/**
* @brief
*
* @param curPos
* @return true
* @return false
*/
bool AppDragWidget::isRemoveAble()
bool AppDragWidget::isRemoveAble(const QPoint &curPos)
{
const QPoint &p = QCursor::pos();
const QPoint &p = curPos;
switch (m_dockPosition) {
case Dock::Position::Left:
if ((p.x() - m_dockGeometry.topRight().x()) > (m_dockGeometry.width() * m_distanceMultiple)) {
@ -394,7 +387,7 @@ void AppDragWidget::showRemoveTips()
Dock::Position pos = Dock::Position::Bottom;
DockPopupWindow *popup = m_popupWindow;
if (isRemoveAble()) {
if (isRemoveAble(QCursor::pos())) {
QWidget *lastContent = popup->getContent();
if (lastContent)
lastContent->setVisible(false);

View File

@ -47,7 +47,7 @@ public:
void setAppPixmap(const QPixmap &pix);
void setDockInfo(Dock::Position dockPosition, const QRect &dockGeometry);
void setOriginPos(const QPoint position);
bool isRemoveAble();
bool isRemoveAble(const QPoint &curPos);
signals:
void requestRemoveItem();