1#
2# This file is part of the LibreOffice project.
3#
4# This Source Code Form is subject to the terms of the Mozilla Public
5# License, v. 2.0. If a copy of the MPL was not distributed with this
6# file, You can obtain one at http://mozilla.org/MPL/2.0/.
7#
8# This file incorporates work covered by the following license notice:
9#
10#   Licensed to the Apache Software Foundation (ASF) under one or more
11#   contributor license agreements. See the NOTICE file distributed
12#   with this work for additional information regarding copyright
13#   ownership. The ASF licenses this file to you under the Apache
14#   License, Version 2.0 (the "License"); you may not use this file
15#   except in compliance with the License. You may obtain a copy of
16#   the License at http://www.apache.org/licenses/LICENSE-2.0 .
17#
18
19package installer::windows::icon;
20
21use installer::files;
22use installer::globals;
23use installer::pathanalyzer;
24use installer::windows::idtglobal;
25
26###########################################################################################################
27# Creating the file Icon.idt dynamically
28# Content:
29# Name Data
30###########################################################################################################
31
32sub create_icon_table
33{
34    my ($iconfilecollector, $basedir) = @_;
35
36    my @icontable = ();
37
38    installer::windows::idtglobal::write_idt_header(\@icontable, "icon");
39
40    # Only the iconfiles, that are used in the shortcut table for the
41    # FolderItems (entries in Windows startmenu) are added into the icon table.
42
43    for ( my $i = 0; $i <= $#{$iconfilecollector}; $i++ )
44    {
45        my $iconfile = ${$iconfilecollector}[$i];
46
47        installer::pathanalyzer::make_absolute_filename_to_relative_filename(\$iconfile);
48
49        my %icon = ();
50
51        $icon{'Name'} = $iconfile;  # simply soffice.exe
52        $icon{'Data'} = $iconfile;  # simply soffice.exe
53
54        my $oneline = $icon{'Name'} . "\t" . $icon{'Data'} . "\n";
55
56        push(@icontable, $oneline);
57    }
58
59    # Saving the file
60
61    my $icontablename = $basedir . $installer::globals::separator . "Icon.idt";
62    installer::files::save_file($icontablename ,\@icontable);
63    my $infoline = "Created idt file: $icontablename\n";
64    push(@installer::globals::logfileinfo, $infoline);
65
66}
67
681;
69