Date: Friday, September 4, 2015 @ 17:01:51 Author: arojas Revision: 139210
archrelease: copy trunk to community-i686, community-x86_64 Added: owncloud-client/repos/community-i686/PKGBUILD (from rev 139209, owncloud-client/trunk/PKGBUILD) owncloud-client/repos/community-i686/fix-tray-icon.patch (from rev 139209, owncloud-client/trunk/fix-tray-icon.patch) owncloud-client/repos/community-i686/owncloud-client.install (from rev 139209, owncloud-client/trunk/owncloud-client.install) owncloud-client/repos/community-x86_64/PKGBUILD (from rev 139209, owncloud-client/trunk/PKGBUILD) owncloud-client/repos/community-x86_64/fix-tray-icon.patch (from rev 139209, owncloud-client/trunk/fix-tray-icon.patch) owncloud-client/repos/community-x86_64/owncloud-client.install (from rev 139209, owncloud-client/trunk/owncloud-client.install) Deleted: owncloud-client/repos/community-i686/PKGBUILD owncloud-client/repos/community-i686/owncloud-client.install owncloud-client/repos/community-x86_64/PKGBUILD owncloud-client/repos/community-x86_64/owncloud-client.install ------------------------------------------+ /PKGBUILD | 96 ++++++++++++++++++++ /owncloud-client.install | 22 ++++ community-i686/PKGBUILD | 43 --------- community-i686/fix-tray-icon.patch | 134 +++++++++++++++++++++++++++++ community-i686/owncloud-client.install | 11 -- community-x86_64/PKGBUILD | 43 --------- community-x86_64/fix-tray-icon.patch | 134 +++++++++++++++++++++++++++++ community-x86_64/owncloud-client.install | 11 -- 8 files changed, 386 insertions(+), 108 deletions(-) Deleted: community-i686/PKGBUILD =================================================================== --- community-i686/PKGBUILD 2015-09-04 15:01:09 UTC (rev 139209) +++ community-i686/PKGBUILD 2015-09-04 15:01:51 UTC (rev 139210) @@ -1,43 +0,0 @@ -# $Id$ -# Maintainer: Antonio Rojas <aro...@archlinux.org> -# Contributor: Kuba Serafinowski <zizzfizzix(at)gmail(dot)com> - -_name=owncloudclient -pkgname=owncloud-client -pkgver=2.0.1 -pkgrel=1 -pkgdesc='ownCloud client based on mirall' -arch=(i686 x86_64) -url='http://owncloud.org/' -license=(GPL2) -depends=(qtkeychain-qt5 qt5-webkit hicolor-icon-theme) -makedepends=(cmake python-sphinx qt5-tools doxygen) -optdepends=('python2-nautilus: integration with Nautilus') -install=$pkgname.install -backup=('etc/ownCloud/sync-exclude.lst') -source=("https://download.owncloud.com/desktop/stable/$_name-$pkgver.tar.xz"{,.asc}) -md5sums=('e87a01e464f005cf95cde83f46cf318d' - 'SKIP') -validpgpkeys=('F05F7DD7953A07DF36579DAA498C45EBE94E7B37') - -prepare() { - mkdir -p build -} - -build() { - cd build - - cmake ../$_name-$pkgver \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_SYSCONFDIR=/etc/$pkgname \ - - make - make doc-man -} - -package() { - cd build - make DESTDIR="$pkgdir" install -} Copied: owncloud-client/repos/community-i686/PKGBUILD (from rev 139209, owncloud-client/trunk/PKGBUILD) =================================================================== --- community-i686/PKGBUILD (rev 0) +++ community-i686/PKGBUILD 2015-09-04 15:01:51 UTC (rev 139210) @@ -0,0 +1,48 @@ +# $Id$ +# Maintainer: Antonio Rojas <aro...@archlinux.org> +# Contributor: Kuba Serafinowski <zizzfizzix(at)gmail(dot)com> + +_name=owncloudclient +pkgname=owncloud-client +pkgver=2.0.1 +pkgrel=2 +pkgdesc='ownCloud client based on mirall' +arch=(i686 x86_64) +url='http://owncloud.org/' +license=(GPL2) +depends=(qtkeychain-qt5 qt5-webkit hicolor-icon-theme xdg-utils) +makedepends=(cmake python-sphinx qt5-tools doxygen) +optdepends=('python2-nautilus: integration with Nautilus') +install=$pkgname.install +backup=('etc/ownCloud/sync-exclude.lst') +source=("https://download.owncloud.com/desktop/stable/$_name-$pkgver.tar.xz"{,.asc} fix-tray-icon.patch) +md5sums=('e87a01e464f005cf95cde83f46cf318d' + 'SKIP' + '12f59eb804822ec50045a46ed8586029') +validpgpkeys=('F05F7DD7953A07DF36579DAA498C45EBE94E7B37') + +prepare() { + mkdir -p build + +# Fix tray icon in Plasma 5 + cd $_name-$pkgver + patch -p1 -i ../fix-tray-icon.patch +} + +build() { + cd build + + cmake ../$_name-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_SYSCONFDIR=/etc/$pkgname \ + + make + make doc-man +} + +package() { + cd build + make DESTDIR="$pkgdir" install +} Copied: owncloud-client/repos/community-i686/fix-tray-icon.patch (from rev 139209, owncloud-client/trunk/fix-tray-icon.patch) =================================================================== --- community-i686/fix-tray-icon.patch (rev 0) +++ community-i686/fix-tray-icon.patch 2015-09-04 15:01:51 UTC (rev 139210) @@ -0,0 +1,134 @@ +diff -ur owncloudclient-2.0.1.orig/src/gui/application.cpp owncloudclient-2.0.1/src/gui/application.cpp +--- owncloudclient-2.0.1.orig/src/gui/application.cpp 2015-09-01 15:50:21.000000000 +0200 ++++ owncloudclient-2.0.1/src/gui/application.cpp 2015-09-04 16:50:53.333513460 +0200 +@@ -229,7 +229,7 @@ + + if (list.isEmpty()) { + // let gui open the setup wizard +- _gui->slotOpenSettingsDialog( true ); ++ _gui->slotOpenSettingsDialog(); + + _checkConnectionTimer.stop(); // don't popup the wizard on interval; + } +diff -ur owncloudclient-2.0.1.orig/src/gui/owncloudgui.cpp owncloudclient-2.0.1/src/gui/owncloudgui.cpp +--- owncloudclient-2.0.1.orig/src/gui/owncloudgui.cpp 2015-09-01 15:50:21.000000000 +0200 ++++ owncloudclient-2.0.1/src/gui/owncloudgui.cpp 2015-09-04 16:43:29.164278696 +0200 +@@ -56,6 +56,7 @@ + #endif + _logBrowser(0), + _recentActionsMenu(0), ++ _qdbusmenuWorkaround(false), + _folderOpenActionMapper(new QSignalMapper(this)), + _recentItemsMapper(new QSignalMapper(this)), + _app(parent) +@@ -145,16 +146,14 @@ + } + + // This should rather be in application.... or rather in ConfigFile? +-void ownCloudGui::slotOpenSettingsDialog( bool openSettings ) ++void ownCloudGui::slotOpenSettingsDialog() + { + // if account is set up, start the configuration wizard. + if( !AccountManager::instance()->accounts().isEmpty() ) { +- if( openSettings ) { +- if (_settingsDialog.isNull() || !_settingsDialog->isVisible()) { +- slotShowSettings(); +- } else { +- _settingsDialog->close(); +- } ++ if (_settingsDialog.isNull() || !_settingsDialog->isVisible()) { ++ slotShowSettings(); ++ } else { ++ _settingsDialog->close(); + } + } else { + qDebug() << "No configured folders yet, starting setup wizard"; +@@ -164,11 +163,20 @@ + + void ownCloudGui::slotTrayClicked( QSystemTrayIcon::ActivationReason reason ) + { ++ if (_qdbusmenuWorkaround) { ++ static QElapsedTimer last_click; ++ if (last_click.isValid() && last_click.elapsed() < 200) { ++ return; ++ } ++ last_click.start(); ++ } ++ + // A click on the tray icon should only open the status window on Win and + // Linux, not on Mac. They want a menu entry. + #if !defined Q_OS_MAC + if( reason == QSystemTrayIcon::Trigger ) { +- slotOpenSettingsDialog(true); // start settings if config is existing. ++ // Start settings if config is existing. ++ slotOpenSettingsDialog(); + } + #else + // On Mac, if the settings dialog is already visible but hidden +@@ -368,8 +376,10 @@ + } + } + +- + if ( _contextMenu ) { ++ if (_qdbusmenuWorkaround) { ++ _tray->hide(); ++ } + _contextMenu->clear(); + _recentActionsMenu->clear(); + _recentActionsMenu->addAction(tr("None.")); +@@ -380,6 +390,17 @@ + // this must be called only once after creating the context menu, or + // it will trigger a bug in Ubuntu's SNI bridge patch (11.10, 12.04). + _tray->setContextMenu(_contextMenu.data()); ++ ++ // Enables workarounds for bugs introduced in Qt 5.5.0 ++ // In particular QTBUG-47863 #3672 (tray menu fails to update and ++ // becomes unresponsive) and QTBUG-48068 #3722 (click signal is ++ // emitted several times) ++ QObject* platformMenu = reinterpret_cast<QObject*>(_tray->contextMenu()->platformMenu()); ++ if (platformMenu ++ && platformMenu->metaObject()->className() == QLatin1String("QDBusPlatformMenu")) { ++ _qdbusmenuWorkaround = true; ++ qDebug() << "Enabled QDBusPlatformMenu workaround"; ++ } + } + _contextMenu->setTitle(Theme::instance()->appNameGUI() ); + // We must call deleteLater because we might be called from the press in one of the action. +@@ -432,13 +453,9 @@ + } + _contextMenu->addAction(_actionQuit); + +- // Workaround for #3656, Qt 5.5.0 + dbus based tray integration. +-#ifdef Q_OS_LINUX +-#if QT_VERSION >= QT_VERSION_CHECK(5, 5, 0) +- _tray->hide(); +- _tray->show(); +-#endif +-#endif ++ if (_qdbusmenuWorkaround) { ++ _tray->show(); ++ } + } + + +diff -ur owncloudclient-2.0.1.orig/src/gui/owncloudgui.h owncloudclient-2.0.1/src/gui/owncloudgui.h +--- owncloudclient-2.0.1.orig/src/gui/owncloudgui.h 2015-09-01 15:50:21.000000000 +0200 ++++ owncloudclient-2.0.1/src/gui/owncloudgui.h 2015-09-04 16:43:55.801097964 +0200 +@@ -72,7 +72,7 @@ + void slotTrayClicked( QSystemTrayIcon::ActivationReason reason ); + void slotToggleLogBrowser(); + void slotOpenOwnCloud(); +- void slotOpenSettingsDialog( bool openSettings ); ++ void slotOpenSettingsDialog(); + void slotHelp(); + void slotOpenPath(const QString& path); + void slotAccountStateChanged(); +@@ -98,6 +98,7 @@ + QScopedPointer<QMenu> _contextMenu; + QMenu *_recentActionsMenu; + QVector<QMenu*> _accountMenus; ++ bool _qdbusmenuWorkaround; + + QAction *_actionLogin; + QAction *_actionLogout; Deleted: community-i686/owncloud-client.install =================================================================== --- community-i686/owncloud-client.install 2015-09-04 15:01:09 UTC (rev 139209) +++ community-i686/owncloud-client.install 2015-09-04 15:01:51 UTC (rev 139210) @@ -1,11 +0,0 @@ -post_install() { - xdg-icon-resource forceupdate --theme hicolor > /dev/null -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} Copied: owncloud-client/repos/community-i686/owncloud-client.install (from rev 139209, owncloud-client/trunk/owncloud-client.install) =================================================================== --- community-i686/owncloud-client.install (rev 0) +++ community-i686/owncloud-client.install 2015-09-04 15:01:51 UTC (rev 139210) @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor > /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} Deleted: community-x86_64/PKGBUILD =================================================================== --- community-x86_64/PKGBUILD 2015-09-04 15:01:09 UTC (rev 139209) +++ community-x86_64/PKGBUILD 2015-09-04 15:01:51 UTC (rev 139210) @@ -1,43 +0,0 @@ -# $Id$ -# Maintainer: Antonio Rojas <aro...@archlinux.org> -# Contributor: Kuba Serafinowski <zizzfizzix(at)gmail(dot)com> - -_name=owncloudclient -pkgname=owncloud-client -pkgver=2.0.1 -pkgrel=1 -pkgdesc='ownCloud client based on mirall' -arch=(i686 x86_64) -url='http://owncloud.org/' -license=(GPL2) -depends=(qtkeychain-qt5 qt5-webkit hicolor-icon-theme) -makedepends=(cmake python-sphinx qt5-tools doxygen) -optdepends=('python2-nautilus: integration with Nautilus') -install=$pkgname.install -backup=('etc/ownCloud/sync-exclude.lst') -source=("https://download.owncloud.com/desktop/stable/$_name-$pkgver.tar.xz"{,.asc}) -md5sums=('e87a01e464f005cf95cde83f46cf318d' - 'SKIP') -validpgpkeys=('F05F7DD7953A07DF36579DAA498C45EBE94E7B37') - -prepare() { - mkdir -p build -} - -build() { - cd build - - cmake ../$_name-$pkgver \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_SYSCONFDIR=/etc/$pkgname \ - - make - make doc-man -} - -package() { - cd build - make DESTDIR="$pkgdir" install -} Copied: owncloud-client/repos/community-x86_64/PKGBUILD (from rev 139209, owncloud-client/trunk/PKGBUILD) =================================================================== --- community-x86_64/PKGBUILD (rev 0) +++ community-x86_64/PKGBUILD 2015-09-04 15:01:51 UTC (rev 139210) @@ -0,0 +1,48 @@ +# $Id$ +# Maintainer: Antonio Rojas <aro...@archlinux.org> +# Contributor: Kuba Serafinowski <zizzfizzix(at)gmail(dot)com> + +_name=owncloudclient +pkgname=owncloud-client +pkgver=2.0.1 +pkgrel=2 +pkgdesc='ownCloud client based on mirall' +arch=(i686 x86_64) +url='http://owncloud.org/' +license=(GPL2) +depends=(qtkeychain-qt5 qt5-webkit hicolor-icon-theme xdg-utils) +makedepends=(cmake python-sphinx qt5-tools doxygen) +optdepends=('python2-nautilus: integration with Nautilus') +install=$pkgname.install +backup=('etc/ownCloud/sync-exclude.lst') +source=("https://download.owncloud.com/desktop/stable/$_name-$pkgver.tar.xz"{,.asc} fix-tray-icon.patch) +md5sums=('e87a01e464f005cf95cde83f46cf318d' + 'SKIP' + '12f59eb804822ec50045a46ed8586029') +validpgpkeys=('F05F7DD7953A07DF36579DAA498C45EBE94E7B37') + +prepare() { + mkdir -p build + +# Fix tray icon in Plasma 5 + cd $_name-$pkgver + patch -p1 -i ../fix-tray-icon.patch +} + +build() { + cd build + + cmake ../$_name-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_SYSCONFDIR=/etc/$pkgname \ + + make + make doc-man +} + +package() { + cd build + make DESTDIR="$pkgdir" install +} Copied: owncloud-client/repos/community-x86_64/fix-tray-icon.patch (from rev 139209, owncloud-client/trunk/fix-tray-icon.patch) =================================================================== --- community-x86_64/fix-tray-icon.patch (rev 0) +++ community-x86_64/fix-tray-icon.patch 2015-09-04 15:01:51 UTC (rev 139210) @@ -0,0 +1,134 @@ +diff -ur owncloudclient-2.0.1.orig/src/gui/application.cpp owncloudclient-2.0.1/src/gui/application.cpp +--- owncloudclient-2.0.1.orig/src/gui/application.cpp 2015-09-01 15:50:21.000000000 +0200 ++++ owncloudclient-2.0.1/src/gui/application.cpp 2015-09-04 16:50:53.333513460 +0200 +@@ -229,7 +229,7 @@ + + if (list.isEmpty()) { + // let gui open the setup wizard +- _gui->slotOpenSettingsDialog( true ); ++ _gui->slotOpenSettingsDialog(); + + _checkConnectionTimer.stop(); // don't popup the wizard on interval; + } +diff -ur owncloudclient-2.0.1.orig/src/gui/owncloudgui.cpp owncloudclient-2.0.1/src/gui/owncloudgui.cpp +--- owncloudclient-2.0.1.orig/src/gui/owncloudgui.cpp 2015-09-01 15:50:21.000000000 +0200 ++++ owncloudclient-2.0.1/src/gui/owncloudgui.cpp 2015-09-04 16:43:29.164278696 +0200 +@@ -56,6 +56,7 @@ + #endif + _logBrowser(0), + _recentActionsMenu(0), ++ _qdbusmenuWorkaround(false), + _folderOpenActionMapper(new QSignalMapper(this)), + _recentItemsMapper(new QSignalMapper(this)), + _app(parent) +@@ -145,16 +146,14 @@ + } + + // This should rather be in application.... or rather in ConfigFile? +-void ownCloudGui::slotOpenSettingsDialog( bool openSettings ) ++void ownCloudGui::slotOpenSettingsDialog() + { + // if account is set up, start the configuration wizard. + if( !AccountManager::instance()->accounts().isEmpty() ) { +- if( openSettings ) { +- if (_settingsDialog.isNull() || !_settingsDialog->isVisible()) { +- slotShowSettings(); +- } else { +- _settingsDialog->close(); +- } ++ if (_settingsDialog.isNull() || !_settingsDialog->isVisible()) { ++ slotShowSettings(); ++ } else { ++ _settingsDialog->close(); + } + } else { + qDebug() << "No configured folders yet, starting setup wizard"; +@@ -164,11 +163,20 @@ + + void ownCloudGui::slotTrayClicked( QSystemTrayIcon::ActivationReason reason ) + { ++ if (_qdbusmenuWorkaround) { ++ static QElapsedTimer last_click; ++ if (last_click.isValid() && last_click.elapsed() < 200) { ++ return; ++ } ++ last_click.start(); ++ } ++ + // A click on the tray icon should only open the status window on Win and + // Linux, not on Mac. They want a menu entry. + #if !defined Q_OS_MAC + if( reason == QSystemTrayIcon::Trigger ) { +- slotOpenSettingsDialog(true); // start settings if config is existing. ++ // Start settings if config is existing. ++ slotOpenSettingsDialog(); + } + #else + // On Mac, if the settings dialog is already visible but hidden +@@ -368,8 +376,10 @@ + } + } + +- + if ( _contextMenu ) { ++ if (_qdbusmenuWorkaround) { ++ _tray->hide(); ++ } + _contextMenu->clear(); + _recentActionsMenu->clear(); + _recentActionsMenu->addAction(tr("None.")); +@@ -380,6 +390,17 @@ + // this must be called only once after creating the context menu, or + // it will trigger a bug in Ubuntu's SNI bridge patch (11.10, 12.04). + _tray->setContextMenu(_contextMenu.data()); ++ ++ // Enables workarounds for bugs introduced in Qt 5.5.0 ++ // In particular QTBUG-47863 #3672 (tray menu fails to update and ++ // becomes unresponsive) and QTBUG-48068 #3722 (click signal is ++ // emitted several times) ++ QObject* platformMenu = reinterpret_cast<QObject*>(_tray->contextMenu()->platformMenu()); ++ if (platformMenu ++ && platformMenu->metaObject()->className() == QLatin1String("QDBusPlatformMenu")) { ++ _qdbusmenuWorkaround = true; ++ qDebug() << "Enabled QDBusPlatformMenu workaround"; ++ } + } + _contextMenu->setTitle(Theme::instance()->appNameGUI() ); + // We must call deleteLater because we might be called from the press in one of the action. +@@ -432,13 +453,9 @@ + } + _contextMenu->addAction(_actionQuit); + +- // Workaround for #3656, Qt 5.5.0 + dbus based tray integration. +-#ifdef Q_OS_LINUX +-#if QT_VERSION >= QT_VERSION_CHECK(5, 5, 0) +- _tray->hide(); +- _tray->show(); +-#endif +-#endif ++ if (_qdbusmenuWorkaround) { ++ _tray->show(); ++ } + } + + +diff -ur owncloudclient-2.0.1.orig/src/gui/owncloudgui.h owncloudclient-2.0.1/src/gui/owncloudgui.h +--- owncloudclient-2.0.1.orig/src/gui/owncloudgui.h 2015-09-01 15:50:21.000000000 +0200 ++++ owncloudclient-2.0.1/src/gui/owncloudgui.h 2015-09-04 16:43:55.801097964 +0200 +@@ -72,7 +72,7 @@ + void slotTrayClicked( QSystemTrayIcon::ActivationReason reason ); + void slotToggleLogBrowser(); + void slotOpenOwnCloud(); +- void slotOpenSettingsDialog( bool openSettings ); ++ void slotOpenSettingsDialog(); + void slotHelp(); + void slotOpenPath(const QString& path); + void slotAccountStateChanged(); +@@ -98,6 +98,7 @@ + QScopedPointer<QMenu> _contextMenu; + QMenu *_recentActionsMenu; + QVector<QMenu*> _accountMenus; ++ bool _qdbusmenuWorkaround; + + QAction *_actionLogin; + QAction *_actionLogout; Deleted: community-x86_64/owncloud-client.install =================================================================== --- community-x86_64/owncloud-client.install 2015-09-04 15:01:09 UTC (rev 139209) +++ community-x86_64/owncloud-client.install 2015-09-04 15:01:51 UTC (rev 139210) @@ -1,11 +0,0 @@ -post_install() { - xdg-icon-resource forceupdate --theme hicolor > /dev/null -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} Copied: owncloud-client/repos/community-x86_64/owncloud-client.install (from rev 139209, owncloud-client/trunk/owncloud-client.install) =================================================================== --- community-x86_64/owncloud-client.install (rev 0) +++ community-x86_64/owncloud-client.install 2015-09-04 15:01:51 UTC (rev 139210) @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor > /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +}