X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=src%2Fgtk%2Fviewmenu.c;h=e7b068feab967300f37169a19bd7685ce6f5cbf4;hb=f7e3f1d8d0438f52e4f988a12318075cc1b43568;hp=8f38438d9bbbbfd10929230bea2b8e84f7965766;hpb=877e908e7bcca4f1402edf212f1aea0462c9d4e7;p=emu8051.git diff --git a/src/gtk/viewmenu.c b/src/gtk/viewmenu.c index 8f38438..e7b068f 100644 --- a/src/gtk/viewmenu.c +++ b/src/gtk/viewmenu.c @@ -4,19 +4,7 @@ * Copyright (C) 1999 Jonathan St-André * Copyright (C) 1999 Hugo Villeneuve * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + * This file is released under the GPLv2 */ #if HAVE_CONFIG_H @@ -26,7 +14,7 @@ #include #include "common.h" -#include "emugtk.h" /* For AddMenuSeparator() function. */ +#include "main.h" /* For AddMenuSeparator() function. */ #include "messagebox.h" #include "viewmenu.h" #include "app-config.h" @@ -37,12 +25,14 @@ void toggle_layout(GtkWidget *widget, gpointer data) { int id; - id = GPOINTER_TO_UINT(data); + id = GPOINTER_TO_UINT(data); if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) { log_info(" Switching to layout %d", id); cfg->layout = id; - emugtk_restart_gui(); + + message_show_information( + "You must restart for the changes to take effect"); } } @@ -50,12 +40,14 @@ void toggle_bytes_per_row(GtkWidget *widget, gpointer data) { int bytes_per_row; - bytes_per_row = GPOINTER_TO_UINT(data); + bytes_per_row = GPOINTER_TO_UINT(data); if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) { log_info(" Bytes per row = %d", bytes_per_row); cfg->bytes_per_row = bytes_per_row; - emugtk_restart_gui(); + emugtk_destroy_int_memory_paned(); + emugtk_destroy_ext_memory_paned(); + emugtk_recreate_memory_paned(); } } @@ -66,25 +58,11 @@ void toggle_int_memory(GtkWidget *widget, gpointer data) if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) { log_info(" View internal memory"); cfg->view_int_memory = 1; + emugtk_create_int_memory_paned(); } else { cfg->view_int_memory = 0; + emugtk_destroy_int_memory_paned(); } - - emugtk_restart_gui(); -} - -void toggle_sfr_memory(GtkWidget *widget, gpointer data) -{ - (void) data; /* Remove compiler warning about unused variables. */ - - if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) { - log_info(" View SFR memory"); - cfg->view_sfr_memory = 1; - } else { - cfg->view_sfr_memory = 0; - } - - emugtk_restart_gui(); } void toggle_ext_memory(GtkWidget *widget, gpointer data) @@ -94,11 +72,11 @@ void toggle_ext_memory(GtkWidget *widget, gpointer data) if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) { log_info(" View external memory"); cfg->view_ext_memory = 1; + emugtk_create_ext_memory_paned(); } else { cfg->view_ext_memory = 0; + emugtk_destroy_ext_memory_paned(); } - - emugtk_restart_gui(); } void @@ -119,9 +97,11 @@ view_add_layout_submenu(GtkWidget *parent) layout2 = gtk_radio_menu_item_new_with_label(group, "Layout2"); if (cfg->layout == UI_LAYOUT1) - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(layout1), TRUE); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(layout1), + TRUE); else - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(layout2), TRUE); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(layout2), + TRUE); g_signal_connect(G_OBJECT(layout1), "activate", G_CALLBACK(toggle_layout), (gpointer) UI_LAYOUT1); @@ -152,9 +132,11 @@ view_add_bytes_per_row_submenu(GtkWidget *parent) item2 = gtk_radio_menu_item_new_with_label(group, "16"); if (cfg->bytes_per_row == 8) - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item1), TRUE); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item1), + TRUE); else - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item2), TRUE); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item2), + TRUE); g_signal_connect(G_OBJECT(item1), "activate", G_CALLBACK(toggle_bytes_per_row), (gpointer) 8); @@ -168,7 +150,7 @@ view_add_bytes_per_row_submenu(GtkWidget *parent) } void -ViewAddMenu(GtkWidget *menu_bar) +view_add_menu(GtkWidget *menu_bar) { GtkWidget *item; GtkWidget *menu; @@ -185,13 +167,6 @@ ViewAddMenu(GtkWidget *menu_bar) g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(toggle_int_memory), NULL); - item = gtk_check_menu_item_new_with_label("SFR Memory"); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), - cfg->view_sfr_memory); - g_signal_connect(G_OBJECT(item), "activate", - G_CALLBACK(toggle_sfr_memory), NULL); - item = gtk_check_menu_item_new_with_label("External Memory"); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), @@ -199,12 +174,12 @@ ViewAddMenu(GtkWidget *menu_bar) g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(toggle_ext_memory), NULL); - AddMenuSeparator(menu); + add_menu_separator(menu); /* Add layout submenu */ view_add_layout_submenu(menu); - AddMenuSeparator(menu); + add_menu_separator(menu); /* Add bytes per row submenu */ view_add_bytes_per_row_submenu(menu);