1 #*************************************************************************
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 # Copyright 2000, 2010 Oracle and/or its affiliates.
7 # OpenOffice.org - a multi-platform office productivity suite
9 # This file is part of OpenOffice.org.
11 # OpenOffice.org is free software: you can redistribute it and/or modify
12 # it under the terms of the GNU Lesser General Public License version 3
13 # only, as published by the Free Software Foundation.
15 # OpenOffice.org is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 # GNU Lesser General Public License version 3 for more details
19 # (a copy is included in the LICENSE file that accompanied this code).
21 # You should have received a copy of the GNU Lesser General Public License
22 # version 3 along with OpenOffice.org. If not, see
23 # <http://www.openoffice.org/license.html>
24 # for a copy of the LGPLv3 License.
26 #*************************************************************************
29 package par2script
::shortcut
;
33 ############################################################
34 # Writing shortcuts to files behind the correct files and
35 # then shortcuts to shortcuts behind these shortcuts.
36 ############################################################
38 sub shift_shortcut_positions
42 my $allshortcutgids = par2script
::work
::get_all_gids_from_script
($script, "Shortcut");
44 # first all shortcuts that are assigned to files
46 for ( my $i = 0; $i <= $#{$allshortcutgids}; $i++ )
48 my $codeblock = par2script
::work
::get_definitionblock_from_script
($script, ${$allshortcutgids}[$i]);
50 my $filegid = par2script
::work
::get_value_from_definitionblock
($codeblock, "FileID");
52 if (!($filegid eq ""))
54 par2script
::work
::remove_definitionblock_from_script
($script, ${$allshortcutgids}[$i]);
55 par2script
::work
::add_definitionblock_into_script
($script, $codeblock, $filegid);
59 # secondly all shortcuts that are assigned to other shortcuts
61 for ( my $i = 0; $i <= $#{$allshortcutgids}; $i++ )
63 my $codeblock = par2script
::work
::get_definitionblock_from_script
($script, ${$allshortcutgids}[$i]);
64 my $shortcutgid = par2script
::work
::get_value_from_definitionblock
($codeblock, "ShortcutID");
66 if (!($shortcutgid eq ""))
68 par2script
::work
::remove_definitionblock_from_script
($script, ${$allshortcutgids}[$i]);
69 par2script
::work
::add_definitionblock_into_script
($script, $codeblock, $shortcutgid);