Linux: Save slots are now disabled in the menu unless a) a game is running, and b) it was saved with the same game as you are running. So you should now be able to tell at a glance which slots you've used. Experimental...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@448 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
arcum42 2009-02-08 01:41:00 +00:00
parent 22bacc999e
commit 5ad9f85500
8 changed files with 182 additions and 201 deletions

View File

@ -58,6 +58,8 @@ void SetComboToGList(GtkComboBox *widget, GList *list);
static void ConfPlugin(PluginConf confs, char* plugin, const char* name); static void ConfPlugin(PluginConf confs, char* plugin, const char* name);
static void TestPlugin(PluginConf confs, char* plugin, const char* name); static void TestPlugin(PluginConf confs, char* plugin, const char* name);
extern void CheckSlots();

View File

@ -78,7 +78,7 @@ extern void SaveConfig();
extern void SysRestorableReset(); extern void SysRestorableReset();
extern void SignalExit(int sig); extern void SignalExit(int sig);
extern bool isSlotUsed(int num);
typedef struct typedef struct
{ {
char lang[g_MaxPath]; char lang[g_MaxPath];

View File

@ -28,7 +28,7 @@ const char* g_pRunGSState = NULL;
int efile = 0; int efile = 0;
char elfname[g_MaxPath]; char elfname[g_MaxPath];
int Slots[5] = { -1, -1, -1, -1, -1 }; bool Slots[5] = { false, false, false, false, false };
#ifdef PCSX2_DEVBUILD #ifdef PCSX2_DEVBUILD
TESTRUNARGS g_TestRun; TESTRUNARGS g_TestRun;
@ -217,7 +217,7 @@ int main(int argc, char *argv[])
return 0; return 0;
} }
#endif #endif
if (UseGui && (file == NULL)) if (UseGui && (file == NULL))
{ {
StartGui(); StartGui();
@ -228,7 +228,6 @@ int main(int argc, char *argv[])
SysReset(); SysReset();
//FixCPUState();
cpuExecuteBios(); cpuExecuteBios();
if (file) strcpy(elfname, file); if (file) strcpy(elfname, file);
if (!efile) efile = GetPS2ElfName(elfname); if (!efile) efile = GetPS2ElfName(elfname);
@ -359,19 +358,14 @@ void StartGui()
#ifndef PCSX2_DEVBUILD #ifndef PCSX2_DEVBUILD
gtk_widget_set_sensitive(GTK_WIDGET(lookup_widget(MainWindow, "GtkMenuItem_Logging")), FALSE); gtk_widget_set_sensitive(GTK_WIDGET(lookup_widget(MainWindow, "GtkMenuItem_Logging")), FALSE);
#endif #endif
CheckSlots();
gtk_widget_show_all(MainWindow); gtk_widget_show_all(MainWindow);
gtk_window_activate_focus(GTK_WINDOW(MainWindow)); gtk_window_activate_focus(GTK_WINDOW(MainWindow));
gtk_main(); gtk_main();
} }
/*void FixCPUState(void)
{
//Config.sseMXCSR = LinuxsseMXCSR;
//Config.sseVUMXCSR = LinuxsseVUMXCSR;
SetCPUState(Config.sseMXCSR, Config.sseVUMXCSR);
}*/
void OnDestroy(GtkObject *object, gpointer user_data) {} void OnDestroy(GtkObject *object, gpointer user_data) {}
gboolean OnDelete(GtkWidget *widget, GdkEvent *event, gpointer user_data) gboolean OnDelete(GtkWidget *widget, GdkEvent *event, gpointer user_data)
@ -505,33 +499,45 @@ void OnEmu_Reset(GtkMenuItem *menuitem, gpointer user_data)
SysReset(); SysReset();
} }
void ResetMenuSlots()
void ResetMenuSlots(GtkMenuItem *menuitem, gpointer user_data)
{ {
GtkWidget *Item; GtkWidget *Item;
char str[g_MaxPath]; char str[g_MaxPath], str2[g_MaxPath];
int i; int i;
for (i = 0; i < 5; i++) for (i = 0; i < 5; i++)
{ {
sprintf(str, "GtkMenuItem_LoadSlot%d", i + 1);
sprintf(str, "load_slot_%d", i);
sprintf(str2, "save_slot_%d", i);
Item = lookup_widget(MainWindow, str); Item = lookup_widget(MainWindow, str);
if (Slots[i] == -1)
gtk_widget_set_sensitive(Item, FALSE); if GTK_IS_WIDGET(Item)
gtk_widget_set_sensitive(Item, Slots[i]);
else else
gtk_widget_set_sensitive(Item, TRUE); Console::Error("No such widget: %s", params str);
Item = lookup_widget(MainWindow, str2);
gtk_widget_set_sensitive(Item, (ElfCRC != 0));
} }
} }
/*void UpdateMenuSlots(GtkMenuItem *menuitem, gpointer user_data) { void CheckSlots()
char str[g_MaxPath]; {
int i = 0; int i = 0;
for (i=0; i<5; i++) { if (ElfCRC == 0) Console::Notice("Disabling game slots until a game is loaded.");
sprintf(str, SSTATES_DIR "/%8.8X.%3.3d", ElfCRC, i);
Slots[i] = CheckState(str); for (i=0; i<5; i++)
{
if (isSlotUsed(i))
Slots[i] = true;
else
Slots[i] = false;
} }
}*/ ResetMenuSlots();
}
//2002-09-28 (Florin) //2002-09-28 (Florin)
void OnArguments_Ok(GtkButton *button, gpointer user_data) void OnArguments_Ok(GtkButton *button, gpointer user_data)

View File

@ -30,6 +30,8 @@ extern bool g_EmulationInProgress; // Set TRUE if a game is actively running (se
extern void RunExecute(const char* elf_file, bool use_bios = false); extern void RunExecute(const char* elf_file, bool use_bios = false);
void OnLanguage(GtkMenuItem *menuitem, gpointer user_data); void OnLanguage(GtkMenuItem *menuitem, gpointer user_data);
extern void ExecuteCpu(); extern void ExecuteCpu();
extern void CheckSlots();
extern bool isSlotUsed(int num);
void InitLanguages(); void InitLanguages();
char *GetLanguageNext(); char *GetLanguageNext();

View File

@ -198,7 +198,6 @@ void RunExecute(const char* elf_file, bool use_bios)
loadElfFile(elf_file); loadElfFile(elf_file);
} }
//FixCPUState();
ExecuteCpu(); ExecuteCpu();
} }
@ -281,6 +280,13 @@ public:
} }
}; };
bool isSlotUsed(int num)
{
if (ElfCRC == 0)
return false;
else
return Path::isFile(SaveState::GetFilename( num ));
}
void States_Load(const string& file, int num = -1) void States_Load(const string& file, int num = -1)
{ {
@ -380,6 +386,7 @@ void States_Save( const string& file, int num = -1 )
Console::Error( message.c_str() ); Console::Error( message.c_str() );
} }
CheckSlots();
} }
void States_Save(int num) void States_Save(int num)
@ -436,25 +443,23 @@ public:
} }
}; };
void OnStates_Load1(GtkMenuItem *menuitem, gpointer user_data) void OnStates_Load(GtkMenuItem *menuitem, gpointer user_data)
{ {
States_Load(0); char *name;
} int i;
void OnStates_Load2(GtkMenuItem *menuitem, gpointer user_data)
{ if (GTK_BIN (menuitem)->child)
States_Load(1); {
} GtkWidget *child = GTK_BIN (menuitem)->child;
void OnStates_Load3(GtkMenuItem *menuitem, gpointer user_data)
{ if (GTK_IS_LABEL (child))
States_Load(2); gtk_label_get (GTK_LABEL (child), &name);
} else
void OnStates_Load4(GtkMenuItem *menuitem, gpointer user_data) return;
{ }
States_Load(3);
} sscanf(name, "Slot %d", &i);
void OnStates_Load5(GtkMenuItem *menuitem, gpointer user_data) States_Load(i);
{
States_Load(4);
} }
void OnLoadOther_Ok(GtkButton* button, gpointer user_data) void OnLoadOther_Ok(GtkButton* button, gpointer user_data)
@ -493,25 +498,23 @@ void OnStates_LoadOther(GtkMenuItem *menuitem, gpointer user_data)
gdk_window_raise(FileSel->window); gdk_window_raise(FileSel->window);
} }
void OnStates_Save1(GtkMenuItem *menuitem, gpointer user_data) void OnStates_Save(GtkMenuItem *menuitem, gpointer user_data)
{ {
States_Save(0); char *name;
} int i;
void OnStates_Save2(GtkMenuItem *menuitem, gpointer user_data)
{ if (GTK_BIN (menuitem)->child)
States_Save(1); {
} GtkWidget *child = GTK_BIN (menuitem)->child;
void OnStates_Save3(GtkMenuItem *menuitem, gpointer user_data)
{ if (GTK_IS_LABEL (child))
States_Save(2); gtk_label_get (GTK_LABEL (child), &name);
} else
void OnStates_Save4(GtkMenuItem *menuitem, gpointer user_data) return;
{ }
States_Save(3);
} sscanf(name, "Slot %d", &i);
void OnStates_Save5(GtkMenuItem *menuitem, gpointer user_data) States_Save(i);
{
States_Save(4);
} }
void OnSaveOther_Ok(GtkButton* button, gpointer user_data) void OnSaveOther_Ok(GtkButton* button, gpointer user_data)

