summaryrefslogtreecommitdiff
path: root/saedit
diff options
context:
space:
mode:
authorVasily_Makarov <danilka.pro@gmail.com>2011-06-11 10:07:46 +0400
committerVasily_Makarov <danilka.pro@gmail.com>2011-06-11 10:07:46 +0400
commitb69351d7ea8c70ffdcde8e22699dcfbdafbde345 (patch)
tree5bb0d5e7ca07d23864c853b422a336d4414f8050 /saedit
parentdb57826a2f7bcb28c22db71ebd9127e980ce9e83 (diff)
downloadtools-b69351d7ea8c70ffdcde8e22699dcfbdafbde345.tar.gz
tools-b69351d7ea8c70ffdcde8e22699dcfbdafbde345.tar.bz2
tools-b69351d7ea8c70ffdcde8e22699dcfbdafbde345.tar.xz
tools-b69351d7ea8c70ffdcde8e22699dcfbdafbde345.zip
saedit: Add imageset preview item sensitivity
Diffstat (limited to 'saedit')
-rw-r--r--saedit/main.c17
-rw-r--r--saedit/main.h2
2 files changed, 18 insertions, 1 deletions
diff --git a/saedit/main.c b/saedit/main.c
index 3bb9dfc..c1fb09c 100644
--- a/saedit/main.c
+++ b/saedit/main.c
@@ -88,11 +88,16 @@ void open_xml_file(GtkButton *button, gpointer buffer) {
}
void free_imagesets() {
- imageset = imageset_info_new();
+ free_imageset();
imagesets = NULL;
gtk_list_store_clear(GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(imagesets_combo_box))));
}
+void free_imageset() {
+ imageset = imageset_info_new();
+ gtk_widget_set_sensitive(imageset_preview_menu_item, FALSE);
+}
+
void free_actions() {
actions = NULL;
gtk_list_store_clear(GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(actions_combo_box))));
@@ -335,6 +340,7 @@ void animations_combo_box_changed_handler(GtkComboBox *widget, gpointer user_dat
}
void set_up_imageset_by_node(XMLNode *node) {
+ free_imageset();
free_actions();
free_animations();
@@ -362,6 +368,11 @@ void set_up_imageset_by_node(XMLNode *node) {
g_sprintf(path, "%s/%s", datapath, src);
imageset->spriteset = gdk_pixbuf_new_from_file(path, NULL);
+ if (imageset->spriteset == NULL) {
+ show_wrong_source_buffer_dialog();
+ return;
+ }
+ gtk_widget_set_sensitive(imageset_preview_menu_item, TRUE);
spriteset_width = gdk_pixbuf_get_width(imageset->spriteset);
spriteset_height = gdk_pixbuf_get_height(imageset->spriteset);
@@ -506,9 +517,12 @@ void set_up_interface() {
menu = gtk_menu_new();
menuitem = gtk_menu_item_new_with_label(_("Imageset preview"));
+ gtk_widget_set_sensitive(menuitem, FALSE);
g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(show_imageset_window), NULL);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
+ imageset_preview_menu_item = menuitem;
+
menuitem = gtk_menu_item_new_with_label(_("View"));
gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu);
gtk_menu_shell_append(GTK_MENU_SHELL(menubar), menuitem);
@@ -644,6 +658,7 @@ void show_imageset_window() {
event_box = gtk_event_box_new();
g_signal_connect(G_OBJECT(event_box), "button-press-event", G_CALLBACK(frame_image_button_press_event), w * y + x);
gtk_box_pack_start(GTK_BOX(hbox), event_box, TRUE, TRUE, 0);
+
image = gtk_image_new_from_pixbuf(get_sprite_by_index(w * y + x));
gtk_widget_add_events(image, GDK_BUTTON_PRESS_MASK);
gtk_container_add(GTK_CONTAINER(event_box), image);
diff --git a/saedit/main.h b/saedit/main.h
index e4cf029..a670443 100644
--- a/saedit/main.h
+++ b/saedit/main.h
@@ -74,6 +74,7 @@ GtkWidget *xml_file_save_button = NULL;
GtkWidget *imagesets_combo_box = NULL;
GtkWidget *actions_combo_box = NULL;
GtkWidget *animations_combo_box = NULL;
+GtkWidget *imageset_preview_menu_item = NULL;
GtkSourceBuffer *source_buffer = NULL;
@@ -125,3 +126,4 @@ static gboolean darea_expose_event(GtkWidget *widget, GdkEventExpose *event, gpo
static void load_config();
static void save_config_and_quit();
static void load_options();
+static void free_imageset();