* Remove triple dot "..." from main menu entries and main menu plugin names.
[enigma2.git] / lib / python / Plugins / SystemPlugins / CrashlogAutoSubmit / plugin.py
index dca75af149cdcae4fd3f07173c813a90bb3f19b2..25639818cdf1f59c53b561c80547e54bd22b8a49 100755 (executable)
@@ -2,13 +2,14 @@ from Plugins.Plugin import PluginDescriptor
 from Components.config import config, getConfigListEntry, ConfigSubsection, ConfigText, ConfigSelection, ConfigYesNo,ConfigText
 from Components.ConfigList import ConfigListScreen
 from Components.ActionMap import ActionMap
 from Components.config import config, getConfigListEntry, ConfigSubsection, ConfigText, ConfigSelection, ConfigYesNo,ConfigText
 from Components.ConfigList import ConfigListScreen
 from Components.ActionMap import ActionMap
-from Components.Label import Label
+from Components.Sources.StaticText import StaticText
 from Components.Pixmap import Pixmap
 from Screens.Screen import Screen
 from Screens.VirtualKeyBoard import VirtualKeyBoard
 from Screens.ChoiceBox import ChoiceBox
 from Screens.MessageBox import MessageBox
 from enigma import ePoint
 from Components.Pixmap import Pixmap
 from Screens.Screen import Screen
 from Screens.VirtualKeyBoard import VirtualKeyBoard
 from Screens.ChoiceBox import ChoiceBox
 from Screens.MessageBox import MessageBox
 from enigma import ePoint
+from Tools import Notifications
 
 import os
 from twisted.mail import smtp, relaymanager
 
 import os
 from twisted.mail import smtp, relaymanager
@@ -22,24 +23,25 @@ config.plugins.crashlogautosubmit.sendlog = ConfigSelection(default = "rename",
 config.plugins.crashlogautosubmit.attachemail = ConfigYesNo(default = False)
 config.plugins.crashlogautosubmit.email = ConfigText(default = "myemail@home.com", fixed_size = False)
 config.plugins.crashlogautosubmit.name = ConfigText(default = "Dreambox User", fixed_size = False)
 config.plugins.crashlogautosubmit.attachemail = ConfigYesNo(default = False)
 config.plugins.crashlogautosubmit.email = ConfigText(default = "myemail@home.com", fixed_size = False)
 config.plugins.crashlogautosubmit.name = ConfigText(default = "Dreambox User", fixed_size = False)
-
+config.plugins.crashlogautosubmit.sendAnonCrashlog = ConfigYesNo(default = True)
+config.plugins.crashlogautosubmit.addNetwork = ConfigYesNo(default = False)
+config.plugins.crashlogautosubmit.addWlan = ConfigYesNo(default = False)
 
 class CrashlogAutoSubmitConfiguration(Screen, ConfigListScreen):
 
        oldMailEntryValue = config.plugins.crashlogautosubmit.sendmail.value
 
        skin = """
 
 class CrashlogAutoSubmitConfiguration(Screen, ConfigListScreen):
 
        oldMailEntryValue = config.plugins.crashlogautosubmit.sendmail.value
 
        skin = """
-               <screen name="CrashlogAutoSubmitConfiguration" position="80,80" size="560,400" title="CrashlogAutoSubmit settings..." >
-                       <widget name="config" zPosition="2" position="5,5" size="550,360" scrollbarMode="showOnDemand" transparent="1" />
-                       <ePixmap pixmap="skin_default/div-h.png" position="0,300" zPosition="10" size="560,2" transparent="1" alphatest="on" />
-                       <widget name="status" position="10,300" zPosition="10" size="540,50" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
-                       <ePixmap pixmap="skin_default/buttons/red.png" position="0,360" zPosition="2" size="140,40" transparent="1" alphatest="on" />
-                       <widget name="closetext" position="0,360" zPosition="10" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
-                       <ePixmap pixmap="skin_default/buttons/green.png" position="140,360" zPosition="2" size="140,40" transparent="1" alphatest="on" />
-                       <widget name="installtext" position="140,360" zPosition="10" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
-                       <widget name="VKeyButton" pixmap="skin_default/buttons/button_yellow.png" position="285,370" zPosition="2" size="15,16" transparent="1" alphatest="on" />
-                       <widget name="VKeyIcon" pixmap="skin_default/vkey_icon.png" position="300,355" zPosition="10" size="60,48" transparent="1" alphatest="on" />
-                       <widget name="HelpWindow" position="175,250" zPosition="1" size="1,1" transparent="1" />
+               <screen name="CrashlogAutoSubmitConfiguration" position="center,center" size="560,440" title="CrashlogAutoSubmit settings" >
+                       <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+                       <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
+                       <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+                       <widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+                       <widget name="config" zPosition="2" position="5,50" size="550,300" scrollbarMode="showOnDemand" transparent="1" />
+                       <ePixmap pixmap="skin_default/div-h.png" position="0,390" zPosition="10" size="560,2" transparent="1" alphatest="on" />
+                       <widget source="status" render="Label" position="10,400" size="540,40" zPosition="10" font="Regular;20" halign="center" valign="center" backgroundColor="#25062748" transparent="1"/>
+                       <widget name="VKeyIcon" pixmap="skin_default/buttons/key_text.png" position="10,420" zPosition="10" size="35,25" transparent="1" alphatest="on" />
+                       <widget name="HelpWindow" pixmap="skin_default/vkey_icon.png" position="160,325" zPosition="1" size="1,1" transparent="1" alphatest="on" />
                </screen>"""
 
        def __init__(self, session):
                </screen>"""
 
        def __init__(self, session):
@@ -50,6 +52,9 @@ class CrashlogAutoSubmitConfiguration(Screen, ConfigListScreen):
                self.addEmailEntry = None
                self.EmailEntry = None
                self.NameEntry = None
                self.addEmailEntry = None
                self.EmailEntry = None
                self.NameEntry = None
+               self.AnonCrashlogEntry = None
+               self.NetworkEntry = None
+               self.WlanEntry = None
                self.msgCrashlogMailer = False
 
                self["shortcuts"] = ActionMap(["ShortcutActions", "SetupActions" ],
                self.msgCrashlogMailer = False
 
                self["shortcuts"] = ActionMap(["ShortcutActions", "SetupActions" ],
@@ -60,23 +65,21 @@ class CrashlogAutoSubmitConfiguration(Screen, ConfigListScreen):
                        "green": self.keySave,
                }, -2)
 
                        "green": self.keySave,
                }, -2)
 
-               self["VirtualKB"] = ActionMap(["ColorActions" ],
+               self["VirtualKB"] = ActionMap(["VirtualKeyboardActions" ],
                {
                {
-                       "yellow": self.KeyYellow,
+                       "showVirtualKeyboard": self.KeyText,
                }, -1)
 
                self.list = []
                ConfigListScreen.__init__(self, self.list,session = self.session)
                self.createSetup()
 
                }, -1)
 
                self.list = []
                ConfigListScreen.__init__(self, self.list,session = self.session)
                self.createSetup()
 
-               self["VKeyButton"] = Pixmap()
+               self["key_red"] = StaticText(_("Close"))
+               self["key_green"] = StaticText(_("Save"))
+               self["status"] = StaticText()
                self["VKeyIcon"] = Pixmap()
                self["VKeyIcon"] = Pixmap()
-               self["closetext"] = Label(_("Close"))
-               self["installtext"] = Label(_("Save"))
-               self["HelpWindow"] = Label()
-               self["status"] = Label()
+               self["HelpWindow"] = Pixmap()
 
 
-               self["VKeyButton"].hide()
                self["VKeyIcon"].hide()
                self["VirtualKB"].setEnabled(False)
                self.onShown.append(self.setWindowTitle)
                self["VKeyIcon"].hide()
                self["VirtualKB"].setEnabled(False)
                self.onShown.append(self.setWindowTitle)
@@ -94,7 +97,7 @@ class CrashlogAutoSubmitConfiguration(Screen, ConfigListScreen):
                ConfigListScreen.keyRight(self)
                self.newConfig()
 
                ConfigListScreen.keyRight(self)
                self.newConfig()
 
-       def KeyYellow(self):
+       def KeyText(self):
                        if self["config"].getCurrent() == self.EmailEntry:
                                self.session.openWithCallback(self.EmailCallback, VirtualKeyBoard, title = (_("Please enter your email address here:")), text = config.plugins.crashlogautosubmit.email.value)
                        if self["config"].getCurrent() == self.NameEntry:
                        if self["config"].getCurrent() == self.EmailEntry:
                                self.session.openWithCallback(self.EmailCallback, VirtualKeyBoard, title = (_("Please enter your email address here:")), text = config.plugins.crashlogautosubmit.email.value)
                        if self["config"].getCurrent() == self.NameEntry:
@@ -117,6 +120,10 @@ class CrashlogAutoSubmitConfiguration(Screen, ConfigListScreen):
                self.addEmailEntry = getConfigListEntry(_("Include your email and name (optional) in the mail?"), config.plugins.crashlogautosubmit.attachemail)
                self.EmailEntry = getConfigListEntry(_("Your email address:"), config.plugins.crashlogautosubmit.email)
                self.NameEntry = getConfigListEntry(_("Your name (optional):"), config.plugins.crashlogautosubmit.name)
                self.addEmailEntry = getConfigListEntry(_("Include your email and name (optional) in the mail?"), config.plugins.crashlogautosubmit.attachemail)
                self.EmailEntry = getConfigListEntry(_("Your email address:"), config.plugins.crashlogautosubmit.email)
                self.NameEntry = getConfigListEntry(_("Your name (optional):"), config.plugins.crashlogautosubmit.name)
