3
3
import os, time, Kross, KSpread
5
T = Kross.module("kdetranslation")
6
8
def __init__(self, scriptaction):
7
9
self.scriptaction = scriptaction
13
15
#file = os.path(self.getLogDir(),"KSpread.log")
15
17
self.forms = Kross.module("forms")
16
self.dialog = self.forms.createDialog("Logger")
18
self.dialog = self.forms.createDialog(T.i18n("Logger"))
17
19
self.dialog.setButtons("Ok|Cancel")
18
20
self.dialog.setFaceType("Plain") #Auto Plain List Tree Tabbed
20
savepage = self.dialog.addPage("Save","Save to Log File","document-save")
22
savepage = self.dialog.addPage(T.i18nc("Options page name", "Save"),T.i18n("Save to Log File"),"document-save")
21
23
self.savewidget = self.forms.createFileWidget(savepage, "kfiledialog:///kspreadlogger")
22
24
self.savewidget.setMode("Saving")
23
self.savewidget.setFilter("*.txt *.log|Log File\n*|All Files")
25
self.savewidget.setFilter("*.txt *.log|%(1)s\n*|%(2)s" % { '1' : T.i18n("Log File"), '2' : T.i18n("All Files") } )
25
27
if self.dialog.exec_loop():
26
28
filename = self.savewidget.selectedFile()
27
29
if os.path.isfile(filename):
28
if self.forms.showMessageBox("WarningContinueCancel", "Overwrite file?", "The file \"%s\" does already exist. Overwrite the file?" % filename) != "Continue":
30
if self.forms.showMessageBox("WarningContinueCancel", T.i18n("Overwrite file?"), T.i18n("The file \"%1\" does already exist. Overwrite the file?", [filename])) != "Continue":
31
raise Exception, T.i18n("Aborted.")
30
32
sheetname = KSpread.currentSheet().sheetName()
31
33
cellrange = "A1:F50" #FIXME
33
35
self.file = open(filename, "w")
34
36
self.startLogging(sheetname, cellrange)
35
37
except IOError, (errno, strerror):
36
raise "Failed to write Log File \"%s\":\n%s" % (filename,strerror)
38
raise Exception, T.i18n("Failed to write Log File \"%1\":\n%2", [filename], [strerror])
38
40
def addLog(self, message, flush = True):
39
41
date = time.strftime("%Y-%M-%d %H:%M.%S")
45
47
self.sheet = KSpread.sheetByName(sheetname)
46
48
self.listener = KSpread.createListener(sheetname, cellrange)
47
49
if not self.listener:
48
raise "Failed to create listener for sheetname '%s' and range '%s'" % (sheetname,cellrange)
50
raise Exception, T.i18n("Failed to create listener for sheetname '%1' and range '%2'", [sheetname], [cellrange])
49
51
self.addLog( "Start logging sheet='%s' range='%s'" % (sheetname,cellrange) )
50
52
self.listener.connect("regionChanged(QVariantList)", self.regionChanged)
51
53
self.listener.connect("cellChanged(int,int)", self.cellChanged)