Don't permit to use non ASCII characters.
[bertos.git] / wizard / BFolderPage.py
index 0539c62b5f5ba137e420dbb0b0fabeeda2d3fffb..b6038ae31b6b37e2e6a9e9e2965c49f0ee9e5f19 100644 (file)
@@ -1,8 +1,32 @@
 #!/usr/bin/env python
 # encoding: utf-8
 #
+# This file is part of BeRTOS.
+#
+# Bertos 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
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction.  Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License.  This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+#
 # Copyright 2008 Develer S.r.l. (http://www.develer.com/)
-# All rights reserved.
 #
 # $Id$
 #
@@ -67,14 +91,19 @@ class BFolderPage(BWizardPage):
         """
         Slot called when the project name is changed manually by the user.
         """
-        self._project_name = str(name).replace(" ", "_")
+        try:
+            name = unicode(name).encode("ascii")
+        except UnicodeEncodeError:
+            name = self._project_name
+            self.pageContent.nameEdit.setText(name)
+        self._project_name = unicode(name).replace(" ", "_")
         self.setProjectPath()
     
     def directoryChanged(self, directory):
         """
         Slot called when the project folder is changed manually by the user.
         """
-        self._destination_folder = str(QDir.toNativeSeparators(directory))
+        self._destination_folder = unicode(QDir.toNativeSeparators(directory))
         self.setProjectPath()
 
     def selectDirectory(self):