mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-03 00:15:21 +00:00
feat: 修改代码结构,方便做单元测试
修改代码结构,方便做单元测试 Log: Change-Id: Icf50804d1e94c64c932583812310103f50e5c0cc
This commit is contained in:
parent
d330600907
commit
c45b917a64
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user