File 0002-Port-to-Qt5.patch of Package molekel

From f9a9940280d3e1c65c68996fc805813837a9c72b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
Date: Sun, 22 Dec 2024 19:08:15 +0100
Subject: [PATCH 2/4] Port to Qt5

---
 src/CMakeLists.txt                              | 12 +++++-------
 src/dialogs/ViewPropertiesDialog.cpp            |  1 +
 src/molekel_sources.cmake                       |  3 +++
 src/utility/FoldableWidget.cpp                  |  1 +
 src/utility/events/EventLogger.h                | 10 +++++-----
 src/utility/events/EventReader.h                |  7 -------
 src/utility/events/EventRecorderWidget.cpp      |  1 -
 src/utility/qtfileutils.h                       | 12 ++++++------
 src/utility/shaders/QGLSLShaderEditorWidget.cpp | 10 +++++-----
 src/utility/shaders/QGLSLShaderEditorWidget.h   |  2 +-
 src/widgets/ViewPropertiesWidget.cpp            |  1 +
 11 files changed, 28 insertions(+), 32 deletions(-)
 create mode 100644 src/dialogs/ViewPropertiesDialog.cpp
 create mode 100644 src/utility/FoldableWidget.cpp
 create mode 100644 src/widgets/ViewPropertiesWidget.cpp

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 8920626..8d3a3dc 100755
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -148,11 +148,7 @@ ENDIF( WIN32 )
 FIND_PACKAGE(VTK REQUIRED)
 
 #### QT4 ####
-FIND_PACKAGE(Qt4)
-IF(NOT QT4_FOUND)
-  MESSAGE(FATAL_ERROR "Please set path to qmake manually")
-ENDIF(NOT QT4_FOUND)
-INCLUDE(${QT_USE_FILE})
+FIND_PACKAGE(Qt5 REQUIRED COMPONENTS Core PrintSupport)
 
 #### OPEN BABEL ####
 # OpenBabel include and lib directories. OpenBabel include directory is
@@ -278,7 +274,8 @@ ENDIF( ENABLE_DEPTH_PEELING )
 #### MOC headers - read from external file####
 SET( MOC_HEADER_FILES molekel_moc_headers.cmake CACHE PATH "Molekel Qt moc headers" )
 INCLUDE( ${MOC_HEADER_FILES} )
-QT4_WRAP_CPP( MOC_SRCS ${MOC_HEADERS} )
+# QT4_WRAP_CPP( MOC_SRCS ${MOC_HEADERS} )
+SET(CMAKE_AUTOMOC ON)
 
 #### SOURCES - read from external file
 SET( MOLEKEL_SRCS molekel_sources.cmake CACHE PATH "Molekel source file list" )
