Initial code release
[external/syslinux.git] / com32 / hdt / hdt-menu-about.c
1 /* ----------------------------------------------------------------------- *
2  *
3  *   Copyright 2009 Erwan Velu - All Rights Reserved
4  *
5  *   Permission is hereby granted, free of charge, to any person
6  *   obtaining a copy of this software and associated documentation
7  *   files (the "Software"), to deal in the Software without
8  *   restriction, including without limitation the rights to use,
9  *   copy, modify, merge, publish, distribute, sublicense, and/or
10  *   sell copies of the Software, and to permit persons to whom
11  *   the Software is furnished to do so, subject to the following
12  *   conditions:
13  *
14  *   The above copyright notice and this permission notice shall
15  *   be included in all copies or substantial portions of the Software.
16  *
17  *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18  *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
19  *   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20  *   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
21  *   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
22  *   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23  *   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24  *   OTHER DEALINGS IN THE SOFTWARE.
25  *
26  * -----------------------------------------------------------------------
27  */
28
29 #include "hdt-menu.h"
30
31 /* Computing About menu*/
32 void compute_aboutmenu(struct s_my_menu *menu)
33 {
34     char buffer[SUBMENULEN + 1];
35     char statbuffer[STATLEN + 1];
36
37     menu->menu = add_menu(" About ", -1);
38     menu->items_count = 0;
39
40     set_menu_pos(SUBMENU_Y, SUBMENU_X);
41
42     snprintf(buffer, sizeof buffer, "Product        : %s", PRODUCT_NAME);
43     snprintf(statbuffer, sizeof statbuffer, "Product : %s", PRODUCT_NAME);
44     add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
45     menu->items_count++;
46
47     snprintf(buffer, sizeof buffer, "Version        : %s (%s)", VERSION,
48              CODENAME);
49     snprintf(statbuffer, sizeof statbuffer, "Version : %s (%s)", VERSION,
50              CODENAME);
51     add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
52     menu->items_count++;
53
54     snprintf(buffer, sizeof buffer, "Website        : %s", WEBSITE_URL);
55     snprintf(statbuffer, sizeof statbuffer, "Website : %s",WEBSITE_URL);
56     add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
57     menu->items_count++;
58
59     snprintf(buffer, sizeof buffer, "IRC Channel    : %s", IRC_CHANNEL);
60     snprintf(statbuffer, sizeof statbuffer, "IRC Channel : %s",IRC_CHANNEL);
61     add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
62     menu->items_count++;
63
64     snprintf(buffer, sizeof buffer, "Mailing List   : %s", CONTACT);
65     snprintf(statbuffer, sizeof statbuffer, "Mailing List: %s", CONTACT);
66     add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
67     menu->items_count++;
68
69     add_item("", "", OPT_SEP, "", 0);
70
71     snprintf(buffer, sizeof buffer, "Project Leader : %s", AUTHOR);
72     snprintf(statbuffer, sizeof statbuffer, "Project Leader  : %s", AUTHOR);
73     add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
74     menu->items_count++;
75
76     snprintf(buffer, sizeof buffer, "Core Developer : %s", CORE_DEVELOPER);
77     snprintf(statbuffer, sizeof statbuffer, "Core Developer  : %s",
78              CORE_DEVELOPER);
79     add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
80     menu->items_count++;
81
82     char *contributors[NB_CONTRIBUTORS] = CONTRIBUTORS;
83     for (int c = 0; c < NB_CONTRIBUTORS; c++) {
84         snprintf(buffer, sizeof buffer, "Contributor    : %s", contributors[c]);
85         snprintf(statbuffer, sizeof statbuffer, "Contributor : %s",
86                  contributors[c]);
87         add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
88         menu->items_count++;
89     }
90
91     printf("MENU: About menu done (%d items)\n", menu->items_count);
92 }