Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruno Coudoin <bcoudoin@src.gnome.org>2006-02-07 23:03:23 (GMT)
committer Bruno Coudoin <bcoudoin@src.gnome.org>2006-02-07 23:03:23 (GMT)
commit7d28d89c5d640cce0f81029513419f783021a1d8 (patch)
tree2ba991f6d5ce2f51e68ab28c699219fba2aba11b
parent535135eca8c8dd4395b17a8df219ed515be97bc3 (diff)
fixed to check properly for long locale (e.g. pt_BR) - added a dialog if
* src/boards/advanced_colors.c: (add_xml_data): fixed to check properly for long locale (e.g. pt_BR) * src/boards/read_colors.c: (add_xml_data), (parse_doc): - * src/boards/python/melody.py: added a dialog if run without sound fx activated changed to use the reload icon instead of mouth sign for the repeat.
-rw-r--r--ChangeLog7
-rw-r--r--src/boards/advanced_colors.c9
-rw-r--r--src/boards/python/melody.py26
-rw-r--r--src/boards/read_colors.c14
4 files changed, 41 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 736f6fc..fb0d68a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-02-07 Bruno coudoin <bruno.coudoin@free.fr>
+
+ * src/boards/advanced_colors.c: (add_xml_data): fixed to check properly for long locale (e.g. pt_BR)
+ * src/boards/read_colors.c: (add_xml_data), (parse_doc): -
+ * src/boards/python/melody.py: added a dialog if run without sound fx activated
+ changed to use the reload icon instead of mouth sign for the repeat.
+
2006-02-05 Bruno coudoin <bruno.coudoin@free.fr>
Changed background entry color to white. The blue background color
diff --git a/src/boards/advanced_colors.c b/src/boards/advanced_colors.c
index e918020..ab3164b 100644
--- a/src/boards/advanced_colors.c
+++ b/src/boards/advanced_colors.c
@@ -481,13 +481,14 @@ static void add_xml_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child)
if (lang == NULL) { // get default value
text = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1);
colors[i] = text;
- } else // get correct language
- if ( !strcmp(lang, gcompris_get_locale()) || !strncmp(lang, gcompris_get_locale(), 2) ) {
+ } else { // get correct language
+ if ( !strncmp(lang, gcompris_get_locale(), strlen(lang)) ) {
text = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1);
g_warning("color prop::lang=%s locale=%s text=%s\n", lang, gcompris_get_locale(), text);
colors[i] = text;
- color++;
}
+ }
+ g_free(sColor);
break;
}
g_free(sColor);
@@ -495,7 +496,7 @@ static void add_xml_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child)
xmlnode = xmlnode->next;
}
- g_warning("colors found in XML = %d\n", color);
+ g_warning("colors found in XML:\n");
for (color=0; color<8; color++)
g_warning("%d %s\n", color, colors[color]);
diff --git a/src/boards/python/melody.py b/src/boards/python/melody.py
index 18466cd..a887be1 100644
--- a/src/boards/python/melody.py
+++ b/src/boards/python/melody.py
@@ -29,6 +29,8 @@ import gtk
import gtk.gdk
import random
+from gcompris import gcompris_gettext as _
+
class Gcompris_melody:
"""The melody activity"""
@@ -93,14 +95,25 @@ class Gcompris_melody:
self.maxtheme = len(self.melodylist)-1
self.gcomprisBoard.maxlevel = 9
+ #
+ pixmap = gcompris.utils.load_pixmap(gcompris.skin.image_to_skin("button_reload.png"))
+ if(pixmap):
+ gcompris.bar_set_repeat_icon(pixmap)
+ gcompris.bar_set(gcompris.BAR_LEVEL|gcompris.BAR_REPEAT_ICON)
+ else:
+ gcompris.bar_set(gcompris.BAR_LEVEL|gcompris.BAR_REPEAT)
+
+
+ self.pause(1);
+ self.display_current_level()
+
# Play an intro sound
gcompris.sound.play_ogg_cb("melody/" + self.melodylist[self.theme][0]['theme'] + "/melody", self.intro_cb)
- gcompris.bar_set(gcompris.BAR_REPEAT|gcompris.BAR_LEVEL)
+ Prop = gcompris.get_properties()
- self.display_current_level()
- self.pause(1);
- print("Gcompris_melody start.")
+ if(not Prop.fx):
+ gcompris.utils.dialog(_("Error: this activity cannot be played with the\nsound effects disabled.\nGo to the configuration dialogue to\nenable the sound"), stop_board)
def end(self):
self.cleanup()
@@ -370,4 +383,7 @@ class Gcompris_melody:
print "intro passed. go play"
self.pause(0)
self.populate(self.sound_list)
- \ No newline at end of file
+
+def stop_board():
+ gcompris.bonus.board_finished(gcompris.bonus.FINISHED_RANDOM)
+
diff --git a/src/boards/read_colors.c b/src/boards/read_colors.c
index b5dc016..d4ce7c1 100644
--- a/src/boards/read_colors.c
+++ b/src/boards/read_colors.c
@@ -19,6 +19,7 @@
#include <ctype.h>
#include <assert.h>
+#include <string.h>
/* libxml includes */
#include <libxml/tree.h>
@@ -439,21 +440,22 @@ static void add_xml_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child)
if (lang == NULL) { // get default value
text = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1);
colors[i] = text;
- } else // get correct language
- if ( !strcmp(lang, gcompris_get_locale()) || !strncmp(lang, gcompris_get_locale(), 2) ) {
+ } else { // get correct language
+ if ( !strncmp(lang, gcompris_get_locale(), strlen(lang)) ) {
text = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1);
g_warning("color prop::lang=%s locale=%s text=%s\n", lang, gcompris_get_locale(), text);
colors[i] = text;
- color++;
}
- break;
+ g_free(sColor);
+ break;
+ }
}
g_free(sColor);
} // end for
xmlnode = xmlnode->next;
}
- g_warning("colors found in XML = %d\n", color);
+ g_warning("colors found in XML:\n");
for (color=0; color<LAST_COLOR; color++)
g_warning("%d %s\n", color, colors[color]);
@@ -470,7 +472,7 @@ static void parse_doc(xmlDocPtr doc)
xmlNodePtr node;
for(node = doc->children->children; node != NULL; node = node->next) {
- if ( g_strcasecmp(node->name, "Board") == 0 )
+ if ( g_strcasecmp((gchar *)node->name, "Board") == 0 )
add_xml_data(doc, node,NULL);
}