eliot-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Eliot-dev] eliot Makefile.am configure.in dic/grammar.cpp ...


From: eliot-dev
Subject: [Eliot-dev] eliot Makefile.am configure.in dic/grammar.cpp ...
Date: Wed, 03 Sep 2008 17:28:29 +0000

CVSROOT:        /cvsroot/eliot
Module name:    eliot
Changes by:     Olivier Teulière <ipkiss>      08/09/03 17:28:29

Modified files:
        .              : Makefile.am configure.in 
        dic            : grammar.cpp 
        po             : eliot.pot fr.po 
        qt             : Makefile.am aux_window.cpp main.cpp 
                         main_window.cpp new_game.cpp new_game.h 
                         qtcommon.h 
        qt/ui          : main_window.ui new_game.ui 
Added files:
        qt             : eliot.qrc 
        qt/images      : eliot.xpm 

Log message:
         - Compilation fix for Windows
         - Display the Eliot icon
         - Improved printing
         - Allow changing the level of computer players
         - Generate automatically a default name for players
         - Translate Qt's own strings (only works on Linux at the moment)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/eliot/Makefile.am?cvsroot=eliot&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/eliot/configure.in?cvsroot=eliot&r1=1.25&r2=1.26
http://cvs.savannah.gnu.org/viewcvs/eliot/dic/grammar.cpp?cvsroot=eliot&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/eliot/po/eliot.pot?cvsroot=eliot&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/eliot/po/fr.po?cvsroot=eliot&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/Makefile.am?cvsroot=eliot&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/aux_window.cpp?cvsroot=eliot&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/main.cpp?cvsroot=eliot&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/main_window.cpp?cvsroot=eliot&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/new_game.cpp?cvsroot=eliot&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/new_game.h?cvsroot=eliot&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/qtcommon.h?cvsroot=eliot&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/eliot.qrc?cvsroot=eliot&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/images/eliot.xpm?cvsroot=eliot&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/ui/main_window.ui?cvsroot=eliot&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/ui/new_game.ui?cvsroot=eliot&r1=1.2&r2=1.3

Patches:
Index: Makefile.am
===================================================================
RCS file: /cvsroot/eliot/eliot/Makefile.am,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- Makefile.am 27 Aug 2008 21:20:03 -0000      1.8
+++ Makefile.am 3 Sep 2008 17:28:27 -0000       1.9
@@ -26,6 +26,8 @@
                mkdir -p $(WIN32_PACKAGE_DIR)/locale/$${lang}/LC_MESSAGES; \
                cp $(top_srcdir)/po/$${lang}.gmo 
$(WIN32_PACKAGE_DIR)/locale/$${lang}/LC_MESSAGES/eliot.mo; \
        done
