PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pyKDE Tray akzeptiert keine Drops



panzi
21-06-2007, 23:10
Egal was ich mach, ich brings net zam das mein Tray-Icon Drops akzeptiert. dragEnterEvent wird aufgerufen und ich sag auch event.accept(True), aber dropEvent wird dann trotzdem nie aufgerufen!

Hat jemand eine Idee was da los sein kann?


#!/usr/bin/env python

import sys

from qt import *
from kdecore import *
from kdeui import *
import subprocess

appName="Get YouTube Video"

class SystemTray(KSystemTray):
def __init__(self):
KSystemTray.__init__(self,None,appName)
self.setAcceptDrops(True)

def dropEvent(self,event):
subprocess.call(['get_yt_vide.py','none',str(event.data('text/plain'))])

def dragEnterEvent(self,event):
event.accept(event.provides('text/plain'))

def closeEvent(self,event):
app.quit()

app = KApplication(['trayicon.py'],appName)
icons = KIconLoader()

systray=SystemTray()
icon=icons.loadIcon('down',KIcon.Small)
systray.setPixmap(icon)
systray.show()

app.exec_loop()

anda_skoa
23-06-2007, 15:37
Vielleicht mußt du zusätzlich auch Drag Move Events accepten.

Ciao,
_

panzi
24-06-2007, 13:43
Vielleicht mußt du zusätzlich auch Drag Move Events accepten.

Ciao,
_

Hab ich auch schon probiert, hat nix genützt. Laut Qt exampel für D'n'D muss man nur das machen, was ich hier geschrieben hab. Aber wahrscheinlich gibt's in der Kombination mit dem Tray noch irgendwas zu beachten. Ich weiß aber nicht was.

anda_skoa
27-06-2007, 14:31
Möglicherweise, Systemtray ist eine Sache für sich :)

Ciao,
_