View File

@ -239,23 +239,7 @@ OnFile_LoadElf (GtkMenuItem *menuitem,
gpointer user_data); gpointer user_data);
void void
OnStates_Load1 (GtkMenuItem *menuitem, OnStates_Load (GtkMenuItem *menuitem,
gpointer user_data);
void
OnStates_Load2 (GtkMenuItem *menuitem,
gpointer user_data);
void
OnStates_Load3 (GtkMenuItem *menuitem,
gpointer user_data);
void
OnStates_Load4 (GtkMenuItem *menuitem,
gpointer user_data);
void
OnStates_Load5 (GtkMenuItem *menuitem,
gpointer user_data); gpointer user_data);
void void
@ -263,23 +247,7 @@ OnStates_LoadOther (GtkMenuItem *menuitem,
gpointer user_data); gpointer user_data);
void void
OnStates_Save1 (GtkMenuItem *menuitem, OnStates_Save (GtkMenuItem *menuitem,
gpointer user_data);
void
OnStates_Save2 (GtkMenuItem *menuitem,
gpointer user_data);
void
OnStates_Save3 (GtkMenuItem *menuitem,
gpointer user_data);
void
OnStates_Save4 (GtkMenuItem *menuitem,
gpointer user_data);
void
OnStates_Save5 (GtkMenuItem *menuitem,
gpointer user_data); gpointer user_data);
void void

View File

@ -2401,19 +2401,19 @@ create_MainWindow (void)
GtkWidget *states1_menu; GtkWidget *states1_menu;
GtkWidget *load1; GtkWidget *load1;
GtkWidget *load1_menu; GtkWidget *load1_menu;
GtkWidget *slot_1; GtkWidget *load_slot_0;
GtkWidget *slot_2; GtkWidget *load_slot_1;
GtkWidget *slot_3_; GtkWidget *load_slot_2;
GtkWidget *slot_4; GtkWidget *load_slot_3;
GtkWidget *slot_5; GtkWidget *load_slot_4;
GtkWidget *other1; GtkWidget *other1;
GtkWidget *save1; GtkWidget *save1;
GtkWidget *save1_menu; GtkWidget *save1_menu;
GtkWidget *slot_6; GtkWidget *save_slot_0;
GtkWidget *slot_7; GtkWidget *save_slot_1;
GtkWidget *slot_8; GtkWidget *save_slot_2;
GtkWidget *slot_9; GtkWidget *save_slot_3;
GtkWidget *slot_10; GtkWidget *save_slot_4;
GtkWidget *other2; GtkWidget *other2;
GtkWidget *GtkMenuItem_Exit; GtkWidget *GtkMenuItem_Exit;
GtkWidget *GtkMenuItem_Emulator; GtkWidget *GtkMenuItem_Emulator;
@ -2501,25 +2501,25 @@ create_MainWindow (void)
load1_menu = gtk_menu_new (); load1_menu = gtk_menu_new ();
gtk_menu_item_set_submenu (GTK_MENU_ITEM (load1), load1_menu); gtk_menu_item_set_submenu (GTK_MENU_ITEM (load1), load1_menu);
slot_1 = gtk_menu_item_new_with_mnemonic (_("Slot 1")); load_slot_0 = gtk_menu_item_new_with_mnemonic (_("Slot 0"));
gtk_widget_show (slot_1); gtk_widget_show (load_slot_0);
gtk_container_add (GTK_CONTAINER (load1_menu), slot_1); gtk_container_add (GTK_CONTAINER (load1_menu), load_slot_0);
slot_2 = gtk_menu_item_new_with_mnemonic (_("Slot 2")); load_slot_1 = gtk_menu_item_new_with_mnemonic (_("Slot 1"));
gtk_widget_show (slot_2); gtk_widget_show (load_slot_1);
gtk_container_add (GTK_CONTAINER (load1_menu), slot_2); gtk_container_add (GTK_CONTAINER (load1_menu), load_slot_1);
slot_3_ = gtk_menu_item_new_with_mnemonic (_("Slot 3")); load_slot_2 = gtk_menu_item_new_with_mnemonic (_("Slot 2"));
gtk_widget_show (slot_3_); gtk_widget_show (load_slot_2);
gtk_container_add (GTK_CONTAINER (load1_menu), slot_3_); gtk_container_add (GTK_CONTAINER (load1_menu), load_slot_2);
slot_4 = gtk_menu_item_new_with_mnemonic (_("Slot 4")); load_slot_3 = gtk_menu_item_new_with_mnemonic (_("Slot 3"));
gtk_widget_show (slot_4); gtk_widget_show (load_slot_3);
gtk_container_add (GTK_CONTAINER (load1_menu), slot_4); gtk_container_add (GTK_CONTAINER (load1_menu), load_slot_3);
slot_5 = gtk_menu_item_new_with_mnemonic (_("Slot 5")); load_slot_4 = gtk_menu_item_new_with_mnemonic (_("Slot 4"));
gtk_widget_show (slot_5); gtk_widget_show (load_slot_4);
gtk_container_add (GTK_CONTAINER (load1_menu), slot_5); gtk_container_add (GTK_CONTAINER (load1_menu), load_slot_4);
other1 = gtk_menu_item_new_with_mnemonic (_("Other...")); other1 = gtk_menu_item_new_with_mnemonic (_("Other..."));
gtk_widget_show (other1); gtk_widget_show (other1);
@ -2532,25 +2532,25 @@ create_MainWindow (void)
save1_menu = gtk_menu_new (); save1_menu = gtk_menu_new ();
gtk_menu_item_set_submenu (GTK_MENU_ITEM (save1), save1_menu); gtk_menu_item_set_submenu (GTK_MENU_ITEM (save1), save1_menu);
slot_6 = gtk_menu_item_new_with_mnemonic (_("Slot 1")); save_slot_0 = gtk_menu_item_new_with_mnemonic (_("Slot 0"));
gtk_widget_show (slot_6); gtk_widget_show (save_slot_0);
gtk_container_add (GTK_CONTAINER (save1_menu), slot_6); gtk_container_add (GTK_CONTAINER (save1_menu), save_slot_0);
slot_7 = gtk_menu_item_new_with_mnemonic (_("Slot 2")); save_slot_1 = gtk_menu_item_new_with_mnemonic (_("Slot 1"));
gtk_widget_show (slot_7); gtk_widget_show (save_slot_1);
gtk_container_add (GTK_CONTAINER (save1_menu), slot_7); gtk_container_add (GTK_CONTAINER (save1_menu), save_slot_1);
slot_8 = gtk_menu_item_new_with_mnemonic (_("Slot 3")); save_slot_2 = gtk_menu_item_new_with_mnemonic (_("Slot 2"));
gtk_widget_show (slot_8); gtk_widget_show (save_slot_2);
gtk_container_add (GTK_CONTAINER (save1_menu), slot_8); gtk_container_add (GTK_CONTAINER (save1_menu), save_slot_2);
slot_9 = gtk_menu_item_new_with_mnemonic (_("Slot 4")); save_slot_3 = gtk_menu_item_new_with_mnemonic (_("Slot 3"));
gtk_widget_show (slot_9); gtk_widget_show (save_slot_3);
gtk_container_add (GTK_CONTAINER (save1_menu), slot_9); gtk_container_add (GTK_CONTAINER (save1_menu), save_slot_3);
slot_10 = gtk_menu_item_new_with_mnemonic (_("Slot 5")); save_slot_4 = gtk_menu_item_new_with_mnemonic (_("Slot 4"));
gtk_widget_show (slot_10); gtk_widget_show (save_slot_4);
gtk_container_add (GTK_CONTAINER (save1_menu), slot_10); gtk_container_add (GTK_CONTAINER (save1_menu), save_slot_4);
other2 = gtk_menu_item_new_with_mnemonic (_("Other...")); other2 = gtk_menu_item_new_with_mnemonic (_("Other..."));
gtk_widget_show (other2); gtk_widget_show (other2);
@ -2722,38 +2722,38 @@ create_MainWindow (void)
g_signal_connect ((gpointer) GtkMenuItem_LoadElf, "activate", g_signal_connect ((gpointer) GtkMenuItem_LoadElf, "activate",
G_CALLBACK (OnFile_LoadElf), G_CALLBACK (OnFile_LoadElf),
NULL); NULL);
g_signal_connect ((gpointer) slot_1, "activate", g_signal_connect ((gpointer) load_slot_0, "activate",
G_CALLBACK (OnStates_Load1), G_CALLBACK (OnStates_Load),
NULL); NULL);
g_signal_connect ((gpointer) slot_2, "activate", g_signal_connect ((gpointer) load_slot_1, "activate",
G_CALLBACK (OnStates_Load2), G_CALLBACK (OnStates_Load),
NULL); NULL);
g_signal_connect ((gpointer) slot_3_, "activate", g_signal_connect ((gpointer) load_slot_2, "activate",
G_CALLBACK (OnStates_Load3), G_CALLBACK (OnStates_Load),
NULL); NULL);
g_signal_connect ((gpointer) slot_4, "activate", g_signal_connect ((gpointer) load_slot_3, "activate",
G_CALLBACK (OnStates_Load4), G_CALLBACK (OnStates_Load),
NULL); NULL);
g_signal_connect ((gpointer) slot_5, "activate", g_signal_connect ((gpointer) load_slot_4, "activate",
G_CALLBACK (OnStates_Load5), G_CALLBACK (OnStates_Load),
NULL); NULL);
g_signal_connect ((gpointer) other1, "activate", g_signal_connect ((gpointer) other1, "activate",
G_CALLBACK (OnStates_LoadOther), G_CALLBACK (OnStates_LoadOther),
NULL); NULL);
g_signal_connect ((gpointer) slot_6, "activate", g_signal_connect ((gpointer) save_slot_0, "activate",
G_CALLBACK (OnStates_Save1), G_CALLBACK (OnStates_Save),
NULL); NULL);
g_signal_connect ((gpointer) slot_7, "activate", g_signal_connect ((gpointer) save_slot_1, "activate",
G_CALLBACK (OnStates_Save2), G_CALLBACK (OnStates_Save),
NULL); NULL);
g_signal_connect ((gpointer) slot_8, "activate", g_signal_connect ((gpointer) save_slot_2, "activate",
G_CALLBACK (OnStates_Save3), G_CALLBACK (OnStates_Save),
NULL); NULL);
g_signal_connect ((gpointer) slot_9, "activate", g_signal_connect ((gpointer) save_slot_3, "activate",
G_CALLBACK (OnStates_Save4), G_CALLBACK (OnStates_Save),
NULL); NULL);
g_signal_connect ((gpointer) slot_10, "activate", g_signal_connect ((gpointer) save_slot_4, "activate",
G_CALLBACK (OnStates_Save5), G_CALLBACK (OnStates_Save),
NULL); NULL);
g_signal_connect ((gpointer) other2, "activate", g_signal_connect ((gpointer) other2, "activate",
G_CALLBACK (OnStates_SaveOther), G_CALLBACK (OnStates_SaveOther),
@ -2841,19 +2841,19 @@ create_MainWindow (void)
GLADE_HOOKUP_OBJECT (MainWindow, states1_menu, "states1_menu"); GLADE_HOOKUP_OBJECT (MainWindow, states1_menu, "states1_menu");
GLADE_HOOKUP_OBJECT (MainWindow, load1, "load1"); GLADE_HOOKUP_OBJECT (MainWindow, load1, "load1");
GLADE_HOOKUP_OBJECT (MainWindow, load1_menu, "load1_menu"); GLADE_HOOKUP_OBJECT (MainWindow, load1_menu, "load1_menu");
GLADE_HOOKUP_OBJECT (MainWindow, slot_1, "slot_1"); GLADE_HOOKUP_OBJECT (MainWindow, load_slot_0, "load_slot_0");
GLADE_HOOKUP_OBJECT (MainWindow, slot_2, "slot_2"); GLADE_HOOKUP_OBJECT (MainWindow, load_slot_1, "load_slot_1");
GLADE_HOOKUP_OBJECT (MainWindow, slot_3_, "slot_3_"); GLADE_HOOKUP_OBJECT (MainWindow, load_slot_2, "load_slot_2");
GLADE_HOOKUP_OBJECT (MainWindow, slot_4, "slot_4"); GLADE_HOOKUP_OBJECT (MainWindow, load_slot_3, "load_slot_3");
GLADE_HOOKUP_OBJECT (MainWindow, slot_5, "slot_5"); GLADE_HOOKUP_OBJECT (MainWindow, load_slot_4, "load_slot_4");
GLADE_HOOKUP_OBJECT (MainWindow, other1, "other1"); GLADE_HOOKUP_OBJECT (MainWindow, other1, "other1");
GLADE_HOOKUP_OBJECT (MainWindow, save1, "save1"); GLADE_HOOKUP_OBJECT (MainWindow, save1, "save1");
GLADE_HOOKUP_OBJECT (MainWindow, save1_menu, "save1_menu"); GLADE_HOOKUP_OBJECT (MainWindow, save1_menu, "save1_menu");
GLADE_HOOKUP_OBJECT (MainWindow, slot_6, "slot_6"); GLADE_HOOKUP_OBJECT (MainWindow, save_slot_0, "save_slot_0");
GLADE_HOOKUP_OBJECT (MainWindow, slot_7, "slot_7"); GLADE_HOOKUP_OBJECT (MainWindow, save_slot_1, "save_slot_1");
GLADE_HOOKUP_OBJECT (MainWindow, slot_8, "slot_8"); GLADE_HOOKUP_OBJECT (MainWindow, save_slot_2, "save_slot_2");
GLADE_HOOKUP_OBJECT (MainWindow, slot_9, "slot_9"); GLADE_HOOKUP_OBJECT (MainWindow, save_slot_3, "save_slot_3");
GLADE_HOOKUP_OBJECT (MainWindow, slot_10, "slot_10"); GLADE_HOOKUP_OBJECT (MainWindow, save_slot_4, "save_slot_4");
GLADE_HOOKUP_OBJECT (MainWindow, other2, "other2"); GLADE_HOOKUP_OBJECT (MainWindow, other2, "other2");
GLADE_HOOKUP_OBJECT (MainWindow, GtkMenuItem_Exit, "GtkMenuItem_Exit"); GLADE_HOOKUP_OBJECT (MainWindow, GtkMenuItem_Exit, "GtkMenuItem_Exit");
GLADE_HOOKUP_OBJECT (MainWindow, GtkMenuItem_Emulator, "GtkMenuItem_Emulator"); GLADE_HOOKUP_OBJECT (MainWindow, GtkMenuItem_Emulator, "GtkMenuItem_Emulator");

View File

@ -4797,47 +4797,47 @@ Version x.x</property>
<widget class="GtkMenu" id="load1_menu"> <widget class="GtkMenu" id="load1_menu">
<child> <child>
<widget class="GtkMenuItem" id="slot_1"> <widget class="GtkMenuItem" id="load_slot_0">
<property name="visible">True</property>
<property name="label" translatable="yes">Slot 0</property>
<property name="use_underline">True</property>
<signal name="activate" handler="OnStates_Load" last_modification_time="Sun, 08 Feb 2009 01:08:22 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="load_slot_1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="label" translatable="yes">Slot 1</property> <property name="label" translatable="yes">Slot 1</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<signal name="activate" handler="OnStates_Load1"/> <signal name="activate" handler="OnStates_Load" last_modification_time="Sun, 08 Feb 2009 01:08:22 GMT"/>
</widget> </widget>
</child> </child>
<child> <child>
<widget class="GtkMenuItem" id="slot_2"> <widget class="GtkMenuItem" id="load_slot_2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="label" translatable="yes">Slot 2</property> <property name="label" translatable="yes">Slot 2</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<signal name="activate" handler="OnStates_Load2"/> <signal name="activate" handler="OnStates_Load" last_modification_time="Sun, 08 Feb 2009 01:08:22 GMT"/>
</widget> </widget>
</child> </child>
<child> <child>
<widget class="GtkMenuItem" id="slot_3\"> <widget class="GtkMenuItem" id="load_slot_3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="label" translatable="yes">Slot 3</property> <property name="label" translatable="yes">Slot 3</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<signal name="activate" handler="OnStates_Load3"/> <signal name="activate" handler="OnStates_Load" last_modification_time="Sun, 08 Feb 2009 01:08:22 GMT"/>
</widget> </widget>
</child> </child>
<child> <child>
<widget class="GtkMenuItem" id="slot_4"> <widget class="GtkMenuItem" id="load_slot_4">
<property name="visible">True</property> <property name="visible">True</property>
<property name="label" translatable="yes">Slot 4</property> <property name="label" translatable="yes">Slot 4</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<signal name="activate" handler="OnStates_Load4"/> <signal name="activate" handler="OnStates_Load" last_modification_time="Sun, 08 Feb 2009 01:08:22 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="slot_5">
<property name="visible">True</property>
<property name="label" translatable="yes">Slot 5</property>
<property name="use_underline">True</property>
<signal name="activate" handler="OnStates_Load5"/>
</widget> </widget>
</child> </child>
@ -4864,47 +4864,47 @@ Version x.x</property>
<widget class="GtkMenu" id="save1_menu"> <widget class="GtkMenu" id="save1_menu">
<child> <child>
<widget class="GtkMenuItem" id="slot_6"> <widget class="GtkMenuItem" id="save_slot_0">
<property name="visible">True</property>
<property name="label" translatable="yes">Slot 0</property>
<property name="use_underline">True</property>
<signal name="activate" handler="OnStates_Save" last_modification_time="Sun, 08 Feb 2009 01:08:22 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="save_slot_1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="label" translatable="yes">Slot 1</property> <property name="label" translatable="yes">Slot 1</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<signal name="activate" handler="OnStates_Save1"/> <signal name="activate" handler="OnStates_Save" last_modification_time="Sun, 08 Feb 2009 01:08:22 GMT"/>
</widget> </widget>
</child> </child>
<child> <child>
<widget class="GtkMenuItem" id="slot_7"> <widget class="GtkMenuItem" id="save_slot_2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="label" translatable="yes">Slot 2</property> <property name="label" translatable="yes">Slot 2</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<signal name="activate" handler="OnStates_Save2"/> <signal name="activate" handler="OnStates_Save" last_modification_time="Sun, 08 Feb 2009 01:08:22 GMT"/>
</widget> </widget>
</child> </child>
<child> <child>
<widget class="GtkMenuItem" id="slot_8"> <widget class="GtkMenuItem" id="save_slot_3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="label" translatable="yes">Slot 3</property> <property name="label" translatable="yes">Slot 3</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<signal name="activate" handler="OnStates_Save3"/> <signal name="activate" handler="OnStates_Save" last_modification_time="Sun, 08 Feb 2009 01:08:22 GMT"/>
</widget> </widget>
</child> </child>
<child> <child>
<widget class="GtkMenuItem" id="slot_9"> <widget class="GtkMenuItem" id="save_slot_4">
<property name="visible">True</property> <property name="visible">True</property>
<property name="label" translatable="yes">Slot 4</property> <property name="label" translatable="yes">Slot 4</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<signal name="activate" handler="OnStates_Save4"/> <signal name="activate" handler="OnStates_Save" last_modification_time="Sun, 08 Feb 2009 01:08:22 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="slot_10">
<property name="visible">True</property>
<property name="label" translatable="yes">Slot 5</property>
<property name="use_underline">True</property>
<signal name="activate" handler="OnStates_Save5"/>
</widget> </widget>
</child> </child>