diff options
Diffstat (limited to 'gui/MemcardDlg.c')
| -rwxr-xr-x | gui/MemcardDlg.c | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/gui/MemcardDlg.c b/gui/MemcardDlg.c index b777126e..d3949565 100755 --- a/gui/MemcardDlg.c +++ b/gui/MemcardDlg.c @@ -236,7 +236,6 @@ static void LoadListItems(int mcd, boolean newstore) { if (newstore) { gtk_tree_view_set_model(GTK_TREE_VIEW(List), GTK_TREE_MODEL(store)); g_object_unref(G_OBJECT(store)); - gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(List), TRUE); } else { OnTreeSelectionChanged(gtk_tree_view_get_selection(GTK_TREE_VIEW(List)), GINT_TO_POINTER(mcd)); } @@ -295,6 +294,9 @@ static void UpdateMcdDlg(GtkWidget *widget) { } static void OnMcd_Close(GtkDialog *dialog, gint arg1, gpointer user_data) { + + Config.PerGameMcd = gtk_toggle_button_get_active( + GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_PerGameMcd"))); quit = TRUE; SaveConfig(); gtk_widget_destroy(GTK_WIDGET(dialog)); @@ -308,8 +310,8 @@ static void OnMcd_FileChange(GtkWidget *widget, gpointer user_data) { // Ask for name of memory card chooser = gtk_file_chooser_dialog_new(_("Select A File"), NULL, GTK_FILE_CHOOSER_ACTION_OPEN, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_OPEN, GTK_RESPONSE_OK, + "_Cancel", GTK_RESPONSE_CANCEL, + "_OK", GTK_RESPONSE_OK, NULL); if (memcard == 1) @@ -350,7 +352,7 @@ static void OnMcd_Format(GtkWidget *widget, gpointer user_data) { gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(message_dialog), _("If you format the memory card, the card will be empty, and any existing data overwritten.")); gtk_dialog_add_buttons(GTK_DIALOG(message_dialog), - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + "_Cancel", GTK_RESPONSE_CANCEL, _("Format card"), GTK_RESPONSE_YES, NULL); result = gtk_dialog_run(GTK_DIALOG(message_dialog)); @@ -375,8 +377,8 @@ static void OnMcd_New(GtkWidget *widget, gpointer user_data) { // Ask for name of new memory card chooser = gtk_file_chooser_dialog_new(_("Create a new Memory Card"), NULL, GTK_FILE_CHOOSER_ACTION_SAVE, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_SAVE, GTK_RESPONSE_OK, + "_Cancel", GTK_RESPONSE_CANCEL, + "_Save", GTK_RESPONSE_OK, NULL); // Card should be put into $HOME/.pcsxr/memcards @@ -441,7 +443,7 @@ static int GetFreeMemcardSlot(gint target_card, gint count, u8* blocks) { return -1; } -void CopyMemcardData(char *from, char *to, gint srci, gint dsti, +void CopyMemcardData(gint dstmcd, char *from, char *to, gint srci, gint dsti, gchar *str, const u16 linkindex) { u16* linkptr; u8* checksumptr; @@ -463,11 +465,11 @@ void CopyMemcardData(char *from, char *to, gint srci, gint dsti, //printf("link = %i %i\n", dsti, linkindex); } - SaveMcd((char *)str, to, dsti * 128, 128); + SaveMcd(dstmcd, (char *)str, to, dsti * 128, 128); // data memcpy(to + dsti * 1024 * 8, from + srci * 1024 * 8, 1024 * 8); - SaveMcd((char *)str, to, dsti * 1024 * 8, 1024 * 8); + SaveMcd(dstmcd, (char *)str, to, dsti * 1024 * 8, 1024 * 8); //printf("data = %s\n", from + (srci+1) * 128); } @@ -548,7 +550,7 @@ static void OnMcd_CopyTo(GtkWidget *widget, gpointer user_data) { for (j=0; srctbl[j] > 0; j++) { // last parameter specifies link index (next block) - CopyMemcardData(source, destination, + CopyMemcardData(dstmcd, source, destination, srctbl[j], dsttbl[j], str, dsttbl[j+1]-1); //printf("count = %i, indices=(%x,%x) jindex=%i\n", count, srctbl[j], dsttbl[j], j); } @@ -620,7 +622,7 @@ static void OnMemcardDelete(GtkWidget *widget, gpointer user_data) { } *ptr = xorsum; - SaveMcd((char *)filename, data, i * 128, 128); + SaveMcd(memcard, (char *)filename, data, i * 128, 128); // Check links i = GETLINKFORBLOCK(data, i); //0...15 index when ++i at top of loop @@ -709,7 +711,7 @@ void OnConf_Mcds() { builder = gtk_builder_new(); - if (!gtk_builder_add_from_file(builder, PACKAGE_DATA_DIR "pcsxr.ui", NULL)) { + if (!gtk_builder_add_from_resource(builder, "/org/pcsxr/gui/pcsxr.ui", NULL)) { g_warning("Error: interface could not be loaded!"); return; } @@ -749,6 +751,12 @@ void OnConf_Mcds() { G_CALLBACK(OnTreeSelectionChanged), GINT_TO_POINTER(2), NULL, G_CONNECT_AFTER); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( + gtk_builder_get_object(builder, "GtkCheckButton_PerGameMcd")), Config.PerGameMcd); + // Disable it because it is not working yet + gtk_widget_set_sensitive(GTK_WIDGET( + gtk_builder_get_object(builder, "GtkCheckButton_PerGameMcd")), FALSE); + LoadMcdDlg(dialog); // Setup a handler for when Close or Cancel is clicked |
