aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-09-10 17:00:41 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-09-10 17:00:41 +0000
commit87be0400e7294f50a4527ddc0878be2f6eddad8e (patch)
tree3787121aeb346b3631d9802b31e6fdbc3d4e01b3
parentb5e909024fb6f86d63d26dbe86a29b60bd092622 (diff)
downloadqmmp-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.cpp4
-rw-r--r--src/plugins/Ui/qsui/mainwindow.cpp6
-rw-r--r--src/qmmpui/uiloader.cpp3
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