Skip to content

Commit

Permalink
QxOrm 1.3.1 release
Browse files Browse the repository at this point in the history
- New class qx::QxModelService<T, S> in QxModelView module to connect a Qt model to services to execute client-server requests (can be used with QML and QtWidgets views)
- Add some useful methods to qx::IxModel class and fix several issues with the QxModelView module
- Support last version of MinGW with large precompiled header bug : new compilation option _QX_NO_PRECOMPILED_HEADER (to enable in QxOrm.pri file)
- Fix issue when loading several shared libraries on Windows with services registered in QxService module
- Fix the qx::QxSqlQuery serialization process used by QxService module to send requests over network
- Fix an issue with qx::QxCollection<Key, Value> class when inserting an item at last position
  • Loading branch information
Lionel Marty committed Jul 10, 2018
1 parent 1bf1946 commit ef57b5e
Show file tree
Hide file tree
Showing 109 changed files with 2,323 additions and 356 deletions.
35 changes: 19 additions & 16 deletions QxOrm.pri
Original file line number Diff line number Diff line change
Expand Up @@ -54,21 +54,12 @@ greaterThan(QT_MAJOR_VERSION, 4) { QT += widgets }
# - QX_BOOST_LIB_WIDE_SERIALIZATION_DEBUG : your boost wide serialization module name in debug mode (default is empty)
# - QX_BOOST_LIB_WIDE_SERIALIZATION_RELEASE : your boost wide serialization module name in release mode (default is empty)

unix {
isEmpty(QX_BOOST_INCLUDE_PATH) { QX_BOOST_INCLUDE_PATH = $$quote(/usr/include) }
isEmpty(QX_BOOST_LIB_PATH) { QX_BOOST_LIB_PATH = $$quote(/usr/lib) }
isEmpty(QX_BOOST_LIB_SERIALIZATION_DEBUG) { QX_BOOST_LIB_SERIALIZATION_DEBUG = "boost_serialization-mt-d" }
isEmpty(QX_BOOST_LIB_SERIALIZATION_RELEASE) { QX_BOOST_LIB_SERIALIZATION_RELEASE = "boost_serialization-mt" }
# isEmpty(QX_BOOST_LIB_WIDE_SERIALIZATION_DEBUG) { QX_BOOST_LIB_WIDE_SERIALIZATION_DEBUG = "boost_wserialization-mt-d" }
# isEmpty(QX_BOOST_LIB_WIDE_SERIALIZATION_RELEASE) { QX_BOOST_LIB_WIDE_SERIALIZATION_RELEASE = "boost_wserialization-mt" }
} else {
isEmpty(QX_BOOST_INCLUDE_PATH) { QX_BOOST_INCLUDE_PATH = $$quote(D:/Dvlp/_Libs/Boost/1_54/include) }
isEmpty(QX_BOOST_LIB_PATH) { QX_BOOST_LIB_PATH = $$quote(D:/Dvlp/_Libs/Boost/1_54/lib_shared) }
isEmpty(QX_BOOST_LIB_SERIALIZATION_DEBUG) { QX_BOOST_LIB_SERIALIZATION_DEBUG = "boost_serialization-vc110-mt-gd-1_54" }
isEmpty(QX_BOOST_LIB_SERIALIZATION_RELEASE) { QX_BOOST_LIB_SERIALIZATION_RELEASE = "boost_serialization-vc110-mt-1_54" }
# isEmpty(QX_BOOST_LIB_WIDE_SERIALIZATION_DEBUG) { QX_BOOST_LIB_WIDE_SERIALIZATION_DEBUG = "boost_wserialization-vc110-mt-gd-1_54" }
# isEmpty(QX_BOOST_LIB_WIDE_SERIALIZATION_RELEASE) { QX_BOOST_LIB_WIDE_SERIALIZATION_RELEASE = "boost_wserialization-vc110-mt-1_54" }
} # unix
isEmpty(QX_BOOST_INCLUDE_PATH) { QX_BOOST_INCLUDE_PATH = $$quote($$(BOOST_INCLUDE)) }
isEmpty(QX_BOOST_LIB_PATH) { QX_BOOST_LIB_PATH = $$quote($$(BOOST_LIB)) }
isEmpty(QX_BOOST_LIB_SERIALIZATION_DEBUG) { QX_BOOST_LIB_SERIALIZATION_DEBUG = "$$(BOOST_LIB_SERIALIZATION_DEBUG)" }
isEmpty(QX_BOOST_LIB_SERIALIZATION_RELEASE) { QX_BOOST_LIB_SERIALIZATION_RELEASE = "$$(BOOST_LIB_SERIALIZATION_RELEASE)" }
# isEmpty(QX_BOOST_LIB_WIDE_SERIALIZATION_DEBUG) { QX_BOOST_LIB_WIDE_SERIALIZATION_DEBUG = "$$(BOOST_LIB_WIDE_SERIALIZATION_DEBUG)" }
# isEmpty(QX_BOOST_LIB_WIDE_SERIALIZATION_RELEASE) { QX_BOOST_LIB_WIDE_SERIALIZATION_RELEASE = "$$(BOOST_LIB_WIDE_SERIALIZATION_RELEASE)" }

