Hello community,

here is the log from the commit of package vokoscreenNG for openSUSE:Factory 
checked in at 2020-02-11 22:25:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vokoscreenNG (Old)
 and      /work/SRC/openSUSE:Factory/.vokoscreenNG.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "vokoscreenNG"

Tue Feb 11 22:25:12 2020 rev:3 rq:773404 version:3.0.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/vokoscreenNG/vokoscreenNG.changes        
2020-02-03 11:15:14.145903081 +0100
+++ /work/SRC/openSUSE:Factory/.vokoscreenNG.new.26092/vokoscreenNG.changes     
2020-02-11 22:25:57.335585659 +0100
@@ -1,0 +2,8 @@
+Tue Feb 11 08:34:48 UTC 2020 - Marcel Kuehlhorn <tu...@opensuse.org>
+
+- Update to 3.0.2
+  * x264: Codec requires resolution with even values
+  * Audio: fix recording with only one channel
+  * Webcam: fix image flipped horizontally
+
+-------------------------------------------------------------------
@@ -4,0 +13,3 @@
+  * Player: Notification if codec or service is missing
+  * x264enc: add profile=baseline
+  * Select the language for the online help via a combobox

Old:
----
  3.0.1.tar.gz

New:
----
  3.0.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ vokoscreenNG.spec ++++++
--- /var/tmp/diff_new_pack.fQ3j6q/_old  2020-02-11 22:25:58.035586043 +0100
+++ /var/tmp/diff_new_pack.fQ3j6q/_new  2020-02-11 22:25:58.039586045 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           vokoscreenNG
-Version:        3.0.1
+Version:        3.0.2
 Release:        0
 Summary:        Screencast creator
 License:        GPL-2.0-only

++++++ 3.0.1.tar.gz -> 3.0.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vokoscreenNG-3.0.1/ToDo.txt 
new/vokoscreenNG-3.0.2/ToDo.txt
--- old/vokoscreenNG-3.0.1/ToDo.txt     2020-01-31 21:31:33.000000000 +0100
+++ new/vokoscreenNG-3.0.2/ToDo.txt     2020-02-11 08:14:48.000000000 +0100
@@ -5,6 +5,18 @@
 --Eine oder zwei Wochen nach dem Release die https Weiterleitung aktivieren
 --Nach der https Weiterleitung wird die 3.0.0 nicht mehr auf die Onlinehilfe 
zugreifen können.
 
+Windows Installer:
+--Installationsordner sollte unter "Programme" abgelegt werden. Erledigt aber 
nochmal gründlich testen.
+
+Windows:
+--Player: Schrift in Tooltip kann man nicht lesen, Weise Schrift auf Weißem 
Grund.
+
+Player:
+--Im Player sollten ebenfalls die tango icons benutzt werden.
+
+Windows Systray:
+--Icon für "Weiter" ist sehr schlecht zu erkennen.
+
 Linux:
 --Bei dunklen Themes ist das Icon auf Tab Timer schlecht sichtbar
 
@@ -95,7 +107,3 @@
 
 Spezialslider:
 --Mauscursor nicht stimmig mit Handle.
-
-Hilfe:
---https
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vokoscreenNG-3.0.1/place-to-keep/statistik.sh 
new/vokoscreenNG-3.0.2/place-to-keep/statistik.sh
--- old/vokoscreenNG-3.0.1/place-to-keep/statistik.sh   2020-01-31 
21:31:33.000000000 +0100
+++ new/vokoscreenNG-3.0.2/place-to-keep/statistik.sh   2020-02-11 
08:14:48.000000000 +0100
@@ -1,6 +1,6 @@
 #!/bin/bash 
 
