Re: Besondere Seite durch Druckknopf anzeigen
Hallo Allerseits,
ich muss leider noch einmal nachbessern.
Ersetzt bitte die Stelle
if selection as text is not "" and selection as text is not
theStartmarketext then
durch folgenden Skripttext
if selection as text is not "" and selection is not theStartmarke then
und folgende Stelle
tell application "System Events"
tell process "RagTime"
keystroke tab -- Lokalisierung nicht erforderlich.
end tell
end tell
delay 2 -- kann entfernt werden
set selection to theSprungzieltext
delay 2 -- kann entfernt werden
close window 1
durch folgenden Skripttext
if theStartmarketext ≠ theSprungzieltext then
tell application "System Events"
tell process "RagTime"
keystroke tab
end tell
end tell
delay 2 -- kann entfernt werden
set selection to theSprungzieltext
delay 2 -- kann entfernt werden
close window 1
end if
Nach dieser Änderung ist es möglich,
dass der Knopftext derselbe ist wie der Zieltext,
ohne dass das Script endlos auf die Eingabe
eines vom Knopftext unterschiedlichen Zieltextes wartet
(siehe erste Änderung).
Die zweite Änderung reagiert darauf,
dass RT bei Übereinstimmung von Knopftext
und dem Namen für die Textstelle des Sprungziels
auf die Auswahl "Als Verknüpfung markieren"
das Fenster für die Eingabe des Namens nicht mehr öffnet,
sondern sofort die Verknüpfung herstellt.
Gruß
Lutz
Und hier noch einmal die aktuelle Fassung insgesamt:
tell application "RagTime 6.5"
activate
if selection as text is "" then
display dialog "Bitte markieren Sie den \"Knopftext\"!"
else
set theStartmarketext to selection as text
display dialog "Sie haben \"" & theStartmarketext & "\"" & return &
"als Knopf(text) markiert!" & return & return & "Markieren Sie nun das
Sprungziel!"
set theStartmarke to selection
repeat
try
if selection as text is not "" and selection is not theStartmarke
then
exit repeat
end if
end try
delay 0.5 -- Muss bleiben – gegebenefalls erhöhen
end repeat
set theSprungzieltext to selection as text
display dialog "Bitte geben Sie den Namen für das Sprungziel ein!"
default answer theSprungzieltext
set theSprungzieltext to text returned of result
delay 1 -- kann entfernt werden
tell document 1
if exists button "Menübefehle" then -- Wenn Knopf bereits existiert
-- Knopfbefehl auf einen Menünamen setzen:
set command name of button "Menübefehle" to "Namen"
--Knopfbefehl ausführen:
execute button "Menübefehle"
else -- Wenn Knopf noch nicht existiert, einen mit dem Menübefehl
anlegen und ausführen
set theButton to make new button at end with properties
{name:"Menübefehle", command name:"Namen"}
execute theButton
end if
end tell
delay 2 -- kann entfernt werden
tell application "System Events"
tell process "RagTime"
click button "Neu" of window "Namen"
end tell
end tell
delay 2 -- kann entfernt werden
set selection to theSprungzieltext
delay 2 -- kann entfernt werden
close window "Namen"
select theStartmarke
delay 3 -- kann entfernt werden
tell document 1
-- Knopfbefehl auf einen Menünamen setzen:
set command name of button "Menübefehle" to "Als Verknüpfung
markieren"
--Knopfbefehl ausführen:
execute button "Menübefehle"
end tell
delay 0.1 -- Muss bleiben - gegebenenfalls erhöhen
if theStartmarketext ≠ theSprungzieltext then
tell application "System Events"
tell process "RagTime"
keystroke tab
end tell
end tell
delay 2 -- kann entfernt werden
set selection to theSprungzieltext
delay 2 -- kann entfernt werden
close window 1
end if
end if
end tell