##############################
# QxOrm Library Static Build #
Expand Down Expand Up @@ -136,7 +127,7 @@ win32-msvc2005: QMAKE_LFLAGS += /OPT:NOREF
win32-msvc2008: QMAKE_LFLAGS += /OPT:NOREF
win32-msvc2010: QMAKE_LFLAGS += /OPT:NOREF
} # CONFIG(debug, debug|release)
win32-g++: QMAKE_LFLAGS += -export-all-symbols -Wl,-enable-auto-import
win32-g++: QMAKE_LFLAGS += -Wl,-export-all-symbols -Wl,-enable-auto-import
} # win32

#######################
Expand Down Expand Up @@ -166,3 +157,15 @@ LIBS += -l$${QX_BOOST_LIB_SERIALIZATION_RELEASE}
#QMAKE_CXXFLAGS_RELEASE += -ffunction-sections -fdata-sections -Os -pipe
#QMAKE_CFLAGS_RELEASE += -ffunction-sections -fdata-sections -Os -pipe
#QMAKE_LFLAGS_RELEASE += -Wl,--gc-sections -s

#########################
# No precompiled header #
#########################

# Some versions of MinGW on Windows have a bug with large precompiled headers (for example, MinGW GCC 4.8)
# More detais about this problem here : https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56926
# And here : http://stackoverflow.com/questions/10841306/cc1plus-exe-crash-when-using-large-precompiled-header-file
# To fix the crash during compilation, you have to disable precompiled headers : just enable the following compilation option _QX_NO_PRECOMPILED_HEADER
# Note : there is a side effect disabling precompiled headers => compilation times are considerably increased !

# DEFINES += _QX_NO_PRECOMPILED_HEADER
12 changes: 9 additions & 3 deletions QxOrm.pro
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,17 @@ include(./QxOrm.pri)
TEMPLATE = lib
CONFIG += dll
DEFINES += _QX_BUILDING_QX_ORM

!contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) {
PRECOMPILED_HEADER = ./include/QxPrecompiled.h
} # !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER)

unix { VERSION = 1.2.9 }
unix { VERSION = 1.3.1 }

contains(DEFINES, _QX_STATIC_BUILD) {
CONFIG -= dll
CONFIG += staticlib
}
} # contains(DEFINES, _QX_STATIC_BUILD)

#############################
# Compiler / Linker Options #
Expand Down Expand Up @@ -86,7 +89,7 @@ pkgconfig_distclean.depends = pkgconfig_clean
clean.depends += pkgconfig_clean
distclean.depends += pkgconfig_distclean
QMAKE_EXTRA_TARGETS += clean distclean pkgconfig_clean pkgconfig_distclean
}
} # contains(DEFINES, _QX_CREATE_PKG_CONFIG)

#################
# Headers Files #
Expand All @@ -111,6 +114,7 @@ HEADERS += ./include/QxMemLeak/static_mem_pool.h
HEADERS += ./include/QxSingleton/IxSingleton.h
HEADERS += ./include/QxSingleton/QxSingleton.h
HEADERS += ./include/QxSingleton/QxSingletonX.h
HEADERS += ./include/QxSingleton/QxSingletonInit.h

HEADERS += ./include/QxFactory/IxFactory.h
HEADERS += ./include/QxFactory/QxFactory.h
Expand Down Expand Up @@ -370,6 +374,7 @@ HEADERS += ./include/QxValidator/QxValidatorX.h
HEADERS += ./include/QxModelView/IxModel.h
HEADERS += ./include/QxModelView/QxModel.h
HEADERS += ./include/QxModelView/QxNestedModel.h
HEADERS += ./include/QxModelView/QxModelService.h

HEADERS += ./include/QxOrm.h
HEADERS += ./include/QxMemLeak.h
Expand All @@ -385,6 +390,7 @@ SOURCES += ./src/QxMemLeak/static_mem_pool.cpp

SOURCES += ./src/QxSingleton/IxSingleton.cpp
SOURCES += ./src/QxSingleton/QxSingletonX.cpp
SOURCES += ./src/QxSingleton/QxSingletonInit.cpp

