diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9336bb9b1..b4d2f860a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -271,8 +271,9 @@ endif()
target_link_libraries(${CORE_WIDGETS_ADDON} PRIVATE
"${CMAKE_JS_LIB}"
- Qt5::Widgets
- Qt5::Core
- Qt5::Gui
- Qt5::Svg
+ Qt6::Widgets
+ Qt6::Core
+ Qt6::Gui
+ Qt6::Svg
+ Qt6::SvgWidgets
)
diff --git a/README.md b/README.md
index fe0307bba..a64b8f622 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
Build **performant**, **native** and **cross-platform** desktop applications with **Node.js** and **CSS like styling**.🚀
-NodeGUI is powered by **Qt5** 💚 which makes it CPU and memory efficient as compared to other chromium based solutions like Electron.
+NodeGUI is powered by **Qt6** 💚 which makes it CPU and memory efficient as compared to other chromium based solutions like Electron.
If you are looking for **React** based version, check out: **[React NodeGUI](https://github.com/nodegui/react-nodegui)**.
diff --git a/config/qt.cmake b/config/qt.cmake
index 858b4e81f..ac64f9674 100644
--- a/config/qt.cmake
+++ b/config/qt.cmake
@@ -8,7 +8,7 @@ set(CMAKE_AUTOUIC ON)
set(QTCONFIG_FILE ${CMAKE_CURRENT_LIST_DIR}/qtConfig.js)
-macro(AddQtSupport addonName)
+macro(AddQtSupport addonName)
execute_process(COMMAND node -p "require('${QTCONFIG_FILE}').qtCmakeDir"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE QT_CMAKE_HOME_DIR
@@ -16,10 +16,10 @@ macro(AddQtSupport addonName)
string(REPLACE "\n" "" QT_CMAKE_HOME_DIR "${QT_CMAKE_HOME_DIR}")
string(REPLACE "\"" "" QT_CMAKE_HOME_DIR "${QT_CMAKE_HOME_DIR}")
-
- message(STATUS "Using QT installation for ${addonName} QT_CMAKE_HOME_DIR:${QT_CMAKE_HOME_DIR}")
- set(Qt5_DIR ${QT_CMAKE_HOME_DIR})
- find_package(Qt5 COMPONENTS Widgets Gui Core Svg REQUIRED)
-
+ message(STATUS "Using Qt installation for ${addonName} QT_CMAKE_HOME_DIR:${QT_CMAKE_HOME_DIR}")
+
+ list(APPEND CMAKE_PREFIX_PATH "${QT_CMAKE_HOME_DIR}/../../..")
+ find_package(Qt6 REQUIRED COMPONENTS Widgets Gui Core Svg SvgWidgets)
+
endmacro(AddQtSupport addonName)
diff --git a/config/qtConfig.js b/config/qtConfig.js
index 7cf0a564a..4003c07b8 100644
--- a/config/qtConfig.js
+++ b/config/qtConfig.js
@@ -3,7 +3,7 @@ const path = require('path');
const fs = require('fs');
const SETUP_DIR = path.resolve(__dirname, '..', 'miniqt');
-const QT_VERSION = '5.15.2';
+const QT_VERSION = '6.4.1';
const MIRROR = Boolean(process.env.QT_LINK_MIRROR) ? process.env.QT_LINK_MIRROR : 'https://download.qt.io';
const checkIfExists = (fullPath) => {
@@ -14,13 +14,13 @@ function getMiniQtConfig() {
switch (os.platform()) {
case 'darwin': {
if (os.arch() === 'arm64') {
- const qtHome = path.resolve(SETUP_DIR, 'Qt-5.15.3');
+ const qtHome = path.resolve(SETUP_DIR, 'Qt-6.4.1');
return {
qtHome,
artifacts: [
{
name: 'Mini Qt Bundle',
- link: `https://github.com/nodegui/nodegui/releases/download/miniQtm1-5153/Qt-5.15.3.zip`,
+ link: `https://github.com/nodegui/nodegui/releases/download/miniQtm1-5153/Qt-6.4.1.zip`,
skipSetup: checkIfExists(path.resolve(qtHome, 'plugins', 'platforms', 'libqcocoa.dylib')),
},
],
@@ -32,17 +32,17 @@ function getMiniQtConfig() {
artifacts: [
{
name: 'Qt Base',
- link: `${MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt5_5152/qt.qt5.5152.clang_64/5.15.2-0-202011130601qtbase-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z`,
+ link: `${MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt6_641/qt.qt6.641.clang_64/6.4.1-0-202211101256qtbase-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z`,
skipSetup: checkIfExists(path.resolve(qtHome, 'plugins', 'platforms', 'libqcocoa.dylib')),
},
{
name: 'Qt Svg',
- link: `${MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt5_5152/qt.qt5.5152.clang_64/5.15.2-0-202011130601qtsvg-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z`,
+ link: `${MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt6_641/qt.qt6.641.clang_64/6.4.1-0-202211101256qtsvg-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z`,
skipSetup: checkIfExists(path.resolve(qtHome, 'lib', 'QtSvg.framework', 'QtSvg')),
},
{
name: 'Qt Tools',
- link: `${MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt5_5152/qt.qt5.5152.clang_64/5.15.2-0-202011130601qttools-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z`,
+ link: `${MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt6_641/qt.qt6.641.clang_64/6.4.1-0-202211101256qttools-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z`,
skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'macdeployqt')),
},
],
@@ -56,17 +56,17 @@ function getMiniQtConfig() {
artifacts: [
{
name: 'Qt Base',
- link: `${MIRROR}/online/qtsdkrepository/windows_x86/desktop/qt5_5152/qt.qt5.5152.win64_msvc2019_64/5.15.2-0-202011130602qtbase-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z`,
- skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'Qt5Core.dll')),
+ link: `${MIRROR}/online/qtsdkrepository/windows_x86/desktop/qt6_641/qt.qt6.641.win64_msvc2019_64/6.4.1-0-202211101254qtbase-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z`,
+ skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'Qt6Core.dll')),
},
{
name: 'Qt SVG',
- link: `${MIRROR}/online/qtsdkrepository/windows_x86/desktop/qt5_5152/qt.qt5.5152.win64_msvc2019_64/5.15.2-0-202011130602qtsvg-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z`,
- skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'Qt5Svg.dll')),
+ link: `${MIRROR}/online/qtsdkrepository/windows_x86/desktop/qt6_641/qt.qt6.641.win64_msvc2019_64/6.4.1-0-202211101254qtsvg-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z`,
+ skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'Qt6Svg.dll')),
},
{
name: 'Qt Tools',
- link: `${MIRROR}/online/qtsdkrepository/windows_x86/desktop/qt5_5152/qt.qt5.5152.win64_msvc2019_64/5.15.2-0-202011130602qttools-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z`,
+ link: `${MIRROR}/online/qtsdkrepository/windows_x86/desktop/qt6_641/qt.qt6.641.win64_msvc2019_64/6.4.1-0-202211101254qttools-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z`,
skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'windeployqt.exe')),
},
],
@@ -79,17 +79,17 @@ function getMiniQtConfig() {
artifacts: [
{
name: 'Qt Base',
- link: `${MIRROR}/online/qtsdkrepository/linux_x64/desktop/qt5_5152/qt.qt5.5152.gcc_64/5.15.2-0-202011130601qtbase-Linux-RHEL_7_6-GCC-Linux-RHEL_7_6-X86_64.7z`,
+ link: `${MIRROR}/online/qtsdkrepository/linux_x64/desktop/qt6_641/qt.qt6.641.gcc_64/6.4.1-0-202211101305qtbase-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z`,
skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'moc')),
},
{
name: 'Qt SVG',
- link: `${MIRROR}/online/qtsdkrepository/linux_x64/desktop/qt5_5152/qt.qt5.5152.gcc_64/5.15.2-0-202011130601qtsvg-Linux-RHEL_7_6-GCC-Linux-RHEL_7_6-X86_64.7z`,
- skipSetup: checkIfExists(path.resolve(qtHome, 'lib', 'libQt5Svg.so')),
+ link: `${MIRROR}/online/qtsdkrepository/linux_x64/desktop/qt6_641/qt.qt6.641.gcc_64/6.4.1-0-202211101305qtsvg-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z`,
+ skipSetup: checkIfExists(path.resolve(qtHome, 'lib', 'libQt6Svg.so')),
},
{
name: 'Qt ICU',
- link: `${MIRROR}/online/qtsdkrepository/linux_x64/desktop/qt5_5152/qt.qt5.5152.gcc_64/5.15.2-0-202011130601icu-linux-Rhel7.2-x64.7z`,
+ link: `${MIRROR}/online/qtsdkrepository/linux_x64/desktop/qt6_641/qt.qt6.641.gcc_64/6.4.1-0-202211101305icu-linux-Rhel7.2-x64.7z`,
skipSetup: checkIfExists(path.resolve(qtHome, 'lib', 'libicuuc.so')),
},
],
@@ -106,7 +106,7 @@ const miniQt = {
const useCustomQt = Boolean(process.env.QT_INSTALL_DIR);
const qtHome = useCustomQt ? process.env.QT_INSTALL_DIR : miniQt.qtHome;
-const qtCmakeDir = path.resolve(qtHome, 'lib', 'cmake', 'Qt5');
+const qtCmakeDir = path.resolve(qtHome, 'lib', 'cmake', 'Qt6');
module.exports = {
qtHome,
diff --git a/src/cpp/include/nodegui/QtWidgets/QAbstractButton/qabstractbutton_macro.h b/src/cpp/include/nodegui/QtWidgets/QAbstractButton/qabstractbutton_macro.h
index c15bfc9a1..d278f67dd 100644
--- a/src/cpp/include/nodegui/QtWidgets/QAbstractButton/qabstractbutton_macro.h
+++ b/src/cpp/include/nodegui/QtWidgets/QAbstractButton/qabstractbutton_macro.h
@@ -16,8 +16,7 @@
QWIDGET_WRAPPED_METHODS_DECLARATION \
Napi::Value animateClick(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
- int msec = info[0].As().Int32Value(); \
- this->instance->animateClick(msec); \
+ this->instance->animateClick(); \
return env.Null(); \
} \
Napi::Value click(const Napi::CallbackInfo& info) { \
diff --git a/src/cpp/include/nodegui/QtWidgets/QButtonGroup/nbuttongroup.hpp b/src/cpp/include/nodegui/QtWidgets/QButtonGroup/nbuttongroup.hpp
index 89040281c..dfcb9fa26 100644
--- a/src/cpp/include/nodegui/QtWidgets/QButtonGroup/nbuttongroup.hpp
+++ b/src/cpp/include/nodegui/QtWidgets/QButtonGroup/nbuttongroup.hpp
@@ -15,12 +15,34 @@ class DLL_EXPORT NButtonGroup : public QButtonGroup, public EventWidget {
virtual void connectSignalsToEventEmitter() {
QOBJECT_SIGNALS
// Qt Connects: Implement all signal connects here
- connect(this, QOverload::of(&QButtonGroup::buttonClicked),
+ connect(this, &QButtonGroup::idClicked,
[=](int id) {
Napi::Env env = this->emitOnNode.Env();
Napi::HandleScope scope(env);
- this->emitOnNode.Call({Napi::String::New(env, "buttonClicked"),
+ this->emitOnNode.Call({Napi::String::New(env, "idClicked"),
Napi::Number::New(env, id)});
});
+ connect(this, &QButtonGroup::idPressed,
+ [=](int id) {
+ Napi::Env env = this->emitOnNode.Env();
+ Napi::HandleScope scope(env);
+ this->emitOnNode.Call({Napi::String::New(env, "idPressed"),
+ Napi::Number::New(env, id)});
+ });
+ connect(this, &QButtonGroup::idReleased,
+ [=](int id) {
+ Napi::Env env = this->emitOnNode.Env();
+ Napi::HandleScope scope(env);
+ this->emitOnNode.Call({Napi::String::New(env, "idReleased"),
+ Napi::Number::New(env, id)});
+ });
+ connect(this, &QButtonGroup::idToggled,
+ [=](int id, bool checked) {
+ Napi::Env env = this->emitOnNode.Env();
+ Napi::HandleScope scope(env);
+ this->emitOnNode.Call({Napi::String::New(env, "idToggled"),
+ Napi::Number::New(env, id),
+ Napi::Boolean::New(env, checked)});
+ });
}
};
diff --git a/src/cpp/include/nodegui/QtWidgets/QTextBrowser/ntextbrowser.hpp b/src/cpp/include/nodegui/QtWidgets/QTextBrowser/ntextbrowser.hpp
index 31493fed4..e65d0ed20 100644
--- a/src/cpp/include/nodegui/QtWidgets/QTextBrowser/ntextbrowser.hpp
+++ b/src/cpp/include/nodegui/QtWidgets/QTextBrowser/ntextbrowser.hpp
@@ -39,12 +39,12 @@ class DLL_EXPORT NTextBrowser : public QTextBrowser, public NodeWidget {
Napi::Boolean::New(env, available)});
});
QObject::connect(
- this, QOverload::of(&QTextBrowser::highlighted),
- [=](const QString& link) {
+ this, &QTextBrowser::highlighted,
+ [=](const QUrl& link) {
Napi::Env env = this->emitOnNode.Env();
Napi::HandleScope scope(env);
this->emitOnNode.Call({Napi::String::New(env, "highlighted"),
- Napi::String::New(env, link.toStdString())});
+ Napi::String::New(env, link.toString().toStdString())});
});
QObject::connect(this, &QTextBrowser::historyChanged, [=]() {
Napi::Env env = this->emitOnNode.Env();
diff --git a/src/cpp/include/nodegui/QtWidgets/QWidget/nwidget.hpp b/src/cpp/include/nodegui/QtWidgets/QWidget/nwidget.hpp
index 99f65b5d6..d0dc970cb 100644
--- a/src/cpp/include/nodegui/QtWidgets/QWidget/nwidget.hpp
+++ b/src/cpp/include/nodegui/QtWidgets/QWidget/nwidget.hpp
@@ -16,7 +16,7 @@ class DLL_EXPORT NWidget : public QWidget, public NodeWidget {
// https://doc.qt.io/qt-5/stylesheet-reference.html
void paintEvent(QPaintEvent* e) override {
QStyleOption opt;
- opt.init(this);
+ opt.initFrom(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
QWidget::paintEvent(e);
diff --git a/src/cpp/lib/Extras/Utils/nutils.cpp b/src/cpp/lib/Extras/Utils/nutils.cpp
index ed4990072..30e177779 100644
--- a/src/cpp/lib/Extras/Utils/nutils.cpp
+++ b/src/cpp/lib/Extras/Utils/nutils.cpp
@@ -71,10 +71,10 @@ QVariant* extrautils::convertToQVariant(Napi::Env& env, Napi::Value& value) {
} else if (value.IsObject()) {
Napi::Object object = value.As();
std::string className = getNapiObjectClassName(object);
- int typeId = QMetaType::type(className.c_str());
+ QMetaType type = QMetaType::fromName(className.c_str());
ComponentWrap* componentWrap =
Napi::ObjectWrap::Unwrap(object);
- return new QVariant(typeId, componentWrap->rawData);
+ return new QVariant(type, componentWrap->rawData);
} else if (value.IsFunction()) {
return new QVariant();
diff --git a/src/cpp/lib/QtCore/QTime/qtime_wrap.cpp b/src/cpp/lib/QtCore/QTime/qtime_wrap.cpp
index 808805226..9b8311ab5 100644
--- a/src/cpp/lib/QtCore/QTime/qtime_wrap.cpp
+++ b/src/cpp/lib/QtCore/QTime/qtime_wrap.cpp
@@ -12,7 +12,6 @@ Napi::Object QTimeWrap::init(Napi::Env env, Napi::Object exports) {
env, CLASSNAME,
{InstanceMethod("addMSecs", &QTimeWrap::addMSecs),
InstanceMethod("addSecs", &QTimeWrap::addSecs),
- InstanceMethod("elapsed", &QTimeWrap::elapsed),
InstanceMethod("hour", &QTimeWrap::hour),
InstanceMethod("isNull", &QTimeWrap::isNull),
InstanceMethod("isValid", &QTimeWrap::isValid),
@@ -20,11 +19,9 @@ Napi::Object QTimeWrap::init(Napi::Env env, Napi::Object exports) {
InstanceMethod("msec", &QTimeWrap::msec),
InstanceMethod("msecsSinceStartOfDay", &QTimeWrap::msecsSinceStartOfDay),
InstanceMethod("msecsTo", &QTimeWrap::msecsTo),
- InstanceMethod("restart", &QTimeWrap::restart),
InstanceMethod("second", &QTimeWrap::second),
InstanceMethod("secsTo", &QTimeWrap::secsTo),
InstanceMethod("setHMS", &QTimeWrap::setHMS),
- InstanceMethod("start", &QTimeWrap::start),
InstanceMethod("toString$", &QTimeWrap::toString),
StaticMethod("currentTime", &StaticTimeWrapMethods::currentTime),
StaticMethod("fromMSecsSinceStartOfDay",
@@ -81,11 +78,6 @@ Napi::Value QTimeWrap::addSecs(const Napi::CallbackInfo& info) {
return instance;
}
-Napi::Value QTimeWrap::elapsed(const Napi::CallbackInfo& info) {
- Napi::Env env = info.Env();
- return Napi::Value::From(env, this->instance->elapsed());
-}
-
Napi::Value QTimeWrap::hour(const Napi::CallbackInfo& info) {
Napi::Env env = info.Env();
return Napi::Value::From(env, this->instance->hour());
@@ -124,12 +116,6 @@ Napi::Value QTimeWrap::msecsTo(const Napi::CallbackInfo& info) {
return Napi::Value::From(env, result);
}
-Napi::Value QTimeWrap::restart(const Napi::CallbackInfo& info) {
- Napi::Env env = info.Env();
- int result = this->instance->restart();
- return Napi::Value::From(env, result);
-}
-
Napi::Value QTimeWrap::second(const Napi::CallbackInfo& info) {
Napi::Env env = info.Env();
return Napi::Value::From(env, this->instance->second());
@@ -153,12 +139,6 @@ Napi::Value QTimeWrap::setHMS(const Napi::CallbackInfo& info) {
return Napi::Value::From(env, result);
}
-Napi::Value QTimeWrap::start(const Napi::CallbackInfo& info) {
- Napi::Env env = info.Env();
- this->instance->start();
- return env.Null();
-}
-
Napi::Value QTimeWrap::toString(const Napi::CallbackInfo& info) {
Napi::Env env = info.Env();
QString result;
diff --git a/src/cpp/lib/QtGui/QFont/qfont_wrap.cpp b/src/cpp/lib/QtGui/QFont/qfont_wrap.cpp
index 564a4562a..4cfb26921 100644
--- a/src/cpp/lib/QtGui/QFont/qfont_wrap.cpp
+++ b/src/cpp/lib/QtGui/QFont/qfont_wrap.cpp
@@ -141,13 +141,13 @@ Napi::Value QFontWrap::stretch(const Napi::CallbackInfo& info) {
Napi::Value QFontWrap::setWeight(const Napi::CallbackInfo& info) {
Napi::Env env = info.Env();
int weight = info[0].As().Int32Value();
- this->instance->setWeight(weight);
+ this->instance->setWeight(static_cast(weight));
return env.Null();
}
Napi::Value QFontWrap::weight(const Napi::CallbackInfo& info) {
Napi::Env env = info.Env();
- return Napi::Value::From(env, this->instance->weight());
+ return Napi::Value::From(env, static_cast(this->instance->weight()));
}
Napi::Value QFontWrap::setItalic(const Napi::CallbackInfo& info) {
diff --git a/src/cpp/lib/QtWidgets/QMainWindow/qmainwindow_wrap.cpp b/src/cpp/lib/QtWidgets/QMainWindow/qmainwindow_wrap.cpp
index a97159ea8..89e0746e2 100644
--- a/src/cpp/lib/QtWidgets/QMainWindow/qmainwindow_wrap.cpp
+++ b/src/cpp/lib/QtWidgets/QMainWindow/qmainwindow_wrap.cpp
@@ -1,7 +1,6 @@
#include "QtWidgets/QMainWindow/qmainwindow_wrap.h"
#include
-#include
#include "Extras/Utils/nutils.h"
#include "QtWidgets/QMenuBar/qmenubar_wrap.h"
@@ -21,7 +20,6 @@ Napi::Object QMainWindowWrap::init(Napi::Env env, Napi::Object exports) {
InstanceMethod("setMenuBar", &QMainWindowWrap::setMenuBar),
InstanceMethod("menuBar", &QMainWindowWrap::menuBar),
InstanceMethod("setMenuWidget", &QMainWindowWrap::setMenuWidget),
- InstanceMethod("center", &QMainWindowWrap::center),
InstanceMethod("setStatusBar", &QMainWindowWrap::setStatusBar),
InstanceMethod("statusBar", &QMainWindowWrap::statusBar),
QWIDGET_WRAPPED_METHODS_EXPORT_DEFINE(QMainWindowWrap)});
@@ -116,17 +114,6 @@ Napi::Value QMainWindowWrap::setMenuWidget(const Napi::CallbackInfo& info) {
return env.Null();
}
-Napi::Value QMainWindowWrap::center(const Napi::CallbackInfo& info) {
- Napi::Env env = info.Env();
- auto window = this->getInternalInstance();
- // https://wiki.qt.io/How_to_Center_a_Window_on_the_Screen
- window->setGeometry(
- QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, window->size(),
- QApplication::desktop()->availableGeometry(window)));
-
- return env.Null();
-}
-
Napi::Value QMainWindowWrap::setStatusBar(const Napi::CallbackInfo& info) {
Napi::Env env = info.Env();
Napi::Object statusBarArg = info[0].As();
diff --git a/src/cpp/lib/core/YogaWidget/nodestyle.cpp b/src/cpp/lib/core/YogaWidget/nodestyle.cpp
index 7151c3cf7..d42e35cde 100644
--- a/src/cpp/lib/core/YogaWidget/nodestyle.cpp
+++ b/src/cpp/lib/core/YogaWidget/nodestyle.cpp
@@ -50,7 +50,7 @@ std::unordered_map NodeStyle::NodeWrap{
NodeValueUnit NodeStyle::parseMeasurement(QString rawValue) {
float value = std::stof(rawValue.toStdString());
- if (rawValue.back() == "%") {
+ if (rawValue.back() == '%') {
return NodeValueUnit(value, YGUnitPercent);
}
return NodeValueUnit(value, YGUnitPoint);
diff --git a/src/lib/QtCore/QTime.ts b/src/lib/QtCore/QTime.ts
index 2a190f651..69f56436b 100644
--- a/src/lib/QtCore/QTime.ts
+++ b/src/lib/QtCore/QTime.ts
@@ -23,9 +23,6 @@ export class QTime extends Component {
addSecs(s: number): QTime {
return new QTime(this.native.addSecs(s));
}
- elapsed(): number {
- return this.native.elapsed();
- }
hour(): number {
return this.native.hour();
}
@@ -47,9 +44,6 @@ export class QTime extends Component {
msecsTo(t: QTime): number {
return this.native.msecsTo(t.native);
}
- restart(): number {
- return this.native.restart();
- }
second(): number {
return this.native.second();
}
@@ -59,9 +53,6 @@ export class QTime extends Component {
setHMS(h: number, m: number, s: number, ms = 0): boolean {
return this.native.setHMS(h, m, s, ms);
}
- start(): void {
- this.native.start();
- }
toString(format: string | DateFormat): string {
return this.native.toString$(format);
}
diff --git a/src/lib/QtGui/QFont.ts b/src/lib/QtGui/QFont.ts
index eeb00c4cc..8c185c644 100644
--- a/src/lib/QtGui/QFont.ts
+++ b/src/lib/QtGui/QFont.ts
@@ -100,13 +100,13 @@ export enum QFontCapitalization {
Capitalize = 4,
}
export enum QFontWeight {
- Thin = 0,
- ExtraLight = 12,
- Light = 25,
- Normal = 50,
- Medium = 57,
- DemiBold = 63,
- Bold = 75,
- ExtraBold = 81,
- Black = 87,
+ Thin = 100,
+ ExtraLight = 200,
+ Light = 300,
+ Normal = 400,
+ Medium = 500,
+ DemiBold = 600,
+ Bold = 700,
+ ExtraBold = 800,
+ Black = 900,
}
diff --git a/src/lib/QtWidgets/QAbstractButton.ts b/src/lib/QtWidgets/QAbstractButton.ts
index f62b11e8a..1fc7cadeb 100644
--- a/src/lib/QtWidgets/QAbstractButton.ts
+++ b/src/lib/QtWidgets/QAbstractButton.ts
@@ -14,8 +14,8 @@ It is inherited by QCheckBox, QPushButton, QRadioButton, and QToolButton.
*/
export abstract class QAbstractButton extends QWidget {
- animateClick(msec: number): void {
- this.native.animateClick(msec);
+ animateClick(): void {
+ this.native.animateClick();
}
click(): void {
this.native.click();
diff --git a/src/lib/QtWidgets/QButtonGroup.ts b/src/lib/QtWidgets/QButtonGroup.ts
index 3fbecdafb..1d5640d15 100644
--- a/src/lib/QtWidgets/QButtonGroup.ts
+++ b/src/lib/QtWidgets/QButtonGroup.ts
@@ -7,7 +7,10 @@ import { checkIfNativeElement } from '../utils/helpers';
import { wrapperCache } from '../core/WrapperCache';
export interface QButtonGroupSignals extends QObjectSignals {
- buttonClicked: (id?: number) => void;
+ idClicked: (id: number) => void;
+ idPressed: (id: number) => void;
+ idReleased: (id: number) => void;
+ idToggled: (id: number, checked: boolean) => void;
}
export class QButtonGroup extends QObject {
diff --git a/src/lib/QtWidgets/QMainWindow.ts b/src/lib/QtWidgets/QMainWindow.ts
index 4fdc5a7e7..0bf6cc02a 100644
--- a/src/lib/QtWidgets/QMainWindow.ts
+++ b/src/lib/QtWidgets/QMainWindow.ts
@@ -89,9 +89,6 @@ export class QMainWindow extends QWidget {
}
return super.layout();
}
- center(): void {
- this.native.center();
- }
/**
* Sets the status bar for the main window to statusbar.
diff --git a/yarn.lock b/yarn.lock
index 8e7663262..b7fac74a6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -545,10 +545,10 @@
"node-fetch" "^2.6.0"
"progress" "^2.0.3"
-"@nodegui/qode@^16.4.0":
- "integrity" "sha512-uNoTR9f02F/SmK+xzvlXJs/yuW0zYcuPZf99v4z7tPeugLukrPbE2MJfsq8edGNfWxu3d+pRwMN+UNYSq0dLgQ=="
- "resolved" "https://registry.npmjs.org/@nodegui/qode/-/qode-16.4.0.tgz"
- "version" "16.4.0"
+"@nodegui/qode@^16.4.3":
+ "integrity" "sha512-WllfJVXffr3Rn7BSfo5cubZ5hx4OnQ7iqY/kj+2jwqUepzlRFKCvn9/vAJ/VXmiB0GZGcaCGM0U3rZGADdU5mw=="
+ "resolved" "https://registry.npmjs.org/@nodegui/qode/-/qode-16.4.3.tgz"
+ "version" "16.4.3"
dependencies:
"env-paths" "^2.2.1"
"make-dir" "^3.1.0"
@@ -867,10 +867,10 @@
"resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
"version" "2.1.1"
-"ansi-regex@^5.0.0":
- "integrity" "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
- "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz"
- "version" "5.0.0"
+"ansi-regex@^5.0.0", "ansi-regex@^5.0.1":
+ "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+ "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
+ "version" "5.0.1"
"ansi-styles@^3.2.1":
"integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="
@@ -2934,9 +2934,11 @@
"version" "4.0.0"
"node-fetch@^2.6.0", "node-fetch@^2.6.1":
- "integrity" "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
- "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz"
- "version" "2.6.1"
+ "integrity" "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ=="
+ "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz"
+ "version" "2.6.7"
+ dependencies:
+ "whatwg-url" "^5.0.0"
"node-int64@^0.4.0":
"integrity" "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs="
@@ -3493,13 +3495,13 @@
"strip-ansi" "^3.0.0"
"string-width@^4.1.0", "string-width@^4.2.0":
- "integrity" "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA=="
- "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz"
- "version" "4.2.2"
+ "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="
+ "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
+ "version" "4.2.3"
dependencies:
"emoji-regex" "^8.0.0"
"is-fullwidth-code-point" "^3.0.0"
- "strip-ansi" "^6.0.0"
+ "strip-ansi" "^6.0.1"
"strip-ansi@^3.0.0", "strip-ansi@^3.0.1":
"integrity" "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8="
@@ -3508,12 +3510,12 @@
dependencies:
"ansi-regex" "^2.0.0"
-"strip-ansi@^6.0.0":
- "integrity" "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w=="
- "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz"
- "version" "6.0.0"
+"strip-ansi@^6.0.0", "strip-ansi@^6.0.1":
+ "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="
+ "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
+ "version" "6.0.1"
dependencies:
- "ansi-regex" "^5.0.0"
+ "ansi-regex" "^5.0.1"
"strip-bom@^4.0.0":
"integrity" "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w=="
@@ -3673,6 +3675,11 @@
dependencies:
"punycode" "^2.1.1"
+"tr46@~0.0.3":
+ "integrity" "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
+ "resolved" "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz"
+ "version" "0.0.3"
+
"traverse@>=0.3.0 <0.4":
"integrity" "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk="
"resolved" "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz"
@@ -3867,6 +3874,11 @@
dependencies:
"makeerror" "1.0.x"
+"webidl-conversions@^3.0.0":
+ "integrity" "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
+ "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz"
+ "version" "3.0.1"
+
"webidl-conversions@^5.0.0":
"integrity" "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA=="
"resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz"
@@ -3889,6 +3901,14 @@
"resolved" "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz"
"version" "2.3.0"
+"whatwg-url@^5.0.0":
+ "integrity" "sha1-lmRU6HZUYuN2RNNib2dCzotwll0="
+ "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz"
+ "version" "5.0.0"
+ dependencies:
+ "tr46" "~0.0.3"
+ "webidl-conversions" "^3.0.0"
+
"whatwg-url@^8.0.0", "whatwg-url@^8.5.0":
"integrity" "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg=="
"resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz"