New grow and skid sounds from remaxim
[supertux.git] / src / profile_menu.cpp
1 //  SuperTux
2 //  Copyright (C) 2008 Ingo Ruhnke <grumbel@gmx.de>
3 //
4 //  This program is free software; you can redistribute it and/or
5 //  modify it under the terms of the GNU General Public License
6 //  as published by the Free Software Foundation; either version 2
7 //  of the License, or (at your option) any later version.
8 //
9 //  This program is distributed in the hope that it will be useful,
10 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
11 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 //  GNU General Public License for more details.
13 //
14 //  You should have received a copy of the GNU General Public License
15 //  along with this program; if not, write to the Free Software
16 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
17
18 #include <sstream>
19 #include "gameconfig.hpp"
20 #include "gettext.hpp"
21 #include "gui/menu.hpp"
22
23 enum ProfileMenuIDs {
24   
25 };
26
27 class ProfileMenu : public Menu
28 {
29 public:
30   ProfileMenu() {
31     add_label(_("Select Profile"));
32     add_hl();
33     for(int i = 0; i < 5; ++i)
34       {
35         std::ostringstream out;
36         out << "Profile " << i+1;
37         add_entry(i+1, out.str());
38       }
39
40     add_hl();
41     add_back(_("Back"));
42   }
43
44   void menu_action(MenuItem* item) {
45     config->profile = item->id;
46     Menu::set_current(0);
47   }
48 };
49
50 Menu* profile_menu = 0;
51
52 Menu* get_profile_menu()
53 {
54   //static ProfileMenu menu;
55   profile_menu = new ProfileMenu();
56   return profile_menu;
57 }
58
59 void free_profile_menu()
60 {
61   delete profile_menu;
62   profile_menu = 0;
63 }
64
65 /*
66 std::string
67 TitleScreen::get_slotinfo(int slot)
68 {
69   std::string tmp;
70   std::string title;
71
72   std::string basename = current_world->get_basedir();
73   basename = basename.substr(0, basename.length()-1);
74   std::string worlddirname = FileSystem::basename(basename);
75   std::ostringstream stream;
76   stream << "profile" << config->profile << "/" << worlddirname << "_" << slot << ".stsg";
77   std::string slotfile = stream.str();
78
79   try {
80     lisp::Parser parser;
81     const lisp::Lisp* root = parser.parse(slotfile);
82
83     const lisp::Lisp* savegame = root->get_lisp("supertux-savegame");
84     if(!savegame)
85       throw std::runtime_error("file is not a supertux-savegame.");
86
87     savegame->get("title", title);
88   } catch(std::exception& ) {
89     std::ostringstream slottitle;
90     slottitle << _("Slot") << " " << slot << " - " << _("Free");
91     return slottitle.str();
92   }
93
94   std::ostringstream slottitle;
95   slottitle << _("Slot") << " " << slot << " - " << title;
96   return slottitle.str();
97 }
98 */
99
100 /* EOF */