-begintime="2018-08-20"
+begintime="2020-02-05"
 
 echo "Commits seit dem:  "$begintime
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vokoscreenNG-3.0.1/src/camera/QvkCameraController.cpp 
new/vokoscreenNG-3.0.2/src/camera/QvkCameraController.cpp
--- old/vokoscreenNG-3.0.1/src/camera/QvkCameraController.cpp   2020-01-31 
21:31:33.000000000 +0100
+++ new/vokoscreenNG-3.0.2/src/camera/QvkCameraController.cpp   2020-02-11 
08:14:48.000000000 +0100
@@ -102,18 +102,28 @@
 
     if ( value == 3 )
     {
-        cameraWindow->resize( 640, 480 );
+        cameraWindow->resize( 639, 479 );
     }
 }
 
 
 void QvkCameraController::slot_setNewImage( QImage image )
 {
+#ifdef Q_OS_LINUX
     if ( ui_formMainWindow->checkBoxCameraMirrorHorizontal->isChecked() == 
true )
         image = image.mirrored( true, false );
 
-    if ( ui_formMainWindow->checkBoxCameraMirrorVertical->isChecked() == true  
)
+    if ( ui_formMainWindow->checkBoxCameraMirrorVertical->isChecked() == true )
         image = image.mirrored( false, true );
+#endif
+
+#ifdef Q_OS_WIN
+    if ( ui_formMainWindow->checkBoxCameraMirrorHorizontal->isChecked() == 
true )
+        image = image.mirrored( true, false );
+
+    if ( ui_formMainWindow->checkBoxCameraMirrorVertical->isChecked() == false 
)
+        image = image.mirrored( false, true );
+#endif
 
     if ( ui_formMainWindow->checkBoxCameraInvert->isChecked() == true )
         image.invertPixels( QImage::InvertRgb );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vokoscreenNG-3.0.1/src/formMainWindow.ui 
new/vokoscreenNG-3.0.2/src/formMainWindow.ui
--- old/vokoscreenNG-3.0.1/src/formMainWindow.ui        2020-01-31 
21:31:33.000000000 +0100
+++ new/vokoscreenNG-3.0.2/src/formMainWindow.ui        2020-02-11 
08:14:48.000000000 +0100
@@ -89,7 +89,7 @@
            <string notr="true"/>
           </property>
           <property name="currentIndex">
-           <number>6</number>
+           <number>0</number>
           </property>
           <property name="iconSize">
            <size>
@@ -126,16 +126,6 @@
                   </property>
                  </widget>
                 </item>
-                <item row="4" column="4">
-                 <widget class="QToolButton" name="help_screencast_scale">
-                  <property name="toolTip">
-                   <string notr="true"/>
-                  </property>
-                  <property name="text">
-                   <string notr="true">Help</string>
-                  </property>
-                 </widget>
-                </item>
                 <item row="2" column="4">
                  <widget class="QToolButton" name="help_screencast_area">
                   <property name="text">
@@ -192,23 +182,6 @@
                    <property name="bottomMargin">
                     <number>0</number>
                    </property>
-                   <item>
-                    <widget class="QCheckBox" name="checkBoxScale">
-                     <property name="text">
-                      <string>Scale</string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item>
-                    <widget class="QComboBox" name="comboBoxScale">
-                     <property name="enabled">
-                      <bool>false</bool>
-                     </property>
-                     <property name="sizeAdjustPolicy">
-                      <enum>QComboBox::AdjustToContents</enum>
-                     </property>
-                    </widget>
-                   </item>
                   </layout>
                  </widget>
                 </item>
@@ -2532,8 +2505,6 @@
   <tabstop>scrollAreaAudioDevice</tabstop>
   <tabstop>comboBoxx264Preset</tabstop>
   <tabstop>help_screencast_videocodec</tabstop>
-  <tabstop>checkBoxScale</tabstop>
-  <tabstop>comboBoxScale</tabstop>
   <tabstop>checkBoxStartTime</tabstop>
   <tabstop>help_screencast_starttimer</tabstop>
   <tabstop>checkBoxStopRecordingAfter</tabstop>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vokoscreenNG-3.0.1/src/global.cpp 
new/vokoscreenNG-3.0.2/src/global.cpp
--- old/vokoscreenNG-3.0.1/src/global.cpp       2020-01-31 21:31:33.000000000 
+0100
+++ new/vokoscreenNG-3.0.2/src/global.cpp       2020-02-11 08:14:48.000000000 
+0100
@@ -32,10 +32,10 @@
     QLineEdit *lineEditAudioPlug;
 
 #ifdef Q_OS_LINUX
-    QString version = "3.0.1";
+    QString version = "3.0.2";
 #endif
 
 #ifdef Q_OS_WIN
-    QString version = "3.0.1";
+    QString version = "3.0.2";
 #endif
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vokoscreenNG-3.0.1/src/main.cpp 
new/vokoscreenNG-3.0.2/src/main.cpp
--- old/vokoscreenNG-3.0.1/src/main.cpp 2020-01-31 21:31:33.000000000 +0100
+++ new/vokoscreenNG-3.0.2/src/main.cpp 2020-02-11 08:14:48.000000000 +0100
@@ -69,6 +69,13 @@
     }
 
     // Initialize GStreamer
