Merge "Merge remote-tracking branch 'origin/master' into 4.13" into 4.13

This commit is contained in:
The Qt Project
2020-06-29 08:21:37 +00:00
10 changed files with 45 additions and 33 deletions

View File

@@ -152,6 +152,8 @@ function(add_qtc_library name)
SOURCES_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
VERSION "${IDE_VERSION}"
SOVERSION "${PROJECT_VERSION_MAJOR}"
MACHO_CURRENT_VERSION ${IDE_VERSION}
MACHO_COMPATIBILITY_VERSION ${IDE_VERSION_COMPAT}
CXX_EXTENSIONS OFF
CXX_VISIBILITY_PRESET hidden
VISIBILITY_INLINES_HIDDEN ON
@@ -400,6 +402,8 @@ function(add_qtc_plugin target_name)
qtc_output_binary_dir(_output_binary_dir)
set_target_properties(${target_name} PROPERTIES
SOURCES_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
MACHO_CURRENT_VERSION ${IDE_VERSION}
MACHO_COMPATIBILITY_VERSION ${IDE_VERSION_COMPAT}
CXX_EXTENSIONS OFF
CXX_VISIBILITY_PRESET hidden
VISIBILITY_INLINES_HIDDEN ON

View File

@@ -1336,7 +1336,10 @@ class DumperBase():
return
displayFormat = self.currentItemFormat(value.type.name)
innerType = value.type.target() # .unqualified()
if innerType.code == TypeCode.Typedef:
innerType = innerType.ltarget
if innerType.name == 'void':
#DumperBase.warn('VOID POINTER: %s' % displayFormat)

View File

@@ -40,20 +40,15 @@ Item {
selectionBox.targetNode = view3D.importScene;
}
function fitAndHideBox() : bool
function fitAndHideBox()
{
cameraControl.focusObject(selectionBox.model, viewCamera.eulerRotation, true, true);
if (cameraControl._zoomFactor < 0.1) {
if (cameraControl._zoomFactor < 0.1)
view3D.importScene.scale = view3D.importScene.scale.times(10);
return false;
}
if (cameraControl._zoomFactor > 100) {
if (cameraControl._zoomFactor > 100)
view3D.importScene.scale = view3D.importScene.scale.times(0.1);
return false;
}
selectionBox.visible = false;
return true
}
View3D {

View File

@@ -117,17 +117,16 @@ void IconRenderer::setupRender()
// Render once to make sure scene is up to date before we set up the selection box
render({});
QMetaObject::invokeMethod(containerItem, "setSceneToBox");
bool success = false;
int tries = 0;
while (!success && tries < 10) {
while (tries < 10) {
++tries;
render({});
QMetaObject::invokeMethod(containerItem, "fitAndHideBox",
Q_RETURN_ARG(bool, success));
QMetaObject::invokeMethod(containerItem, "fitAndHideBox");
}
}
#else
Q_UNUSED(is3D)
Q_UNUSED(containerItem)
#endif
QFileInfo fi(m_filePath);

View File

@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 3.14)
project(%{ProjectName} LANGUAGES CXX)
@@ -12,7 +12,8 @@ set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@if %{HasTranslation}
find_package(Qt5 COMPONENTS Core LinguistTools REQUIRED)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core LinguistTools REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core LinguistTools REQUIRED)
set(TS_FILES %{TsFileName})
@else
@@ -25,7 +26,7 @@ add_executable(%{ProjectName}
${TS_FILES}
@endif
)
target_link_libraries(%{ProjectName} Qt5::Core)
target_link_libraries(%{ProjectName} Qt${QT_VERSION_MAJOR}::Core)
@if %{HasTranslation}
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})

View File

