Hello community, here is the log from the commit of package linphoneqt for openSUSE:Factory checked in at 2018-08-03 12:40:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/linphoneqt (Old) and /work/SRC/openSUSE:Factory/.linphoneqt.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "linphoneqt" Fri Aug 3 12:40:03 2018 rev:4 rq:627176 version:4.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/linphoneqt/linphoneqt.changes 2018-03-09 10:46:38.850566835 +0100 +++ /work/SRC/openSUSE:Factory/.linphoneqt.new/linphoneqt.changes 2018-08-03 12:40:05.775818990 +0200 @@ -1,0 +2,15 @@ +Thu Aug 2 20:00:29 UTC 2018 - sor.alexei@meowr.ru + +- Replace linphoneqt-fix-qt-5.10.patch with + linphoneqt-fix-qt-5.11.patch, adding more fixes: + * Try to support menu bar on Qt 5.10 (commit 5dd0161). + * Fix ComboBox by importing named QtQuick.Controls (commit + 7f62ae9). + * Do not use SignalSpy as click is emitted twice instead of one + in Qt 5.11 (commit 8720931), + * Avoid a crash in Calls with a bad binding (Qt 5.11) on + ConferenceControls (commit 4f908ef). +- Do not bother installing the appstream file to + /usr/share/appdata/ on openSUSE Leap 42.x or older. + +------------------------------------------------------------------- Old: ---- linphoneqt-fix-qt-5.10.patch New: ---- linphoneqt-fix-qt-5.11.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ linphoneqt.spec ++++++ --- /var/tmp/diff_new_pack.5KMCb9/_old 2018-08-03 12:40:06.791820504 +0200 +++ /var/tmp/diff_new_pack.5KMCb9/_new 2018-08-03 12:40:06.827820557 +0200 @@ -28,8 +28,8 @@ Source1: %{_name}.appdata.xml # PATCH-FIX-UPSTREAM linphoneqt-fix-cmake-i18n.patch -- Support new CMake versions for translations (commit e70c077). Patch0: linphoneqt-fix-cmake-i18n.patch -# PATCH-FIX-UPSTREAM linphoneqt-fix-qt-5.10.patch boo#1083654 -- Rename the icon property of TabButton to iconName (an issue with Qt 5.10 and the new icon property, commit ecaab0f). -Patch1: linphoneqt-fix-qt-5.10.patch +# PATCH-FIX-UPSTREAM linphoneqt-fix-qt-5.11.patch boo#1083654 -- Fix issues with Qt 5.10 and 5.11 (commits ecaab0f, 5dd0161, 7f62ae9, 8720931, 4f908ef). +Patch1: linphoneqt-fix-qt-5.11.patch BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: hicolor-icon-theme @@ -90,13 +90,8 @@ %install %cmake_install -%if 0%{?suse_version} >= 1500 install -Dpm 0644 linphone.appdata.xml \ %{buildroot}%{_datadir}/metainfo/linphone.appdata.xml -%else -install -Dpm 0644 linphone.appdata.xml \ - %{buildroot}%{_datadir}/appdata/linphone.appdata.xml -%endif %if 0%{?suse_version} < 1500 %post -n %{_name} @@ -109,23 +104,14 @@ %endif %files -n %{_name} -%if 0%{?suse_version} >= 1500 %license LICENSE -%else -%doc LICENSE -%endif %doc README.md %{_bindir}/linphone %{_bindir}/linphone-tester %{_datadir}/linphone/ %{_datadir}/applications/linphone.desktop %{_datadir}/icons/hicolor/*/apps/linphone.* -%if 0%{?suse_version} >= 1500 %dir %{_datadir}/metainfo/ %{_datadir}/metainfo/linphone.appdata.xml -%else -%dir %{_datadir}/appdata/ -%{_datadir}/appdata/linphone.appdata.xml -%endif %changelog ++++++ linphoneqt-fix-qt-5.10.patch -> linphoneqt-fix-qt-5.11.patch ++++++ --- /work/SRC/openSUSE:Factory/linphoneqt/linphoneqt-fix-qt-5.10.patch 2018-03-09 10:46:38.754570293 +0100 +++ /work/SRC/openSUSE:Factory/.linphoneqt.new/linphoneqt-fix-qt-5.11.patch 2018-08-03 12:40:05.739818936 +0200 @@ -1,3 +1,122 @@ +--- a/resources.qrc ++++ b/resources.qrc +@@ -388,6 +388,7 @@ + <file>ui/views/App/Calls/IncomingCall.qml</file> + <file>ui/views/App/Calls/OutgoingCall.qml</file> + <file>ui/views/App/Calls/ZrtpTokenAuthentication.qml</file> ++ <file>ui/views/App/Main/+5.9/MainWindowMenuBar.qml</file> + <file>ui/views/App/Main/Assistant/ActivateLinphoneSipAccountWithEmail.qml</file> + <file>ui/views/App/Main/Assistant/ActivateLinphoneSipAccountWithPhoneNumber.qml</file> + <file>ui/views/App/Main/Assistant/AssistantAbstractView.qml</file> +--- a/src/app/App.cpp ++++ b/src/app/App.cpp +@@ -23,6 +23,7 @@ + #include <QCommandLineParser> + #include <QDir> + #include <QFileSelector> ++#include <QLibraryInfo> + #include <QMenu> + #include <QQmlFileSelector> + #include <QSystemTrayIcon> +@@ -176,8 +177,14 @@ void App::initContentApp () { + // Init engine content. + mEngine = new QQmlApplicationEngine(); + +- // Provide `+custom` folders for custom components. +- (new QQmlFileSelector(mEngine, mEngine))->setExtraSelectors(QStringList("custom")); ++ // Provide `+custom` folders for custom components and `5.9` for old components. ++ { ++ QStringList selectors("custom"); ++ const QVersionNumber &version = QLibraryInfo::version(); ++ if (version.majorVersion() == 5 && version.minorVersion() == 9) ++ selectors.push_back("5.9"); ++ (new QQmlFileSelector(mEngine, mEngine))->setExtraSelectors(selectors); ++ } + qInfo() << QStringLiteral("Activated selectors:") << QQmlFileSelector::get(mEngine)->selector()->allSelectors(); + + // Set modules paths. +--- a/ui/modules/Common/Form/Buttons/ExclusiveButtons.spec.qml ++++ b/ui/modules/Common/Form/Buttons/ExclusiveButtons.spec.qml +@@ -27,13 +27,6 @@ Item { + + texts: ['A', 'B', 'C', 'D', 'E'] + } +- +- SignalSpy { +- id: spy +- +- signalName: 'clicked' +- target: exclusiveButtons +- } + } + } + +@@ -54,24 +47,32 @@ Item { + + function test_signals (data) { + var container = buildExclusiveButtons(data.defaultSelectedButton) +- var spy = container.data[1] + var exclusiveButtons = container.data[0] +- + var buttonToClick = data.buttonToClick + + // Test default selected button. + compare(exclusiveButtons.selectedButton, data.defaultSelectedButton) + ++ var button = -1 ++ var count = 0 ++ exclusiveButtons.clicked.connect(function (_button) { ++ button = _button; ++ count += 1 ++ }) ++ + // Test a click to change the selected button. + mouseClick(exclusiveButtons.data[buttonToClick]) +- spy.wait(100) +- compare(spy.signalArguments[0][0], buttonToClick) ++ ++ compare(button, buttonToClick) + compare(exclusiveButtons.selectedButton, buttonToClick) ++ compare(count, 1) + + // No signal must be emitted. + mouseClick(exclusiveButtons.data[buttonToClick]) +- wait(100) +- compare(spy.count, 1) ++ ++ compare(button, buttonToClick) ++ compare(exclusiveButtons.selectedButton, buttonToClick) ++ compare(count, 1) + + container.destroy() + } +--- a/ui/modules/Common/Form/ComboBox.qml ++++ b/ui/modules/Common/Form/ComboBox.qml +@@ -1,5 +1,5 @@ + import QtQuick 2.7 +-import QtQuick.Controls 2.1 ++import QtQuick.Controls 2.1 as Controls + import QtQuick.Layouts 1.3 + + import Common 1.0 +@@ -11,7 +11,7 @@ import 'ComboBox.js' as Logic + + // ============================================================================= + +-ComboBox { ++Controls.ComboBox { + id: comboBox + + // --------------------------------------------------------------------------- +@@ -83,7 +83,7 @@ ComboBox { + + // --------------------------------------------------------------------------- + +- delegate: ItemDelegate { ++ delegate: Controls.ItemDelegate { + id: item + + readonly property var flattenedModel: comboBox.textRole.length && --- a/ui/modules/Common/Form/Tab/TabButton.qml +++ b/ui/modules/Common/Form/Tab/TabButton.qml @@ -12,8 +12,8 @@ Controls.TabButton { @@ -23,6 +142,163 @@ : '' } iconSize: button.iconSize +--- a/ui/modules/Linphone/Calls/Calls.qml ++++ b/ui/modules/Linphone/Calls/Calls.qml +@@ -93,9 +93,7 @@ ListView { + // --------------------------------------------------------------------------- + + header: ConferenceControls { +- readonly property bool isSelected: calls.currentIndex === -1 && +- calls._selectedCall == null && +- visible ++ readonly property bool isSelected: calls.currentIndex === -1 && calls._selectedCall == null + + height: visible ? ConferenceControlsStyle.height : 0 + width: parent.width +--- a/ui/views/App/Main/+5.9/MainWindowMenuBar.qml ++++ b/ui/views/App/Main/+5.9/MainWindowMenuBar.qml +@@ -0,0 +1,79 @@ ++import QtQuick 2.7 ++ ++// Experimental. ++import Qt.labs.platform 1.0 ++ ++import Linphone 1.0 ++ ++// ============================================================================= ++ ++Item { ++ function open () { ++ menu.open() ++ } ++ ++ // --------------------------------------------------------------------------- ++ // Shortcuts. ++ // --------------------------------------------------------------------------- ++ ++ Shortcut { ++ id: settingsShortcut ++ ++ sequence: 'Ctrl+P' ++ ++ onActivated: App.smartShowWindow(App.getSettingsWindow()) ++ } ++ ++ Shortcut { ++ id: quitShortcut ++ ++ context: Qt.ApplicationShortcut ++ sequence: StandardKey.Quit ++ ++ onActivated: Qt.quit() ++ } ++ ++ Shortcut { ++ id: aboutShortcut ++ ++ sequence: StandardKey.HelpContents ++ ++ onActivated: { ++ window.detachVirtualWindow() ++ window.attachVirtualWindow(Qt.resolvedUrl('Dialogs/About.qml')) ++ } ++ } ++ ++ // --------------------------------------------------------------------------- ++ // Menu. ++ // --------------------------------------------------------------------------- ++ ++ MenuBar { ++ Menu { ++ id: menu ++ ++ MenuItem { ++ role: MenuItem.PreferencesRole ++ shortcut: settingsShortcut.sequence ++ text: qsTr('settings') ++ ++ onTriggered: settingsShortcut.onActivated() ++ } ++ ++ MenuItem { ++ role: MenuItem.AboutRole ++ text: qsTr('about') ++ ++ onTriggered: aboutShortcut.onActivated() ++ } ++ ++ MenuItem { ++ role: MenuItem.QuitRole ++ shortcut: quitShortcut.sequence ++ text: qsTr('quit') ++ ++ onTriggered: quitShortcut.onActivated() ++ } ++ } ++ } ++} +--- a/ui/views/App/Main/MainWindowMenuBar.qml ++++ b/ui/views/App/Main/MainWindowMenuBar.qml +@@ -1,7 +1,5 @@ + import QtQuick 2.7 +- +-// Experimental. +-import Qt.labs.platform 1.0 ++import QtQuick.Controls 2.3 + + import Linphone 1.0 + +@@ -48,32 +46,25 @@ Item { + // Menu. + // --------------------------------------------------------------------------- + +- MenuBar { +- Menu { +- id: menu +- +- MenuItem { +- role: MenuItem.PreferencesRole +- shortcut: settingsShortcut.sequence +- text: qsTr('settings') +- +- onTriggered: settingsShortcut.onActivated() +- } +- +- MenuItem { +- role: MenuItem.AboutRole +- text: qsTr('about') +- +- onTriggered: aboutShortcut.onActivated() +- } +- +- MenuItem { +- role: MenuItem.QuitRole +- shortcut: quitShortcut.sequence +- text: qsTr('quit') ++ Menu { ++ id: menu ++ ++ MenuItem { ++ text: qsTr('settings') ++ ++ onTriggered: settingsShortcut.onActivated() ++ } ++ ++ MenuItem { ++ text: qsTr('about') ++ ++ onTriggered: aboutShortcut.onActivated() ++ } ++ ++ MenuItem { ++ text: qsTr('quit') + +- onTriggered: quitShortcut.onActivated() +- } ++ onTriggered: quitShortcut.onActivated() + } + } + } --- a/ui/views/App/Settings/SettingsWindow.qml +++ b/ui/views/App/Settings/SettingsWindow.qml @@ -48,43 +48,43 @@ ApplicationWindow {