+#ifdef Q_OS_WIN
+    QString pathString = QDir::currentPath();
+    QByteArray pathByteArray;
+    pathByteArray.append( pathString );
+    qputenv( "GSTREAMER_1_0_ROOT_X86", pathByteArray );
+    qputenv( "GST_PLUGIN_PATH", pathByteArray );
+#endif
     gst_init (&argc, &argv);
 
     QTranslator * qtTranslator = new QTranslator();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vokoscreenNG-3.0.1/src/mainwindow.cpp 
new/vokoscreenNG-3.0.2/src/mainwindow.cpp
--- old/vokoscreenNG-3.0.1/src/mainwindow.cpp   2020-01-31 21:31:33.000000000 
+0100
+++ new/vokoscreenNG-3.0.2/src/mainwindow.cpp   2020-02-11 08:14:48.000000000 
+0100
@@ -238,14 +238,13 @@
 #endif
     qDebug();
 
+    // only values with modulo 4 == 0
     resolutionStringList << "320 x 200 CGA 16 : 10"
                          << "320 x 240 QCGA 4 : 3"
                          << "640 x 480 VGA 4 : 3"
                          << "720 x 480 NTSC 3 : 2"
                          << "800 x 480 WVGA 5 : 3"
                          << "800 x 600 SVGA 4 : 3"
-                         << "854 x 450 WVGA 16 : 9"
-                         << "768 x 567 PAL 4 : 3"
                          << "1024 x 768 XVGA 4 : 3"
                          << "1152 x 768 N/A 3 : 2"
                          << "1280 x 720 HD-720 16 : 9"
@@ -263,7 +262,9 @@
     connect( ui->pushButtonStart, SIGNAL( clicked( bool ) ), 
ui->pushButtonContinue,    SLOT( setEnabled( bool ) ) );
     connect( ui->pushButtonStart, SIGNAL( clicked( bool ) ), 
ui->pushButtonPlay,        SLOT( setEnabled( bool ) ) );
     connect( ui->pushButtonStart, SIGNAL( clicked( bool ) ), 
ui->radioButtonScreencastFullscreen, SLOT( setEnabled( bool ) ) );
+#ifdef Q_OS_LINUX
     connect( ui->pushButtonStart, SIGNAL( clicked( bool ) ), 
ui->radioButtonScreencastWindow,     SLOT( setEnabled( bool ) ) );
+#endif
     connect( ui->pushButtonStart, SIGNAL( clicked( bool ) ), 
ui->radioButtonScreencastArea,       SLOT( setEnabled( bool ) ) );
     connect( ui->pushButtonStart, SIGNAL( clicked( bool ) ), 
ui->comboBoxScreencastScreen,        SLOT( setEnabled( bool ) ) );
     connect( ui->pushButtonStart, SIGNAL( clicked( bool ) ), 
ui->labelScreencastCountdownText,    SLOT( setEnabled( bool ) ) );
@@ -292,7 +293,9 @@
     connect( ui->pushButtonStop, SIGNAL( clicked( bool ) ), 
ui->pushButtonPause,       SLOT( setEnabled( bool ) ) );
     connect( ui->pushButtonStop, SIGNAL( clicked( bool ) ), 
ui->pushButtonPlay,        SLOT( setDisabled( bool ) ) );
     connect( ui->pushButtonStop, SIGNAL( clicked( bool ) ), 
ui->radioButtonScreencastFullscreen, SLOT( setDisabled( bool ) ) );
+#ifdef Q_OS_LINUX
     connect( ui->pushButtonStop, SIGNAL( clicked( bool ) ), 
ui->radioButtonScreencastWindow,     SLOT( setDisabled( bool ) ) );
+#endif
     connect( ui->pushButtonStop, SIGNAL( clicked( bool ) ), 
ui->radioButtonScreencastArea,       SLOT( setDisabled( bool ) ) );
     connect( ui->pushButtonStop, SIGNAL( clicked( bool ) ), 
ui->comboBoxScreencastScreen,        SLOT( setDisabled( bool ) ) );
     connect( ui->pushButtonStop, SIGNAL( clicked( bool ) ), 
ui->labelScreencastCountdownText,    SLOT( setDisabled( bool ) ) );
@@ -337,6 +340,8 @@
     // Tab 1 Screen
 #ifdef Q_OS_WIN
     ui->radioButtonScreencastWindow->setEnabled( false );
