summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2012-07-12 17:35:39 +0000
committerSND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2012-07-12 17:35:39 +0000
commit3c6c4524caff9e185b9a406947b2246902ec2bed (patch)
treecacac6bda32d8358e6fc17cb721ff55eeadcd047
parent659ecb8f16705b22ab7941922b61fcd1831ead28 (diff)
downloadpcsxr-3c6c4524caff9e185b9a406947b2246902ec2bed.tar.gz
Patch 12559 (dokuganryu).
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@78971 e17a0e51-4ae3-4d35-97c3-1a29b211df97
-rw-r--r--data/pcsxr.glade217
-rw-r--r--gui/Gtk2Gui.c27
2 files changed, 43 insertions, 1 deletions
diff --git a/data/pcsxr.glade2 b/data/pcsxr.glade2
index 93935afc..c33953d0 100644
--- a/data/pcsxr.glade2
+++ b/data/pcsxr.glade2
@@ -159,6 +159,23 @@
</child>
</widget>
</child>
+ <child>
+ <widget class="GtkImageMenuItem" id="shutdown1">
+ <property name="label" translatable="yes">_Shutdown</property>
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">False</property>
+ <signal name="activate" handler="OnEmu_Shutdown"/>
+ <accelerator key="s" signal="activate" modifiers="GDK_CONTROL_MASK"/>
+ <child internal-child="image">
+ <widget class="GtkImage" id="image20">
+ <property name="visible">True</property>
+ <property name="stock">gtk-stop</property>
+ <property name="icon-size">1</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
<child>
<widget class="GtkSeparatorMenuItem" id="separator2">
<property name="visible">True</property>
diff --git a/gui/Gtk2Gui.c b/gui/Gtk2Gui.c
index 86b08fe4..2f853df0 100644
--- a/gui/Gtk2Gui.c
+++ b/gui/Gtk2Gui.c
@@ -47,6 +47,7 @@ void OnFile_RunExe();
void OnFile_RunImage();
void OnEmu_Run();
void OnEmu_Reset();
+void OnEmu_Shutdown();
void OnEmu_SwitchImage();
void OnHelp_Help();
void OnHelp_About();
@@ -97,6 +98,8 @@ void ResetMenuSlots(GladeXML *xml) {
gtk_widget_set_sensitive(widget, FALSE);
widget = glade_xml_get_widget(xml, "reset1");
gtk_widget_set_sensitive(widget, FALSE);
+ widget = glade_xml_get_widget(xml, "shutdown1");
+ gtk_widget_set_sensitive(widget, FALSE);
widget = glade_xml_get_widget(xml, "search1");
gtk_widget_set_sensitive(widget, FALSE);
widget = glade_xml_get_widget(xml, "SwitchImage");
@@ -107,6 +110,18 @@ void ResetMenuSlots(GladeXML *xml) {
gtk_widget_set_sensitive(widget, FALSE);
widget = glade_xml_get_widget(xml, "toolbutton_switchimage");
gtk_widget_set_sensitive(widget, FALSE);
+ widget = glade_xml_get_widget(xml, "plugins_bios");
+ gtk_widget_set_sensitive(widget, TRUE);
+ widget = glade_xml_get_widget(xml, "graphics1");
+ gtk_widget_set_sensitive(widget, TRUE);
+ widget = glade_xml_get_widget(xml, "sound1");
+ gtk_widget_set_sensitive(widget, TRUE);
+ widget = glade_xml_get_widget(xml, "cdrom1");
+ gtk_widget_set_sensitive(widget, TRUE);
+ widget = glade_xml_get_widget(xml, "pad1");
+ gtk_widget_set_sensitive(widget, TRUE);
+ widget = glade_xml_get_widget(xml, "net1");
+ gtk_widget_set_sensitive(widget, TRUE);
widget = glade_xml_get_widget(xml, "statusbar");
gtk_statusbar_pop(GTK_STATUSBAR(widget), 1);
@@ -212,7 +227,6 @@ void StartGui() {
gtk_window_present (GTK_WINDOW (Window));
return;
}*/
-
xml = glade_xml_new(PACKAGE_DATA_DIR "pcsxr.glade2", "MainWindow", NULL);
if (!xml) {
@@ -321,6 +335,9 @@ void StartGui() {
widget = glade_xml_get_widget(xml, "reset1");
g_signal_connect_data(GTK_OBJECT(widget), "activate",
G_CALLBACK(OnEmu_Reset), NULL, NULL, G_CONNECT_AFTER);
+ widget = glade_xml_get_widget(xml, "shutdown1");
+ g_signal_connect_data(GTK_OBJECT(widget), "activate",
+ G_CALLBACK(OnEmu_Shutdown), NULL, NULL, G_CONNECT_AFTER);
widget = glade_xml_get_widget(xml, "SwitchImage");
g_signal_connect_data(GTK_OBJECT(widget), "activate",
G_CALLBACK(OnEmu_SwitchImage), NULL, NULL, G_CONNECT_AFTER);
@@ -704,6 +721,14 @@ void OnEmu_Reset() {
psxCpu->Execute();
}
+void OnEmu_Shutdown() {
+ ReleasePlugins();
+ SetIsoFile(NULL);
+ CdromId[0] = '\0';
+ CdromLabel[0] = '\0';
+ ResetMenuSlots(glade_get_widget_tree(Window));
+}
+
void OnEmu_SwitchImage() {
gchar *filename;