mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-03 16:30:02 +00:00
feat: add dbus property window margin
Add dbus property WindowMargin for other application to calculate the real exclusiveArea. Log: add dbus property window margin
This commit is contained in:
parent
6b0fec0426
commit
3b567d096e
@ -17,6 +17,7 @@ DockDaemonDBusAdaptor::DockDaemonDBusAdaptor(QObject *parent)
|
|||||||
connect(TaskManager::instance(), &TaskManager::frontendWindowRectChanged, this, &DockDaemonDBusAdaptor::FrontendWindowRectChanged);
|
connect(TaskManager::instance(), &TaskManager::frontendWindowRectChanged, this, &DockDaemonDBusAdaptor::FrontendWindowRectChanged);
|
||||||
connect(TaskManager::instance(), &TaskManager::showRecentChanged, this, &DockDaemonDBusAdaptor::showRecentChanged);
|
connect(TaskManager::instance(), &TaskManager::showRecentChanged, this, &DockDaemonDBusAdaptor::showRecentChanged);
|
||||||
connect(TaskManager::instance(), &TaskManager::showMultiWindowChanged, this, &DockDaemonDBusAdaptor::ShowMultiWindowChanged);
|
connect(TaskManager::instance(), &TaskManager::showMultiWindowChanged, this, &DockDaemonDBusAdaptor::ShowMultiWindowChanged);
|
||||||
|
connect(TaskManager::instance(), &TaskManager::windowMarginChanged, this, &DockDaemonDBusAdaptor::WindowMarginChanged);
|
||||||
connect(DockSettings::instance(), &DockSettings::positionModeChanged, this, &DockDaemonDBusAdaptor::PositionChanged);
|
connect(DockSettings::instance(), &DockSettings::positionModeChanged, this, &DockDaemonDBusAdaptor::PositionChanged);
|
||||||
connect(DockSettings::instance(), &DockSettings::hideModeChanged, this, &DockDaemonDBusAdaptor::HideModeChanged);
|
connect(DockSettings::instance(), &DockSettings::hideModeChanged, this, &DockDaemonDBusAdaptor::HideModeChanged);
|
||||||
connect(DockSettings::instance(), &DockSettings::displayModeChanged, this, &DockDaemonDBusAdaptor::DisplayModeChanged);
|
connect(DockSettings::instance(), &DockSettings::displayModeChanged, this, &DockDaemonDBusAdaptor::DisplayModeChanged);
|
||||||
@ -104,6 +105,11 @@ void DockDaemonDBusAdaptor::setWindowSizeFashion(uint value)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint DockDaemonDBusAdaptor::windowMargin() const
|
||||||
|
{
|
||||||
|
return TaskManager::instance()->windowMargin();
|
||||||
|
}
|
||||||
|
|
||||||
QRect DockDaemonDBusAdaptor::frontendWindowRect() const
|
QRect DockDaemonDBusAdaptor::frontendWindowRect() const
|
||||||
{
|
{
|
||||||
return TaskManager::instance()->getFrontendWindowRect();
|
return TaskManager::instance()->getFrontendWindowRect();
|
||||||
|
@ -100,6 +100,7 @@ class DockDaemonDBusAdaptor: public QDBusAbstractAdaptor
|
|||||||
" <property access=\"readwrite\" type=\"u\" name=\"HideTimeout\"/>\n"
|
" <property access=\"readwrite\" type=\"u\" name=\"HideTimeout\"/>\n"
|
||||||
" <property access=\"readwrite\" type=\"u\" name=\"WindowSizeEfficient\"/>\n"
|
" <property access=\"readwrite\" type=\"u\" name=\"WindowSizeEfficient\"/>\n"
|
||||||
" <property access=\"readwrite\" type=\"u\" name=\"WindowSizeFashion\"/>\n"
|
" <property access=\"readwrite\" type=\"u\" name=\"WindowSizeFashion\"/>\n"
|
||||||
|
" <property access=\"read\" type=\"u\" name=\"WindowMargin\"/>\n"
|
||||||
" <property access=\"read\" type=\"(iiii)\" name=\"FrontendWindowRect\"/>\n"
|
" <property access=\"read\" type=\"(iiii)\" name=\"FrontendWindowRect\"/>\n"
|
||||||
" <property access=\"readwrite\" type=\"i\" name=\"HideMode\"/>\n"
|
" <property access=\"readwrite\" type=\"i\" name=\"HideMode\"/>\n"
|
||||||
" <property access=\"readwrite\" type=\"i\" name=\"DisplayMode\"/>\n"
|
" <property access=\"readwrite\" type=\"i\" name=\"DisplayMode\"/>\n"
|
||||||
@ -142,6 +143,9 @@ public: // PROPERTIES
|
|||||||
uint windowSizeFashion() const;
|
uint windowSizeFashion() const;
|
||||||
void setWindowSizeFashion(uint value);
|
void setWindowSizeFashion(uint value);
|
||||||
|
|
||||||
|
Q_PROPERTY(uint WindowMargin READ windowMargin NOTIFY WindowMarginChanged)
|
||||||
|
uint windowMargin() const;
|
||||||
|
|
||||||
Q_PROPERTY(QRect FrontendWindowRect READ frontendWindowRect NOTIFY FrontendWindowRectChanged)
|
Q_PROPERTY(QRect FrontendWindowRect READ frontendWindowRect NOTIFY FrontendWindowRectChanged)
|
||||||
QRect frontendWindowRect() const;
|
QRect frontendWindowRect() const;
|
||||||
|
|
||||||
@ -198,6 +202,7 @@ Q_SIGNALS: // SIGNALS
|
|||||||
void ShowTimeoutChanged(uint value) const;
|
void ShowTimeoutChanged(uint value) const;
|
||||||
void WindowSizeEfficientChanged(uint value) const;
|
void WindowSizeEfficientChanged(uint value) const;
|
||||||
void WindowSizeFashionChanged(uint value) const;
|
void WindowSizeFashionChanged(uint value) const;
|
||||||
|
void WindowMarginChanged(uint value) const;
|
||||||
void showRecentChanged(bool) const;
|
void showRecentChanged(bool) const;
|
||||||
void ShowMultiWindowChanged(bool) const;
|
void ShowMultiWindowChanged(bool) const;
|
||||||
};
|
};
|
||||||
|
@ -635,6 +635,9 @@ void TaskManager::initSettings()
|
|||||||
connect(SETTING, &DockSettings::showRecentChanged, this, &TaskManager::onShowRecentChanged);
|
connect(SETTING, &DockSettings::showRecentChanged, this, &TaskManager::onShowRecentChanged);
|
||||||
connect(SETTING, &DockSettings::showMultiWindowChanged, this, &TaskManager::onShowMultiWindowChanged);
|
connect(SETTING, &DockSettings::showMultiWindowChanged, this, &TaskManager::onShowMultiWindowChanged);
|
||||||
connect(SETTING, &DockSettings::displayModeChanged, this, &TaskManager::setDisplayMode);
|
connect(SETTING, &DockSettings::displayModeChanged, this, &TaskManager::setDisplayMode);
|
||||||
|
connect(SETTING, &DockSettings::displayModeChanged, this, [this]() {
|
||||||
|
Q_EMIT windowMarginChanged(windowMargin());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1511,6 +1514,11 @@ void TaskManager::setPosition(int position)
|
|||||||
SETTING->setPositionMode(Position(position));
|
SETTING->setPositionMode(Position(position));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint TaskManager::windowMargin() const
|
||||||
|
{
|
||||||
|
return SETTING->getDisplayMode() == Dock::Efficient ? 0 : 10;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief TaskManager::getShowTimeout 获取显示超时接口
|
* @brief TaskManager::getShowTimeout 获取显示超时接口
|
||||||
* @return
|
* @return
|
||||||
|
@ -87,6 +87,7 @@ public:
|
|||||||
void setIconSize(uint size);
|
void setIconSize(uint size);
|
||||||
int getPosition();
|
int getPosition();
|
||||||
void setPosition(int position);
|
void setPosition(int position);
|
||||||
|
uint windowMargin() const;
|
||||||
uint getShowTimeout();
|
uint getShowTimeout();
|
||||||
void setShowTimeout(uint timeout);
|
void setShowTimeout(uint timeout);
|
||||||
uint getWindowSizeEfficient();
|
uint getWindowSizeEfficient();
|
||||||
@ -137,6 +138,7 @@ Q_SIGNALS:
|
|||||||
void frontendWindowRectChanged(const QRect &dockRect);
|
void frontendWindowRectChanged(const QRect &dockRect);
|
||||||
void showRecentChanged(bool);
|
void showRecentChanged(bool);
|
||||||
void showMultiWindowChanged(bool);
|
void showMultiWindowChanged(bool);
|
||||||
|
void windowMarginChanged(uint);
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void updateHideState(bool delay);
|
void updateHideState(bool delay);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user