+    ui->radioButtonScreencastWindow->setVisible( false );
+    ui->help_screencast_window->setVisible( false );
 #endif
 
     ui->radioButtonScreencastFullscreen->setText( tr("Fullscreen") ); // QT 
Creator sets an ampersand, translation now here
@@ -409,8 +414,6 @@
     connect( videoFileSystemWatcher,  SIGNAL( directoryChanged( const QString& 
) ), this, SLOT( slot_videoFileSystemWatcherSetButtons() ) );
     ui->lineEditVideoPath->setText( QStandardPaths::writableLocation( 
QStandardPaths::MoviesLocation ) );
 
-    ui->comboBoxScale->addItems( resolutionStringList );
-    connect( ui->checkBoxScale,   SIGNAL( toggled( bool ) ), 
ui->comboBoxScale, SLOT( setEnabled( bool ) ) );
     connect( ui->pushButtonStart, SIGNAL( clicked( bool ) ), ui->frameScale, 
SLOT( setEnabled( bool ) ) );
     connect( ui->pushButtonStop,  SIGNAL( clicked( bool ) ), ui->frameScale, 
SLOT( setDisabled( bool ) ) );
 
@@ -932,24 +935,15 @@
 #ifdef Q_OS_LINUX
 QString QvkMainWindow::VK_getXimagesrc()
 {
+    QString value = "";
+
     QString showPointer = "true";
     if( ui->checkBoxMouseCursorOnOff->checkState() == Qt::Checked )
     {
         showPointer = "false";
     }
 
-    if( ( ui->radioButtonScreencastFullscreen->isChecked() == true ) and ( 
ui->comboBoxScreencastScreen->currentData().toInt() == -1  ) )
-    {
-        QStringList stringList;
-        stringList << "ximagesrc"
-                   << "display-name=" + qgetenv( "DISPLAY" )
-                   << "use-damage=false"
-                   << "show-pointer=" + showPointer;
-        QString value = stringList.join( " " );
-        return value;
-    }
-
-    if ( ( ui->radioButtonScreencastFullscreen->isChecked() == true ) and ( 
ui->comboBoxScreencastScreen->currentIndex() <= 
ui->comboBoxScreencastScreen->count()-1 ) )
+    if ( ui->radioButtonScreencastFullscreen->isChecked() == true )
     {
           QStringList stringList;
           stringList << "ximagesrc"
@@ -960,8 +954,7 @@
                      << "starty=" + get_y_From_Screen()
                      << "endx="   + QString::number( 
get_x_From_Screen().toInt() + get_width_From_Screen().toInt()-1 )
                      << "endy="   + QString::number( 
get_y_From_Screen().toInt() + get_height_From_Screen().toInt()-1 );
-          QString value = stringList.join( " " );
-          return value;
+          value = stringList.join( " " );
     }
 
     if( ui->radioButtonScreencastWindow->isChecked() == true )
@@ -982,30 +975,11 @@
                    << "use-damage=false"
                    << "show-pointer=" + showPointer
                    << "xid=" + xid;
-
-        QString value = stringList.join( " " );
-        return value;
+        value = stringList.join( " " );
     }
 
     if ( ui->radioButtonScreencastArea->isChecked() == true )
     {
-        int compensation_x = 0;
-        int compensation_y = 0;
-
-        // Number of pixels must be divisible by two
-        int width = vkRegionChoise->getWidth();
-        if ( ( width % 2 ) == 1 )
-        {
-            compensation_x = 1;
-        }
-
-        // Number of pixels must be divisible by two
-        int height = vkRegionChoise->getHeight();
-        if ( ( height % 2 ) == 1 )
-        {
-            compensation_y = 1;
-        }
-
         qreal gnomehack = 0;
         if ( qgetenv( "XDG_CURRENT_DESKTOP" ).toLower() == "gnome" )
         {
@@ -1020,13 +994,12 @@
                    << "show-pointer=" + showPointer
                    << "startx=" + QString::number( 
vkRegionChoise->getXRecordArea() )
                    << "starty=" + QString::number( 
vkRegionChoise->getYRecordArea() + gnomehack )
-                   << "endx="   + QString::number( 
vkRegionChoise->getXRecordArea() + vkRegionChoise->getWidth() - 1 - 
compensation_x)
-                   << "endy="   + QString::number( 
vkRegionChoise->getYRecordArea() + gnomehack + vkRegionChoise->getHeight() - 1 
- compensation_y);
-        QString value = stringList.join( " " );
-        return value;
+                   << "endx="   + QString::number( 
vkRegionChoise->getXRecordArea() + vkRegionChoise->getWidth() - 1 )
+                   << "endy="   + QString::number( 
vkRegionChoise->getYRecordArea() + gnomehack + vkRegionChoise->getHeight() - 1 
);
+        value = stringList.join( " " );
     }
 
-    return ""; // prophylactic no error at compiletime
+    return value;
 }
 #endif
 