+       mkdir -p $(WIN32_PACKAGE_DIR)/locale/qt4
+       cp $(QT4LOCALEDIR)/*.qm $(WIN32_PACKAGE_DIR)/locale/qt4/ || true
 
 # Copy relevant text files
        for i in AUTHORS COPYING NEWS; do \

Index: configure.in
===================================================================
RCS file: /cvsroot/eliot/eliot/configure.in,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- configure.in        7 Jul 2008 17:29:59 -0000       1.25
+++ configure.in        3 Sep 2008 17:28:27 -0000       1.26
@@ -147,11 +147,14 @@
 AC_ARG_ENABLE([qt],AC_HELP_STRING([--enable-qt],
               [Qt interface support (default disabled)]))
 qt_ok=0
-AS_IF([test "${enable_qt}" = "yes"],
+AS_IF([test "${enable_qt}" != "no"],
       [PKG_CHECK_MODULES(QT, [QtCore QtGui >= 4.2.0],
                          [qt_ok=1
                           AC_PATH_PROG(MOC, moc, moc,`$PKG_CONFIG 
--variable=exec_prefix QtCore`/bin)
                           AC_PATH_PROG(UIC, uic, uic,`$PKG_CONFIG 
--variable=exec_prefix QtCore`/bin)
+                          AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG 
--variable=exec_prefix QtCore`/bin)
+                          QT4LOCALEDIR="$($PKG_CONFIG --variable=prefix 
QtCore)/share/qt4/translations/"
+                          AC_SUBST(QT4LOCALEDIR)
                          ],
                          [AC_MSG_ERROR([Could not find Qt on your system 
(using pkg-config)])]
                         )

Index: dic/grammar.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/dic/grammar.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- dic/grammar.cpp     28 Jul 2008 18:37:09 -0000      1.4
+++ dic/grammar.cpp     3 Sep 2008 17:28:27 -0000       1.5
@@ -190,7 +190,7 @@
             for (iter = i->children.begin(); iter != i->children.end(); ++iter)
                 evaluate(iHeader, iter, evalStack, iList);
             // "Concatenate" the created child nodes with AND nodes
-            for (uint j = 0; j < i->children.size() - 1; ++j)
+            for (unsigned int j = 0; j < i->children.size() - 1; ++j)
             {
                 Node *old2 = evalStack.top();
                 evalStack.pop();

Index: po/eliot.pot
===================================================================
RCS file: /cvsroot/eliot/eliot/po/eliot.pot,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- po/eliot.pot        31 Aug 2008 11:48:17 -0000      1.10
+++ po/eliot.pot        3 Sep 2008 17:28:27 -0000       1.11
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-08-31 12:51+0200\n"
+"POT-Creation-Date: 2008-09-02 23:17+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <address@hidden>\n"
 "Language-Team: LANGUAGE <address@hidden>\n"
@@ -270,8 +270,8 @@
 msgid "Invalid regular expression: "
 msgstr ""
 
-#: game/training.cpp:49 qt/new_game.cpp:86 qt/new_game.cpp:94
-#: qt/new_game.cpp:126 qt/ui/new_game.ui:46
+#: game/training.cpp:49 qt/new_game.cpp:96 qt/new_game.cpp:104
+#: qt/new_game.cpp:139 qt/ui/new_game.ui:46
 msgid "Training"
 msgstr ""
 
@@ -309,7 +309,7 @@
 msgid " N |   RACK   |    SOLUTION     | REF | PTS | P | BONUS"
 msgstr ""
 
-#: utils/ncurses.cpp:411 qt/history_widget.cpp:143 qt/main_window.cpp:435
+#: utils/ncurses.cpp:411 qt/history_widget.cpp:143 qt/main_window.cpp:442
 msgid "(PASS)"
 msgstr ""
 
@@ -415,7 +415,7 @@
 msgid "   Ctrl-l           Refresh the screen"
 msgstr ""
 
-#: utils/ncurses.cpp:483 wxwin/auxframes.cc:147 qt/main_window.cpp:518
+#: utils/ncurses.cpp:483 wxwin/auxframes.cc:147 qt/main_window.cpp:525
 #: qt/ui/main_window.ui:188
 msgid "Bag"
 msgstr ""
@@ -817,7 +817,7 @@
 msgid "&Save as...\tCtrl+S"
 msgstr ""
 
-#: wxwin/mainframe.cc:276 qt/ui/main_window.ui:229
+#: wxwin/mainframe.cc:276 qt/ui/main_window.ui:232
 msgid "Save the current game"
 msgstr ""
 
@@ -857,7 +857,7 @@
 msgid "&Dictionary...\tCtrl+D"
 msgstr ""
 
-#: wxwin/mainframe.cc:287 wxwin/mainframe.cc:604 qt/main_window.cpp:485
+#: wxwin/mainframe.cc:287 wxwin/mainframe.cc:604 qt/main_window.cpp:492
 msgid "Choose a dictionary"
 msgstr ""
 
@@ -1065,7 +1065,7 @@
 msgid "&About..."
 msgstr ""
 
-#: wxwin/mainframe.cc:331 wxwin/mainframe.cc:733 qt/main_window.cpp:596
+#: wxwin/mainframe.cc:331 wxwin/mainframe.cc:733 qt/main_window.cpp:603
 #: qt/ui/main_window.ui:161
 msgid "About Eliot"
 msgstr ""
@@ -1256,12 +1256,11 @@
 msgid "Ref"
 msgstr ""
 
-#: qt/history_widget.cpp:87 qt/new_game.cpp:49 qt/score_widget.cpp:46
-#: qt/ui/new_game.ui:102
+#: qt/history_widget.cpp:87 qt/score_widget.cpp:46
 msgid "Player"
 msgstr ""
 
-#: qt/main_window.cpp:91 qt/main_window.cpp:536 qt/ui/main_window.ui:40
+#: qt/main_window.cpp:91 qt/main_window.cpp:543 qt/ui/main_window.ui:40
 msgid "Board"
 msgstr ""
 
@@ -1277,7 +1276,7 @@
 msgid "Duplicate game"
 msgstr ""
 
-#: qt/main_window.cpp:201 qt/new_game.cpp:88 qt/new_game.cpp:145
+#: qt/main_window.cpp:201 qt/new_game.cpp:98 qt/new_game.cpp:164
 #: qt/ui/new_game.ui:41
 msgid "Free game"
 msgstr ""
@@ -1298,44 +1297,44 @@
 msgid "Game saved"
 msgstr ""
 
-#: qt/main_window.cpp:343
+#: qt/main_window.cpp:350
 msgid "N."
 msgstr ""
 
-#: qt/main_window.cpp:343
+#: qt/main_window.cpp:350
 msgid "RACK"
 msgstr ""
 
-#: qt/main_window.cpp:343
+#: qt/main_window.cpp:350
 msgid "SOLUTION"
 msgstr ""
 
-#: qt/main_window.cpp:343
+#: qt/main_window.cpp:350
 msgid "REF"
 msgstr ""
 
-#: qt/main_window.cpp:343
+#: qt/main_window.cpp:350
 msgid "PTS"
 msgstr ""
 
-#: qt/main_window.cpp:476
+#: qt/main_window.cpp:483
 msgid "Stop current game?"
 msgstr ""
 
-#: qt/main_window.cpp:477
+#: qt/main_window.cpp:484
 msgid ""
 "Loading a dictionary will stop the current game. Do you want to continue?"
 msgstr ""
 
-#: qt/main_window.cpp:554 qt/ui/main_window.ui:53 qt/ui/main_window.ui:251
+#: qt/main_window.cpp:561 qt/ui/main_window.ui:53 qt/ui/main_window.ui:257
 msgid "History"
 msgstr ""
 
-#: qt/main_window.cpp:571 qt/ui/main_window.ui:276
+#: qt/main_window.cpp:578 qt/ui/main_window.ui:282
 msgid "Dictionary tools"
 msgstr ""
 
-#: qt/main_window.cpp:588
+#: qt/main_window.cpp:595
 msgid ""
 "Copyright (C) 1999-2008 - Antoine Fraboulet & Olivier Teuliere\n"
 "\n"
@@ -1345,31 +1344,36 @@
 "any later version."
 msgstr ""
 
-#: qt/new_game.cpp:36 qt/ui/new_game.ui:117
+#: qt/new_game.cpp:38 qt/ui/new_game.ui:117
 msgid "Human"
 msgstr ""
 
-#: qt/new_game.cpp:37 qt/ui/new_game.ui:122
+#: qt/new_game.cpp:39 qt/ui/new_game.ui:122
 msgid "Computer"
 msgstr ""
 
-#: qt/new_game.cpp:47
+#: qt/new_game.cpp:46 qt/new_game.cpp:53 qt/new_game.cpp:111
+#: qt/new_game.cpp:200 qt/new_game.cpp:203
+msgid "Player %1"
+msgstr ""
+
+#: qt/new_game.cpp:50
 msgid "Name"
 msgstr ""
 
-#: qt/new_game.cpp:48
+#: qt/new_game.cpp:51
 msgid "Type"
 msgstr ""
 
-#: qt/new_game.cpp:51
-msgid "Eliot"
+#: qt/new_game.cpp:52
+msgid "Level"
 msgstr ""
 
-#: qt/new_game.cpp:101
-msgid "Player %1"
+#: qt/new_game.cpp:55
+msgid "Eliot"
 msgstr ""
 
-#: qt/new_game.cpp:144 qt/ui/new_game.ui:36
+#: qt/new_game.cpp:163 qt/ui/new_game.ui:36
 msgid "Duplicate"
 msgstr ""
 
@@ -1453,43 +1457,43 @@
 msgid "Edit the preferences"
 msgstr ""
 
-#: qt/ui/main_window.ui:207
+#: qt/ui/main_window.ui:210
 msgid "Save"
 msgstr ""
 
-#: qt/ui/main_window.ui:215
+#: qt/ui/main_window.ui:218
 msgid "Load..."
 msgstr ""
 
-#: qt/ui/main_window.ui:218
+#: qt/ui/main_window.ui:221
 msgid "Load an existing game"
 msgstr ""
 
-#: qt/ui/main_window.ui:226
+#: qt/ui/main_window.ui:229
 msgid "Save as..."
 msgstr ""
 
-#: qt/ui/main_window.ui:240
+#: qt/ui/main_window.ui:243
 msgid "External board"
 msgstr ""
 
-#: qt/ui/main_window.ui:243
+#: qt/ui/main_window.ui:246
 msgid "Show/hide the external board"
 msgstr ""
 
-#: qt/ui/main_window.ui:254
+#: qt/ui/main_window.ui:260
 msgid "Show/hide the game history"
 msgstr ""
 
-#: qt/ui/main_window.ui:262
+#: qt/ui/main_window.ui:268
 msgid "Print..."
 msgstr ""
 
-#: qt/ui/main_window.ui:265
+#: qt/ui/main_window.ui:271
 msgid "Print the current game"
 msgstr ""
 
-#: qt/ui/main_window.ui:279
+#: qt/ui/main_window.ui:285
 msgid "Show/hide the dictionary tools"
 msgstr ""
 
@@ -1513,11 +1517,15 @@
 msgid "Type:"
 msgstr ""
 
-#: qt/ui/new_game.ui:134
+#: qt/ui/new_game.ui:130
+msgid "Level:"
+msgstr ""
+
+#: qt/ui/new_game.ui:154
 msgid "Add player"
 msgstr ""
 
-#: qt/ui/new_game.ui:157
+#: qt/ui/new_game.ui:177
 msgid "Remove player"
 msgstr ""
 

Index: po/fr.po
===================================================================
RCS file: /cvsroot/eliot/eliot/po/fr.po,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- po/fr.po    31 Aug 2008 11:48:17 -0000      1.11
+++ po/fr.po    3 Sep 2008 17:28:27 -0000       1.12
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: eliot 1.7\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-08-31 12:51+0200\n"
+"POT-Creation-Date: 2008-09-02 23:17+0200\n"
 "PO-Revision-Date: 2008-08-31 10:43+0100\n"
 "Last-Translator: Olivier Teuliere <address@hidden>\n"
 "Language-Team: French <address@hidden>\n"
@@ -288,8 +288,8 @@
 msgid "Invalid regular expression: "
 msgstr "Expression régulière invalide : "
 
-#: game/training.cpp:49 qt/new_game.cpp:86 qt/new_game.cpp:94
-#: qt/new_game.cpp:126 qt/ui/new_game.ui:46
+#: game/training.cpp:49 qt/new_game.cpp:96 qt/new_game.cpp:104
+#: qt/new_game.cpp:139 qt/ui/new_game.ui:46
 msgid "Training"
 msgstr "Entraînement"
 
@@ -327,7 +327,7 @@
 msgid " N |   RACK   |    SOLUTION     | REF | PTS | P | BONUS"
 msgstr " N |  TIRAGE  |    SOLUTION     | REF | PTS | J | BONUS"
 
-#: utils/ncurses.cpp:411 qt/history_widget.cpp:143 qt/main_window.cpp:435
+#: utils/ncurses.cpp:411 qt/history_widget.cpp:143 qt/main_window.cpp:442
 msgid "(PASS)"
 msgstr "(PASSE)"
 
@@ -438,7 +438,7 @@
 msgid "   Ctrl-l           Refresh the screen"
 msgstr "   Ctrl-l           Rafraîchir l'écran"
 
-#: utils/ncurses.cpp:483 wxwin/auxframes.cc:147 qt/main_window.cpp:518
+#: utils/ncurses.cpp:483 wxwin/auxframes.cc:147 qt/main_window.cpp:525
 #: qt/ui/main_window.ui:188
 msgid "Bag"
 msgstr "Sac"
@@ -840,7 +840,7 @@
 msgid "&Save as...\tCtrl+S"
 msgstr "&Enregistrer sous...\tCtrl+S"
 
-#: wxwin/mainframe.cc:276 qt/ui/main_window.ui:229
+#: wxwin/mainframe.cc:276 qt/ui/main_window.ui:232
 msgid "Save the current game"
 msgstr "Sauvegarder la partie en cours"
 
@@ -880,7 +880,7 @@
 msgid "&Dictionary...\tCtrl+D"
 msgstr "&Dictionnaire...\tCtrl+D"
 
-#: wxwin/mainframe.cc:287 wxwin/mainframe.cc:604 qt/main_window.cpp:485
+#: wxwin/mainframe.cc:287 wxwin/mainframe.cc:604 qt/main_window.cpp:492
 msgid "Choose a dictionary"
 msgstr "Choisir un dictionnaire"
 
@@ -1088,7 +1088,7 @@
 msgid "&About..."
 msgstr "À &propos..."
 
-#: wxwin/mainframe.cc:331 wxwin/mainframe.cc:733 qt/main_window.cpp:596
+#: wxwin/mainframe.cc:331 wxwin/mainframe.cc:733 qt/main_window.cpp:603
 #: qt/ui/main_window.ui:161
 msgid "About Eliot"
 msgstr "À propos d'Eliot"
@@ -1286,12 +1286,11 @@
 msgid "Ref"
 msgstr "Ref"
 
-#: qt/history_widget.cpp:87 qt/new_game.cpp:49 qt/score_widget.cpp:46
-#: qt/ui/new_game.ui:102
+#: qt/history_widget.cpp:87 qt/score_widget.cpp:46
 msgid "Player"
 msgstr "Joueur"
 
-#: qt/main_window.cpp:91 qt/main_window.cpp:536 qt/ui/main_window.ui:40
+#: qt/main_window.cpp:91 qt/main_window.cpp:543 qt/ui/main_window.ui:40
 msgid "Board"
 msgstr "Grille"
 
@@ -1308,7 +1307,7 @@
 msgid "Duplicate game"
 msgstr "Partie duplicate"
 
-#: qt/main_window.cpp:201 qt/new_game.cpp:88 qt/new_game.cpp:145
+#: qt/main_window.cpp:201 qt/new_game.cpp:98 qt/new_game.cpp:164
 #: qt/ui/new_game.ui:41
 msgid "Free game"
 msgstr "Partie libre"
@@ -1329,45 +1328,45 @@
 msgid "Game saved"
 msgstr "Partie enregistrée"
 
-#: qt/main_window.cpp:343
+#: qt/main_window.cpp:350
 msgid "N."
 msgstr "N."
 
-#: qt/main_window.cpp:343
+#: qt/main_window.cpp:350
 msgid "RACK"
 msgstr "TIRAGE"
 
-#: qt/main_window.cpp:343
+#: qt/main_window.cpp:350
 msgid "SOLUTION"
 msgstr "SOLUTION"
 
-#: qt/main_window.cpp:343
+#: qt/main_window.cpp:350
 msgid "REF"
 msgstr "REF"
 
-#: qt/main_window.cpp:343
+#: qt/main_window.cpp:350
 msgid "PTS"
 msgstr "PTS"
 
-#: qt/main_window.cpp:476
+#: qt/main_window.cpp:483
 msgid "Stop current game?"
 msgstr "Arrêter la partie en cours ?"
 
-#: qt/main_window.cpp:477
+#: qt/main_window.cpp:484
 msgid ""
 "Loading a dictionary will stop the current game. Do you want to continue?"
 msgstr ""
 "Charger un dictionnaire arrêtera la partie en cours. Voulez-vous continuer ?"
 
-#: qt/main_window.cpp:554 qt/ui/main_window.ui:53 qt/ui/main_window.ui:251
+#: qt/main_window.cpp:561 qt/ui/main_window.ui:53 qt/ui/main_window.ui:257
 msgid "History"
 msgstr "Historique"
 
-#: qt/main_window.cpp:571 qt/ui/main_window.ui:276
+#: qt/main_window.cpp:578 qt/ui/main_window.ui:282
 msgid "Dictionary tools"
-msgstr "Dictionnaire"
+msgstr "Outils du dictionnaire"
 
-#: qt/main_window.cpp:588
+#: qt/main_window.cpp:595
 msgid ""
 "Copyright (C) 1999-2008 - Antoine Fraboulet & Olivier Teuliere\n"
 "\n"
@@ -1383,31 +1382,36 @@
 "publiée par la Free Software Fundation ; soit la version 2 de la Licence, "
 "soit (comme vous le préférez), n'importe quelle version ultérieure."
 
-#: qt/new_game.cpp:36 qt/ui/new_game.ui:117
+#: qt/new_game.cpp:38 qt/ui/new_game.ui:117
 msgid "Human"
 msgstr "Humain"
 
-#: qt/new_game.cpp:37 qt/ui/new_game.ui:122
+#: qt/new_game.cpp:39 qt/ui/new_game.ui:122
 msgid "Computer"
 msgstr "Ordinateur"
 
-#: qt/new_game.cpp:47
+#: qt/new_game.cpp:46 qt/new_game.cpp:53 qt/new_game.cpp:111
+#: qt/new_game.cpp:200 qt/new_game.cpp:203
+msgid "Player %1"
+msgstr "Joueur %1"
+
+#: qt/new_game.cpp:50
 msgid "Name"
 msgstr "Nom"
 
-#: qt/new_game.cpp:48
+#: qt/new_game.cpp:51
 msgid "Type"
 msgstr "Type"
 
-#: qt/new_game.cpp:51
+#: qt/new_game.cpp:52
+msgid "Level"
+msgstr "Niveau"
+
+#: qt/new_game.cpp:55
 msgid "Eliot"
 msgstr "Eliot"
 
-#: qt/new_game.cpp:101
-msgid "Player %1"
-msgstr "Joueur %1"
-
-#: qt/new_game.cpp:144 qt/ui/new_game.ui:36
+#: qt/new_game.cpp:163 qt/ui/new_game.ui:36
 msgid "Duplicate"
 msgstr "Duplicate"
 
@@ -1491,43 +1495,43 @@
 msgid "Edit the preferences"
 msgstr "Modifier les préférences"
 
-#: qt/ui/main_window.ui:207
+#: qt/ui/main_window.ui:210
 msgid "Save"
 msgstr "Sauver"
 
-#: qt/ui/main_window.ui:215
+#: qt/ui/main_window.ui:218
 msgid "Load..."
 msgstr "&Charger..."
 
-#: qt/ui/main_window.ui:218
+#: qt/ui/main_window.ui:221
 msgid "Load an existing game"
 msgstr "Charger une partie existante"
 
-#: qt/ui/main_window.ui:226
+#: qt/ui/main_window.ui:229
 msgid "Save as..."
 msgstr "&Enregistrer sous..."
 
-#: qt/ui/main_window.ui:240
+#: qt/ui/main_window.ui:243
 msgid "External board"
 msgstr "&Plateau de jeu externe"
 
-#: qt/ui/main_window.ui:243
+#: qt/ui/main_window.ui:246
 msgid "Show/hide the external board"
 msgstr "Afficher/cacher le plateau de jeu externe"
 
-#: qt/ui/main_window.ui:254
+#: qt/ui/main_window.ui:260
 msgid "Show/hide the game history"
 msgstr "Afficher/cacher l'historique de la partie"
 
-#: qt/ui/main_window.ui:262
+#: qt/ui/main_window.ui:268
 msgid "Print..."
 msgstr "&Impression..."
 
-#: qt/ui/main_window.ui:265
+#: qt/ui/main_window.ui:271
 msgid "Print the current game"
 msgstr "Imprimer la partie en cours"
 
-#: qt/ui/main_window.ui:279
+#: qt/ui/main_window.ui:285
 msgid "Show/hide the dictionary tools"
 msgstr "Afficher/cacher les outils de recherche dans le dictionnaire"
 
@@ -1551,11 +1555,15 @@
 msgid "Type:"
 msgstr "Type :"
 
-#: qt/ui/new_game.ui:134
+#: qt/ui/new_game.ui:130
+msgid "Level:"
+msgstr "Niveau :"
+
+#: qt/ui/new_game.ui:154
 msgid "Add player"
 msgstr "Ajouter un joueur"
 
-#: qt/ui/new_game.ui:157
+#: qt/ui/new_game.ui:177
 msgid "Remove player"
 msgstr "Supprimer un joueur"
 

Index: qt/Makefile.am
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/Makefile.am,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- qt/Makefile.am      27 Aug 2008 21:20:16 -0000      1.4
+++ qt/Makefile.am      3 Sep 2008 17:28:27 -0000       1.5
@@ -20,19 +20,24 @@
 
 if BUILD_QT
 
-AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" @QT_CFLAGS@ -I$(top_srcdir) 
-I../intl -I$(top_srcdir)/dic -I$(top_srcdir)/game
+AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" @QT_CFLAGS@ 
-DQT4LOCALEDIR=\"@address@hidden" -I$(top_srcdir) -I../intl -I$(top_srcdir)/dic 
-I$(top_srcdir)/game
 
 SUFFIXES=.ui.h .moc.cpp
 
 bin_PROGRAMS = qeliot
 
+RESOURCES = \
+    images/eliot.xpm
+
 EXTRA_DIST = \
+    ui/dic_tools_widget.ui \
     ui/main_window.ui \
     ui/new_game.ui \
-    ui/training_widget.ui \
-    ui/prefs_dialog.ui \
     ui/player_widget.ui \
-    ui/dic_tools_widget.ui
+    ui/prefs_dialog.ui \
+    ui/training_widget.ui \
+    eliot.qrc \
+    $(RESOURCES)
 
 BUILT_SOURCES = \
     ui/main_window.ui.h \
@@ -51,7 +56,8 @@
     training_widget.moc.cpp \
     prefs_dialog.moc.cpp \
     aux_window.moc.cpp \
-    main_window.moc.cpp
+    main_window.moc.cpp \
+    resources.cpp
 
 qeliot_SOURCES = \
     qtcommon.h \
@@ -71,6 +77,10 @@
 
 qeliot_LDADD = @QT_LIBS@ ../game/libgame.a ../dic/libdic.a @LIBINTL@
 
+# Generate a cpp file from the resources
+resources.cpp: eliot.qrc $(RESOURCES)
+       $(RCC) -o $@ $<
+
 # Generate the implementation file from the header
 %.moc.cpp: %.h
        $(MOC) -o $@ $<

Index: qt/aux_window.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/aux_window.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- qt/aux_window.cpp   26 Jan 2008 23:03:32 -0000      1.2
+++ qt/aux_window.cpp   3 Sep 2008 17:28:27 -0000       1.3
@@ -20,6 +20,7 @@
 
 #include "config.h"
 
+#include <QtGui/QApplication>
 #include <QtGui/QAction>
 #include <QtGui/QWidget>
 #include <QtGui/QVBoxLayout>
@@ -35,6 +36,7 @@
     : m_widget(iWidget), m_windowName(iWindowName), m_action(iAction)
 {
     setWindowTitle(iWindowTitle);
+    setWindowIcon(qApp->windowIcon());
     QVBoxLayout *layout = new QVBoxLayout;
     layout->addWidget(&iWidget);
     setLayout(layout);

Index: qt/main.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/main.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- qt/main.cpp 20 Jan 2008 18:40:13 -0000      1.1
+++ qt/main.cpp 3 Sep 2008 17:28:28 -0000       1.2
@@ -20,23 +20,39 @@
 
 #include "config.h"
 
-#include <qapplication.h>
+#include <QApplication>
+#include <QLocale>
+#include <QTranslator>
 #include "main_window.h"
 
 int main(int argc, char **argv)
 {
-#if HAVE_SETLOCALE
+#ifdef HAVE_SETLOCALE
     // Set locale via LC_ALL
     setlocale(LC_ALL, "");
 #endif
 
-#if ENABLE_NLS
+    QApplication app(argc, argv);
+    app.setWindowIcon(QIcon(":/images/eliot.xpm"));
+
+#ifdef ENABLE_NLS
     // Set the message domain
     bindtextdomain(PACKAGE, LOCALEDIR);
     textdomain(PACKAGE);
+
+    // Translations for Qt's own strings
+    QTranslator translator;
+    // Set the path for the translation file
+#if !defined( WIN32 )
+    QString path = QString(QT4LOCALEDIR);
+#else
+    QString path = QString(LOCALEDIR) + "/qt4/";
+#endif
+    QString lang = QLocale::system().name();
+    translator.load(path + "qt_" + lang);
+    app.installTranslator(&translator);
 #endif
 
-    QApplication app(argc, argv);
     MainWindow qmain;
     qmain.move(200, 200);
     qmain.show();

Index: qt/main_window.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/main_window.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- qt/main_window.cpp  31 Aug 2008 11:48:18 -0000      1.9
+++ qt/main_window.cpp  3 Sep 2008 17:28:28 -0000       1.10
@@ -318,30 +318,38 @@
 }
 
 
-// Printing parameters
-#define TOTAL_WIDTH 500
-#define LINE_HEIGHT 20
-#define FONT_SIZE 12
-#define PEN_WIDTH 2
-#define TEXT_OFFSET 10
-#define SHOULD_ALIGN false
-
 void MainWindow::on_action_GamePrint_triggered()
 {
     if (m_game == NULL)
         return;
 
     QPrinter printer(QPrinter::HighResolution);
-    
printer.setOutputFileName("/home/ipkiss/dev/eliot/qt-intf/linux/print.pdf");
     QPrintDialog printDialog(&printer, this);
     if (printDialog.exec() == QDialog::Accepted)
     {
         QPainter painter(&printer);
         const History &history = m_game->getHistory();
 
-        const int colWidths[] = { 30, 150, 150, 70, 70 };
-        const char *colTitles[] = { _("N."), _("RACK"), _("SOLUTION"), 
_("REF"), _("PTS") };
-        const unsigned int nbCols = sizeof(colWidths) / sizeof(int);
+        // Printing parameters (XXX: these could be configurable by the users)
+        // Number of pixels virtually present on the page width. The bigger
+        // this number, the smaller the print result
+        static const int TOTAL_WIDTH = 700;
+        // Distance between 2 horizontal lines
+        static const int LINE_HEIGHT = 16;
+        // Font size, in pixels
+        static const int FONT_SIZE = 10;
+        // Width of the pen used to draw the grid lines
+        static const int PEN_WIDTH = 1;
+        // Offset of the text from the previous vertical line, in pixels
+        static const int TEXT_OFFSET = 10;
+        // Indicate whether the rack and the solution should be aligned
+        static const bool SHOULD_ALIGN = false;
+        // Columns widths
+        static const int colWidths[] = { 30, 120, 120, 35, 35 };
+        // Columns titles
+        static const char *colTitles[] = { _("N."), _("RACK"), _("SOLUTION"), 
_("REF"), _("PTS") };
+
+        static const unsigned int nbCols = sizeof(colWidths) / sizeof(int);
         const unsigned int nbRows = history.getSize() + (SHOULD_ALIGN ? 1 : 2);
 
         double scale = printer.pageRect().width() / double(TOTAL_WIDTH);
@@ -353,7 +361,6 @@
 
         QFont font;
         font.setPixelSize(FONT_SIZE);
-        //QFont font(painter.font(), &painter);
         painter.setFont(font);
 
         int maxRight = 0;
@@ -451,7 +458,7 @@
         }
 
         // Total score
-        curHeight += LINE_HEIGHT;
+        nextHeight += LINE_HEIGHT;
         painter.drawText(curWidth, nextHeight, QString("%1").arg(score));
     }
 }

Index: qt/new_game.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/new_game.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- qt/new_game.cpp     31 Aug 2008 11:48:19 -0000      1.4
+++ qt/new_game.cpp     3 Sep 2008 17:28:28 -0000       1.5
@@ -21,6 +21,8 @@
 #include <QtGui/QStandardItemModel>
 #include <QtGui/QKeyEvent>
 #include <QtGui/QMessageBox>
+#include <QtGui/QComboBox>
+#include <QtGui/QSpinBox>
 
 #include "new_game.h"
 #include "qtcommon.h"
@@ -41,21 +43,30 @@
     : QDialog(iParent)
 {
     setupUi(this);
+    lineEditName->setText(_q("Player %1").arg(2));
 
     // Initialize the model of the default players
-    m_model = new QStandardItemModel(2, 2, this);
+    m_model = new QStandardItemModel(2, 3, this);
     m_model->setHeaderData(0, Qt::Horizontal, _q("Name"), Qt::DisplayRole);
     m_model->setHeaderData(1, Qt::Horizontal, _q("Type"), Qt::DisplayRole);
-    m_model->setData(m_model->index(0, 0), _q("Player"));
+    m_model->setHeaderData(2, Qt::Horizontal, _q("Level"), Qt::DisplayRole);
+    m_model->setData(m_model->index(0, 0), _q("Player %1").arg(1));
     m_model->setData(m_model->index(0, 1), _q(kHUMAN));
     m_model->setData(m_model->index(1, 0), _q("Eliot"));
     m_model->setData(m_model->index(1, 1), _q(kAI));
+    m_model->setData(m_model->index(1, 2), 100);
 
     // Initialize the QTreeView with the model we just created
     treeViewPlayers->setModel(m_model);
-    PlayersDelegate *delegate = new PlayersDelegate(this);
-    treeViewPlayers->setItemDelegateForColumn(1, delegate);
-
+    PlayersTypeDelegate *typeDelegate = new PlayersTypeDelegate(this);
+    treeViewPlayers->setItemDelegateForColumn(1, typeDelegate);
+    PlayersLevelDelegate *levelDelegate = new PlayersLevelDelegate(this);
+    treeViewPlayers->setItemDelegateForColumn(2, levelDelegate);
+    treeViewPlayers->resizeColumnToContents(2);
+
+    // Enable the Level spinbox only when the player is a computer
+    QObject::connect(comboBoxType, SIGNAL(currentIndexChanged(int)),
+                     this, SLOT(enableLevelSpinBox(int)));
     // Enable the Remove button only when there is a selection in the tree
     QObject::connect(treeViewPlayers->selectionModel(),
                      SIGNAL(selectionChanged(const QItemSelection&, const 
QItemSelection&)),
@@ -116,7 +127,10 @@
             if (type == _q(kHUMAN))
                 player = new HumanPlayer;
             else
-                player = new AIPercent(1);
+            {
+                double level = m_model->data(m_model->index(num, 2)).toInt();
+                player = new AIPercent(level / 100.);
+            }
             player->setName(qtw(name));
             game->addPlayer(player);
         }
@@ -134,6 +148,12 @@
 }
 
 
+void NewGame::enableLevelSpinBox(int index)
+{
+    spinBoxLevel->setEnabled(index == 1);
+}
+
+
 void NewGame::enableOkButton()
 {
     // Enable the "Ok" button:
@@ -173,6 +193,16 @@
     // Change the contents of the row
     m_model->setData(m_model->index(rowNum, 0), lineEditName->displayText());
     m_model->setData(m_model->index(rowNum, 1), comboBoxType->currentText());
+    if (spinBoxLevel->isEnabled())
+        m_model->setData(m_model->index(rowNum, 2), spinBoxLevel->value());
+
+    // Increment the player ID
+    static int currPlayer = 2;
+    if (lineEditName->displayText() == _q("Player %1").arg(currPlayer))
+    {
+        ++currPlayer;
+        lineEditName->setText(_q("Player %1").arg(currPlayer));
+    }
 }
 
 
@@ -186,13 +216,13 @@
 
 
 
-PlayersDelegate::PlayersDelegate(QObject *parent)
+PlayersTypeDelegate::PlayersTypeDelegate(QObject *parent)
     : QItemDelegate(parent)
 {
 }
 
 
-QWidget *PlayersDelegate::createEditor(QWidget *parent,
+QWidget *PlayersTypeDelegate::createEditor(QWidget *parent,
                                        const QStyleOptionViewItem &,
                                        const QModelIndex &) const
 {
@@ -203,7 +233,7 @@
 }
 
 
-void PlayersDelegate::setEditorData(QWidget *editor,
+void PlayersTypeDelegate::setEditorData(QWidget *editor,
                                     const QModelIndex &index) const
 {
     QComboBox *combo = static_cast<QComboBox*>(editor);
@@ -212,16 +242,70 @@
 }
 
 
-void PlayersDelegate::setModelData(QWidget *editor,
+void PlayersTypeDelegate::setModelData(QWidget *editor,
                                    QAbstractItemModel *model,
                                    const QModelIndex &index) const
 {
     QComboBox *combo = static_cast<QComboBox*>(editor);
     model->setData(index, combo->currentText());
+    // Adapt the level to the chosen type of player
+    QModelIndex levelIndex = model->index(index.row(), 2);
+    if (combo->currentText() == _q(NewGame::kHUMAN))
+        model->setData(levelIndex, QVariant());
+    else
+        model->setData(levelIndex, 100);
+}
+
+
+void PlayersTypeDelegate::updateEditorGeometry(QWidget *editor,
+                                               const QStyleOptionViewItem 
&option,
+                                               const QModelIndex &) const
+{
+    editor->setGeometry(option.rect);
+}
+
+
+
+PlayersLevelDelegate::PlayersLevelDelegate(QObject *parent)
+    : QItemDelegate(parent)
+{
+}
+
+
+QWidget *PlayersLevelDelegate::createEditor(QWidget *parent,
+                                            const QStyleOptionViewItem &,
+                                            const QModelIndex &index) const
+{
+    // Allow changing the level only for computer players, i.e.
+    // if there is a level defined
+    if (index.model()->data(index, Qt::DisplayRole).isNull())
+        return NULL;
+    QSpinBox *editor = new QSpinBox(parent);
+    editor->setMinimum(0);
+    editor->setMaximum(100);
+    return editor;
+}
+
+
+void PlayersLevelDelegate::setEditorData(QWidget *editor,
+                                         const QModelIndex &index) const
+{
+    QSpinBox *spinBox = static_cast<QSpinBox*>(editor);
+    int value = index.model()->data(index, Qt::DisplayRole).toInt();
+    spinBox->setValue(value);
+}
+
+
+void PlayersLevelDelegate::setModelData(QWidget *editor,
+                                        QAbstractItemModel *model,
+                                        const QModelIndex &index) const
+{
+    QSpinBox *spinBox = static_cast<QSpinBox*>(editor);
+    model->setData(index, spinBox->value());
 }
 
 
-void PlayersDelegate::updateEditorGeometry(QWidget *editor,
+void PlayersLevelDelegate::updateEditorGeometry(QWidget *editor,
                                            const QStyleOptionViewItem &option,
                                            const QModelIndex &) const
 {
@@ -230,8 +314,8 @@
 
 
 
-PlayersEventFilter::PlayersEventFilter(QObject *parent)
-    : QObject(parent)
+    PlayersEventFilter::PlayersEventFilter(QObject *parent)
+: QObject(parent)
 {
 }
 

Index: qt/new_game.h
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/new_game.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- qt/new_game.h       31 Aug 2008 11:48:20 -0000      1.2
+++ qt/new_game.h       3 Sep 2008 17:28:28 -0000       1.3
@@ -49,6 +49,7 @@
     Game * createGame(const Dictionary& iDic) const;
 
 private slots:
+    void enableLevelSpinBox(int);
     void enableOkButton();
     void enableRemoveButton(const QItemSelection&, const QItemSelection&);
 
@@ -63,14 +64,39 @@
 };
 
 
-/// Delegate used for the edition of the players display
-class PlayersDelegate: public QItemDelegate
+/// Delegate used for the edition of the players type
+class PlayersTypeDelegate: public QItemDelegate
 {
     Q_OBJECT;
 
 public:
-    explicit PlayersDelegate(QObject *parent = 0);
-    virtual ~PlayersDelegate() {}
+    explicit PlayersTypeDelegate(QObject *parent = 0);
+    virtual ~PlayersTypeDelegate() {}
+
+    // Implement the needed methods
+    virtual QWidget *createEditor(QWidget *parent,
+                                  const QStyleOptionViewItem &option,
+                                  const QModelIndex &index) const;
+    virtual void setEditorData(QWidget *editor,
+                               const QModelIndex &index) const;
+    virtual void setModelData(QWidget *editor,
+                              QAbstractItemModel *model,
+                              const QModelIndex &index) const;
+
+    virtual void updateEditorGeometry(QWidget *editor,
+                                      const QStyleOptionViewItem &option,
+                                      const QModelIndex &index) const;
+};
+
+
+/// Delegate used for the edition of the players level
+class PlayersLevelDelegate: public QItemDelegate
+{
+    Q_OBJECT;
+
+public:
+    explicit PlayersLevelDelegate(QObject *parent = 0);
+    virtual ~PlayersLevelDelegate() {}
 
     // Implement the needed methods
     virtual QWidget *createEditor(QWidget *parent,

Index: qt/qtcommon.h
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/qtcommon.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- qt/qtcommon.h       31 Aug 2008 11:48:20 -0000      1.3
+++ qt/qtcommon.h       3 Sep 2008 17:28:28 -0000       1.4
@@ -36,12 +36,18 @@
 // Convert to/from utf-8 char*
 #define qfu(s) QString::fromUtf8(s)
 #define qtu(s) (s).toUtf8().data()
-// Convert to/from std::wstring
-#define qfw(s) QString::fromStdWString(s)
-#define qtw(s) (s).toStdWString().data()
 // Convert to/from local encoding
 #define qfl(s) QString::fromLocal8Bit(s)
 #define qtl(s) (s).toLocal8Bit().data()
+// Convert to/from std::wstring
+#ifdef WIN32
+#include "encoding.h"
+#define qfw(s) qfl(convertToMb(s).c_str())
+#define qtw(s) convertToWc(qtl(s))
+#else
+#define qfw(s) QString::fromStdWString(s)
+#define qtw(s) (s).toStdWString().data()
+#endif
 // Translation macro to use gettext
 #define _q(s) qfu(_(s))
 

Index: qt/ui/main_window.ui
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/ui/main_window.ui,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- qt/ui/main_window.ui        31 Aug 2008 11:48:21 -0000      1.8
+++ qt/ui/main_window.ui        3 Sep 2008 17:28:28 -0000       1.9
@@ -13,8 +13,8 @@
    <string>Eliot</string>
   </property>
   <property name="windowIcon" >
-   <iconset>
-    
<normaloff>../../../bzr-cppdic/wxwin/eliot.xpm</normaloff>../../../bzr-cppdic/wxwin/eliot.xpm</iconset>
+   <iconset resource="../eliot.qrc" >
+    <normaloff>:/images/eliot.xpm</normaloff>:/images/eliot.xpm</iconset>
   </property>
   <widget class="QWidget" name="centralwidget" >
    <property name="geometry" >
@@ -201,6 +201,9 @@
    <property name="statusTip" >
     <string>_("Edit the preferences")</string>
    </property>
+   <property name="shortcut" >
+    <string>Ctrl+F</string>
+   </property>
   </action>
   <action name="action_GameSave" >
    <property name="text" >
@@ -242,6 +245,9 @@
    <property name="statusTip" >
     <string>_("Show/hide the external board")</string>
    </property>
+   <property name="shortcut" >
+    <string>Ctrl+E</string>
+   </property>
   </action>
   <action name="action_WindowsHistory" >
    <property name="checkable" >
@@ -283,7 +289,9 @@
    </property>
   </action>
  </widget>
- <resources/>
+ <resources>
+  <include location="../eliot.qrc" />
+ </resources>
  <connections>
   <connection>
    <sender>action_GameQuit</sender>

Index: qt/ui/new_game.ui
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/ui/new_game.ui,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- qt/ui/new_game.ui   31 Aug 2008 11:48:21 -0000      1.2
+++ qt/ui/new_game.ui   3 Sep 2008 17:28:29 -0000       1.3
@@ -5,8 +5,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>374</width>
-    <height>327</height>
+    <width>470</width>
+    <height>390</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -99,7 +99,7 @@
         <item>
          <widget class="QLineEdit" name="lineEditName" >
           <property name="text" >
-           <string>_("Player")</string>
+           <string>Player 2</string>
           </property>
          </widget>
         </item>
@@ -124,6 +124,26 @@
           </item>
          </widget>
         </item>
+        <item>
+         <widget class="QLabel" name="label_4" >
+          <property name="text" >
+           <string>_("Level:")</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QSpinBox" name="spinBoxLevel" >
+          <property name="enabled" >
+           <bool>false</bool>
+          </property>
+          <property name="maximum" >
+           <number>100</number>
+          </property>
+          <property name="value" >
+           <number>100</number>
+          </property>
+         </widget>
+        </item>
        </layout>
       </item>
       <item>

Index: qt/eliot.qrc
===================================================================
RCS file: qt/eliot.qrc
diff -N qt/eliot.qrc
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ qt/eliot.qrc        3 Sep 2008 17:28:27 -0000       1.1
@@ -0,0 +1,5 @@
+<RCC>
+  <qresource>
+    <file>images/eliot.xpm</file>
+  </qresource>
+</RCC>

Index: qt/images/eliot.xpm
===================================================================
RCS file: qt/images/eliot.xpm
diff -N qt/images/eliot.xpm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ qt/images/eliot.xpm 3 Sep 2008 17:28:28 -0000       1.1
@@ -0,0 +1,315 @@
+/* XPM */
+static char * eliot_xpm[] = {
+"48 48 264 2",
+"      c None",
+".     c #E2E2E2",
+"+     c #EFEFEF",
+"@     c #EEEFEE",
+"#     c #EEEEEE",
+"$     c #DBDBDB",
+"%     c #EDEEED",
+"&     c #D9DAD9",
+"*     c #FFFFFF",
+"=     c #CACACA",
+"-     c #F0F0F0",
+";     c #BEBEBE",
+">     c #E1E1E1",
+",     c #C7C7C7",
+"'     c #BCBCBC",
+")     c #D3D3D3",
+"!     c #A3A3A3",
+"~     c #F9F9F9",
+"{     c #A0A0A0",
+"]     c #C1C1C1",
+"^     c #E0E0E0",
+"/     c #B5B5B5",
+"(     c #D2D2D2",
+"_     c #CDCDCD",
+":     c #B4B4B4",
+"<     c #B9B9B9",
+"[     c #FDFDFD",
+"}     c #C3C3C3",
+"|     c #D4D4D4",
+"1     c #F5F5F5",
+"2     c #969696",
+"3     c #EDEDED",
+"4     c #A9A9A9",
+"5     c #A6A6A6",
+"6     c #BFBFBF",
+"7     c #A8A8A8",
+"8     c #E5E6E5",
+"9     c #FBFBFB",
+"0     c #E5E2E2",
+"a     c #E2DFDF",
+"b     c #E4E3E2",
+"c     c #E3E3E3",
+"d     c #DCDCDC",
+"e     c #E4E5E4",
+"f     c #E2E3E2",
+"g     c #E2E4E4",
+"h     c #CED1D2",
+"i     c #DEE1E2",
+"j     c #DEDEDE",
+"k     c #E5E5E5",
+"l     c #DFE0DF",
+"m     c #E4E4E4",
+"n     c #DFDCDC",
+"o     c #E4E4E3",
+"p     c #E0E1E0",
+"q     c #E0E4E5",
+"r     c #D5D9D9",
+"s     c #DFE1E1",
+"t     c #E4E3E3",
+"u     c #DEDBDA",
+"v     c #F6505A",
+"w     c #DF787D",
+"x     c #64C0E0",
+"y     c #1DAEE2",
+"z     c #20BEF6",
+"A     c #C3DCE4",
+"B     c #FAFAFA",
+"C     c #EAEBEA",
+"D     c #E3BBBD",
+"E     c #E19EA2",
+"F     c #E7E8E7",
+"G     c #21BDF4",
+"H     c #51BADF",
+"I     c #E0868B",
+"J     c #E3C5C6",
+"K     c #CC878C",
+"L     c #E5CFD9",
+"M     c #CFC6CA",
+"N     c #7EB9CC",
+"O     c #52ADCD",
+"P     c #59BDDF",
+"Q     c #BACACE",
+"R     c #AABAD2",
+"S     c #B5C6E3",
+"T     c #AAB8CE",
+"U     c #CEB6B6",
+"V     c #CDA4A5",
+"W     c #B2BDCE",
+"X     c #CECFCF",
+"Y     c #D1D2D1",
+"Z     c #59BCDE",
+"`     c #73B5CC",
+" .    c #CFC8CB",
+"..    c #CC8E93",
+"+.    c #DFCCCD",
+"@.    c #FF91C5",
+"#.    c #E5B5CB",
+"$.    c #EAEAEA",
+"%.    c #2268E3",
+"&.    c #1869F6",
+"*.    c #3171DE",
+"=.    c #5789DF",
+"-.    c #DDE0E5",
+";.    c #E5BED0",
+">.    c #E5C6D4",
+",.    c #9A9A9A",
+"'.    c #CFAABB",
+").    c #E5BACE",
+"!.    c #CFC5CA",
+"~.    c #D2D3D2",
+"{.    c #CFD0CF",
+"].    c #7B9BD0",
+"^.    c #7FA3E1",
+"/.    c #7B9BCC",
+"(.    c #8DCCE1",
+"_.    c #9BC1CD",
+":.    c #AAC5CE",
+"<.    c #7DA2CC",
+"[.    c #CCCECF",
+"}.    c #E3E4E3",
+"|.    c #CFC9CB",
+"1.    c #CFC2C8",
+"2.    c #C9C9C9",
+"3.    c #E5C9D6",
+"4.    c #D9E2E5",
+"5.    c #61BFE0",
+"6.    c #86CAE1",
+"7.    c #B4D7E3",
+"8.    c #E5D3DB",
+"9.    c #E5B1C9",
+"0.    c #CFCFCF",
+"a.    c #CFA4B8",
+"b.    c #D298B3",
+"c.    c #E5A6C3",
+"d.    c #CFC7CA",
+"e.    c #D4D5D4",
+"f.    c #CCCFCF",
+"g.    c #ACD5E3",
+"h.    c #8EBDCD",
+"i.    c #82BACC",
+"j.    c #C3CDCF",
+"k.    c #E3A5C2",
+"l.    c #CFA1B7",
+"m.    c #CFC3C8",
+"n.    c #89BCCC",
+"o.    c #C8DADF",
+"p.    c #ACACAC",
+"q.    c #D8DBDC",
+"r.    c #EA85B5",
+"s.    c #E5D5DC",
+"t.    c #AFD6E3",
+"u.    c #8ACBE1",
+"v.    c #FD90C4",
+"w.    c #E59DBF",
+"x.    c #6CC2E0",
+"y.    c #BBD9E3",
+"z.    c #D6E1E4",
+"A.    c #C6CDCF",
+"B.    c #CFCCCD",
+"C.    c #D2CCCE",
+"D.    c #E5DEE1",
+"E.    c #CF96B0",
+"F.    c #E591B9",
+"G.    c #E090B6",
+"H.    c #C9CECF",
+"I.    c #CF8DAC",
+"J.    c #D18BAB",
+"K.    c #E3DCDF",
+"L.    c #CFCBCD",
+"M.    c #C7CECF",
+"N.    c #DDE0E0",
+"O.    c #9F9F9F",
+"P.    c #E59ABD",
+"Q.    c #FA8FC2",
+"R.    c #E58EB7",
+"S.    c #E78AB6",
+"T.    c #D6D6D6",
+"U.    c #D9D9D9",
+"V.    c #D694B3",
+"W.    c #ED8CB9",
+"X.    c #E88BB6",
+"Y.    c #DADBDA",
+"Z.    c #D689AD",
+"`.    c #D886AC",
+" +    c #EBEBEB",
+".+    c #F7F8F7",
+"++    c #B1C2DD",
+"@+    c #1C69EF",
+"#+    c #7EA0DB",
+"$+    c #DFDFDF",
+"%+    c #F2F3F2",
+"&+    c #2568DC",
+"*+    c #3370D8",
+"=+    c #5888D9",
+"-+    c #D7DADE",
+";+    c #F5F6F5",
+">+    c #90ACDC",
+",+    c #9FB6DC",
+"'+    c #C2C2C2",
+")+    c #92B0E2",
+"!+    c #A2BAE2",
+"~+    c #AEBBCE",
+"{+    c #447DDF",
+"]+    c #7C9FCC",
+"^+    c #C6DDE4",
+"/+    c #487ACE",
+"(+    c #507ECA",
+"_+    c #BDCBCF",
+":+    c #C2CCCF",
+"<+    c #668ECB",
+"[+    c #CACDCF",
+"}+    c #CACFCF",
+"|+    c #87A7CC",
+"1+    c #A1B2CE",
+"2+    c #E1E2E1",
+"3+    c #BFDAE3",
+"4+    c #7BC7E1",
+"5+    c #ADADAD",
+"6+    c #E2ADB0",
+"7+    c #CDADAE",
+"8+    c #A3C3CE",
+"9+    c #73C4E0",
+"0+    c #88BCCC",
+"a+    c #90BFCF",
+"b+    c #9DD0E2",
+"c+    c #C4CDCF",
+"d+    c #8CB4C8",
+"e+    c #E5C2D2",
+"f+    c #9FB4C6",
+"g+    c #B6C9CE",
+"h+    c #9CCFE0",
+"i+    c #8CBDCD",
+"j+    c #99C0CD",
+"k+    c #CEB1B2",
+"l+    c #E0D6D6",
+"m+    c #E5CBD7",
+"n+    c #E582B1",
+"o+    c #E5B9CD",
+"p+    c #E7E7E7",
+"q+    c #E6E7E6",
+"r+    c #CCCCCC",
+"s+    c #E8E8E8",
+"t+    c #F2F2F2",
+"u+    c #989898",
+"v+    c #FEFEFE",
+"w+    c #E3E4E4",
+"x+    c #F1F1F1",
+"y+    c #B6B6B6",
+"z+    c #DCD9D9",
+"A+    c #DADADA",
+"B+    c #F7F7F7",
+"C+    c #E4D3D4",
+"D+    c #E2D8D8",
+"E+    c #D5DFE2",
+"F+    c #BDCCD1",
+"G+    c #CEDFE4",
+"H+    c #DFE2E2",
+"I+    c #E2DFDE",
+"J+    c #E2DCDB",
+"K+    c #D3DEE2",
+"L+    c #E2D9D9",
+"M+    c #F3F0F0",
+"N+    c #D7D8D7",
+"O+    c #CECFCE",
+". + + + @ + + # + @ # + $ @ + # + + # + + % + + # + @ @ + @ # + @ @ + # + @ # 
+ @ @ + # # + + & ",
+"+ * * * = * - ; * > , * ' ) * ! ~ * { * * ] * ^ / * ( _ * : < [ } | 1 2 3 = 4 
* = 5 * 6 7 * * 8 ",
+"+ * 9 0 a b c d e f . g h i e j k k l e 8 f m 0 n o p f e f l e f . q r s f l 
e f f t a u 1 * 8 ",
+"+ + 0 v v w * * 8 * * x y z A * B C * 8 * * D v v E * * 8 * * 8 * F G z H * * 
8 * * I v v J * 8 ",
+"@ ! 0 v v w * * 8 * * x y z A * B C * 8 * * D v v E * * 8 * * 8 * F G z H * * 
8 * * I v v J * 8 ",
+"+ * b w w K L L M 8 8 N O P Q 8 p R S T 8 8 U w w V 8 8 W S S X 8 Y Z P ` 8 8 
 .L L ..w w +.* 8 ",
+"+ , 8 * * L @address@hidden * 8 $.* 8 * B %.&.*.* * 8 * * 8 * * =.&.&.-.* F [ 
* 8 * * ;address@hidden@.>.* * 8 * 8 ",
+"+ ,.8 * * L @address@hidden * 8 $.* 8 * B %.&.*.* * 8 * * 8 * * =.&.&.-.* F [ 
* 8 * * ;address@hidden@.>.* * 8 * 8 ",
+"+ * e 8 8 M #.#.'.).).!.~.8 {.8 p ].^./.(.(._.8 8 :.(.(.<.^.^.[.8 Y }.8 
|.).).'.#.#.1.8 8 p * 8 ",
+"+ 2.f * * 8 * * )address@hidden@.3.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 * 
F [ * address@hidden@.9.* * 8 * * 8 * 8 ",
+"+ 0.f * * 8 * * )address@hidden@.3.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 * 
F [ * address@hidden@.9.* * 8 * * 8 * 8 ",
+"+ * g x x N 8 8 !.3.3.a.b.c.d.8 p e.8 f.g.g.h.x x i.g.g.j.8 8 {.8 Y 
k.c.l.3.3.m.8 8 n.x x o.* 8 ",
+"+ p.q.z z P * * 8 * * address@hidden B C * 8 * * t.z z u.* * 8 * * 8 * F 
address@hidden * 8 * * x.z z y.* 8 ",
+"+ 0.q z z P * * 8 * * address@hidden B C * 8 * * t.z z u.* * 8 * * 8 * F 
address@hidden * 8 * * x.z z y.* 8 ",
+"+ 9 e z.z.A.8 8 {.8 8 B.C.D.E.F.G.e.8 {.8 8 f.z.z.H.8 8 {.8 8 I.F.J.K.D.L.8 8 
{.8 8 M.z.z.N.* 8 ",
+"+ O.8 * * 8 * * 8 * * 8 $.* address@hidden * 8 * * 8 * * 8 * * 8 * * 
address@hidden * 8 * * 8 * * 8 * * 8 * 8 ",
+"+ . k 3 3 T.3 3 T.3 3 T.U.3 V.W.X.Y.3 T.3 3 T.3 3 T.3 3 T.3 3 Z.W.`. +3 T.3 3 
T.3 3 T.3 3 . * 8 ",
+"+ j k address@hidden@+#+.+.+$+c .+$+.+%+&address@hidden@address@hidden> 
;+.+$+.+.+>address@hidden@+,+.+.+m * 8 ",
+"+ '+8 * * S &.&.^.* * 8 $.* 8 * B %.&.*.* * 8 * * 8 * * =.&.&.-.* F [ * 8 * * 
)+&.&.!+* * 8 * 8 ",
+"+ * e 8 8 ~+{+{+]+^+^+M.~.8 {.8 p /+{+(+^+^+_+8 8 :+^+^+<+{+{+[+8 Y }.8 
}+^+^+|+{+{+1+8 8 p * 8 ",
+"@ 0.2+* * 8 * * (.z z g.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 * F [ * 3+z z 
4+* * 8 * * 8 * 8 ",
+"# 5+Y.* * 8 * * (.z z g.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 * F [ * 3+z z 
4+* * 8 * * 8 * 8 ",
+"+ * o 6+6+7+8 8 8+9+9+0+a+b+c+8 p e.8 H.9+9+d+e+e+f+9+9+g+8 8 {.8 Y 
h+b+i+9+9+j+8 8 k+6+6+l+* 8 ",
+"+ '+0 v v w * * 8 * * x y z A * B C * 8 * * m+n+n+o+$ ^ 8 p+* 8 6 q+G z H * * 
8 * * I v v J * 8 ",
+"+ '+0 v v w * * 8 * * x y z A * B C * 8 * * m+v.n+o+$ ^ 8 ) B 8 6 q+G z H * * 
8 * * I v v J * 8 ",
+"+ * o 6+6+7+8 8 8+9+9+0+a+b+c+8 p e.8 H.9+9+d+e+e+f+9+9+g+8 8 {.8 Y 
h+b+i+9+9+j+8 8 k+6+6+l+* 8 ",
+"+ $+8 * * 8 * * (.z z g.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 * F [ * 3+z z 
4+* * 8 * * 8 * 8 ",
+"+ # 8 * * 8 * * (.z z g.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 * F [ * 3+z z 
4+* * 8 * * 8 * 8 ",
+"+ * e 8 8 ~+{+{+]+^+^+M.~.8 {.8 p /+{+(+^+^+_+8 8 :+^+^+<+{+{+[+8 Y }.8 
}+^+^+|+{+{+1+8 8 p * 8 ",
+"+ r+8 * * S &.&.^.* * 8 $.* 8 * B %.&.*.* * 8 * * 8 * * =.&.&.-.* F [ * 8 * * 
)+&.&.!+* * 8 * 8 ",
+"+ s+k address@hidden@+#+.+.+$+c .+$+.+%+&address@hidden@address@hidden> 
;+.+$+.+.+>address@hidden@+,+.+.+m * 8 ",
+"+ t+}.3 3 T.3 3 T.3 3 T.U.3 V.W.X.Y.3 T.3 3 T.3 3 T.3 3 T.3 3 Z.W.`. +3 T.3 3 
T.3 3 T.3 3 . * 8 ",
+"+ u+2+* * 8 * * 8 * * 8 $.* address@hidden * 8 * * 8 * * 8 * * 8 * * 
address@hidden * 8 * * 8 * * 8 * * 8 * 8 ",
+"+ v+w+z.z.A.8 8 {.8 8 B.C.D.E.F.G.e.8 {.8 8 f.z.z.H.8 8 {.8 8 I.F.J.K.D.L.8 8 
{.8 8 M.z.z.N.* 8 ",
+"+ x+q z z P * * 8 * * address@hidden B C * 8 * * t.z z u.* * 8 * * 8 * F 
address@hidden * 8 * * x.z z y.* 8 ",
+"+ } q z z P * * 8 * * address@hidden B C * 8 * * t.z z u.* * 8 * * 8 * F 
address@hidden * 8 * * x.z z y.* 8 ",
+"+ * g x x N 8 8 !.3.3.a.b.c.d.8 p e.8 f.g.g.h.x x i.g.g.j.8 8 {.8 Y 
k.c.l.3.3.m.8 8 n.x x o.* 8 ",
+"# ( Y * * 8 * * )address@hidden@.3.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 * 
F [ * address@hidden@.9.* * 8 * * 8 * 8 ",
+"% y+r+* * 8 * * )address@hidden@.3.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 * 
F [ * address@hidden@.9.* * 8 * * 8 * 8 ",
+"+ * e 8 8 M #.#.'.).).!.~.8 {.8 p ].^./.(.(._.8 8 :.(.(.<.^.^.[.8 Y }.8 
|.).).'.#.#.1.8 8 p * 8 ",
+"+ p.8 * * L @address@hidden * 8 $.* 8 * B %.&.*.* * 8 * * 8 * * =.&.&.-.* F [ 
* 8 * * ;address@hidden@.>.* * 8 * 8 ",
+"+ = 8 * * L @address@hidden * 8 $.* 8 * B %.&.*.* * 8 * * 8 * * =.&.&.-.* F [ 
* 8 * * ;address@hidden@.>.* * 8 * 8 ",
+"+ * b w w K L L M 8 8 N O P Q 8 p R S T 8 8 U w w V 8 8 W S S X 8 Y Z P ` 8 8 
 .L L ..w w +.* 8 ",
+"# 4 z+v v w * * 8 * * x y z A * B C * 8 * * D v v E * * 8 * * 8 * F G z H * * 
8 * * I v v J * 8 ",
+"+ A+0 v v w * * 8 * * x y z A * B C * 8 * * D v v E * * 8 * * 8 * F G z H * * 
8 * * I v v J * 8 ",
+"+ * B+C+C+D+8 8 f 8 8 E+F+G+H+8 e c 8 f 8 8 I+C+C+J+8 8 f 8 8 f 8 c G+G+K+8 8 
f 8 8 L+C+C+M+* 8 ",
+"+ * * * * * * * * * * * $.* * * * * * * * * * * * * * * * * * * * * * * * * * 
* * * * * * * * 8 ",
+"N+. . . . . . . . . . . 0.. . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . O+"};




reply via email to

[Prev in Thread] Current Thread [Next in Thread]