diff --git a/frame/util/multiscreenworker.cpp b/frame/util/multiscreenworker.cpp index ab8ac74db..1182534fe 100644 --- a/frame/util/multiscreenworker.cpp +++ b/frame/util/multiscreenworker.cpp @@ -151,12 +151,11 @@ void MultiScreenWorker::onAutoHideChanged(bool autoHide) void MultiScreenWorker::updateDaemonDockSize(int dockSize) { - const qreal scale = qApp->devicePixelRatio(); - m_dockInter->setWindowSize(uint(dockSize * scale)); + m_dockInter->setWindowSize(uint(dockSize)); if (m_displayMode == DisplayMode::Fashion) - m_dockInter->setWindowSizeFashion(uint(dockSize * scale)); + m_dockInter->setWindowSizeFashion(uint(dockSize)); else - m_dockInter->setWindowSizeEfficient(uint(dockSize * scale)); + m_dockInter->setWindowSizeEfficient(uint(dockSize)); } void MultiScreenWorker::onDragStateChanged(bool draging) @@ -1347,7 +1346,7 @@ QRect MultiScreenWorker::getDockShowGeometry(const QString &screenName, const Po if (withoutScale) {//后端真实大小 foreach (Monitor *inter, validMonitorList(m_monitorInfo)) { if (inter->name() == screenName) { - const int dockSize = int(displaymode == DisplayMode::Fashion ? m_dockInter->windowSizeFashion() : m_dockInter->windowSizeEfficient()) * scale; + const int dockSize = int(displaymode == DisplayMode::Fashion ? m_dockInter->windowSizeFashion() : m_dockInter->windowSizeEfficient()); switch (static_cast(pos)) { case Top: { rect.setX(inter->x() + WINDOWMARGIN); @@ -1383,7 +1382,8 @@ QRect MultiScreenWorker::getDockShowGeometry(const QString &screenName, const Po } else {//前端真实大小 foreach (Monitor *inter, validMonitorList(m_monitorInfo)) { if (inter->name() == screenName) { - const int dockSize = int(displaymode == DisplayMode::Fashion ? m_dockInter->windowSizeFashion() : m_dockInter->windowSizeEfficient()); + // 注意这里的dockSize是除以缩放的 + const int dockSize = int(displaymode == DisplayMode::Fashion ? m_dockInter->windowSizeFashion() : m_dockInter->windowSizeEfficient()) / scale; switch (static_cast(pos)) { case Top: { rect.setX(inter->x() + WINDOWMARGIN); diff --git a/frame/window/mainwindow.cpp b/frame/window/mainwindow.cpp index ae19439a3..add0cb826 100755 --- a/frame/window/mainwindow.cpp +++ b/frame/window/mainwindow.cpp @@ -352,13 +352,13 @@ void MainWindow::resetDragWindow() if (m_multiScreenWorker->position() == Position::Left || m_multiScreenWorker->position() == Position::Right) { - m_dockSize = this->width(); + m_dockSize = this->width() * qApp->devicePixelRatio(); } else { - m_dockSize = this->height(); + m_dockSize = this->height() * qApp->devicePixelRatio(); } // 通知窗管和后端更新数据 - m_multiScreenWorker->updateDaemonDockSize(m_dockSize / qApp->devicePixelRatio()); // 1.先更新任务栏高度 + m_multiScreenWorker->updateDaemonDockSize(m_dockSize); // 1.先更新任务栏高度 m_multiScreenWorker->requestUpdateFrontendGeometry(); // 2.再更新任务栏位置,保证先1再2 m_multiScreenWorker->requestNotifyWindowManager(); @@ -375,41 +375,39 @@ void MainWindow::onMainWindowSizeChanged(QPoint offset) , m_multiScreenWorker->position() , HideMode::KeepShowing, m_multiScreenWorker->displayMode()); + const qreal scale = qApp->devicePixelRatio(); QRect newRect; switch (m_multiScreenWorker->position()) { case Top: { newRect.setX(rect.x()); newRect.setY(rect.y()); newRect.setWidth(rect.width()); - newRect.setHeight(qBound(MAINWINDOW_MIN_SIZE, rect.height() + offset.y(), MAINWINDOW_MAX_SIZE)); + newRect.setHeight(qBound(qMax(int(MAINWINDOW_MIN_SIZE / scale), MAINWINDOW_MIN_SIZE), rect.height() + offset.y(), int(MAINWINDOW_MAX_SIZE / scale))); } break; case Bottom: { newRect.setX(rect.x()); - newRect.setY(rect.y() + rect.height() - qBound(MAINWINDOW_MIN_SIZE, rect.height() - offset.y(), MAINWINDOW_MAX_SIZE)); + newRect.setY(rect.y() + rect.height() - qBound(qMax(int(MAINWINDOW_MIN_SIZE / scale), MAINWINDOW_MIN_SIZE), rect.height() - offset.y(), int(MAINWINDOW_MAX_SIZE / scale))); newRect.setWidth(rect.width()); - newRect.setHeight(qBound(MAINWINDOW_MIN_SIZE, rect.height() - offset.y(), MAINWINDOW_MAX_SIZE )); + newRect.setHeight(qBound(qMax(int(MAINWINDOW_MIN_SIZE / scale), MAINWINDOW_MIN_SIZE), rect.height() - offset.y(), int(MAINWINDOW_MAX_SIZE / scale) )); } break; case Left: { newRect.setX(rect.x()); newRect.setY(rect.y()); - newRect.setWidth(qBound(MAINWINDOW_MIN_SIZE, rect.width() + offset.x(), MAINWINDOW_MAX_SIZE)); + newRect.setWidth(qBound(qMax(int(MAINWINDOW_MIN_SIZE / scale), MAINWINDOW_MIN_SIZE), rect.width() + offset.x(), int(MAINWINDOW_MAX_SIZE / scale))); newRect.setHeight(rect.height()); } break; case Right: { - newRect.setX(rect.x() + rect.width() - qBound(MAINWINDOW_MIN_SIZE, rect.width() - offset.x(), MAINWINDOW_MAX_SIZE)); + newRect.setX(rect.x() + rect.width() - qBound(qMax(int(MAINWINDOW_MIN_SIZE / scale), MAINWINDOW_MIN_SIZE), rect.width() - offset.x(), int(MAINWINDOW_MAX_SIZE / scale))); newRect.setY(rect.y()); - newRect.setWidth(qBound(MAINWINDOW_MIN_SIZE, rect.width() - offset.x(), MAINWINDOW_MAX_SIZE)); + newRect.setWidth(qBound(qMax(int(MAINWINDOW_MIN_SIZE / scale), MAINWINDOW_MIN_SIZE), rect.width() - offset.x(), int(MAINWINDOW_MAX_SIZE / scale))); newRect.setHeight(rect.height()); } break; } - const Position pos = m_multiScreenWorker->position(); - m_dockSize = ((pos == Position::Top || pos == Position::Bottom) ? newRect.height() : newRect.width()); - // 更新界面大小 m_mainPanel->setFixedSize(newRect.size()); setFixedSize(newRect.size()); diff --git a/plugins/bluetooth/componments/adaptersmanager.cpp b/plugins/bluetooth/componments/adaptersmanager.cpp index 500e42336..1598feee1 100644 --- a/plugins/bluetooth/componments/adaptersmanager.cpp +++ b/plugins/bluetooth/componments/adaptersmanager.cpp @@ -82,16 +82,6 @@ AdaptersManager::AdaptersManager(QObject *parent) } } -//QMap AdaptersManager::adapters() const -//{ -// return m_adapters; -//} - -//const Adapter *AdaptersManager::adapterById(const QString &id) -//{ -// return m_adapters.keys().contains(id) ? m_adapters[id] : nullptr; -//} - void AdaptersManager::setAdapterPowered(const Adapter *adapter, const bool &powered) { if (!adapter) @@ -122,18 +112,6 @@ void AdaptersManager::setAdapterPowered(const Adapter *adapter, const bool &powe } } -//void AdaptersManager::connectAllPairedDevice(const Adapter *adapter) -//{ -// for (const Device *d : adapter->paredDevices()) { -// Device *vd = const_cast(d); -// if (vd) { -// QDBusObjectPath path(vd->id()); -// m_bluetoothInter->ConnectDevice(path); -// qDebug() << "connect to device: " << vd->name(); -// } -// } -//} - void AdaptersManager::connectDevice(Device *device, Adapter *adapter) { if (device) { diff --git a/plugins/bluetooth/componments/adaptersmanager.h b/plugins/bluetooth/componments/adaptersmanager.h index 9e751db73..fa8b1fb24 100644 --- a/plugins/bluetooth/componments/adaptersmanager.h +++ b/plugins/bluetooth/componments/adaptersmanager.h @@ -34,11 +34,7 @@ class AdaptersManager : public QObject public: explicit AdaptersManager(QObject *parent = nullptr); -// QMap adapters() const; -// const Adapter *adapterById(const QString &id); - void setAdapterPowered(const Adapter *adapter, const bool &powered); -// void connectAllPairedDevice(const Adapter *adapter); void connectDevice(Device *device, Adapter *adapter); bool defaultAdapterInitPowerState(); int adaptersCount();