diff options
| author | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2009-09-16 12:26:05 +0000 |
|---|---|---|
| committer | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2009-09-16 12:26:05 +0000 |
| commit | b690498435e18f0fded6570e67b24fe4676ff4a5 (patch) | |
| tree | 339db4344d209ee766b2b2cb464d5b6a68f02470 /gui | |
| parent | 6c8416a40307ed74956ad8a24e4f76fe4619933c (diff) | |
| download | pcsxr-b690498435e18f0fded6570e67b24fe4676ff4a5.tar.gz | |
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@29832 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'gui')
| -rw-r--r-- | gui/Cheat.c | 82 |
1 files changed, 10 insertions, 72 deletions
diff --git a/gui/Cheat.c b/gui/Cheat.c index ec398a44..0bd9bcae 100644 --- a/gui/Cheat.c +++ b/gui/Cheat.c @@ -35,7 +35,7 @@ GtkWidget *CheatListDlg = NULL; GtkWidget *CheatSearchDlg = NULL; static void LoadCheatListItems(int index) { - GtkListStore *store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING); + GtkListStore *store = gtk_list_store_new(2, G_TYPE_BOOLEAN, G_TYPE_STRING); GtkTreeIter iter; GtkWidget *widget; GladeXML *xml; @@ -47,8 +47,7 @@ static void LoadCheatListItems(int index) { for (i = 0; i < NumCheats; i++) { gtk_list_store_append(store, &iter); - gtk_list_store_set(store, &iter, 0, Cheats[i].Enabled ? _(" Yes") : "", - 1, Cheats[i].Descr, -1); + gtk_list_store_set(store, &iter, 0, Cheats[i].Enabled, 1, Cheats[i].Descr, -1); } gtk_tree_view_set_model(GTK_TREE_VIEW(widget), GTK_TREE_MODEL(store)); @@ -93,20 +92,11 @@ static void CheatList_TreeSelectionChanged(GtkTreeSelection *selection, gpointer gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "editbutton1")), TRUE); gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "delbutton1")), TRUE); - if (Cheats[i].Enabled) { - gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "enablebutton1")), FALSE); - gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "disablebutton1")), TRUE); - } else { - gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "enablebutton1")), TRUE); - gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "disablebutton1")), FALSE); - } } else { xml = glade_get_widget_tree(CheatListDlg); gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "editbutton1")), FALSE); gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "delbutton1")), FALSE); - gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "enablebutton1")), FALSE); - gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "disablebutton1")), FALSE); } gtk_widget_set_sensitive (GTK_WIDGET(glade_xml_get_widget(xml, "savebutton1")), NumCheats); @@ -295,55 +285,11 @@ static void OnCheatListDlg_DelClicked(GtkWidget *widget, gpointer user_data) { // rather than regenerating the whole list } -static void OnCheatListDlg_EnableClicked(GtkWidget *widget, gpointer user_data) { - GladeXML *xml; - GtkTreeIter iter; - GtkTreeModel *model; - GtkTreePath *path; - - gboolean selected; - int i = -1; - - xml = glade_get_widget_tree(CheatListDlg); - widget = glade_xml_get_widget(xml, "GtkCList_Cheat"); - - selected = gtk_tree_selection_get_selected( - gtk_tree_view_get_selection(GTK_TREE_VIEW(widget)), - &model, &iter); - - if (selected) { - path = gtk_tree_model_get_path(model, &iter); - i = *gtk_tree_path_get_indices(path); +static void OnCheatListDlg_EnableToggled(GtkWidget *widget, gchar *path, gpointer user_data) { + int i = atoi(path); - Cheats[i].Enabled = 1; - } - - LoadCheatListItems(i); // FIXME: should modify it in the list directly - // rather than regenerating the whole list -} - -static void OnCheatListDlg_DisableClicked(GtkWidget *widget, gpointer user_data) { - GladeXML *xml; - GtkTreeIter iter; - GtkTreeModel *model; - GtkTreePath *path; - - gboolean selected; - int i = -1; - - xml = glade_get_widget_tree(CheatListDlg); - widget = glade_xml_get_widget(xml, "GtkCList_Cheat"); - - selected = gtk_tree_selection_get_selected( - gtk_tree_view_get_selection(GTK_TREE_VIEW(widget)), - &model, &iter); - - if (selected) { - path = gtk_tree_model_get_path(model, &iter); - i = *gtk_tree_path_get_indices(path); - - Cheats[i].Enabled = 0; - } + assert(i >= 0 && i < NumCheats); + Cheats[i].Enabled ^= 1; LoadCheatListItems(i); // FIXME: should modify it in the list directly // rather than regenerating the whole list @@ -453,11 +399,13 @@ void RunCheatListDialog() { widget = glade_xml_get_widget(xml, "GtkCList_Cheat"); // column for enable - renderer = gtk_cell_renderer_text_new (); + renderer = gtk_cell_renderer_toggle_new (); column = gtk_tree_view_column_new_with_attributes (_("Enable"), - renderer, "text", 0, NULL); + renderer, "active", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(widget), column); + g_signal_connect (G_OBJECT(renderer), "toggled", G_CALLBACK(OnCheatListDlg_EnableToggled), 0); + // column for description renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("Description"), @@ -484,14 +432,6 @@ void RunCheatListDialog() { g_signal_connect_data(GTK_OBJECT(widget), "clicked", GTK_SIGNAL_FUNC(OnCheatListDlg_DelClicked), xml, NULL, G_CONNECT_AFTER); - widget = glade_xml_get_widget(xml, "enablebutton1"); - g_signal_connect_data(GTK_OBJECT(widget), "clicked", - GTK_SIGNAL_FUNC(OnCheatListDlg_EnableClicked), xml, NULL, G_CONNECT_AFTER); - - widget = glade_xml_get_widget(xml, "disablebutton1"); - g_signal_connect_data(GTK_OBJECT(widget), "clicked", - GTK_SIGNAL_FUNC(OnCheatListDlg_DisableClicked), xml, NULL, G_CONNECT_AFTER); - widget = glade_xml_get_widget(xml, "loadbutton1"); g_signal_connect_data(GTK_OBJECT(widget), "clicked", GTK_SIGNAL_FUNC(OnCheatListDlg_OpenClicked), xml, NULL, G_CONNECT_AFTER); @@ -507,8 +447,6 @@ void RunCheatListDialog() { gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "savebutton1")), NumCheats); gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "editbutton1")), FALSE); gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "delbutton1")), FALSE); - gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "enablebutton1")), FALSE); - gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "disablebutton1")), FALSE); gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(xml, "editbutton1")), FALSE); } |
