diff options
Diffstat (limited to 'src/plugins/platforms')
7 files changed, 41 insertions, 27 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoamenu.mm b/src/plugins/platforms/cocoa/qcocoamenu.mm index 7b96fca3f9..f34988721d 100644 --- a/src/plugins/platforms/cocoa/qcocoamenu.mm +++ b/src/plugins/platforms/cocoa/qcocoamenu.mm @@ -250,6 +250,9 @@ void QCocoaMenu::syncMenuItem_helper(QPlatformMenuItem *menuItem, bool menubarUp if (wasMerged) { oldItem.enabled = NO; oldItem.hidden = YES; + oldItem.keyEquivalent = @""; + oldItem.keyEquivalentModifierMask = NSEventModifierFlagCommand; + } else { [m_nativeMenu removeItem:oldItem]; } diff --git a/src/plugins/platforms/cocoa/qcocoasystemsettings.mm b/src/plugins/platforms/cocoa/qcocoasystemsettings.mm index aef2c6cf48..9b6dc94d33 100644 --- a/src/plugins/platforms/cocoa/qcocoasystemsettings.mm +++ b/src/plugins/platforms/cocoa/qcocoasystemsettings.mm @@ -158,10 +158,13 @@ QHash<QPlatformTheme::Palette, QPalette*> qt_mac_createRolePalettes() pal.setColor(QPalette::Inactive, QPalette::WindowText, qc); pal.setColor(QPalette::Active, QPalette::HighlightedText, qc); pal.setColor(QPalette::Inactive, QPalette::HighlightedText, qc); + pal.setColor(QPalette::Active, QPalette::ButtonText, qc); + pal.setColor(QPalette::Inactive, QPalette::ButtonText, qc); qc = qt_mac_toQColor(mac_widget_colors[i].inactive); pal.setColor(QPalette::Disabled, QPalette::Text, qc); pal.setColor(QPalette::Disabled, QPalette::WindowText, qc); pal.setColor(QPalette::Disabled, QPalette::HighlightedText, qc); + pal.setColor(QPalette::Disabled, QPalette::ButtonText, qc); } if (mac_widget_colors[i].paletteRole == QPlatformTheme::MenuPalette || mac_widget_colors[i].paletteRole == QPlatformTheme::MenuBarPalette) { diff --git a/src/plugins/platforms/wasm/qwasmclipboard.cpp b/src/plugins/platforms/wasm/qwasmclipboard.cpp index 7a7b253b19..d4a1e4dd50 100644 --- a/src/plugins/platforms/wasm/qwasmclipboard.cpp +++ b/src/plugins/platforms/wasm/qwasmclipboard.cpp @@ -76,8 +76,8 @@ static void qClipboardCutTo(val event) } val module = val::global("Module"); - val clipdata = module.call<val>("getClipboardData"); - val clipFormat = module.call<val>("getClipboardFormat"); + val clipdata = module.call<val>("qtGetClipboardData"); + val clipFormat = module.call<val>("qtGetClipboardFormat"); event["clipboardData"].call<void>("setData", clipFormat, clipdata); event.call<void>("preventDefault"); } @@ -91,8 +91,8 @@ static void qClipboardCopyTo(val event) } val module = val::global("Module"); - val clipdata = module.call<val>("getClipboardData"); - val clipFormat = module.call<val>("getClipboardFormat"); + val clipdata = module.call<val>("qtGetClipboardData"); + val clipFormat = module.call<val>("qtGetClipboardFormat"); event["clipboardData"].call<void>("setData", clipFormat, clipdata); event.call<void>("preventDefault"); } @@ -101,7 +101,7 @@ static void qClipboardPasteTo(val event) { bool hasClipboardApi = QWasmIntegration::get()->getWasmClipboard()->hasClipboardApi; val clipdata = hasClipboardApi ? - val::global("Module").call<val>("getClipboardData") : + val::global("Module").call<val>("qtGetClipboardData") : event["clipboardData"].call<val>("getData", std::string("text")); const std::string data = clipdata.as<std::string>(); @@ -113,14 +113,14 @@ static void qClipboardPasteTo(val event) } } -EMSCRIPTEN_BINDINGS(clipboard_module) { - function("getClipboardData", &getClipboardData); - function("getClipboardFormat", &getClipboardFormat); - function("pasteClipboardData", &pasteClipboardData); - function("qClipboardPromiseResolve", &qClipboardPromiseResolve); - function("qClipboardCutTo", &qClipboardCutTo); - function("qClipboardCopyTo", &qClipboardCopyTo); - function("qClipboardPasteTo", &qClipboardPasteTo); +EMSCRIPTEN_BINDINGS(qtClipboardModule) { + function("qtGetClipboardData", &getClipboardData); + function("qtGetClipboardFormat", &getClipboardFormat); + function("qtPasteClipboardData", &pasteClipboardData); + function("qtClipboardPromiseResolve", &qClipboardPromiseResolve); + function("qtClipboardCutTo", &qClipboardCutTo); + function("qtClipboardCopyTo", &qClipboardCopyTo); + function("qtClipboardPasteTo", &qClipboardPasteTo); } QWasmClipboard::QWasmClipboard() @@ -200,11 +200,11 @@ void QWasmClipboard::installEventHandlers(const QString &canvasId) // Fallback path for browsers which do not support direct clipboard access val canvas = val::global(canvasId.toUtf8().constData()); canvas.call<void>("addEventListener", std::string("cut"), - val::module_property("qClipboardCutTo")); + val::module_property("qtClipboardCutTo")); canvas.call<void>("addEventListener", std::string("copy"), - val::module_property("qClipboardCopyTo")); + val::module_property("qtClipboardCopyTo")); canvas.call<void>("addEventListener", std::string("paste"), - val::module_property("qClipboardPasteTo")); + val::module_property("qtClipboardPasteTo")); } void QWasmClipboard::readTextFromClipboard() @@ -212,7 +212,7 @@ void QWasmClipboard::readTextFromClipboard() if (QWasmIntegration::get()->getWasmClipboard()->hasClipboardApi) { val navigator = val::global("navigator"); val textPromise = navigator["clipboard"].call<val>("readText"); - val readTextResolve = val::global("Module")["qClipboardPromiseResolve"]; + val readTextResolve = val::global("Module")["qtClipboardPromiseResolve"]; textPromise.call<val>("then", readTextResolve); } } @@ -221,8 +221,8 @@ void QWasmClipboard::writeTextToClipboard() { if (QWasmIntegration::get()->getWasmClipboard()->hasClipboardApi) { val module = val::global("Module"); - val txt = module.call<val>("getClipboardData"); - val format = module.call<val>("getClipboardFormat"); + val txt = module.call<val>("qtGetClipboardData"); + val format = module.call<val>("qtGetClipboardFormat"); val navigator = val::global("navigator"); navigator["clipboard"].call<void>("writeText", txt.as<std::string>()); } diff --git a/src/plugins/platforms/wasm/qwasmeventtranslator.cpp b/src/plugins/platforms/wasm/qwasmeventtranslator.cpp index 63a764e741..1c4c8cb7e8 100644 --- a/src/plugins/platforms/wasm/qwasmeventtranslator.cpp +++ b/src/plugins/platforms/wasm/qwasmeventtranslator.cpp @@ -316,8 +316,8 @@ static void mouseWheelEvent(emscripten::val event) { } } -EMSCRIPTEN_BINDINGS(mouse_module) { - function("mouseWheelEvent", &mouseWheelEvent); +EMSCRIPTEN_BINDINGS(qtMouseModule) { + function("qtMouseWheelEvent", &mouseWheelEvent); } QWasmEventTranslator::QWasmEventTranslator(QWasmScreen *screen) @@ -358,7 +358,7 @@ void QWasmEventTranslator::initEventHandlers() emscripten::val::global(canvasId).call<void>("addEventListener", std::string("wheel"), - val::module_property("mouseWheelEvent")); + val::module_property("qtMouseWheelEvent")); } } diff --git a/src/plugins/platforms/wasm/qwasmintegration.cpp b/src/plugins/platforms/wasm/qwasmintegration.cpp index 486f4cb2b3..3b4800a787 100644 --- a/src/plugins/platforms/wasm/qwasmintegration.cpp +++ b/src/plugins/platforms/wasm/qwasmintegration.cpp @@ -56,14 +56,14 @@ using namespace emscripten; QT_BEGIN_NAMESPACE -void browserBeforeUnload(emscripten::val) +static void browserBeforeUnload(emscripten::val) { QWasmIntegration::QWasmBrowserExit(); } -EMSCRIPTEN_BINDINGS(my_module) +EMSCRIPTEN_BINDINGS(qtQWasmIntegraton) { - function("browserBeforeUnload", &browserBeforeUnload); + function("qtBrowserBeforeUnload", &browserBeforeUnload); } QWasmIntegration *QWasmIntegration::s_instance; @@ -92,7 +92,7 @@ QWasmIntegration::QWasmIntegration() addScreen(canvasId); } - emscripten::val::global("window").set("onbeforeunload", val::module_property("browserBeforeUnload")); + emscripten::val::global("window").set("onbeforeunload", val::module_property("qtBrowserBeforeUnload")); } QWasmIntegration::~QWasmIntegration() diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp index 07fd2916c2..338e594c7b 100644 --- a/src/plugins/platforms/windows/qwindowswindow.cpp +++ b/src/plugins/platforms/windows/qwindowswindow.cpp @@ -1132,7 +1132,8 @@ QWindowCreationContext::QWindowCreationContext(const QWindow *w, // TODO: No concept of WA_wasMoved yet that would indicate a // CW_USEDEFAULT unless set. For now, assume that 0,0 means 'default' // for toplevels. - if (geometry.isValid()) { + if (geometry.isValid() + || !qt_window_private(const_cast<QWindow *>(w))->resizeAutomatic) { frameX = geometry.x(); frameY = geometry.y(); const QMargins effectiveMargins = margins + customMargins; diff --git a/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp b/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp index 3377eeaae9..8d958aae94 100644 --- a/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp +++ b/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp @@ -2645,6 +2645,13 @@ bool QXRenderGlyphCache::addGlyphs(const QTextItemInt &ti, if (glyph == 0 || glyph->format != glyphFormat()) return false; + if (glyph->format == QFontEngine::Format_Mono) { + // Must convert bitmap from msb to lsb bit order + QImage img(glyph->data, glyph->width, glyph->height, QImage::Format_Mono); + img = img.convertToFormat(QImage::Format_MonoLSB); + memcpy(glyph->data, img.constBits(), static_cast<size_t>(img.sizeInBytes())); + } + set->setGlyph(glyphs[i], spp, glyph); Q_ASSERT(glyph->data || glyph->width == 0 || glyph->height == 0); |