@@ -1071,18 +1044,77 @@
 QString QvkMainWindow::VK_getCapsFilter()
 {
    QStringList stringList;
-   stringList << "capsfilter caps=video/x-raw,framerate="
+   stringList << "video/x-raw, framerate="
               << QString::number( sliderFrames->value() )
               << "/1";
    return QString( stringList.join( "" ) );
 }
 
 
-QString QvkMainWindow::VK_getVideoScale()
+QString QvkMainWindow::VK_scale()
 {
-    QString value = ui->comboBoxScale->currentText();
-    QStringList valuList = value.split( " " );
-    value = "videoscale ! capsfilter caps=video/x-raw,width=" + valuList.at(0) 
+ ",height=" + valuList.at(2);
+    QString value = "";
+    int modulo = 4;
+
+    if ( ui->radioButtonScreencastFullscreen->isChecked() == true )
+    {
+        int width = get_width_From_Screen().toInt();
+        int height = get_height_From_Screen().toInt();
+
+        if ( ( get_width_From_Screen().toInt() % modulo ) > 0 )
+        {
+            width = get_width_From_Screen().toInt() - ( 
get_width_From_Screen().toInt() % modulo ) + modulo;
+        }
+
+        if ( ( get_height_From_Screen().toInt() % modulo ) > 0 )
+        {
+            height = get_height_From_Screen().toInt() - ( 
get_height_From_Screen().toInt() % modulo ) + modulo;
+        }
+
+        value = "videoscale ! video/x-raw, width=" + QString::number( width ) 
+ ", height=" + QString::number( height ) + " !";
+    }
+
+    if ( ui->radioButtonScreencastArea->isChecked() == true )
+    {
+        int width = (int)vkRegionChoise->getWidth();
+        int height = (int)vkRegionChoise->getHeight();
+
+        if ( ( (int)vkRegionChoise->getWidth() % modulo ) > 0 )
+        {
+            width = (int)vkRegionChoise->getWidth() - ( 
(int)vkRegionChoise->getWidth() % modulo ) + modulo;
+        }
+
+        if ( ( (int)vkRegionChoise->getHeight() % modulo ) > 0 )
+        {
+            height = (int)vkRegionChoise->getHeight() - ( 
(int)vkRegionChoise->getHeight() % modulo ) + modulo;
+        }
+
+        value = "videoscale ! video/x-raw, width=" + QString::number( width ) 
+ ", height=" + QString::number( height )  + " !";
+    }
+
+#ifdef Q_OS_LINUX
+    if ( ui->radioButtonScreencastWindow->isChecked() == true )
+    {
+        int modulo = 2;
+        QRectF rect = vkWinInfo->windowGeometryWithoutFrame( 
vkWinInfo->getWinID() );
+
+        int width = (int)rect.width();
+        int height = (int)rect.height();
+
+        if ( ( width % modulo ) > 0 )
+        {
+            width = width - ( width % modulo );
+        }
+
+        if ( ( height % modulo ) > 0 )
+        {
+            height = height - ( height % modulo );
+        }
+
+        value = "videoscale ! video/x-raw, width=" + QString::number( width ) 
+ ", height=" + QString::number( height )  + " !";
+    }
+#endif
+
     return value;
 }
 