@@ -357,7 +354,8 @@ TARGET_LINK_LIBRARIES( ${MOLEKEL_EXECUTABLE}
 IF( WIN32 )
   TARGET_LINK_LIBRARIES( ${MOLEKEL_EXECUTABLE} qwt5 )
 ELSE( WIN32 )
-  TARGET_LINK_LIBRARIES( ${MOLEKEL_EXECUTABLE} qwt )
+  TARGET_LINK_LIBRARIES( ${MOLEKEL_EXECUTABLE} Qt5::PrintSupport )
+  TARGET_LINK_LIBRARIES( ${MOLEKEL_EXECUTABLE} qwt5-qt5 )
 ENDIF( WIN32)
 IF( WIN32 )
   TARGET_LINK_LIBRARIES( ${MOLEKEL_EXECUTABLE} glew32 )
diff --git a/src/dialogs/ViewPropertiesDialog.cpp b/src/dialogs/ViewPropertiesDialog.cpp
new file mode 100644
index 0000000..2839dff
--- /dev/null
+++ b/src/dialogs/ViewPropertiesDialog.cpp
@@ -0,0 +1 @@
+#include "moc_ViewPropertiesDialog.cpp"
diff --git a/src/molekel_sources.cmake b/src/molekel_sources.cmake
index 01dd978..9ea441b 100755
--- a/src/molekel_sources.cmake
+++ b/src/molekel_sources.cmake
@@ -97,6 +97,7 @@ SET ( SRCS
       MainWindow.cpp
       MolekelMolecule.cpp
       MolekelData.cpp
+      dialogs/ViewPropertiesDialog.cpp
       old/molekeltypes.cpp
       old/readgauss.cpp
       old/readgamess.cpp
@@ -108,6 +109,7 @@ SET ( SRCS
       resources/license.cpp
       utility/CommandLine.cpp
       utility/OBGaussianCubeFormat.cpp
+      utility/FoldableWidget.cpp
       utility/MolekelChemPDBImporter.cpp
       utility/BabelToMOIV.cpp
       utility/vtkMSMSReader.cpp
@@ -136,4 +138,5 @@ SET ( SRCS
       widgets/ImagePlaneProbeWidget.cpp
       widgets/GridDataSurfaceWidget.cpp
       widgets/SpectrumWidget.cpp
+      widgets/ViewPropertiesWidget.cpp
       ${MOC_SRCS} )
diff --git a/src/utility/FoldableWidget.cpp b/src/utility/FoldableWidget.cpp
new file mode 100644
index 0000000..dcef1af
--- /dev/null
+++ b/src/utility/FoldableWidget.cpp
@@ -0,0 +1 @@
+#include "moc_FoldableWidget.cpp"
diff --git a/src/utility/events/EventLogger.h b/src/utility/events/EventLogger.h
index bfae3a5..f828bf1 100644
--- a/src/utility/events/EventLogger.h
+++ b/src/utility/events/EventLogger.h
@@ -76,11 +76,11 @@ public:
 		fs_( fs ), rs_( rs ), lastLog_( 0 ), os_( 0 ) { t_.start(); }
 
     /// Assignment operator.
-    EventLogger& operator=( const EventLogger& el )
-    {
-        this->EventLogger::EventLogger( el );
-        return *this;
-    }
+    //EventLogger& operator=( const EventLogger& el )
+    //{
+    //    this->EventLogger::EventLogger( el );
+    //    return *this;
+    //}
 
     /// Set output stream.
 	void SetOutputStream( OStreamT& os ) { os_ = &os; }
diff --git a/src/utility/events/EventReader.h b/src/utility/events/EventReader.h
index b5d8dcb..e4c4371 100644
--- a/src/utility/events/EventReader.h
+++ b/src/utility/events/EventReader.h
@@ -119,8 +119,6 @@ public:
 					break;
 				case QEvent::FocusOut: ei.event = ReadFocusOut();
 					break;
-				case QEvent::MenubarUpdated: ei.event = ReadMenuBarUpdated();
-					break;
 				case QEvent::HoverEnter: ei.event = ReadHoverEnter();
 					break;
 				case QEvent::HoverLeave: ei.event = ReadHoverLeave();
@@ -268,11 +266,6 @@ public:
 		return new QFocusEvent( QEvent::FocusOut, Qt::FocusReason( reason ) );
 	}
 
-	QEvent* ReadMenuBarUpdated()
-	{
-		return new QEvent( QEvent::MenubarUpdated );
-	}
-
 	QEvent* ReadHoverEnter()
 	{
 		int ox, oy, x, y;
diff --git a/src/utility/events/EventRecorderWidget.cpp b/src/utility/events/EventRecorderWidget.cpp
index f913fff..5f0cfe1 100644
--- a/src/utility/events/EventRecorderWidget.cpp
+++ b/src/utility/events/EventRecorderWidget.cpp
@@ -77,7 +77,6 @@ void EventRecorderWidget::StartRecording()
                             QEvent::Shortcut,
                             QEvent::KeyPress,
                             QEvent::KeyRelease,
-                            QEvent::MenubarUpdated,
                             QEvent::ContextMenu,
                             QEvent::Resize,
                             QEvent::Move,
diff --git a/src/utility/qtfileutils.h b/src/utility/qtfileutils.h
index f1ebbcb..cdeb203 100644
--- a/src/utility/qtfileutils.h
+++ b/src/utility/qtfileutils.h
@@ -55,12 +55,12 @@ inline QString GetOpenFileName( QWidget* parent = 0,
     QFileDialog fd( parent, caption, dir, filter );
     fd.setObjectName( caption + " Dialog" );
     fd.setAcceptMode( QFileDialog::AcceptOpen );
-    if( !defaultFilter.isEmpty() ) fd.selectFilter( defaultFilter );
+    if( !defaultFilter.isEmpty() ) fd.setNameFilter( defaultFilter );
     QString fileName;
     if( fd.exec() )
     {
         fileName = FixSeparators( fd.selectedFiles().front() );
-        if( selectedFilter != 0 ) *selectedFilter = fd.selectedFilter();
+        if( selectedFilter != 0 ) *selectedFilter = fd.selectedNameFilter();
     }
     return fileName;
 }
@@ -78,12 +78,12 @@ inline QString GetSaveFileName( QWidget* parent = 0,
     QFileDialog fd( parent, caption, dir, filter );
     fd.setObjectName( caption + " Dialog" );
     fd.setAcceptMode( QFileDialog::AcceptSave );
-    if( !defaultFilter.isEmpty() ) fd.selectFilter( defaultFilter );
+    if( !defaultFilter.isEmpty() ) fd.setNameFilter( defaultFilter );
     QString fileName;
     if( fd.exec() )
     {
         fileName = fd.selectedFiles().front();
-        if( selectedFilter != 0 ) *selectedFilter = fd.selectedFilter();
+        if( selectedFilter != 0 ) *selectedFilter = fd.selectedNameFilter();
     }
     return fileName;
 }
@@ -119,12 +119,12 @@ inline QString GetSaveImageFileName( unsigned& magFactor,
    
     fd.setObjectName( caption + " Dialog" );
     fd.setAcceptMode( QFileDialog::AcceptSave );
-    if( !defaultFilter.isEmpty() ) fd.selectFilter( defaultFilter );
+    if( !defaultFilter.isEmpty() ) fd.setNameFilter( defaultFilter );
     QString fileName;
     if( fd.exec() )
     {
         fileName = fd.selectedFiles().front();
-        if( selectedFilter != 0 ) *selectedFilter = fd.selectedFilter();
+        if( selectedFilter != 0 ) *selectedFilter = fd.selectedNameFilter();
     }
     magFactor = unsigned( magSpinBox->value() );
     return fileName;
diff --git a/src/utility/shaders/QGLSLShaderEditorWidget.cpp b/src/utility/shaders/QGLSLShaderEditorWidget.cpp
index 72c57f5..2db0ba2 100644
--- a/src/utility/shaders/QGLSLShaderEditorWidget.cpp
+++ b/src/utility/shaders/QGLSLShaderEditorWidget.cpp
@@ -131,7 +131,7 @@ void QGLSLShaderEditorWidget::AddRow( QGridLayout* layout,
         layout->addWidget( pb, index, 0 );
     }
     else layout->addWidget( new QLabel( name ), index, 0 );
-    GLint location = glGetUniformLocation( shaderProgram_, name.toAscii().constData() );
+    GLint location = glGetUniformLocation( shaderProgram_, name.toLatin1().constData() );
     if( location < 0 ) return;
     ShaderParamInfo si;
     si.type = type;
@@ -260,7 +260,7 @@ void QGLSLShaderEditorWidget::DoubleValueChangedSlot( double )
     // get values and set shader value
     const ShaderParamInfo& sp = shaderValues_[ index ];
     glUseProgram( shaderProgram_ );
-    GLint loc = glGetUniformLocation( shaderProgram_, sp.name.toAscii().constData() );
+    GLint loc = glGetUniformLocation( shaderProgram_, sp.name.toLatin1().constData() );
     switch( sp.type )
     {
         case GL_FLOAT:
@@ -310,7 +310,7 @@ void QGLSLShaderEditorWidget::StateChangedSlot( int )
     // get values and set shader value
     const ShaderParamInfo& sp = shaderValues_[ index ];
     glUseProgram( shaderProgram_ );
-    GLint loc = glGetUniformLocation( shaderProgram_, sp.name.toAscii().constData() );
+    GLint loc = glGetUniformLocation( shaderProgram_, sp.name.toLatin1().constData() );
     switch( sp.type )
     {
         case GL_BOOL:
@@ -350,7 +350,7 @@ void QGLSLShaderEditorWidget::IntValueChangedSlot( int )
     // get values and set shader value
     const ShaderParamInfo& sp = shaderValues_[ index ];
     glUseProgram( shaderProgram_ );
-    GLint loc = glGetUniformLocation( shaderProgram_, sp.name.toAscii().constData() );
+    GLint loc = glGetUniformLocation( shaderProgram_, sp.name.toLatin1().constData() );
     switch( sp.type )
     {
         case GL_INT:
@@ -474,5 +474,5 @@ void QGLSLShaderEditorWidget::SaveParameters( const QString& dir )
 {
     QString f = GetSaveFileName( this, "Save shader parameters", dir );
     if( f.size() == 0 ) return;
-    SaveParametersToFile( f.toAscii().constData() );
+    SaveParametersToFile( f.toLatin1().constData() );
 }
diff --git a/src/utility/shaders/QGLSLShaderEditorWidget.h b/src/utility/shaders/QGLSLShaderEditorWidget.h
index a28e0df..7c676c0 100644
--- a/src/utility/shaders/QGLSLShaderEditorWidget.h
+++ b/src/utility/shaders/QGLSLShaderEditorWidget.h
@@ -87,7 +87,7 @@ public:
         /// Constructor, assigns value to error message.
         Exception( const QString& msg ) : msg_( msg ) {}
         /// Overridden method.
-        const char* what() const throw() { return msg_.toAscii().constData(); }
+        const char* what() const throw() { return msg_.toLatin1().constData(); }
         /// Convenience method returning a reference to the message QString instance.
         const QString& GetMessage() const { return msg_; }
         /// Required overridden destructor.
diff --git a/src/widgets/ViewPropertiesWidget.cpp b/src/widgets/ViewPropertiesWidget.cpp
new file mode 100644
index 0000000..8a18e0b
--- /dev/null
+++ b/src/widgets/ViewPropertiesWidget.cpp
@@ -0,0 +1 @@
+#include "moc_ViewPropertiesWidget.cpp"
-- 
2.47.1

openSUSE Build Service is sponsored by