fix: 修复在 wayland 下 dock 无法使用的问题;

This commit is contained in:
寂静的羽夏 2025-05-18 23:58:59 +08:00
parent f299b75198
commit 2c039597f0
4 changed files with 41 additions and 29 deletions

View File

@ -410,72 +410,72 @@
<context> <context>
<name>EditorView</name> <name>EditorView</name>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="82"/> <location filename="../../src/control/editorview.cpp" line="83"/>
<source>Cut</source> <source>Cut</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="84"/> <location filename="../../src/control/editorview.cpp" line="85"/>
<source>CutHex</source> <source>CutHex</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="86"/> <location filename="../../src/control/editorview.cpp" line="87"/>
<source>Copy</source> <source>Copy</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="88"/> <location filename="../../src/control/editorview.cpp" line="89"/>
<source>CopyHex</source> <source>CopyHex</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="90"/> <location filename="../../src/control/editorview.cpp" line="91"/>
<source>Paste</source> <source>Paste</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="92"/> <location filename="../../src/control/editorview.cpp" line="93"/>
<source>PasteHex</source> <source>PasteHex</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="94"/> <location filename="../../src/control/editorview.cpp" line="95"/>
<source>Delete</source> <source>Delete</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="97"/> <location filename="../../src/control/editorview.cpp" line="98"/>
<source>Find</source> <source>Find</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="99"/> <location filename="../../src/control/editorview.cpp" line="100"/>
<source>Goto</source> <source>Goto</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="101"/> <location filename="../../src/control/editorview.cpp" line="102"/>
<source>Fill</source> <source>Fill</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="103"/> <location filename="../../src/control/editorview.cpp" line="104"/>
<source>MetaData</source> <source>MetaData</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="105"/> <location filename="../../src/control/editorview.cpp" line="106"/>
<source>BookMark</source> <source>BookMark</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="294"/> <location filename="../../src/control/editorview.cpp" line="295"/>
<source>Untitled</source> <source>Untitled</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="878"/> <location filename="../../src/control/editorview.cpp" line="879"/>
<source>Not allowed operation in non-UI thread</source> <source>Not allowed operation in non-UI thread</source>
<translation> UI 线</translation> <translation> UI 线</translation>
</message> </message>

View File

@ -410,72 +410,72 @@
<context> <context>
<name>EditorView</name> <name>EditorView</name>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="82"/> <location filename="../../src/control/editorview.cpp" line="83"/>
<source>Cut</source> <source>Cut</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="84"/> <location filename="../../src/control/editorview.cpp" line="85"/>
<source>CutHex</source> <source>CutHex</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="86"/> <location filename="../../src/control/editorview.cpp" line="87"/>
<source>Copy</source> <source>Copy</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="88"/> <location filename="../../src/control/editorview.cpp" line="89"/>
<source>CopyHex</source> <source>CopyHex</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="90"/> <location filename="../../src/control/editorview.cpp" line="91"/>
<source>Paste</source> <source>Paste</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="92"/> <location filename="../../src/control/editorview.cpp" line="93"/>
<source>PasteHex</source> <source>PasteHex</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="94"/> <location filename="../../src/control/editorview.cpp" line="95"/>
<source>Delete</source> <source>Delete</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="97"/> <location filename="../../src/control/editorview.cpp" line="98"/>
<source>Find</source> <source>Find</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="99"/> <location filename="../../src/control/editorview.cpp" line="100"/>
<source>Goto</source> <source>Goto</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="101"/> <location filename="../../src/control/editorview.cpp" line="102"/>
<source>Fill</source> <source>Fill</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="103"/> <location filename="../../src/control/editorview.cpp" line="104"/>
<source>MetaData</source> <source>MetaData</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="105"/> <location filename="../../src/control/editorview.cpp" line="106"/>
<source>BookMark</source> <source>BookMark</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="294"/> <location filename="../../src/control/editorview.cpp" line="295"/>
<source>Untitled</source> <source>Untitled</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/control/editorview.cpp" line="878"/> <location filename="../../src/control/editorview.cpp" line="879"/>
<source>Not allowed operation in non-UI thread</source> <source>Not allowed operation in non-UI thread</source>
<translation> UI </translation> <translation> UI </translation>
</message> </message>

View File

@ -20,6 +20,17 @@ int main(int argc, char *argv[]) {
QApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); QApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings);
#ifdef Q_OS_LINUX
// fix wayland issue (a workaround): floating dock not work
// reference:
// https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/
// issues/714#issuecomment-2802752677
if (qgetenv("XDG_SESSION_TYPE")
.compare(QByteArrayLiteral("wayland"), Qt::CaseInsensitive) == 0) {
qputenv("QT_QPA_PLATFORM", "xcb");
}
#endif
QApplication::setApplicationName(APP_NAME); QApplication::setApplicationName(APP_NAME);
QApplication::setOrganizationName(APP_ORG); QApplication::setOrganizationName(APP_ORG);
QApplication::setApplicationVersion(WINGHEX_VERSION); QApplication::setApplicationVersion(WINGHEX_VERSION);

View File

@ -63,7 +63,8 @@ EditorView::EditorView(QWidget *parent)
auto hexLayout = new QVBoxLayout(m_hexContainer); auto hexLayout = new QVBoxLayout(m_hexContainer);
hexLayout->setSpacing(0); hexLayout->setSpacing(0);
hexLayout->setContentsMargins(0, 0, 0, 0); hexLayout->setContentsMargins(0, 0, 0, 0);
m_hex = new QHexView; m_hex = new QHexView(this);
m_hex->setScaleRate(1);
hexLayout->addWidget(m_hex, 1); hexLayout->addWidget(m_hex, 1);
m_goto = new GotoWidget(this); m_goto = new GotoWidget(this);
connect(m_goto, &GotoWidget::jumpToLine, this, connect(m_goto, &GotoWidget::jumpToLine, this,