@@ -1439,11 +1471,13 @@
     if ( encoder == "x264enc" )
     {
         QStringList list;
+        list << VK_scale();
         list << ui->comboBoxVideoCodec->currentData().toString();
         list << "qp-min=" + QString::number( sliderX264->value() );
         list << "qp-max=" + QString::number( sliderX264->value() );
         list << "speed-preset=" + ui->comboBoxx264Preset->currentText();
         list << "threads=" + vk_idealThreadCount;
+        list.removeAll( "" );
         value = list.join( " " );
         value.append( " ! video/x-h264, profile=baseline" );
     }
@@ -1706,10 +1740,6 @@
     VK_PipelineList << VK_getXimagesrc();
     VK_PipelineList << VK_getCapsFilter();
     VK_PipelineList << "videoconvert";
-    if ( ui->checkBoxScale->isChecked() )
-    {
-       VK_PipelineList << VK_getVideoScale();
-    }
     VK_PipelineList << "videorate";
     VK_PipelineList << Vk_get_Videocodec_Encoder();
 
@@ -1731,7 +1761,7 @@
         #ifdef Q_OS_WIN
             VK_PipelineList << VK_get_AudioSystem().append( " device-name=" 
).append( "'" + VK_getSelectedAudioDevice().at(0) +"'" );
         #endif
-
+        VK_PipelineList << "audio/x-raw, channels=2";
         VK_PipelineList << "audioconvert";
         VK_PipelineList << "audiorate";
         VK_PipelineList << ui->comboBoxAudioCodec->currentData().toString();
@@ -1746,12 +1776,14 @@
         {
             #ifdef Q_OS_LINUX
                 VK_PipelineList << VK_get_AudioSystem().append( " device=" 
).append( VK_getSelectedAudioDevice().at(x) );
+                VK_PipelineList << "audio/x-raw, channels=2";
                 VK_PipelineList << "queue";
                 VK_PipelineList << "mix.";
             #endif
 
             #ifdef Q_OS_WIN
                 VK_PipelineList << VK_get_AudioSystem().append( " 
device-name=" ).append( "'" + VK_getSelectedAudioDevice().at(x) +"'" );
+                VK_PipelineList << "audio/x-raw, channels=2";
                 VK_PipelineList << "queue";
                 VK_PipelineList << "mix.";
             #endif
@@ -1765,6 +1797,7 @@
     }
 
     VK_PipelineList << VK_getMuxer();
+    VK_PipelineList.removeAll( "" );
 
     QString newVideoFilename = global::name + "-" + 
QDateTime::currentDateTime().toString( "yyyy-MM-dd_hh-mm-ss" ) + "." + 
ui->comboBoxFormat->currentText();
     VK_PipelineList << "filesink location=" + ui->lineEditVideoPath->text() + 
"/" + newVideoFilename;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vokoscreenNG-3.0.1/src/mainwindow.h 
new/vokoscreenNG-3.0.2/src/mainwindow.h
--- old/vokoscreenNG-3.0.1/src/mainwindow.h     2020-01-31 21:31:33.000000000 
+0100
+++ new/vokoscreenNG-3.0.2/src/mainwindow.h     2020-02-11 08:14:48.000000000 
+0100
@@ -92,7 +92,7 @@
     QString VK_getCapsFilter();
     QString VK_getMuxer();
     QString Vk_get_Videocodec_Encoder();
-    QString VK_getVideoScale();
+    QString VK_scale();
 
     QFileSystemWatcher *videoFileSystemWatcher;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vokoscreenNG-3.0.1/src/player/QvkPlayer.cpp 
new/vokoscreenNG-3.0.2/src/player/QvkPlayer.cpp
--- old/vokoscreenNG-3.0.1/src/player/QvkPlayer.cpp     2020-01-31 
21:31:33.000000000 +0100
+++ new/vokoscreenNG-3.0.2/src/player/QvkPlayer.cpp     2020-02-11 
08:14:48.000000000 +0100
@@ -80,8 +80,8 @@
     ui->pushButtonPlay->setIcon( QIcon::fromTheme( "media-playback-start" , 
style()->standardIcon( QStyle::SP_MediaPlay ) ) );
     ui->pushButtonPause->setIcon( QIcon::fromTheme( "media-playback-pause", 
style()->standardIcon( QStyle::SP_MediaPause ) ) );
     ui->pushButtonStop->setIcon( QIcon::fromTheme( "media-playback-stop"  , 
style()->standardIcon( QStyle::SP_MediaStop ) ) );
-    ui->toolButtonFrameBackward->setIcon( QIcon::fromTheme( "go-previous",  
style()->standardIcon( QStyle::SP_MediaSkipBackward ) ) );
-    ui->toolButtonFrameForward->setIcon( QIcon::fromTheme( "go-next",       
style()->standardIcon( QStyle::SP_MediaSkipForward ) ) );
+    ui->toolButtonFrameBackward->setIcon( QIcon::fromTheme( "go-previous",  
style()->standardIcon( QStyle::SP_MediaSeekBackward ) ) );
+    ui->toolButtonFrameForward->setIcon( QIcon::fromTheme( "go-next",       
style()->standardIcon( QStyle::SP_MediaSeekForward ) ) );
     ui->toolButtonOpenFile->setIcon( QIcon::fromTheme( "document-open",     
style()->standardIcon( QStyle::SP_FileIcon ) ) );
     ui->toolButtonMute->setIcon( QIcon::fromTheme( "audio-volume-high"    , 
style()->standardIcon( QStyle::SP_MediaVolume ) ) );
     ui->toolButtonFullscreen->setIcon( QIcon::fromTheme( "view-fullscreen", 
QIcon( ":/pictures/player/fullscreen.png" ) ) );
@@ -537,7 +537,7 @@
     QSize ratioSize = getPixelaspectRatio();
     qreal ratio = (qreal)ratioSize.width() / (qreal)ratioSize.height();
     QScreen *screen = QGuiApplication::primaryScreen();
-    if ( ratio == 1 )
+    if ( ratio == 1.0 )
     {
         image.setDevicePixelRatio( screen->devicePixelRatio() );
         image = image.scaled( static_cast<int>( 
ui->framePlayer->width()*screen->devicePixelRatio() ),
@@ -551,7 +551,7 @@
     // Testvideos find in source code under 
/vokoscreenNG/Videos-to-test-the-player/
     // Example:
     // Area:450x800 scale:1280*720
-    if ( ( ratio != 1 ) and ( ratioSize.width() < ratioSize.height() ) )
+    if ( ( ratio != 1.0 ) and ( ratioSize.width() < ratioSize.height() ) )
     {
         // Adapt to the frame
         if ( ui->framePlayer->width() < (int)( 
(qreal)ui->framePlayer->height() * ( (qreal)image.width() / 
(qreal)image.height() * ratio ) * screen->devicePixelRatio() ) )
@@ -578,7 +578,7 @@
 
     // Example:
     // Area:800x320 scale:1280*720
-    if ( ( ratio != 1 ) and ( ratioSize.width() > ratioSize.height() ) )
+    if ( ( ratio != 1.0 ) and ( ratioSize.width() > ratioSize.height() ) )
     {
         // Adapt to the frame
         if ( ui->framePlayer->height() < (int)( 
(qreal)ui->framePlayer->width() * ( (qreal)image.height() / 
(qreal)image.width() / ratio ) * screen->devicePixelRatio() ) )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vokoscreenNG-3.0.1/src/screenManager/QvkScreenManager.cpp 
new/vokoscreenNG-3.0.2/src/screenManager/QvkScreenManager.cpp
--- old/vokoscreenNG-3.0.1/src/screenManager/QvkScreenManager.cpp       
2020-01-31 21:31:33.000000000 +0100
+++ new/vokoscreenNG-3.0.2/src/screenManager/QvkScreenManager.cpp       
2020-02-11 08:14:48.000000000 +0100
@@ -69,7 +69,7 @@
                                  "with=" + Width + " " +
                                  "height=" + Height;
 
-            disconnect( screen.at(i), 0, 0, 0 );
+            disconnect( screen.at(i), nullptr, nullptr, nullptr );
             connect( screen.at(i), SIGNAL( geometryChanged( const QRect ) ), 
this, SLOT( slot_geometryChanged( const QRect ) ) );
 
             emit signal_screen_count_changed( stringText, stringData );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vokoscreenNG-3.0.1/src/winInfo/QvkWinInfo.cpp 
new/vokoscreenNG-3.0.2/src/winInfo/QvkWinInfo.cpp
--- old/vokoscreenNG-3.0.1/src/winInfo/QvkWinInfo.cpp   2020-01-31 
21:31:33.000000000 +0100
+++ new/vokoscreenNG-3.0.2/src/winInfo/QvkWinInfo.cpp   2020-02-11 
08:14:48.000000000 +0100
@@ -128,6 +128,41 @@
 
     return getWindow( net_active ).value(0);
 }
+
+
+QRectF QvkWinInfo::windowGeometryWithoutFrame( WId child)
+{
+    int x, y;
+    Window root;
+    uint w, h, border, depth;
+
+    XGetGeometry( QX11Info::display(), child, &root, &x, &y, &w, &h, &border, 
&depth );
+
+    Window parent;
+    Window* children;
+    unsigned int nchildren;
+
+    if( XQueryTree( QX11Info::display(), child, &root, &parent, &children, 
&nchildren ) != 0 )
+    {
+        if( children != nullptr )
+        {
+            XFree( children );
+        }
+
+        int newx, newy;
+        Window dummy;
+
+        if( XTranslateCoordinates( QX11Info::display(), parent, 
QX11Info::appRootWindow(), x, y, &newx, &newy, &dummy ))
+        {
+            x = newx;
+            y = newy;
+        }
+    }
+
+    QRectF rect( x, y, w, h );
+
+    return rect;
+}
 #endif
 
 
@@ -162,3 +197,4 @@
     return newWinID;
 }
 
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vokoscreenNG-3.0.1/src/winInfo/QvkWinInfo.h 
new/vokoscreenNG-3.0.2/src/winInfo/QvkWinInfo.h
--- old/vokoscreenNG-3.0.1/src/winInfo/QvkWinInfo.h     2020-01-31 
21:31:33.000000000 +0100
+++ new/vokoscreenNG-3.0.2/src/winInfo/QvkWinInfo.h     2020-02-11 
08:14:48.000000000 +0100
@@ -39,6 +39,7 @@
     virtual ~QvkWinInfo();
     WId getWinID();
     static WId activeWindow();
+    QRectF windowGeometryWithoutFrame( WId child);
 
 
 public slots:


Reply via email to