development/sqliteman: Use qt5.

Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Matteo Bernardini 2022-02-26 14:44:13 +01:00 committed by Willy Sudiarto Raharjo
parent 8f7e9a12d2
commit b82b43ae3b
No known key found for this signature in database
GPG Key ID: 3F617144D7238786
2 changed files with 352 additions and 3 deletions

View File

@ -0,0 +1,346 @@
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 <qwidget.h>
-
#include "ui_createviewdialog.h"
-
/*! \brief GUI for view altering
\author Petr Vanek <petr@scribus.info>
*/
@@ -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 <qdialog.h>
-
#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 <qdialog.h>
-
#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 <qwidget.h>
-
#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 << "<tr>";
for (int i = 0; i < m_header.size(); ++i)
- out << "<th>" << m_header.at(i) << "</th>";
+ out << "<th>" << m_header.at(i).toHtmlEscaped() << "</th>";
out << "</tr>" << endl();
}
@@ -234,7 +234,7 @@ bool DataExportDialog::exportHTML()
out << "<tr>";
QSqlRecord r = m_data->record(i);
for (int j = 0; j < m_header.size(); ++j)
- out << "<td>" << r.value(j).toString() << "</td>";
+ out << "<td>" << r.value(j).toString().toHtmlEscaped() << "</td>";
out << "</tr>" << endl();
}
out << "</table>" << endl() << "</body>" << endl() << "</html>";
@@ -256,7 +256,7 @@ bool DataExportDialog::exportExcelXML()
{
out << "<ss:Row ss:StyleID=\"1\">" << endl();
for (int i = 0; i < m_header.size(); ++i)
- out << "<ss:Cell><ss:Data ss:Type=\"String\">" << m_header.at(i) << "</ss:Data></ss:Cell>" << endl();
+ out << "<ss:Cell><ss:Data ss:Type=\"String\">" << m_header.at(i).toHtmlEscaped() << "</ss:Data></ss:Cell>" << endl();
out << "</ss:Row>" << endl();
}
@@ -267,7 +267,7 @@ bool DataExportDialog::exportExcelXML()
out << "<ss:Row>" << endl();
QSqlRecord r = m_data->record(i);
for (int j = 0; j < m_header.size(); ++j)
- out << "<ss:Cell><ss:Data ss:Type=\"String\">" << r.value(j).toString() << "</ss:Data></ss:Cell>" << endl();
+ out << "<ss:Cell><ss:Data ss:Type=\"String\">" << r.value(j).toString().toHtmlEscaped() << "</ss:Data></ss:Cell>" << endl();
out << "</ss:Row>" << 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 <QSqlQuery>
#include <QSqlError>
#include <QHeaderView>
-#include <math.h>
+#include <QtMath>
#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 <list>
#include <algorithm>
-// #include <qstring.h>
#include <QString>
// 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 <QMouseEvent>
#include <QApplication>
+#include <QDrag>
+#include <QMimeData>
#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 <qdialog.h>
+#include <QDialog>
#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 <QObject>
#include <QStringList>

View File

@ -31,7 +31,7 @@ PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@ -49,8 +49,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@ -78,6 +78,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Thankx Archlinux!
patch -p1 < $CWD/0001_qt5.patch
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \