Seite 1 von 1
Calc: eigener Dialog beim Schließen
Verfasst: Fr, 15.04.2016 13:58
von urbarobe
Hallo,
beim Schließen der Tabelle verwende ich meinen eigenen Dialog, der dem Anwender die Möglichkeit bietet, die Tabelle zu speichern,
nicht zu speichern oder abzubrechen. Meinen Dialog gebe ich im Event 'OnPrepareViewClosing' aus. Im Nachlauf erscheint der interne Dialog
von LibreOffice zum Speichern. Wie verhindere ich die Anzeige des internen Dialogs, wenn der Anwender im eigenen Dialog 'Abbrechen'
gewählt hat?
Viele Grüße,
Robert
Re: Calc: eigener Dialog beim Schließen
Verfasst: Fr, 15.04.2016 15:51
von F3K Total
Hi,
aus dem Kopf:
sollte mit
oder
funktionieren.
Gruß R
Re: Calc: eigener Dialog beim Schließen
Verfasst: Mo, 18.04.2016 17:19
von urbarobe
Das setzen von Modified auf False verwende ich bei 'Nein', also nicht speichern. Das funktioniert.
Bei 'Abbrechen' gilt es den internen Dialog nicht anzuzeigen, jedoch das Schließen des Dokuments zu verhindern.
Ich habe das hier gefunden:
http://openoffice.2283327.n4.nabble.com ... 70187.html
Mir fehlt aber noch das Verständnis, dies an der richtigen Stelle einzusetzen

.
Re: Calc: eigener Dialog beim Schließen
Verfasst: Mo, 18.04.2016 18:49
von F3K Total
Moin,
warum nimmst Du dann nicht den Originaldialog? Der macht doch genau das.
Gruß R
Re: Calc: eigener Dialog beim Schließen
Verfasst: Di, 19.04.2016 08:20
von urbarobe
Moin R,
klar macht der Originaldialog genau das, was ich brauche. Im Grunde genommen möchte ich nur, dass ein anderer Text für den
Dokumentnamen angezeigt wird, nämlich dessen Beschreibung.
Gibt es hier die Möglichkeit, den Text anzupassen?
Gruß,
Robert
Re: Calc: eigener Dialog beim Schließen
Verfasst: Di, 19.04.2016 09:49
von Stephan
Wenn ich das tue was dort als Lösung steht, also auf den Frame registrieren:
Code: Alles auswählen
global doc as object
global lck as object
sub testLocker
doc = ThisComponent.CurrentController.Frame
oCB = CreateUnoListener("my_", "com.sun.star.embed.XActionsApproval")
args() = Array( CreateUnoValue("any", doc), _
CreateUnoValue("any", 1), _
oCB _
)
psm = GetProcessServiceManager()
lck = psm.createInstanceWithArguments("com.sun.star.embed.InstanceLocker", args())
end sub
function my_approveAction(nAction as long) as boolean
'msgbox "Ping!"
my_approveAction = FALSE
end function
sub ReleaseLock
if NOT IsNull(lck) then lck.dispose()
end sub
wird zwar das Dokument nicht geschlossen aber es friert komplett ein.
Ich kann Dir weder an dieser Stelle noch generell zu Deiner Frage weiterhelfen.
Gruß
Stephan
Re: Calc: eigener Dialog beim Schließen
Verfasst: Di, 19.04.2016 10:48
von urbarobe
wird im Originaldialog für den Dokumentnamen hergenommen. Den gilt es zu ändern. Dann passt's

.