SOURCES += ./src/QxFactory/IxFactory.cpp
SOURCES += ./src/QxFactory/QxFactoryX.cpp
Expand Down
Binary file modified QxOrm.v11.suo
Binary file not shown.
3 changes: 3 additions & 0 deletions QxOrm.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@
<ClCompile Include="src\QxModelView\QxNestedModel.cpp" />
<ClCompile Include="src\QxSerialize\Qt\QxSerialize_QSqlError.cpp" />
<ClCompile Include="src\QxSingleton\IxSingleton.cpp" />
<ClCompile Include="src\QxSingleton\QxSingletonInit.cpp" />
<ClCompile Include="src\QxSingleton\QxSingletonX.cpp" />
<ClCompile Include="src\QxMemLeak\bool_array.cpp" />
<ClCompile Include="src\QxMemLeak\debug_new.cpp" />
Expand Down Expand Up @@ -191,6 +192,7 @@
<ClInclude Include="include\QxMemLeak.h" />
<ClInclude Include="include\QxModelView\IxModel.h" />
<ClInclude Include="include\QxModelView\QxModel.h" />
<ClInclude Include="include\QxModelView\QxModelService.h" />
<ClInclude Include="include\QxModelView\QxNestedModel.h" />
<ClInclude Include="include\QxOrm.h" />
<ClInclude Include="include\QxPrecompiled.h" />
Expand Down Expand Up @@ -232,6 +234,7 @@
<ClInclude Include="include\QxSerialize\Qt\QxSerialize_QSqlError.h" />
<ClInclude Include="include\QxSingleton\IxSingleton.h" />
<ClInclude Include="include\QxSingleton\QxSingleton.h" />
<ClInclude Include="include\QxSingleton\QxSingletonInit.h" />
<ClInclude Include="include\QxSingleton\QxSingletonX.h" />
<ClInclude Include="include\QxTraits\archive_printable.h" />
<ClInclude Include="include\QxTraits\archive_wide_traits.h" />
Expand Down
9 changes: 9 additions & 0 deletions QxOrm.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -449,6 +449,9 @@
<ClCompile Include="src\QxModelView\QxNestedModel.cpp">
<Filter>src\QxModelView</Filter>
</ClCompile>
<ClCompile Include="src\QxSingleton\QxSingletonInit.cpp">
<Filter>src\QxSingleton</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\QxMemLeak.h">
Expand Down Expand Up @@ -1225,6 +1228,12 @@
<ClInclude Include="include\QxModelView\QxNestedModel.h">
<Filter>include\QxModelView</Filter>
</ClInclude>
<ClInclude Include="include\QxSingleton\QxSingletonInit.h">
<Filter>include\QxSingleton</Filter>
</ClInclude>
<ClInclude Include="include\QxModelView\QxModelService.h">
<Filter>include\QxModelView</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="inl\QxDataMember\QxDataMember.inl">
Expand Down
8 changes: 8 additions & 0 deletions changes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
Changes in version 1.3.1:
- New class qx::QxModelService<T, S> in QxModelView module to connect a Qt model to services to execute client-server requests (can be used with QML and QtWidgets views)
- Add some useful methods to qx::IxModel class and fix several issues with the QxModelView module
- Support last version of MinGW with large precompiled header bug : new compilation option _QX_NO_PRECOMPILED_HEADER (to enable in QxOrm.pri file)
- Fix issue when loading several shared libraries on Windows with services registered in QxService module
- Fix the qx::QxSqlQuery serialization process used by QxService module to send requests over network
- Fix an issue with qx::QxCollection<Key, Value> class when inserting an item at last position

Changes in version 1.2.9:
- Improve nested models in QxModelView module to be able to use several relationships levels in QML

Expand Down
2 changes: 1 addition & 1 deletion doc/doxygen/qxorm.doxygen
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ PROJECT_NAME = QxOrm
# This could be handy for archiving the generated documentation or
# if some version control system is used.

PROJECT_NUMBER = 1.2.9
PROJECT_NUMBER = 1.3.1

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer
Expand Down
6 changes: 3 additions & 3 deletions doc/php/add_download.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<html>
<head>
<meta http-equiv="refresh" content="0; url=../version/QxOrm_1.2.9.zip">
<meta http-equiv="refresh" content="0; url=../version/QxOrm_1.3.1.zip">
<?php
settype($nb_errors, "integer");
settype($try_count, "integer");
Expand All @@ -14,7 +14,7 @@
$_POST['message_text'] = nl2br(htmlentities(stripslashes($_POST['message_text'])));
$createdby = "<h3>**** Downloaded by " . $_POST['created_by'] . " (" . date(d."/".m."/"."Y") . " " . date(H.":".i) . ")</h3>";
$msg = "<p>" . $_POST['message_text'] . "</p>";
$filename = "./version_1.2.9.php";
$filename = "./version_1.3.1.php";
while ((file_exists($filename)) && (! is_writable($filename)) && ($try_count < 200)) { usleep(100000); $try_count++; }
$fp = fopen($filename, "a");
fputs($fp, "\n");
Expand All @@ -23,7 +23,7 @@
fputs($fp, $msg);
fclose($fp);
}
echo "<script type='text/javascript'>document.location.href='../version/QxOrm_1.2.9.zip';</script>";
echo "<script type='text/javascript'>document.location.href='../version/QxOrm_1.3.1.zip';</script>";
?>
</head>
<body>
Expand Down
Loading

0 comments on commit ef57b5e

Please sign in to comment.