Accepting request 101761 from KDE:Distro:Factory
forward to factory OBS-URL: https://build.opensuse.org/request/show/101761 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ktorrent?expand=0&rev=85
This commit is contained in:
parent
3c89a098b1
commit
597e0de283
174
ktorrent-bug287309.patch
Normal file
174
ktorrent-bug287309.patch
Normal file
@ -0,0 +1,174 @@
|
||||
commit 6d4a6ae51692966862ccb20d17cb217717519d40
|
||||
Author: Joris Guisson <joris.guisson@gmail.com>
|
||||
Date: Wed Nov 23 20:17:08 2011 +0100
|
||||
|
||||
Use dbus to show ktorrent window from plasma applet. This removes the dependency on libtaskmanager.
|
||||
|
||||
BUG: 287309
|
||||
|
||||
diff --git a/plasma/applet/CMakeLists.txt b/plasma/applet/CMakeLists.txt
|
||||
index 3a72241..4307cf2 100644
|
||||
--- a/plasma/applet/CMakeLists.txt
|
||||
+++ b/plasma/applet/CMakeLists.txt
|
||||
@@ -5,25 +5,15 @@ if(NOT QT_VERSION_OK)
|
||||
|
||||
else(NOT QT_VERSION_OK)
|
||||
|
||||
- set(TASKMANAGER_FOUND FALSE)
|
||||
- FIND_PATH(TASKMANAGER_INCLUDE_DIR NAMES taskmanager.h PATHS ${KDE4_INCLUDE_DIR}/taskmanager ${INCLUDE_INSTALL_DIR}/taskmanager.h)
|
||||
- FIND_LIBRARY(TASKMANAGER_LIBRARY NAMES taskmanager PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR})
|
||||
-
|
||||
- if(TASKMANAGER_INCLUDE_DIR AND TASKMANAGER_LIBRARY)
|
||||
- set(TASKMANAGER_FOUND TRUE)
|
||||
- message(STATUS "Found libtaskmanager: ${TASKMANAGER_LIBRARY} ")
|
||||
- include_directories(${TASKMANAGER_INCLUDE_DIR})
|
||||
- set(ktapplet_SRCS applet.cpp chunkbar.cpp fadingitem.cpp fadingnavigationwidget.cpp)
|
||||
-
|
||||
- kde4_add_ui_files(ktapplet_SRCS appletconfig.ui)
|
||||
-
|
||||
- kde4_add_plugin(plasma_applet_ktorrent ${ktapplet_SRCS})
|
||||
- target_link_libraries(plasma_applet_ktorrent ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS} ${TASKMANAGER_LIBRARY} ${LIBKTORRENT_LIBRARIES} ktcore)
|
||||
-
|
||||
- install(TARGETS plasma_applet_ktorrent DESTINATION ${PLUGIN_INSTALL_DIR})
|
||||
- install(FILES plasma-applet-ktorrent.desktop DESTINATION ${SERVICES_INSTALL_DIR})
|
||||
- endif(TASKMANAGER_INCLUDE_DIR AND TASKMANAGER_LIBRARY)
|
||||
-
|
||||
- macro_log_feature(TASKMANAGER_FOUND "libtaskmanager" "libtaskmanager library and header files" "http://www.kde.org/" FALSE "" "libtaskmanager is needed for KTorrent Plasmoid")
|
||||
+
|
||||
+ set(ktapplet_SRCS applet.cpp chunkbar.cpp fadingitem.cpp fadingnavigationwidget.cpp)
|
||||
+
|
||||
+ kde4_add_ui_files(ktapplet_SRCS appletconfig.ui)
|
||||
+
|
||||
+ kde4_add_plugin(plasma_applet_ktorrent ${ktapplet_SRCS})
|
||||
+ target_link_libraries(plasma_applet_ktorrent ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS} ${LIBKTORRENT_LIBRARIES} ktcore)
|
||||
+
|
||||
+ install(TARGETS plasma_applet_ktorrent DESTINATION ${PLUGIN_INSTALL_DIR})
|
||||
+ install(FILES plasma-applet-ktorrent.desktop DESTINATION ${SERVICES_INSTALL_DIR})
|
||||
|
||||
endif(NOT QT_VERSION_OK)
|
||||
diff --git a/plasma/applet/applet.cpp b/plasma/applet/applet.cpp
|
||||
index 59e7191..bf09479 100644
|
||||
--- a/plasma/applet/applet.cpp
|
||||
+++ b/plasma/applet/applet.cpp
|
||||
@@ -21,6 +21,9 @@
|
||||
#include "applet.h"
|
||||
#include <QFile>
|
||||
#include <QGraphicsLinearLayout>
|
||||
+#include <QDBusConnection>
|
||||
+#include <QDBusConnectionInterface>
|
||||
+#include <QDBusMessage>
|
||||
#include <KConfigDialog>
|
||||
#include <KLocale>
|
||||
#include <KRun>
|
||||
@@ -31,12 +34,11 @@
|
||||
#include <Plasma/IconWidget>
|
||||
#endif
|
||||
#include <Plasma/Label>
|
||||
-#include <taskmanager/taskmanager.h>
|
||||
-#include <taskmanager/task.h>
|
||||
#include <util/functions.h>
|
||||
#include "chunkbar.h"
|
||||
#include "fadingnavigationwidget.h"
|
||||
|
||||
+
|
||||
using namespace bt;
|
||||
|
||||
namespace ktplasma
|
||||
@@ -174,7 +176,8 @@ namespace ktplasma
|
||||
}
|
||||
}
|
||||
|
||||
- void Applet::updateNavigation() {
|
||||
+ void Applet::updateNavigation()
|
||||
+ {
|
||||
navigation->setEnabled(connected_to_app && !sources.empty()
|
||||
&& (sources.count() > 1 || !sources.contains(current_source)));
|
||||
}
|
||||
@@ -193,12 +196,14 @@ namespace ktplasma
|
||||
}
|
||||
}
|
||||
|
||||
- void Applet::updateSources() {
|
||||
+ void Applet::updateSources()
|
||||
+ {
|
||||
sources = engine->sources();
|
||||
sources.removeOne("core");
|
||||
}
|
||||
|
||||
- void Applet::setSource(QString source) {
|
||||
+ void Applet::setSource(QString source)
|
||||
+ {
|
||||
if (!current_source.isEmpty())
|
||||
engine->disconnectSource(current_source,this);
|
||||
clearData();
|
||||
@@ -340,20 +345,39 @@ namespace ktplasma
|
||||
|
||||
void Applet::iconClicked()
|
||||
{
|
||||
- TaskManager::TaskDict tasks = TaskManager::TaskManager::self()->tasks();
|
||||
- for (TaskManager::TaskDict::iterator i = tasks.begin();i != tasks.end();i ++)
|
||||
+ QDBusConnection session_bus = QDBusConnection::sessionBus();
|
||||
+ QDBusConnectionInterface* dbus_service = session_bus.interface();
|
||||
+ if (!session_bus.isConnected() || !dbus_service || !dbus_service->isServiceRegistered("org.ktorrent.ktorrent"))
|
||||
{
|
||||
- if (i.value()->className() == "ktorrent")
|
||||
- {
|
||||
- KWindowSystem::activateWindow(i.key());
|
||||
- return;
|
||||
- }
|
||||
+ // can't find the window, try launching it
|
||||
+ KUrl::List empty;
|
||||
+ KRun::run("ktorrent", empty, 0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ QDBusMessage msg = QDBusMessage::createMethodCall("org.ktorrent.ktorrent", "/ktorrent/MainWindow_1", "org.kde.KMainWindow", "winId");
|
||||
+ QDBusPendingCall call = session_bus.asyncCall(msg, 5000);
|
||||
+ QDBusPendingCallWatcher* watcher = new QDBusPendingCallWatcher(call ,this);
|
||||
+ connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, SLOT(dbusCallFinished(QDBusPendingCallWatcher*)));
|
||||
}
|
||||
-
|
||||
- // can't find the window, try launching it
|
||||
- KUrl::List empty;
|
||||
- KRun::run("ktorrent", empty, 0);
|
||||
}
|
||||
+
|
||||
+ void Applet::dbusCallFinished(QDBusPendingCallWatcher* self)
|
||||
+ {
|
||||
+ if (self->isError())
|
||||
+ {
|
||||
+ // call failed, try launching it
|
||||
+ KUrl::List empty;
|
||||
+ KRun::run("ktorrent", empty, 0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ QDBusPendingReply<qlonglong> reply = *self;
|
||||
+ KWindowSystem::activateWindow(reply.value());
|
||||
+ }
|
||||
+ self->deleteLater();
|
||||
+ }
|
||||
+
|
||||
|
||||
void Applet::clearData()
|
||||
{
|
||||
diff --git a/plasma/applet/applet.h b/plasma/applet/applet.h
|
||||
index 29b3265..d396118 100644
|
||||
--- a/plasma/applet/applet.h
|
||||
+++ b/plasma/applet/applet.h
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "fadingnavigationwidget.h"
|
||||
|
||||
class QGraphicsLinearLayout;
|
||||
+class QDBusPendingCallWatcher;
|
||||
|
||||
namespace Plasma
|
||||
{
|
||||
@@ -68,6 +69,7 @@ namespace ktplasma
|
||||
void iconClicked();
|
||||
void selectPrev();
|
||||
void selectNext();
|
||||
+ void dbusCallFinished(QDBusPendingCallWatcher* self);
|
||||
|
||||
private:
|
||||
void updateTorrentCombo();
|
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 19 10:05:58 UTC 2012 - idonmez@suse.com
|
||||
|
||||
- Add patch to fix kde#287309
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 24 20:48:04 UTC 2011 - asterios.dramis@gmail.com
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package ktorrent
|
||||
#
|
||||
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -16,14 +16,13 @@
|
||||
#
|
||||
|
||||
|
||||
|
||||
Name: ktorrent
|
||||
Version: 4.1.3
|
||||
Release: 1
|
||||
License: GPL-2.0+
|
||||
Release: 0
|
||||
Summary: KDE BitTorrent Client
|
||||
Url: http://ktorrent.org/
|
||||
License: GPL-2.0+
|
||||
Group: Productivity/Networking/File-Sharing
|
||||
Url: http://ktorrent.org/
|
||||
Source0: http://ktorrent.org/downloads/%{version}/%{name}-%{version}.tar.bz2
|
||||
# Mimetype icons
|
||||
Source1: icons.tar.bz2
|
||||
@ -35,6 +34,8 @@ Patch0: remove-links.diff
|
||||
Patch1: suse-dht-warning.diff
|
||||
# PATCH-FIX-OPENSUSE initial-preference.diff cmorve69@yahoo.es -- InitialPreference to set it as the default torrent downloader
|
||||
Patch2: initial-preference.diff
|
||||
# PATCH-FIX-UPSTREAM ktorrent-bug287309.patch idoenmez@suse.de -- Fix for kde#287309
|
||||
Patch3: ktorrent-bug287309.patch
|
||||
BuildRequires: ImageMagick
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: kdebase4-workspace-devel
|
||||
@ -69,6 +70,7 @@ for BitTorrent.
|
||||
%patch1
|
||||
%endif
|
||||
%patch2
|
||||
%patch3 -p1
|
||||
tar jxf %{SOURCE1}
|
||||
|
||||
%build
|
||||
|
Loading…
Reference in New Issue
Block a user