diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2021-09-10 17:00:41 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2021-09-10 17:00:41 +0000 |
| commit | 87be0400e7294f50a4527ddc0878be2f6eddad8e (patch) | |
| tree | 3787121aeb346b3631d9802b31e6fdbc3d4e01b3 | |
| parent | b5e909024fb6f86d63d26dbe86a29b60bd092622 (diff) | |
| download | qmmp-87be0400e7294f50a4527ddc0878be2f6eddad8e.tar.gz qmmp-87be0400e7294f50a4527ddc0878be2f6eddad8e.tar.bz2 qmmp-87be0400e7294f50a4527ddc0878be2f6eddad8e.zip | |
qsui: disabled floatable QDockWidgets under Wayland
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@10279 90c681e8-e032-0410-971d-27865f9a5e38
| -rw-r--r-- | src/plugins/Ui/qsui/dockwidgetlist.cpp | 4 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/mainwindow.cpp | 6 | ||||
| -rw-r--r-- | src/qmmpui/uiloader.cpp | 3 |
3 files changed, 12 insertions, 1 deletions
diff --git a/src/plugins/Ui/qsui/dockwidgetlist.cpp b/src/plugins/Ui/qsui/dockwidgetlist.cpp index 78f663e04..906e12201 100644 --- a/src/plugins/Ui/qsui/dockwidgetlist.cpp +++ b/src/plugins/Ui/qsui/dockwidgetlist.cpp @@ -20,6 +20,8 @@ DockWidgetList::DockWidgetList(QMainWindow *parent) : QObject(parent), m_mw(pare dockWidget->toggleViewAction()->setShortcut(desc.shortcut); dockWidget->setObjectName(id); dockWidget->setAllowedAreas(desc.allowedAreas); + if(qApp->platformName() == QLatin1String("wayland")) + dockWidget->setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable); m_mw->addDockWidget(desc.area, dockWidget); connect(dockWidget->toggleViewAction(), SIGNAL(triggered(bool)), SLOT(onViewActionTriggered(bool))); connect(dockWidget, SIGNAL(visibilityChanged(bool)), SLOT(onVisibilityChanged(bool))); @@ -122,6 +124,8 @@ void DockWidgetList::onWidgetAdded(const QString &id) QDockWidget *dockWidget = new QDockWidget(desc.name, m_mw); dockWidget->setObjectName(id); dockWidget->setAllowedAreas(desc.allowedAreas); + if(qApp->platformName() == QLatin1String("wayland")) + dockWidget->setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable); if(m_menu && m_beforeAction) m_menu->insertAction(m_beforeAction, dockWidget->toggleViewAction()); m_mw->addDockWidget(desc.area, dockWidget); diff --git a/src/plugins/Ui/qsui/mainwindow.cpp b/src/plugins/Ui/qsui/mainwindow.cpp index 8c51aa22b..b868a66c4 100644 --- a/src/plugins/Ui/qsui/mainwindow.cpp +++ b/src/plugins/Ui/qsui/mainwindow.cpp @@ -860,6 +860,12 @@ void MainWindow::setTitleBarsVisible(bool visible) m_ui.waveformSeekBarDockWidget }; + if(qApp->platformName() == QLatin1String("wayland")) + { + for(QDockWidget *w : qAsConst(widgetList)) + w->setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable); + } + if(visible) { for(QDockWidget *w : qAsConst(widgetList)) diff --git a/src/qmmpui/uiloader.cpp b/src/qmmpui/uiloader.cpp index 269db9577..5324fa3b2 100644 --- a/src/qmmpui/uiloader.cpp +++ b/src/qmmpui/uiloader.cpp @@ -19,6 +19,7 @@ ***************************************************************************/ #include <QDir> +#include <QApplication> #include <qmmp/qmmp.h> #include <algorithm> #include "qmmpuiplugincache_p.h" @@ -101,7 +102,7 @@ UiFactory *UiLoader::selected() QSettings settings (Qmmp::configFile(), QSettings::IniFormat); #ifdef Q_OS_UNIX QString defaultUi = QMMP_DEFAULT_UI; - if(defaultUi == QLatin1String("skinned") && qgetenv("XDG_SESSION_TYPE") == "wayland") + if(defaultUi == QLatin1String("skinned") && qApp->platformName() == QLatin1String("wayland")) defaultUi = "qsui"; QString name = settings.value("Ui/current_plugin", defaultUi).toString(); #else |
