diff --git a/CMakeLists.txt b/CMakeLists.txt index d9fd041..f589bfe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,28 +101,7 @@ -SET (QT_MT_REQUIRED true) -SET (QT_MIN_VERSION "4.2.0") +SET (QT_MIN_VERSION "5.7.1") -SET( QT_USE_QTSQL TRUE ) -SET( QT_USE_QTXML TRUE ) -FIND_PACKAGE( Qt4 REQUIRED ) -MESSAGE(STATUS Qt4 version: ${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}) -# suggest Qt upgrade -if (QT_VERSION_MINOR LESS 3) - MESSAGE(STATUS "") - MESSAGE(STATUS "__ BIG FAT WARNING! _______________________________") - MESSAGE(STATUS "Your Qt version seems older than it should be.") - MESSAGE(STATUS "Althought will be Sqliteman compilled successfully,") - MESSAGE(STATUS "it will be limited in its features.") - MESSAGE(STATUS "There are some important bugs in older Qt versions.") - MESSAGE(STATUS "Please upgrade to the current Qt version.") - MESSAGE(STATUS "___________________________________________________") - MESSAGE(STATUS "") -endif (QT_VERSION_MINOR LESS 3) -MESSAGE(STATUS Qt4 includes: ${QT_INCLUDES}) -MESSAGE(STATUS Qt4 libs: ${QT_LIBRARY_DIR}) - -INCLUDE( ${QT_USE_FILE} ) - +FIND_PACKAGE( Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Sql Widgets ) IF (WANT_INTERNAL_QSCINTILLA) MESSAGE(STATUS "QSci: Building with internal copy of QScintilla.") diff --git a/cmake/modules/FindQScintilla.cmake b/cmake/modules/FindQScintilla.cmake index c4592d0..92754b4 100644 --- a/cmake/modules/FindQScintilla.cmake +++ b/cmake/modules/FindQScintilla.cmake @@ -10,22 +10,19 @@ # # Redistribution and use is allowed according to the terms of the FreeBSD license. -IF(NOT QT4_FOUND) - INCLUDE(FindQt4) -ENDIF(NOT QT4_FOUND) - SET(QSCINTILLA_FOUND FALSE) -IF(QT4_FOUND) - FIND_PATH(QSCINTILLA_INCLUDE_DIR qsciglobal.h - "${QT_INCLUDE_DIR}/Qsci" /usr/include /usr/include/Qsci +IF(Qt5_FOUND) + FIND_PATH(QSCINTILLA_INCLUDE_DIR qsciglobal.h + HINTS ${Qt5Core_INCLUDE_DIRS} + PATH_SUFFIXES Qsci ) - SET(QSCINTILLA_NAMES ${QSCINTILLA_NAMES} qscintilla2 libqscintilla2) - FIND_LIBRARY(QSCINTILLA_LIBRARY - NAMES ${QSCINTILLA_NAMES} - PATHS ${QT_LIBRARY_DIR} - ) + SET(QSCINTILLA_NAMES ${QSCINTILLA_NAMES} qscintilla2 libqscintilla2 qscintilla2_qt5 libqscintilla2_qt5) + FIND_LIBRARY(QSCINTILLA_LIBRARY + NAMES ${QSCINTILLA_NAMES} + HINTS ${Qt5Core_LIBRARIES} + ) IF (QSCINTILLA_LIBRARY AND QSCINTILLA_INCLUDE_DIR) @@ -41,7 +34,7 @@ IF(QT4_FOUND) ENDIF (CYGWIN) ENDIF (QSCINTILLA_LIBRARY AND QSCINTILLA_INCLUDE_DIR) -ENDIF(QT4_FOUND) +ENDIF(Qt5_FOUND) IF (QSCINTILLA_FOUND) IF (NOT QScintilla_FIND_QUIETLY) diff --git a/sqliteman/CMakeLists.txt b/sqliteman/CMakeLists.txt index c9154a7..13397ee 100644 --- a/sqliteman/CMakeLists.txt +++ b/sqliteman/CMakeLists.txt @@ -139,12 +139,12 @@ IF (WANT_RESOURCES) ) ENDIF (WANT_RESOURCES) SET (SQLITEMAN_RCS ${SQLITEMAN_RCS} api/api.qrc) -QT4_ADD_RESOURCES( SQLITEMAN_RC_RCS ${SQLITEMAN_RCS} ) +QT5_ADD_RESOURCES( SQLITEMAN_RC_RCS ${SQLITEMAN_RCS} ) -QT4_WRAP_UI( SQLITEMAN_UI_HDRS ${SQLITEMAN_UI} ) +QT5_WRAP_UI( SQLITEMAN_UI_HDRS ${SQLITEMAN_UI} ) -QT4_WRAP_CPP( SQLITEMAN_MOC_SRC ${SQLITEMAN_MOC} ) +QT5_WRAP_CPP( SQLITEMAN_MOC_SRC ${SQLITEMAN_MOC} ) INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR} ) INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR}/sqliteman ) @@ -157,10 +157,13 @@ IF (WANT_INTERNAL_QSCINTILLA) ${CMAKE_SOURCE_DIR}/sqliteman/qscintilla2/Qt4/Qsci ) ELSE (WANT_INTERNAL_QSCINTILLA) - INCLUDE_DIRECTORIES( ${QSCINTILLA_INCLUDE_DIR} ) + INCLUDE_DIRECTORIES( + ${QSCINTILLA_INCLUDE_DIR} + ${Qt5Widgets_INCLUDE_DIRS} + ${Qt5Sql_INCLUDE_DIRS} + ) ENDIF (WANT_INTERNAL_QSCINTILLA) - IF (MSVC) # this is a must to switch off subsystem:console (console window poping up) # WinMain wrapper from QT_QTMAIN_LIBRARY is used and liner must be modified @@ -178,6 +181,6 @@ ADD_EXECUTABLE( ${EXE_NAME} ${WIN32_SUBSYSTEM} ) -TARGET_LINK_LIBRARIES( ${EXE_NAME} ${QT_LIBRARIES}) # ${POPULATOR_LIB}) +TARGET_LINK_LIBRARIES( ${EXE_NAME} Qt5::Widgets Qt5::Sql ) IF (WIN32) # don't use console subsystem diff --git a/sqliteman/alterviewdialog.h b/sqliteman/alterviewdialog.h index 31407f9..b014473 100644 --- a/sqliteman/alterviewdialog.h +++ b/sqliteman/alterviewdialog.h @@ -8,11 +8,8 @@ for which a new license (GPL+exception) is in place. #ifndef ALTERVIEWDIALOG_H #define ALTERVIEWDIALOG_H -#include - #include "ui_createviewdialog.h" - /*! \brief GUI for view altering \author Petr Vanek */ @@ -22,10 +19,10 @@ class AlterViewDialog : public QDialog public: AlterViewDialog(const QString & name, const QString & schema, QWidget * parent = 0); - ~AlterViewDialog(){}; + ~AlterViewDialog(){} bool update; - void setText(const QString & text) { ui.sqlEdit->setText(text); }; + void setText(const QString & text) { ui.sqlEdit->setText(text); } private: Ui::CreateViewDialog ui; diff --git a/sqliteman/analyzedialog.h b/sqliteman/analyzedialog.h index 4b871cf..3f4302e 100644 --- a/sqliteman/analyzedialog.h +++ b/sqliteman/analyzedialog.h @@ -8,8 +8,6 @@ for which a new license (GPL+exception) is in place. #ifndef ANALYZEDIALOG_H #define ANALYZEDIALOG_H -#include - #include "ui_analyzedialog.h" @@ -23,7 +21,7 @@ class AnalyzeDialog : public QDialog public: AnalyzeDialog(QWidget * parent = 0); - ~AnalyzeDialog(){}; + ~AnalyzeDialog(){} private: Ui::AnalyzeDialog ui; diff --git a/sqliteman/constraintsdialog.h b/sqliteman/constraintsdialog.h index 6ab19c7..61485bb 100644 --- a/sqliteman/constraintsdialog.h +++ b/sqliteman/constraintsdialog.h @@ -8,8 +8,6 @@ for which a new license (GPL+exception) is in place. #ifndef CONSTRAINTSDIALOG_H #define CONSTRAINTSDIALOG_H -#include - #include "ui_constraintsdialog.h" @@ -23,7 +21,7 @@ class ConstraintsDialog : public QDialog public: ConstraintsDialog(const QString & tabName, const QString & schema, QWidget * parent = 0); - ~ConstraintsDialog(){}; + ~ConstraintsDialog(){} bool update; diff --git a/sqliteman/createindexdialog.h b/sqliteman/createindexdialog.h index 9c75b35..186a46a 100644 --- a/sqliteman/createindexdialog.h +++ b/sqliteman/createindexdialog.h @@ -8,8 +8,6 @@ for which a new license (GPL+exception) is in place. #ifndef INDEXDIALOG_H #define INDEXDIALOG_H -#include - #include "ui_createindexdialog.h" @@ -27,7 +25,7 @@ class CreateIndexDialog : public QDialog \param parent standard Qt parent */ CreateIndexDialog(const QString & tabName, const QString & schema, QWidget * parent = 0); - ~CreateIndexDialog(){}; + ~CreateIndexDialog(){} bool update; diff --git a/sqliteman/dataexportdialog.cpp b/sqliteman/dataexportdialog.cpp index 7ad5d03..ee77b25 100644 --- a/sqliteman/dataexportdialog.cpp +++ b/sqliteman/dataexportdialog.cpp @@ -223,7 +223,7 @@ bool DataExportDialog::exportHTML() { out << ""; for (int i = 0; i < m_header.size(); ++i) - out << "" << m_header.at(i) << ""; + out << "" << m_header.at(i).toHtmlEscaped() << ""; out << "" << endl(); } @@ -234,7 +234,7 @@ bool DataExportDialog::exportHTML() out << ""; QSqlRecord r = m_data->record(i); for (int j = 0; j < m_header.size(); ++j) - out << "" << r.value(j).toString() << ""; + out << "" << r.value(j).toString().toHtmlEscaped() << ""; out << "" << endl(); } out << "" << endl() << "" << endl() << ""; @@ -256,7 +256,7 @@ bool DataExportDialog::exportExcelXML() { out << "" << endl(); for (int i = 0; i < m_header.size(); ++i) - out << "" << m_header.at(i) << "" << endl(); + out << "" << m_header.at(i).toHtmlEscaped() << "" << endl(); out << "" << endl(); } @@ -267,7 +267,7 @@ bool DataExportDialog::exportExcelXML() out << "" << endl(); QSqlRecord r = m_data->record(i); for (int j = 0; j < m_header.size(); ++j) - out << "" << r.value(j).toString() << "" << endl(); + out << "" << r.value(j).toString().toHtmlEscaped() << "" << endl(); out << "" << endl(); } diff --git a/sqliteman/populatordialog.cpp b/sqliteman/populatordialog.cpp index 1e55f63..8e6e246 100644 --- a/sqliteman/populatordialog.cpp +++ b/sqliteman/populatordialog.cpp @@ -7,7 +7,7 @@ for which a new license (GPL+exception) is in place. #include #include #include -#include +#include #include "populatordialog.h" #include "populatorcolumnwidget.h" --- a/sqliteman/shortcutmodel.cpp +++ b/sqliteman/shortcutmodel.cpp @@ -45,7 +45,7 @@ QVariant ShortcutModel::data(const QModelIndex & index, int role) const return QVariant(index.column() == 0 ? m_values.at(index.row()).first : m_values.at(index.row()).second); } if (role == Qt::BackgroundRole && index.column() == 0 && m_values.at(index.row()).first.isEmpty()) - return QVariant(Qt::red); + return QVariant(QColor(Qt::red)); return QVariant(); } diff --git a/sqliteman/sqlmodels.cpp b/sqliteman/sqlmodels.cpp index 178b2e7..82d1f0c 100644 --- a/sqliteman/sqlmodels.cpp +++ b/sqliteman/sqlmodels.cpp @@ -47,7 +47,7 @@ QVariant SqlTableModel::data(const QModelIndex & item, int role) const // mark rows prepared for a deletion in this trasnaction if (role == Qt::BackgroundColorRole && m_deleteCache.contains(item.row())) - return QVariant(Qt::red); + return QVariant(QColor(Qt::red)); // nulls if (m_useNull && curr.isNull()) diff --git a/sqliteman/sqlparser/tosqlparse.h b/sqliteman/sqlparser/tosqlparse.h index 3424fa2..678df90 100644 --- a/sqliteman/sqlparser/tosqlparse.h +++ b/sqliteman/sqlparser/tosqlparse.h @@ -50,7 +50,6 @@ This file is based on the TOra source code. http://tora.sf.net #include #include -// #include #include // class toConnection; diff --git a/sqliteman/tabletree.cpp b/sqliteman/tabletree.cpp index 339e259..f4ab00c 100644 --- a/sqliteman/tabletree.cpp +++ b/sqliteman/tabletree.cpp @@ -6,6 +6,8 @@ for which a new license (GPL+exception) is in place. */ #include #include +#include +#include #include "database.h" #include "tabletree.h" diff --git a/sqliteman/vacuumdialog.h b/sqliteman/vacuumdialog.h index cac27f1..5e25214 100644 --- a/sqliteman/vacuumdialog.h +++ b/sqliteman/vacuumdialog.h @@ -8,7 +8,7 @@ for which a new license (GPL+exception) is in place. #ifndef VACUUMDIALOG_H #define VACUUMDIALOG_H -#include +#include #include "ui_vacuumdialog.h" diff --git a/sqliteman/sqliteprocess.h b/sqliteman/sqliteprocess.h index aaa60ca..5bec5b0 100644 --- a/sqliteman/sqliteprocess.h +++ b/sqliteman/sqliteprocess.h @@ -8,6 +8,7 @@ for which a new license (GPL+exception) is in place. #ifndef SQLITEPROCESS_H #define SQLITEPROCESS_H +#include #include