fork download
  1. # -*- coding: utf-8 -*-
  2. from PyQt4.QtCore import *
  3. from PyQt4.QtGui import *
  4. from PyKDE4.plasma import Plasma
  5. from PyKDE4 import plasmascript
  6. from PyKDE4.kdecore import *
  7. from PyKDE4.kdeui import *
  8.  
  9. class WebSnippetApplet(plasmascript.Applet):
  10. def __init__(self,parent,args=None):
  11. plasmascript.Applet.__init__(self,parent)
  12.  
  13. def init(self):
  14. self.settings = KConfigSkeleton()
  15. self.settings.url = ""
  16. self.settingsDialogParent = QWidget()
  17.  
  18. self.readSettings()
  19.  
  20. self.setHasConfigurationInterface(True)
  21. self.resize(375, 525)
  22. self.setAspectRatioMode(Plasma.IgnoreAspectRatio)
  23.  
  24. self.layout = QGraphicsLinearLayout(Qt.Horizontal, self.applet)
  25. self.webView = Plasma.WebView(self.applet)
  26. self.webView.setUrl(KUrl(self.settings.url))
  27.  
  28. self.layout.addItem(self.webView)
  29. self.setLayout(self.layout)
  30.  
  31. def readSettings(self):
  32. cg = self.config()
  33. self.settings.url = cg.readEntry("url")
  34.  
  35. def createConfigurationInterface(self):
  36. self.settingsDialog = KConfigDialog(self.settingsDialogParent, "Web Snippet Settings", self.settings)
  37. self.settingsDialog.setButtons( KDialog.ButtonCode(KDialog.Ok | KDialog.Cancel) )
  38.  
  39. page = QWidget()
  40. layout = QHBoxLayout()
  41. self.settings.urlField = KLineEdit()
  42. self.settings.urlField.setClearButtonShown(True)
  43. self.settings.urlField.setMinimumWidth(300)
  44. self.settings.urlField.setText(self.settings.url)
  45.  
  46. layout.addWidget(QLabel("URL:"))
  47. layout.addWidget(self.settings.urlField)
  48.  
  49. page.setLayout(layout)
  50.  
  51. pageItem = self.settingsDialog.addPage(page, self.settings, "General")
  52. pageItem.setIcon(KIcon("applications-internet"))
  53.  
  54. self.connect(self.settingsDialog, SIGNAL("okClicked()"), self.configAccepted)
  55.  
  56. self.settingsDialog.exec_()
  57.  
  58.  
  59. def showConfigurationInterface(self):
  60. self.createConfigurationInterface()
  61.  
  62.  
  63. def configAccepted(self):
  64. cg = self.config()
  65. self.settings.url = self.settings.urlField.userText()
  66. cg.writeEntry("url", self.settings.url)
  67.  
  68. self.webView.setUrl(KUrl(self.settings.url))
  69.  
  70.  
  71.  
  72. def CreateApplet(parent):
  73. return WebSnippetApplet(parent)
Runtime error #stdin #stdout #stderr 0.01s 7848KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Traceback (most recent call last):
  File "prog.py", line 2, in <module>
ImportError: No module named PyQt4.QtCore