Skip to content

Commit daeb7a7

Browse files
committed
use QMainWindow instead of QDialog because QDialog cannot show Maximize/Minimize button in Windows11
1 parent cb4d69c commit daeb7a7

File tree

3 files changed

+4
-14
lines changed

3 files changed

+4
-14
lines changed

plugindevtools/PluginDevTools/PluginDevToolsDialog.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
from krita import *
2-
from PyQt5.QtWidgets import QDialog, QHBoxLayout
2+
from PyQt5.QtWidgets import QMainWindow
33
from .PluginDevToolsWidget import *
44

5-
class PluginDevToolsDialog(QDialog):
5+
class PluginDevToolsDialog(QMainWindow):
66
signal_closed = pyqtSignal()
77
def __init__(self, parent=None):
88
super().__init__(parent)
9-
self.__layout = QHBoxLayout()
10-
self.setLayout(self.__layout)
119
self.setWindowTitle('Plugin Developer Tools')
12-
# Can keep a standalone window after setParent with qwin
13-
self.setWindowFlag(Qt.WindowType.Window, True)
1410

1511

1612
def closeEvent(self, event: QtGui.QCloseEvent):

plugindevtools/PluginDevTools/PluginDevToolsStatusManager.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def applyDialogMode(self, senderName=str()):
8080
return
8181
self.docker.setFloating(False)
8282
self.docker.close()
83-
self.dialog.layout().addWidget(self.centralwidget)
83+
self.dialog.setCentralWidget(self.centralwidget)
8484
self.dialog.show()
8585
self.dialog.activateWindow()
8686
type(self).mutex.unlock()

plugindevtools/PluginDevTools/__init__.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,19 +49,13 @@ def setup():
4949
statusManager.setDocker(docker)
5050

5151
# Prepare a standalone window
52-
dialog = PluginDevToolsDialog()
52+
dialog = PluginDevToolsDialog(qwin)
5353
statusManager.setDialog(dialog)
5454

5555
# Prepare content widget. This widget will be added into docker or dialog. Only keep one instance.
5656
centralwidget = PluginDevToolsWidget()
5757
statusManager.setCentralWidget(centralwidget)
5858

59-
# Set dialog's parent to qwindow, when close qwindow, dialog will be closed as well
60-
statusManager.dialog.setParent(qwin)
61-
# Reset windowflag to keep as a standalone window
62-
# Should always reset windowflag after setParent
63-
statusManager.dialog.setWindowFlag(Qt.WindowType.Window, True)
64-
6559
statusManager.setFirstAfterStart()
6660

6761
# Status route: modeAllHide <--> modeDocker <--> modeDialog

0 commit comments

Comments
 (0)