@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 3.14)
project(%{ProjectName} LANGUAGES CXX)
@@ -13,11 +13,13 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
@if '%{QtModule}' != 'none'
@if %{HasTranslation}
find_package(Qt5 COMPONENTS %{QtModuleUpperCase} LinguistTools REQUIRED)
find_package(QT NAMES Qt6 Qt5 COMPONENTS %{QtModuleUpperCase} LinguistTools REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS %{QtModuleUpperCase} LinguistTools REQUIRED)
set(TS_FILES %{TsFileName})
@else
find_package(Qt5 COMPONENTS %{QtModuleUpperCase} REQUIRED)
find_package(QT NAMES Qt6 Qt5 COMPONENTS %{QtModuleUpperCase} REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS %{QtModuleUpperCase} REQUIRED)
@endif
@endif
@@ -36,7 +38,7 @@ add_library(%{ProjectName} %{JS: %{IsStatic} ? 'STATIC' : 'SHARED'}
)
@if '%{QtModule}' != 'none'
target_link_libraries(%{ProjectName} PRIVATE Qt5::%{QtModuleUpperCase})
target_link_libraries(%{ProjectName} PRIVATE Qt${QT_VERSION_MAJOR}::%{QtModuleUpperCase})
@endif
@if '%{IsShared}'

View File

@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 3.14)
project(%{ProjectName} LANGUAGES CXX)
@@ -25,11 +25,13 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
#endif()
@if %{HasTranslation}
find_package(Qt5 COMPONENTS Core Quick LinguistTools REQUIRED)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Quick LinguistTools REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Quick LinguistTools REQUIRED)
set(TS_FILES %{TsFileName})
@else
find_package(Qt5 COMPONENTS Core Quick REQUIRED)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Quick REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Quick REQUIRED)
@endif
if(ANDROID)
@@ -53,7 +55,7 @@ endif()
target_compile_definitions(%{ProjectName}
PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
target_link_libraries(%{ProjectName}
PRIVATE Qt5::Core Qt5::Quick)
PRIVATE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Quick)
@if %{HasTranslation}
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})

View File

@@ -25,11 +25,13 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
#endif()
@if %{HasTranslation}
find_package(Qt5 COMPONENTS Widgets LinguistTools REQUIRED)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets LinguistTools REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets LinguistTools REQUIRED)
set(TS_FILES %{TsFileName})
@else
find_package(Qt5 COMPONENTS Widgets REQUIRED)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)
@endif
if(ANDROID)
@@ -58,7 +60,7 @@ else()
)
endif()
target_link_libraries(%{ProjectName} PRIVATE Qt5::Widgets)
target_link_libraries(%{ProjectName} PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
@if %{HasTranslation}
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})

View File

@@ -62,10 +62,7 @@ QVariant PropertyEditorValue::value() const
static bool cleverDoubleCompare(const QVariant &value1, const QVariant &value2)
{ //we ignore slight changes on doubles
if ((value1.type() == QVariant::Double) && (value2.type() == QVariant::Double)) {
int a = value1.toDouble() * 100;
int b = value2.toDouble() * 100;
if (qFuzzyCompare((qreal(a) / 100), (qreal(b) / 100)))
if (qFuzzyCompare(value1.toDouble(), value2.toDouble()))
return true;
}
return false;

View File

@@ -49,9 +49,16 @@ inline static QString properColorName(const QColor &color)
return QString::asprintf("#%02x%02x%02x%02x", color.alpha(), color.red(), color.green(), color.blue());
}
inline static QString doubleToString(double d)
inline static QString doubleToString(const PropertyName &propertyName, double d)
{
QString string = QString::number(d, 'f', 3);
static QVector<PropertyName> lowPrecisionProperties
= {"width", "height", "x", "y", "rotation", "scale", "opacity"};
int precision = 5;
if (propertyName.contains("anchors") || propertyName.contains("font")
|| lowPrecisionProperties.contains(propertyName))
precision = 3;
QString string = QString::number(d, 'f', precision);
if (string.contains(QLatin1Char('.'))) {
while (string.at(string.length()- 1) == QLatin1Char('0'))
string.chop(1);
@@ -142,7 +149,7 @@ QString QmlTextGenerator::toQml(const AbstractProperty &property, int indentDept
case QMetaType::Float:
case QMetaType::Double:
return doubleToString(value.toDouble());
return doubleToString(property.name(), value.toDouble());
case QMetaType::Int:
case QMetaType::LongLong:
case QMetaType::UInt: