summaryrefslogtreecommitdiff
path: root/gui/MemcardDlg.c
diff options
context:
space:
mode:
Diffstat (limited to 'gui/MemcardDlg.c')
-rwxr-xr-xgui/MemcardDlg.c32
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