feat:add DockItemManager data to MainPanelControl

This commit is contained in:
王少君 2019-08-19 13:40:06 +08:00 committed by 张继德
parent 1f7d63dae4
commit b92759d379
6 changed files with 76 additions and 81 deletions

View File

@ -32,7 +32,7 @@ DockPluginsController::DockPluginsController(QObject *parent)
setObjectName("DockPlugin"); setObjectName("DockPlugin");
} }
void DockPluginsController::itemAdded(PluginsItemInterface * const itemInter, const QString &itemKey) void DockPluginsController::itemAdded(PluginsItemInterface *const itemInter, const QString &itemKey)
{ {
QMap<PluginsItemInterface *, QMap<QString, QObject *>> &mPluginsMap = pluginsMap(); QMap<PluginsItemInterface *, QMap<QString, QObject *>> &mPluginsMap = pluginsMap();
@ -53,14 +53,12 @@ void DockPluginsController::itemAdded(PluginsItemInterface * const itemInter, co
item = new PluginsItem(itemInter, itemKey); item = new PluginsItem(itemInter, itemKey);
} }
item->setVisible(false);
mPluginsMap[itemInter][itemKey] = item; mPluginsMap[itemInter][itemKey] = item;
emit pluginItemInserted(item); emit pluginItemInserted(item);
} }
void DockPluginsController::itemUpdate(PluginsItemInterface * const itemInter, const QString &itemKey) void DockPluginsController::itemUpdate(PluginsItemInterface *const itemInter, const QString &itemKey)
{ {
PluginsItem *item = static_cast<PluginsItem *>(pluginItemAt(itemInter, itemKey)); PluginsItem *item = static_cast<PluginsItem *>(pluginItemAt(itemInter, itemKey));
if (!item) if (!item)
@ -71,7 +69,7 @@ void DockPluginsController::itemUpdate(PluginsItemInterface * const itemInter, c
emit pluginItemUpdated(item); emit pluginItemUpdated(item);
} }
void DockPluginsController::itemRemoved(PluginsItemInterface * const itemInter, const QString &itemKey) void DockPluginsController::itemRemoved(PluginsItemInterface *const itemInter, const QString &itemKey)
{ {
PluginsItem *item = static_cast<PluginsItem *>(pluginItemAt(itemInter, itemKey)); PluginsItem *item = static_cast<PluginsItem *>(pluginItemAt(itemInter, itemKey));
if (!item) if (!item)
@ -91,7 +89,7 @@ void DockPluginsController::itemRemoved(PluginsItemInterface * const itemInter,
item->deleteLater(); item->deleteLater();
} }
void DockPluginsController::requestWindowAutoHide(PluginsItemInterface * const itemInter, const QString &itemKey, const bool autoHide) void DockPluginsController::requestWindowAutoHide(PluginsItemInterface *const itemInter, const QString &itemKey, const bool autoHide)
{ {
PluginsItem *item = static_cast<PluginsItem *>(pluginItemAt(itemInter, itemKey)); PluginsItem *item = static_cast<PluginsItem *>(pluginItemAt(itemInter, itemKey));
if (!item) if (!item)
@ -100,7 +98,7 @@ void DockPluginsController::requestWindowAutoHide(PluginsItemInterface * const i
Q_EMIT item->requestWindowAutoHide(autoHide); Q_EMIT item->requestWindowAutoHide(autoHide);
} }
void DockPluginsController::requestRefreshWindowVisible(PluginsItemInterface * const itemInter, const QString &itemKey) void DockPluginsController::requestRefreshWindowVisible(PluginsItemInterface *const itemInter, const QString &itemKey)
{ {
PluginsItem *item = static_cast<PluginsItem *>(pluginItemAt(itemInter, itemKey)); PluginsItem *item = static_cast<PluginsItem *>(pluginItemAt(itemInter, itemKey));
if (!item) if (!item)
@ -109,7 +107,7 @@ void DockPluginsController::requestRefreshWindowVisible(PluginsItemInterface * c
Q_EMIT item->requestRefreshWindowVisible(); Q_EMIT item->requestRefreshWindowVisible();
} }
void DockPluginsController::requestSetAppletVisible(PluginsItemInterface * const itemInter, const QString &itemKey, const bool visible) void DockPluginsController::requestSetAppletVisible(PluginsItemInterface *const itemInter, const QString &itemKey, const bool visible)
{ {
PluginsItem *item = static_cast<PluginsItem *>(pluginItemAt(itemInter, itemKey)); PluginsItem *item = static_cast<PluginsItem *>(pluginItemAt(itemInter, itemKey));
if (!item) if (!item)
@ -128,7 +126,8 @@ void DockPluginsController::startLoader()
loadSystemPlugins(); loadSystemPlugins();
} }
void DockPluginsController::loadLocalPlugins() { void DockPluginsController::loadLocalPlugins()
{
QString pluginsDir(QString("%1/.local/lib/dde-dock/plugins/").arg(QDir::homePath())); QString pluginsDir(QString("%1/.local/lib/dde-dock/plugins/").arg(QDir::homePath()));
if (!QDir(pluginsDir).exists()) { if (!QDir(pluginsDir).exists()) {
@ -140,7 +139,8 @@ void DockPluginsController::loadLocalPlugins() {
AbstractPluginsController::startLoader(new PluginLoader(pluginsDir, this)); AbstractPluginsController::startLoader(new PluginLoader(pluginsDir, this));
} }
void DockPluginsController::loadSystemPlugins() { void DockPluginsController::loadSystemPlugins()
{
QString pluginsDir(qApp->applicationDirPath() + "/../plugins"); QString pluginsDir(qApp->applicationDirPath() + "/../plugins");
if (!QDir(pluginsDir).exists()) { if (!QDir(pluginsDir).exists()) {
pluginsDir = "/usr/lib/dde-dock/plugins"; pluginsDir = "/usr/lib/dde-dock/plugins";

View File

@ -45,8 +45,7 @@ DockItem::DockItem(QWidget *parent)
m_menuManagerInter(new DBusMenuManager(this)) m_menuManagerInter(new DBusMenuManager(this))
{ {
if (PopupWindow.isNull()) if (PopupWindow.isNull()) {
{
DockPopupWindow *arrowRectangle = new DockPopupWindow(nullptr); DockPopupWindow *arrowRectangle = new DockPopupWindow(nullptr);
arrowRectangle->setShadowBlurRadius(20); arrowRectangle->setShadowBlurRadius(20);
arrowRectangle->setRadius(6); arrowRectangle->setRadius(6);
@ -69,6 +68,13 @@ DockItem::DockItem(QWidget *parent)
connect(m_popupAdjustDelayTimer, &QTimer::timeout, this, &DockItem::updatePopupPosition, Qt::QueuedConnection); connect(m_popupAdjustDelayTimer, &QTimer::timeout, this, &DockItem::updatePopupPosition, Qt::QueuedConnection);
grabGesture(Qt::TapAndHoldGesture); grabGesture(Qt::TapAndHoldGesture);
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
}
QSize DockItem::sizeHint() const
{
return QSize(50, 50);
} }
DockItem::~DockItem() DockItem::~DockItem()
@ -104,10 +110,8 @@ void DockItem::gestureEvent(QGestureEvent *event)
bool DockItem::event(QEvent *event) bool DockItem::event(QEvent *event)
{ {
if (m_popupShown) if (m_popupShown) {
{ switch (event->type()) {
switch (event->type())
{
case QEvent::Paint: case QEvent::Paint:
if (!m_popupAdjustDelayTimer->isActive()) if (!m_popupAdjustDelayTimer->isActive())
m_popupAdjustDelayTimer->start(); m_popupAdjustDelayTimer->start();
@ -117,7 +121,7 @@ bool DockItem::event(QEvent *event)
} }
if (event->type() == QEvent::Gesture) if (event->type() == QEvent::Gesture)
gestureEvent(static_cast<QGestureEvent*>(event)); gestureEvent(static_cast<QGestureEvent *>(event));
return QWidget::event(event); return QWidget::event(event);
} }
@ -213,8 +217,7 @@ void DockItem::showContextMenu()
QDBusPendingReply<QDBusObjectPath> result = m_menuManagerInter->RegisterMenu(); QDBusPendingReply<QDBusObjectPath> result = m_menuManagerInter->RegisterMenu();
result.waitForFinished(); result.waitForFinished();
if (result.isError()) if (result.isError()) {
{
qWarning() << result.error(); qWarning() << result.error();
return; return;
} }
@ -227,8 +230,7 @@ void DockItem::showContextMenu()
menuObject.insert("isDockMenu", QJsonValue(true)); menuObject.insert("isDockMenu", QJsonValue(true));
menuObject.insert("menuJsonContent", QJsonValue(menuJson)); menuObject.insert("menuJsonContent", QJsonValue(menuJson));
switch (DockPosition) switch (DockPosition) {
{
case Top: menuObject.insert("direction", "top"); break; case Top: menuObject.insert("direction", "top"); break;
case Bottom: menuObject.insert("direction", "bottom"); break; case Bottom: menuObject.insert("direction", "bottom"); break;
case Left: menuObject.insert("direction", "left"); break; case Left: menuObject.insert("direction", "left"); break;
@ -265,14 +267,14 @@ void DockItem::showHoverTips()
if (!r.contains(QCursor::pos())) if (!r.contains(QCursor::pos()))
return; return;
QWidget * const content = popupTips(); QWidget *const content = popupTips();
if (!content) if (!content)
return; return;
showPopupWindow(content); showPopupWindow(content);
} }
void DockItem::showPopupWindow(QWidget * const content, const bool model) void DockItem::showPopupWindow(QWidget *const content, const bool model)
{ {
m_popupShown = true; m_popupShown = true;
m_lastPopupWidget = content; m_lastPopupWidget = content;
@ -285,10 +287,9 @@ void DockItem::showPopupWindow(QWidget * const content, const bool model)
if (lastContent) if (lastContent)
lastContent->setVisible(false); lastContent->setVisible(false);
switch (DockPosition) switch (DockPosition) {
{
case Top: popup->setArrowDirection(DockPopupWindow::ArrowTop); break; case Top: popup->setArrowDirection(DockPopupWindow::ArrowTop); break;
case Bottom:popup->setArrowDirection(DockPopupWindow::ArrowBottom); break; case Bottom: popup->setArrowDirection(DockPopupWindow::ArrowBottom); break;
case Left: popup->setArrowDirection(DockPopupWindow::ArrowLeft); break; case Left: popup->setArrowDirection(DockPopupWindow::ArrowLeft); break;
case Right: popup->setArrowDirection(DockPopupWindow::ArrowRight); break; case Right: popup->setArrowDirection(DockPopupWindow::ArrowRight); break;
} }
@ -314,7 +315,7 @@ void DockItem::popupWindowAccept()
hidePopup(); hidePopup();
} }
void DockItem::showPopupApplet(QWidget * const applet) void DockItem::showPopupApplet(QWidget *const applet)
{ {
// another model popup window already exists // another model popup window already exists
if (PopupWindow->model()) if (PopupWindow->model())
@ -357,8 +358,7 @@ const QPoint DockItem::popupMarkPoint() const
const QRect r = rect(); const QRect r = rect();
const int offset = 2; const int offset = 2;
switch (DockPosition) switch (DockPosition) {
{
case Top: p += QPoint(r.width() / 2, r.height() + offset); break; case Top: p += QPoint(r.width() / 2, r.height() + offset); break;
case Bottom: p += QPoint(r.width() / 2, 0 - offset); break; case Bottom: p += QPoint(r.width() / 2, 0 - offset); break;
case Left: p += QPoint(r.width() + offset, r.height() / 2); break; case Left: p += QPoint(r.width() + offset, r.height() / 2); break;

View File

@ -59,10 +59,12 @@ public:
inline virtual ItemType itemType() const {Q_UNREACHABLE(); return App;} inline virtual ItemType itemType() const {Q_UNREACHABLE(); return App;}
QSize sizeHint() const override;
public slots: public slots:
virtual void refershIcon() {} virtual void refershIcon() {}
void showPopupApplet(QWidget * const applet); void showPopupApplet(QWidget *const applet);
void hidePopup(); void hidePopup();
signals: signals:
@ -84,7 +86,7 @@ protected:
void hideNonModel(); void hideNonModel();
void popupWindowAccept(); void popupWindowAccept();
virtual void showPopupWindow(QWidget * const content, const bool model = false); virtual void showPopupWindow(QWidget *const content, const bool model = false);
virtual void showHoverTips(); virtual void showHoverTips();
virtual void invokedMenuItem(const QString &itemId, const bool checked); virtual void invokedMenuItem(const QString &itemId, const bool checked);
virtual const QString contextMenu() const; virtual const QString contextMenu() const;

View File

@ -45,15 +45,14 @@ void RegisterDdeSession()
QByteArray cookie = qgetenv(envName.toUtf8().data()); QByteArray cookie = qgetenv(envName.toUtf8().data());
qunsetenv(envName.toUtf8().data()); qunsetenv(envName.toUtf8().data());
if (!cookie.isEmpty()) if (!cookie.isEmpty()) {
{
QDBusPendingReply<bool> r = DDBusSender() QDBusPendingReply<bool> r = DDBusSender()
.interface("com.deepin.SessionManager") .interface("com.deepin.SessionManager")
.path("/com/deepin/SessionManager") .path("/com/deepin/SessionManager")
.service("com.deepin.SessionManager") .service("com.deepin.SessionManager")
.method("Register") .method("Register")
.arg(QString(cookie)) .arg(QString(cookie))
.call(); .call();
qDebug() << Q_FUNC_INFO << r.value(); qDebug() << Q_FUNC_INFO << r.value();
} }
@ -109,7 +108,7 @@ int main(int argc, char *argv[])
QTimer::singleShot(1, &mw, &MainWindow::launch); QTimer::singleShot(1, &mw, &MainWindow::launch);
if (!parser.isSet(disablePlugOption)) { if (!parser.isSet(disablePlugOption)) {
DockItemController::instance()->startLoadPlugins(); DockItemManager::instance()->startLoadPlugins();
} }
return app.exec(); return app.exec();

View File

@ -50,7 +50,7 @@ private:
void updateAppAreaSonWidgetSize(); void updateAppAreaSonWidgetSize();
void updateMainPanelLayout(); void updateMainPanelLayout();
private slots: public slots:
void itemInserted(const int index, DockItem *item); void itemInserted(const int index, DockItem *item);
void itemRemoved(DockItem *item); void itemRemoved(DockItem *item);

View File

@ -21,6 +21,7 @@
#include "mainwindow.h" #include "mainwindow.h"
#include "panel/mainpanelcontrol.h" #include "panel/mainpanelcontrol.h"
#include "controller/dockitemmanager.h"
#include "util/utils.h" #include "util/utils.h"
#include <QDebug> #include <QDebug>
@ -43,22 +44,22 @@ using org::kde::StatusNotifierWatcher;
const QPoint rawXPosition(const QPoint &scaledPos) const QPoint rawXPosition(const QPoint &scaledPos)
{ {
QScreen const * screen = Utils::screenAtByScaled(scaledPos); QScreen const *screen = Utils::screenAtByScaled(scaledPos);
return screen ? screen->geometry().topLeft() + return screen ? screen->geometry().topLeft() +
(scaledPos - screen->geometry().topLeft()) * (scaledPos - screen->geometry().topLeft()) *
screen->devicePixelRatio() screen->devicePixelRatio()
: scaledPos; : scaledPos;
} }
const QPoint scaledPos(const QPoint &rawXPos) const QPoint scaledPos(const QPoint &rawXPos)
{ {
QScreen const * screen = Utils::screenAt(rawXPos); QScreen const *screen = Utils::screenAt(rawXPos);
return screen return screen
? screen->geometry().topLeft() + ? screen->geometry().topLeft() +
(rawXPos - screen->geometry().topLeft()) / screen->devicePixelRatio() (rawXPos - screen->geometry().topLeft()) / screen->devicePixelRatio()
: rawXPos; : rawXPos;
} }
MainWindow::MainWindow(QWidget *parent) MainWindow::MainWindow(QWidget *parent)
@ -107,6 +108,9 @@ MainWindow::MainWindow(QWidget *parent)
initConnections(); initConnections();
m_mainPanel->setFixedSize(m_settings->panelSize()); m_mainPanel->setFixedSize(m_settings->panelSize());
for (auto item : DockItemManager::instance()->itemList())
m_mainPanel->itemInserted(-1, item);
} }
MainWindow::~MainWindow() MainWindow::~MainWindow()
@ -146,8 +150,7 @@ void MainWindow::launch()
bool MainWindow::event(QEvent *e) bool MainWindow::event(QEvent *e)
{ {
switch (e->type()) switch (e->type()) {
{
case QEvent::Move: case QEvent::Move:
if (!e->spontaneous()) if (!e->spontaneous())
QTimer::singleShot(1, this, &MainWindow::positionCheck); QTimer::singleShot(1, this, &MainWindow::positionCheck);
@ -167,7 +170,7 @@ void MainWindow::showEvent(QShowEvent *e)
m_platformWindowHandle.setShadowRadius(0); m_platformWindowHandle.setShadowRadius(0);
connect(qGuiApp, &QGuiApplication::primaryScreenChanged, connect(qGuiApp, &QGuiApplication::primaryScreenChanged,
windowHandle(), [this] (QScreen *new_screen) { windowHandle(), [this](QScreen * new_screen) {
QScreen *old_screen = windowHandle()->screen(); QScreen *old_screen = windowHandle()->screen();
windowHandle()->setScreen(new_screen); windowHandle()->setScreen(new_screen);
// 屏幕变化后可能导致控件缩放比变化,此时应该重设控件位置大小 // 屏幕变化后可能导致控件缩放比变化,此时应该重设控件位置大小
@ -196,8 +199,7 @@ void MainWindow::mousePressEvent(QMouseEvent *e)
void MainWindow::keyPressEvent(QKeyEvent *e) void MainWindow::keyPressEvent(QKeyEvent *e)
{ {
switch (e->key()) switch (e->key()) {
{
#ifdef QT_DEBUG #ifdef QT_DEBUG
case Qt::Key_Escape: qApp->quit(); break; case Qt::Key_Escape: qApp->quit(); break;
#endif #endif
@ -328,8 +330,8 @@ void MainWindow::internalMove(const QPoint &p)
{ {
const bool isHide = m_settings->hideState() == HideState::Hide && !testAttribute(Qt::WA_UnderMouse); const bool isHide = m_settings->hideState() == HideState::Hide && !testAttribute(Qt::WA_UnderMouse);
const bool pos_adjust = m_settings->hideMode() != HideMode::KeepShowing && const bool pos_adjust = m_settings->hideMode() != HideMode::KeepShowing &&
isHide && isHide &&
m_posChangeAni->state() == QVariantAnimation::Stopped; m_posChangeAni->state() == QVariantAnimation::Stopped;
if (!pos_adjust) if (!pos_adjust)
return QWidget::move(p); return QWidget::move(p);
@ -337,8 +339,7 @@ void MainWindow::internalMove(const QPoint &p)
const auto ratio = devicePixelRatioF(); const auto ratio = devicePixelRatioF();
const QRect &r = m_settings->primaryRawRect(); const QRect &r = m_settings->primaryRawRect();
switch (m_settings->position()) switch (m_settings->position()) {
{
case Left: rp.setX(r.x()); break; case Left: rp.setX(r.x()); break;
case Top: rp.setY(r.y()); break; case Top: rp.setY(r.y()); break;
case Right: rp.setX(r.right() - 1); break; case Right: rp.setX(r.right() - 1); break;
@ -347,12 +348,10 @@ void MainWindow::internalMove(const QPoint &p)
int hx = height() * ratio, wx = width() * ratio; int hx = height() * ratio, wx = width() * ratio;
if (m_settings->hideMode() != HideMode::KeepShowing && if (m_settings->hideMode() != HideMode::KeepShowing &&
isHide && isHide &&
m_panelHideAni->state() == QVariantAnimation::Stopped && m_panelHideAni->state() == QVariantAnimation::Stopped &&
m_panelShowAni->state() == QVariantAnimation::Stopped) m_panelShowAni->state() == QVariantAnimation::Stopped) {
{ switch (m_settings->position()) {
switch (m_settings->position())
{
case Top: case Top:
case Bottom: case Bottom:
hx = 2; hx = 2;
@ -395,7 +394,7 @@ void MainWindow::initConnections()
connect(m_posChangeAni, &QVariantAnimation::finished, this, static_cast<void (MainWindow::*)()>(&MainWindow::internalMove), Qt::QueuedConnection); connect(m_posChangeAni, &QVariantAnimation::finished, this, static_cast<void (MainWindow::*)()>(&MainWindow::internalMove), Qt::QueuedConnection);
// to fix qt animation bug, sometimes window size not change // to fix qt animation bug, sometimes window size not change
connect(m_sizeChangeAni, &QVariantAnimation::valueChanged, [=](const QVariant &value) { connect(m_sizeChangeAni, &QVariantAnimation::valueChanged, [ = ](const QVariant & value) {
QWidget::setFixedSize(value.toSize()); QWidget::setFixedSize(value.toSize());
}); });
@ -403,6 +402,9 @@ void MainWindow::initConnections()
connect(&m_platformWindowHandle, &DPlatformWindowHandle::frameMarginsChanged, m_shadowMaskOptimizeTimer, static_cast<void (QTimer::*)()>(&QTimer::start)); connect(&m_platformWindowHandle, &DPlatformWindowHandle::frameMarginsChanged, m_shadowMaskOptimizeTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
connect(m_dbusDaemonInterface, &QDBusConnectionInterface::serviceOwnerChanged, this, &MainWindow::onDbusNameOwnerChanged); connect(m_dbusDaemonInterface, &QDBusConnectionInterface::serviceOwnerChanged, this, &MainWindow::onDbusNameOwnerChanged);
connect(DockItemManager::instance(), &DockItemManager::itemInserted, m_mainPanel, &MainPanelControl::itemInserted, Qt::DirectConnection);
connect(DockItemManager::instance(), &DockItemManager::itemRemoved, m_mainPanel, &MainPanelControl::itemRemoved, Qt::DirectConnection);
} }
const QPoint MainWindow::x11GetWindowPos() const QPoint MainWindow::x11GetWindowPos()
@ -549,8 +551,7 @@ void MainWindow::setStrutPartial()
uint strutEnd = 0; uint strutEnd = 0;
QRect strutArea(0, 0, maxScreenWidth, maxScreenHeight); QRect strutArea(0, 0, maxScreenWidth, maxScreenHeight);
switch (side) switch (side) {
{
case Position::Top: case Position::Top:
orientation = XcbMisc::OrientationTop; orientation = XcbMisc::OrientationTop;
strut = p.y() + s.height() * ratio; strut = p.y() + s.height() * ratio;
@ -596,8 +597,7 @@ void MainWindow::setStrutPartial()
// pass if strut area is intersect with other screen // pass if strut area is intersect with other screen
int count = 0; int count = 0;
const QRect pr = m_settings->primaryRect(); const QRect pr = m_settings->primaryRect();
for (auto *screen : qApp->screens()) for (auto *screen : qApp->screens()) {
{
const QRect sr = screen->geometry(); const QRect sr = screen->geometry();
if (sr == pr) if (sr == pr)
continue; continue;
@ -605,8 +605,7 @@ void MainWindow::setStrutPartial()
if (sr.intersects(strutArea)) if (sr.intersects(strutArea))
++count; ++count;
} }
if (count > 0) if (count > 0) {
{
qWarning() << "strutArea is intersects with another screen."; qWarning() << "strutArea is intersects with another screen.";
qWarning() << maxScreenHeight << maxScreenWidth << side << p << s; qWarning() << maxScreenHeight << maxScreenWidth << side << p << s;
return; return;
@ -626,12 +625,10 @@ void MainWindow::expand()
resetPanelEnvironment(true, false); resetPanelEnvironment(true, false);
if (showAniState != QPropertyAnimation::Running && m_mainPanel->pos() != m_panelShowAni->currentValue()) if (showAniState != QPropertyAnimation::Running && m_mainPanel->pos() != m_panelShowAni->currentValue()) {
{
QPoint startPos(0, 0); QPoint startPos(0, 0);
const QSize &size = m_settings->windowSize(); const QSize &size = m_settings->windowSize();
switch (m_settings->position()) switch (m_settings->position()) {
{
case Top: startPos.setY(-size.height()); break; case Top: startPos.setY(-size.height()); break;
case Bottom: startPos.setY(size.height()); break; case Bottom: startPos.setY(size.height()); break;
case Left: startPos.setX(-size.width()); break; case Left: startPos.setX(-size.width()); break;
@ -651,8 +648,7 @@ void MainWindow::narrow(const Position prevPos)
const QSize size = m_settings->panelSize(); const QSize size = m_settings->panelSize();
QPoint finishPos(0, 0); QPoint finishPos(0, 0);
switch (prevPos) switch (prevPos) {
{
case Top: finishPos.setY(-size.height()); break; case Top: finishPos.setY(-size.height()); break;
case Bottom: finishPos.setY(size.height()); break; case Bottom: finishPos.setY(size.height()); break;
case Left: finishPos.setX(-size.width()); break; case Left: finishPos.setX(-size.width()); break;
@ -687,8 +683,7 @@ void MainWindow::resetPanelEnvironment(const bool visible, const bool resetPosit
if (!resetPosition) if (!resetPosition)
return; return;
QPoint finishPos(0, 0); QPoint finishPos(0, 0);
switch (position) switch (position) {
{
case Top: finishPos.setY((visible ? 0 : -r.height())); break; case Top: finishPos.setY((visible ? 0 : -r.height())); break;
case Bottom: finishPos.setY(visible ? 0 : r.height()); break; case Bottom: finishPos.setY(visible ? 0 : r.height()); break;
case Left: finishPos.setX((visible ? 0 : -r.width())); break; case Left: finishPos.setX((visible ? 0 : -r.width())); break;
@ -708,8 +703,7 @@ void MainWindow::updatePanelVisible()
const Dock::HideState state = m_settings->hideState(); const Dock::HideState state = m_settings->hideState();
do do {
{
if (state != Hide) if (state != Hide)
break; break;