+               self.AnonCrashlogEntry = getConfigListEntry(_("Anonymize crashlog?"), config.plugins.crashlogautosubmit.sendAnonCrashlog)
+               self.NetworkEntry = getConfigListEntry(_("Add network configuration?"), config.plugins.crashlogautosubmit.addNetwork)
+               self.WlanEntry = getConfigListEntry(_("Add WLAN configuration?"), config.plugins.crashlogautosubmit.addWlan)
+
                self.list.append( self.MailEntry )
                if config.plugins.crashlogautosubmit.sendmail.value is not "send_never":
                        self.list.append( self.LogEntry )
                self.list.append( self.MailEntry )
                if config.plugins.crashlogautosubmit.sendmail.value is not "send_never":
                        self.list.append( self.LogEntry )
@@ -124,6 +131,9 @@ class CrashlogAutoSubmitConfiguration(Screen, ConfigListScreen):
                        if config.plugins.crashlogautosubmit.attachemail.value is True:
                                self.list.append( self.EmailEntry )
                                self.list.append( self.NameEntry )
                        if config.plugins.crashlogautosubmit.attachemail.value is True:
                                self.list.append( self.EmailEntry )
                                self.list.append( self.NameEntry )
+                       self.list.append( self.AnonCrashlogEntry )
+                       self.list.append( self.NetworkEntry )
+                       self.list.append( self.WlanEntry )
 
                self["config"].list = self.list
                self["config"].l.setList(self.list)
 
                self["config"].list = self.list
                self["config"].l.setList(self.list)
@@ -164,9 +174,17 @@ class CrashlogAutoSubmitConfiguration(Screen, ConfigListScreen):
                        self["status"].setText(_("Optionally enter your name if you want to."))
                        self.enableVKeyIcon()
                        self.showKeypad()
                        self["status"].setText(_("Optionally enter your name if you want to."))
                        self.enableVKeyIcon()
                        self.showKeypad()
+               elif current == self.AnonCrashlogEntry:
+                       self["status"].setText(_("Adds enigma2 settings and dreambox model informations like SN, rev... if enabled."))
+                       self.disableVKeyIcon()
+               elif current == self.NetworkEntry:
+                       self["status"].setText(_("Adds network configuration if enabled."))
+                       self.disableVKeyIcon()
+               elif current == self.WlanEntry:
+                       self["status"].setText(_("Adds wlan configuration if enabled."))
+                       self.disableVKeyIcon()
 
        def enableVKeyIcon(self):
 
        def enableVKeyIcon(self):
-               self["VKeyButton"].show()
                self["VKeyIcon"].show()
                self["VirtualKB"].setEnabled(True)
 
                self["VKeyIcon"].show()
                self["VirtualKB"].setEnabled(True)
 
@@ -179,7 +197,6 @@ class CrashlogAutoSubmitConfiguration(Screen, ConfigListScreen):
                                current[1].help_window.instance.move(ePoint(helpwindowpos[0],helpwindowpos[1]))
 
        def disableVKeyIcon(self):
                                current[1].help_window.instance.move(ePoint(helpwindowpos[0],helpwindowpos[1]))
 
        def disableVKeyIcon(self):
-               self["VKeyButton"].hide()
                self["VKeyIcon"].hide()
                self["VirtualKB"].setEnabled(False)
 
                self["VKeyIcon"].hide()
                self["VirtualKB"].setEnabled(False)
 
@@ -318,7 +335,7 @@ def mxServerFound(mxServer,session):
 
        if len(crashLogFilelist):
                if config.plugins.crashlogautosubmit.sendmail.value == "send":
 
        if len(crashLogFilelist):
                if config.plugins.crashlogautosubmit.sendmail.value == "send":
-                       session.openWithCallback(handleAnswer, ChoiceBox, title=_("Crashlogs found!\nSend them to Dream Multimedia ?"), list = list)
+                       Notifications.AddNotificationWithCallback(handleAnswer, ChoiceBox, title=_("Crashlogs found!\nSend them to Dream Multimedia?"), list = list)
                elif config.plugins.crashlogautosubmit.sendmail.value == "send_always":
                        send_mail()
        else:
                elif config.plugins.crashlogautosubmit.sendmail.value == "send_always":
                        send_mail()
        else:
@@ -374,7 +391,7 @@ def selSetup(menuid, **kwargs):
        if menuid != "system":
                return [ ]
 
        if menuid != "system":
                return [ ]
 
-       return [(_("Crashlog settings") + "...", openconfig, "crashlog_config", 70)]
+       return [(_("Crashlog settings"), openconfig, "crashlog_config", 70)]
 
 
 def Plugins(**kwargs):
 
 
 def Plugins(**kwargs):