summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/games/chess/.cvsignore5
-rw-r--r--noncore/games/chess/boardview.cw23
-rw-r--r--noncore/games/chess/chess.cpp360
-rw-r--r--noncore/games/chess/chess.db2
-rw-r--r--noncore/games/chess/chess.h128
-rw-r--r--noncore/games/chess/chess.pro35
-rw-r--r--noncore/games/chess/config.in4
-rw-r--r--noncore/games/chess/main.cpp51
-rw-r--r--noncore/games/chess/mainwindow.ui220
-rw-r--r--noncore/games/chess/opie-chess.control9
-rw-r--r--noncore/games/chess/pieces.pngbin5696 -> 0 bytes
-rw-r--r--noncore/games/chess/simple-l.pngbin16143 -> 0 bytes
-rw-r--r--packages2
13 files changed, 1 insertions, 838 deletions
diff --git a/noncore/games/chess/.cvsignore b/noncore/games/chess/.cvsignore
deleted file mode 100644
index 2806415..0000000
--- a/noncore/games/chess/.cvsignore
+++ b/dev/null
@@ -1,5 +0,0 @@
1Makefile
2Makefile.in
3mainwindow.cpp
4mainwindow.h
5moc*
diff --git a/noncore/games/chess/boardview.cw b/noncore/games/chess/boardview.cw
deleted file mode 100644
index 020af96..0000000
--- a/noncore/games/chess/boardview.cw
+++ b/dev/null
@@ -1,23 +0,0 @@
1<!DOCTYPE CW><CW>
2<customwidgets>
3 <customwidget>
4 <class>BoardView</class>
5 <header location="global">/home/luke/depot/qpe/chess/chess.h</header>
6 <sizehint>
7 <width>-1</width>
8 <height>-1</height>
9 </sizehint>
10 <container>0</container>
11 <sizepolicy>
12 <hordata>5</hordata>
13 <verdata>5</verdata>
14 </sizepolicy>
15 <pixmap>
16 <data format="XPM.GZ" length="4605">789c6dd7d96ee33a1206e0fb7e8aa0ebae31a863c9966d613017d9e3ecce9e0ce6a228c94b6c67f192d83998771f9af517e10493b4daf89a25b258a428f75f7fb61e2ecfb6fefcf56b3697f9b0d82a0632ddfa532e2693d5bffff3afbf7ffd4ed3adf027d94a7fffe3d76ff7b9556c9dbfbe5401ef9bf8d8c464136f9b186ee27513cf9bd8dec47c13d30d74bfb52c3d28cdd322a9058fd6aee7f5a29e047f697bbd96b483573fe2173ffc82fbdbb87fb0762389fdcdd6ee859fe0716ccfd7e6def7fed8c5f1d5c5f77c58c2788959ea70230dfd3982dba9de7f6ff9693b757ee4dbb7f9a3fdf5473d7aea464dfb23fa3e3fdafe319f3d75a3a1edbc0fb7913f9991df8b19f7977081f1ae83c5da89cd8dd0bf34601bffceaced14facfd22c53f36db484f95570a9e3398ed6f1c27ec8c4e239877378d79c85bd4f477089f117d1219ee666c4d7d4cd04fddd98d1de5ebb995abc3ca863fb04467eb26746fc398c7ce5c0aced7c1dade3bfc2983f5766acf7be19f59f466b3d4b752bc1fd9a9f58ffd28311cf6d33f2b9323735ff17752bc17855b4f697c119f2cbcd884fe15cd757d6c711b5ea2dd48766708efd959871ffb319f53c86ad1e67d1fafc89ba9d60bcaf68edffca8ce7ab8033c4b7a2b57e3bc1ae95b7eac1db70091fa9db895a6e61ab472b3af4277730e6cb5d33e69bc3781e6865c6f31ce6d3f6f9b75c881738d3f5e2b119ed27708ef655b4aedf0d6cf5fc50e709f27d84510fb930e3f94a615bdf6bb3f627f7b0cd47f3f5f36d877a5103b67af6cddace23759e20fe00b6e77da016acb77370a6e71df5cc18bf1fadfb610c0bcef304ae6aeab619ef83f57b92f286e5c3cfd1a1de3c803378095bbd9bea98cf305af7430b16d47319adf53f34637daee00af9f7d52ed57c692f5acf7fbdbfc8f3bc113c834be43b35a37d185d84feeed482fd47e77086fdbf0b57d81f75b54b311f8ad6f95e9a319f1adc44fed3689ddf132c589f8e59e385a3b5fdcc8cf1bb30d697a2311eea53a07e1cce7b6948a2f52007676ad956bb14e7e53e6cebb382adff67339eb7a5dac6930f33ce87266cf5388dd6f50ccf83f87a8baed77bb4aed78edaa5c877085738ff3fcdd89f13b58d4f68b7f1e5d48cfd589a118ff10bd49b9ea235fe12aef0fc55669c6fe17c718d42701ececcfafea2118cfb3935e3bcf98cd6f18ecc785fbd99f1beabab4bab77c38cef2b613d5c5908ced357b8c2799aa9637c12ade32dcc787fedc04d7c1fb935e33c7b8cd6f509df578aac10acef02aef0bc76ccbade7caeb6fb656ec6fe1c98f1fc5ec2a82f9f9931bf5ab4e67b0263bf70d80f455956e8efc6acf9d185ba4a51bfb119e779789f97be7f9d1fbda9637b19adf73b33e21fe026ea7162c6f31ad6a7acaad4e9fe1fc1d6be1badf53b36a39e4fb0e5771f1dda257c7fa89a668a76657013b6f509eb5bf99f225bbb3b5fff32b1b0e3c25fffefb3d4288de78a7bdce7010ffdf5cca38dabef7fc73ce1177fcf6b8c77fcc6ef3cf56d6f3ce3392ff8833f79c92bfee26ddef1f1bbbcc785c6f3be8f3be0433ef2b11d3ee6133ee5333ee70bbee42e5ff135dff02ddff13d5388179fc5d4f7f4c08ffcc4354e38e53a3738f39f4d6e719b73ce898958d7a7c74312725450491537a9477d1ad0909e69e4e39b34a609bdf01dbdb2d6abf0fd3ff8e8377aa729cd684e8b704de8833e69e97f57f4e5fbdf8efd3fd30eed724a7bb44f733ff6fa3ae0aebf6be5a30f7d2f473ebe8378f1f1c77442a77416fb3ea70bba0c77f47c465dbaa2eb6ffddfd0adefddfabea37b7aa0477aa21a25beff25a5a17fcbff994a4ea88ebe1b9451d3d734a116b529f7d15df1cbefe71bfbe753ba145af72d224e7ca5f84c4aa9bc7b7edca5f4bfe72f03df3ea485f83b652463bf0a19d765e2df012febfcb9f53d7f79f5f16ff22e5399c95c16f2219f7ec512ffe9eb232bf9fa96ff48b67ddb8eecca9eef719fbb72208772b45ee175fda523c7dff2efcb899cfad57a973339478de672219721ba2b573fea3fe61db9f6792eb9292c37722b77d4926558dbaecfa62ff73eff4eec7fc2d7f2208f612dfde5ef3c44e493cfa523354924953af22fa5e1f7f7adaf9dff4f9d5fcb25aeae7468202d1fdd96dcb123ddcfe179d9f3fbef3a5c95131abbf54fc1fe0deb3771e9a32bd7e35e7cbefc4e757d377043f78c6be4af71f87be25edcab7b73ef6eaaf16eb67e92dddc2ddc87fbf4ff6e9f9ffe73e93f57eecb6dfb081ff7fbbffffcf53f54dd2532</data>
17 </pixmap>
18 <slot access="public">newGame()</slot>
19 <slot access="public">swapSides()</slot>
20 <slot access="public">setTheme(QString)</slot>
21 </customwidget>
22</customwidgets>
23</CW>
diff --git a/noncore/games/chess/chess.cpp b/noncore/games/chess/chess.cpp
deleted file mode 100644
index 29c96bb..0000000
--- a/noncore/games/chess/chess.cpp
+++ b/dev/null
@@ -1,360 +0,0 @@
1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3**
4** This file is part of Qtopia Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15**
16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you.
18**
19**********************************************************************/
20
21
22// human is not offered a promotion yet
23
24#include <stdlib.h>
25
26#include <qcanvas.h>
27#include <qmainwindow.h>
28#include <qlist.h>
29#include <qimage.h>
30#include <qpainter.h>
31#include <qmessagebox.h>
32#include <qregexp.h>
33
34#include <qpe/config.h>
35#include <qpe/resource.h>
36
37#include "chess.h"
38
39#define CHESS_DEBUG
40
41int pieceSize = 40;
42static QVector < QImage > imgList;
43int timeMoves, timeTime;
44
45int BoardView::convertToRank(int r)
46{
47 r = r / pieceSize;
48 if (humanSide == sideWhite)
49 r = 8 - r;
50 else
51 r++;
52 return r;
53}
54
55char BoardView::convertToFile(int f)
56{
57 f = f / pieceSize;
58 if (humanSide == sideWhite)
59 return f + 'a';
60 else
61 return 'h' - f;
62}
63
64int BoardView::convertFromFile(char f)
65{
66 if (humanSide == sideWhite)
67 f = f - 'a';
68 else
69 f = 'h' - f;
70 return f * pieceSize;
71}
72
73int BoardView::convertFromRank(int r)
74{
75 if (humanSide == sideWhite)
76 r = 8 - r;
77 else
78 r--;
79 return r * pieceSize;
80}
81
82// Pieces
83Piece::Piece(QCanvas * canvas, int t):QCanvasRectangle(canvas)
84{
85 type = t;
86 setSize(pieceSize, pieceSize);
87 show();
88}
89
90Piece *BoardView::newPiece(int t, char f, int r)
91{
92 Piece *tmpPiece = new Piece(canvas(), t);
93 tmpPiece->move(convertFromFile(f), convertFromRank(r));
94 list.append(tmpPiece);
95 return tmpPiece;
96}
97
98void BoardView::deletePiece(Piece * p)
99{
100 list.remove(p);
101 canvas()->update();
102}
103
104void Piece::drawShape(QPainter & p)
105{
106 p.drawImage(int (x()), int (y()), *(imgList[type]));
107}
108
109void BoardView::buildImages(QImage theme)
110{
111 imgList.resize(12);
112 int x;
113 int y = 0;
114
115 for (int j = 0; j < 2; j++) {
116 x = 0;
117 for (int i = 0; i < 6; i++) {
118 imgList.insert(i + (j * 6),
119 new QImage(theme.
120 copy(x, y, pieceSize, pieceSize)));
121 x += pieceSize;
122 }
123 y += pieceSize;
124 }
125}
126
127void BoardView::readStdout()
128{
129 QString input( crafty->readStdout() );
130#ifdef CHESS_DEBUG
131 qDebug("received this string from crafty->\n%s\n", input.latin1());
132#endif
133
134 int startPosition = input.find("setboard");
135 if (startPosition != -1)
136 decodePosition(input.remove(0, startPosition + 9));
137
138 if (input.contains("Black mates")) {
139 playingGame = FALSE;
140 emit(showMessage("Black mates"));
141 } else if (input.contains("White mates")) {
142 playingGame = FALSE;
143 emit(showMessage("White mates"));
144 } else if (input.contains(" resigns")) {
145 playingGame = FALSE;
146 emit(showMessage("Computer resigns"));
147 } else if (input.contains("Draw")) {
148 playingGame = FALSE;
149 emit(showMessage("Draw"));
150 }
151}
152
153// this is pretty close to getting done right
154// maybe dont use sprites and just draw a picture
155// there'll be lots of drawing done anyway
156// eg creating pictures for the webpages,
157// and presenting options for promotions
158void BoardView::decodePosition(const QString & t)
159{
160 qDebug("decode copped %s \n", t.latin1());
161
162 int count = 0;
163 int stringPos = 0;
164 for (int file = 0; file < 8; file++) {
165 for (int rank = 0; rank < 8; rank++) {
166 if (count)
167 count--;
168 else {
169 if (t.at(stringPos).isNumber())
170 count = t.at(stringPos).digitValue();
171 else {
172 newPiece(t.at(stringPos).latin1(), 'a' + file,
173 rank + 1);
174 }
175 }
176 }
177 }
178}
179
180void BoardView::undo()
181{
182 crafty->writeToStdin("undo\n");
183 crafty->writeToStdin("savepos\nclock\n");
184}
185
186void BoardView::emitErrorMessage()
187{
188 if (activeSide != humanSide)
189 emit(showMessage("Not your move"));
190 else
191 emit(showMessage("You are not playing a game"));
192}
193
194void BoardView::annotateGame()
195{
196 crafty->
197 writeToStdin
198 ("savegame game.save\nannotateh game.save bw 0 1.0 1\n");
199 emit(showMessage("Annotating game"));
200}
201
202Piece *BoardView::findPiece(char f, int r)
203{
204 QListIterator < Piece > it(list);
205 Piece *tmpPiece;
206 for (; it.current(); ++it) {
207 tmpPiece = it.current();
208 if (convertToRank(tmpPiece->x()) == r
209 && convertToFile(tmpPiece->y()) == f)
210 return tmpPiece;
211 }
212 return 0;
213}
214
215void BoardView::newGame()
216{
217 activeSide = sideWhite;
218 emit(showMessage("New game"));
219 crafty->writeToStdin("new\n");
220 crafty->writeToStdin("savepos\n");
221 crafty->writeToStdin("time " +
222 QString::number(timeMoves) +
223 "/" + QString::number(timeTime) + "\n");
224 activeSide = sideWhite;
225 if (humanSide == sideBlack)
226 crafty->writeToStdin("go\n");
227}
228
229void BoardView::setTheme(QString filename)
230{
231 QImage theme = Resource::loadImage(QString("chess/") + filename);
232 pieceSize = theme.height() / 2;
233 setFrameStyle(QFrame::Plain);
234 setFixedSize(8 * pieceSize, 8 * pieceSize);
235 canvas()->setBackgroundColor(Qt::red);
236 canvas()->resize(8 * pieceSize, 8 * pieceSize);
237 whiteSquare = theme.copy(6 * pieceSize, 0, pieceSize, pieceSize);
238 activeWhiteSquare = theme.copy(7 * pieceSize, 0, pieceSize, pieceSize);
239 blackSquare =
240 theme.copy(6 * pieceSize, pieceSize, pieceSize, pieceSize);
241 activeBlackSquare =
242 theme.copy(7 * pieceSize, pieceSize, pieceSize, pieceSize);
243 buildImages(theme);
244 drawBackgroundImage(QPoint(-1, -1));
245}
246
247
248// sets the bg to the default background image for the current theme
249// also resposible for drawing the "active" marker
250void BoardView::drawBackgroundImage(QPoint activeSquare)
251{
252 bg = QPixmap(8 * pieceSize, 8 * pieceSize);
253 QPainter p(&bg);
254 bool col = FALSE;
255 for (int i = 0; i < 8; i++) {
256 for (int j = 0; j < 8; j++) {
257 QPoint point(i * pieceSize, j * pieceSize);
258 if (col) {
259 if (point.x() == activeSquare.x()
260 && point.y() == activeSquare.y())
261 p.drawImage(point, activeBlackSquare);
262 else
263 p.drawImage(point, blackSquare);
264 col = FALSE;
265 } else {
266 if (point.x() == activeSquare.x()
267 && point.y() == activeSquare.y())
268 p.drawImage(point, activeWhiteSquare);
269 else
270 p.drawImage(point, whiteSquare);
271 col = TRUE;
272 }
273 }
274 col = !col;
275 }
276 canvas()->setBackgroundPixmap(bg);
277 canvas()->update();
278}
279
280
281// Board view widget
282void BoardView::contentsMousePressEvent(QMouseEvent * e)
283{
284 QCanvasItemList cList = canvas()->collisions(e->pos());
285 if (activeSide == humanSide && playingGame) {
286 if (!activePiece) {
287 if (cList.count()) {
288 activePiece = (Piece *) (*(cList.at(0)));
289 drawBackgroundImage(QPoint
290 (activePiece->x(), activePiece->y()));
291 }
292 } else {
293 if (!(activePiece == (Piece *) (*(cList.at(0))))) {
294 char fromFile = convertToFile(activePiece->x());
295 int fromRank = convertToRank(activePiece->y());
296 char toFile = convertToFile(e->pos().x());
297 int toRank = convertToRank(e->pos().y());
298 QString moveS;
299 moveS.append(fromFile);
300 moveS.append(moveS.number(fromRank));
301 moveS.append(toFile);
302 moveS.append(moveS.number(toRank));
303 if ((activePiece->type == wPawn
304 && fromRank == 7 && toRank == 8)
305 || (activePiece->type == bPawn
306 && fromRank == 2 && toRank == 1)) {
307 // offer a promotion
308 emit(showMessage
309 ("you are meant to be offered a promotion here"));
310 char promoteTo = wQueen;// doesnt matter for now
311 moveS.append(promoteTo);
312 moveS.append("\n");
313 crafty->writeToStdin(moveS.latin1());
314 }
315 }
316 activePiece = 0;
317 drawBackgroundImage(QPoint(-1, -1));
318 }
319 }
320
321 else {
322 emitErrorMessage();
323 }
324}
325
326void BoardView::swapSides()
327{
328 if (activeSide == humanSide && playingGame) {
329 humanSide = !humanSide;
330 crafty->writeToStdin("savepos\ngo\n");
331 } else
332 emitErrorMessage();
333}
334
335BoardView::BoardView(QCanvas *c, QWidget *w, const char *name)
336 : QCanvasView(c, w, name) {
337 humanSide = sideWhite;
338 activeSide = sideWhite;
339 playingGame = TRUE;
340 activePiece = 0;
341 list.setAutoDelete(TRUE);
342 setCanvas(new QCanvas());
343 Config conf("Chess", Config::User);
344 conf.setGroup("Theme");
345 QString theme = conf.readEntry("imagefile", "simple-28");
346 setTheme(theme);
347 crafty = new CraftyProcess(this);
348 crafty->addArgument("crafty");
349 if (!crafty->start()) {
350 QMessageBox::critical(0,
351 tr("Could not find crafty chess engine"),
352 tr("Quit"));
353 exit(-1);
354 }
355
356 connect(crafty, SIGNAL(readyReadStdout()), this, SLOT(readStdout()));
357 connect(crafty, SIGNAL(processExited()), this, SLOT(craftyDied()));
358// crafty->writeToStdin("xboard\nics\nkibitz=2\n");
359 newGame();
360}
diff --git a/noncore/games/chess/chess.db b/noncore/games/chess/chess.db
deleted file mode 100644
index b520b30..0000000
--- a/noncore/games/chess/chess.db
+++ b/dev/null
@@ -1,2 +0,0 @@
1<!DOCTYPE DB><DB version="1.0">
2</DB>
diff --git a/noncore/games/chess/chess.h b/noncore/games/chess/chess.h
deleted file mode 100644
index 067b2f8..0000000
--- a/noncore/games/chess/chess.h
+++ b/dev/null
@@ -1,128 +0,0 @@
1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3**
4** This file is part of Qtopia Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15**
16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you.
18**
19** $Id$
20**
21**********************************************************************/
22#ifndef CHESS_H
23#define CHESS_H
24
25#include <qwidget.h>
26#include <qcanvas.h>
27#include <qmainwindow.h>
28#include <qpixmap.h>
29#include <qimage.h>
30#include <qstack.h>
31#include <qvector.h>
32#include <qpe/process.h>
33
34#define wPawn 'P'
35 #definewKnight 'N'
36#define wBishop 'B'
37#define wRook 'R'
38#define wQueen 'Q'
39#define wKing 'K'
40#define bPawn 'p'
41#define bKnight 'n'
42#define bBishop 'b'
43#define bRook 'r'
44#define bQueen 'q'
45#define bKing 'k'
46#define NONE N
47
48#define sideWhite 0
49#define sideBlack 1
50
51
52class Piece:public QCanvasRectangle {
53 public:
54 Piece(QCanvas *, int);
55 ~Piece() {
56 };
57
58 char type;
59
60 protected:
61 void drawShape(QPainter &);
62};
63
64
65class CraftyProcess : public Process {
66 public:
67 CraftyProcess(QObject *parent) : Process( parent ) { qDebug("CraftyProcess functions not implemented"); }
68 ~CraftyProcess() { }
69 bool start() { qDebug("CraftyProcess functions not implemented"); return FALSE; }
70 const char *readStdout() { qDebug("CraftyProcess functions not implemented"); return "Blah"; }
71 void writeToStdin(const char *) { qDebug("CraftyProcess functions not implemented"); }
72};
73
74
75class BoardView:public QCanvasView {
76 Q_OBJECT public:
77 BoardView(QCanvas *, QWidget *, const char *);
78 ~BoardView() {
79 };
80
81 protected:
82 void contentsMousePressEvent(QMouseEvent *);
83
84 signals:
85 void showMessage(const QString &);
86
87 public slots:void readStdout();
88 void craftyDied() {
89 qFatal("Crafty died unexpectedly\n");
90 };
91 void newGame();
92 void setTheme(QString);
93 void swapSides();
94 void undo();
95 void annotateGame();
96
97 private:
98 CraftyProcess * crafty;
99 QList < Piece > list;
100 Piece *activePiece;
101
102 void revertLastMove();
103 void emitErrorMessage();
104 void drawBackgroundImage(QPoint activeSquare);
105
106 void buildImages(QImage);
107
108 char convertToFile(int);
109 int convertToRank(int);
110 int convertFromFile(char);
111 int convertFromRank(int);
112
113 void decodePosition(const QString & t);
114
115 Piece *findPiece(char f, int r);
116 Piece *newPiece(int, char, int);
117 void deletePiece(Piece *);
118
119 int pieceSize;
120 QPixmap bg;
121 QImage whiteSquare, blackSquare, activeWhiteSquare, activeBlackSquare;
122
123 bool humanSide;
124 bool activeSide;
125 bool playingGame;
126};
127
128#endif
diff --git a/noncore/games/chess/chess.pro b/noncore/games/chess/chess.pro
deleted file mode 100644
index 4c9604f..0000000
--- a/noncore/games/chess/chess.pro
+++ b/dev/null
@@ -1,35 +0,0 @@
1 SOURCES+= chess.cpp main.cpp
2 HEADERS+= chess.h
3DESTDIR = $(OPIEDIR)/bin
4TARGET = chess
5 DEPENDPATH+= $(OPIEDIR)/include
6INTERFACES = mainwindow.ui
7 IMAGES= images/new.png images/repeat.png images/txt.png images/back.png
8 TEMPLATE=app
9 CONFIG+= qt warn_on release
10INCLUDEPATH += $(OPIEDIR)/include
11 LIBS+= -lqpe
12 DBFILE= chess.db
13 LANGUAGE= C++
14 CPP_ALWAYS_CREATE_SOURCE= TRUE
15
16TRANSLATIONS = ../../../i18n/de/chess.ts \
17 ../../../i18n/da/chess.ts \
18 ../../../i18n/xx/chess.ts \
19 ../../../i18n/en/chess.ts \
20 ../../../i18n/es/chess.ts \
21 ../../../i18n/fr/chess.ts \
22 ../../../i18n/hu/chess.ts \
23 ../../../i18n/ja/chess.ts \
24 ../../../i18n/ko/chess.ts \
25 ../../../i18n/no/chess.ts \
26 ../../../i18n/pl/chess.ts \
27 ../../../i18n/pt/chess.ts \
28 ../../../i18n/pt_BR/chess.ts \
29 ../../../i18n/sl/chess.ts \
30 ../../../i18n/zh_CN/chess.ts \
31 ../../../i18n/zh_TW/chess.ts
32
33
34
35include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/games/chess/config.in b/noncore/games/chess/config.in
deleted file mode 100644
index 6d49f3e..0000000
--- a/noncore/games/chess/config.in
+++ b/dev/null
@@ -1,4 +0,0 @@
1 config CHESS
2 boolean "chess"
3 default "n"
4 depends ( LIBQPE || LIBQPE-X11 ) && LIBOPIE
diff --git a/noncore/games/chess/main.cpp b/noncore/games/chess/main.cpp
deleted file mode 100644
index a56913f..0000000
--- a/noncore/games/chess/main.cpp
+++ b/dev/null
@@ -1,51 +0,0 @@
1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3**
4** This file is part of Qtopia Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15**
16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you.
18**
19** $Id$
20**
21**********************************************************************/
22#include <qpe/qpeapplication.h>
23#include <qpe/qpetoolbar.h>
24#include <qmainwindow.h>
25#include <qcanvas.h>
26#include "chess.h"
27
28
29class CanvasMainWindow : public QMainWindow {
30public:
31 CanvasMainWindow(QWidget* parent=0, const char* name=0, WFlags f=0)
32 : QMainWindow(parent,name,f), canvas(232, 258) {
33 view = new BoardView(&canvas, this, 0);
34 setToolBarsMovable( FALSE );
35 QPEToolBar* toolbar = new QPEToolBar(this);
36 toolbar->setHorizontalStretchable( TRUE );
37 }
38
39private:
40 QCanvas canvas;
41 BoardView *view;
42};
43
44
45int main( int argc, char **argv ) {
46 QPEApplication a(argc,argv);
47 CanvasMainWindow *mw = new CanvasMainWindow();
48 a.showMainWidget( mw );
49 return a.exec();
50}
51
diff --git a/noncore/games/chess/mainwindow.ui b/noncore/games/chess/mainwindow.ui
deleted file mode 100644
index dc3ae0f..0000000
--- a/noncore/games/chess/mainwindow.ui
+++ b/dev/null
@@ -1,220 +0,0 @@
1<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
2<class>MainWindow</class>
3<widget class="QMainWindow">
4 <property name="name">
5 <cstring>MainWindow</cstring>
6 </property>
7 <property name="geometry">
8 <rect>
9 <x>0</x>
10 <y>0</y>
11 <width>256</width>
12 <height>338</height>
13 </rect>
14 </property>
15 <property name="caption">
16 <string>Chess</string>
17 </property>
18 <widget class="QLabel">
19 <property name="name">
20 <cstring>TextLabel1</cstring>
21 </property>
22 <property name="geometry">
23 <rect>
24 <x>10</x>
25 <y>236</y>
26 <width>221</width>
27 <height>31</height>
28 </rect>
29 </property>
30 <property name="text">
31 <string>TextLabel1</string>
32 </property>
33 </widget>
34 <widget class="BoardView">
35 <property name="name">
36 <cstring>ChessBoard</cstring>
37 </property>
38 <property name="geometry">
39 <rect>
40 <x>10</x>
41 <y>10</y>
42 <width>224</width>
43 <height>224</height>
44 </rect>
45 </property>
46 <property name="sizePolicy">
47 <sizepolicy>
48 <hsizetype>1</hsizetype>
49 <vsizetype>1</vsizetype>
50 <horstretch>0</horstretch>
51 <verstretch>0</verstretch>
52 </sizepolicy>
53 </property>
54 <property name="minimumSize">
55 <size>
56 <width>224</width>
57 <height>224</height>
58 </size>
59 </property>
60 </widget>
61</widget>
62<menubar>
63 <property name="name">
64 <cstring>menubar</cstring>
65 </property>
66 <item text="Game" name="PopupMenu_2">
67 <action name="newGame"/>
68 <action name="annotateGame"/>
69 </item>
70 <item text="Position" name="PopupMenu_3">
71 <action name="swapSides"/>
72 <action name="undo"/>
73 </item>
74</menubar>
75<toolbars>
76</toolbars>
77<customwidgets>
78 <customwidget>
79 <class>BoardView</class>
80 <header location="global">/home/luke/depot/qpe/chess/chess.h</header>
81 <sizehint>
82 <width>-1</width>
83 <height>-1</height>
84 </sizehint>
85 <container>0</container>
86 <sizepolicy>
87 <hordata>5</hordata>
88 <verdata>5</verdata>
89 <horstretch>0</horstretch>
90 <verstretch>0</verstretch>
91 </sizepolicy>
92 <pixmap>image0</pixmap>
93 <signal>showMessage(const QString&amp;)</signal>
94 <slot access="public" specifier="">newGame()</slot>
95 <slot access="public" specifier="">swapSides()</slot>
96 <slot access="public" specifier="">setTheme(QString)</slot>
97 <slot access="public" specifier="">undo()</slot>
98 <slot access="public" specifier="">annotateGame()</slot>
99 </customwidget>
100</customwidgets>
101<actions>
102 <actiongroup>
103 <property name="name">
104 <cstring>gameActions</cstring>
105 </property>
106 <property name="text">
107 <string>ActionGroup</string>
108 </property>
109 <property name="usesDropDown">
110 <bool>false</bool>
111 </property>
112 <action>
113 <property name="name">
114 <cstring>newGame</cstring>
115 </property>
116 <property name="iconSet">
117 <iconset>new.png</iconset>
118 </property>
119 <property name="text">
120 <string>New Game</string>
121 </property>
122 <property name="menuText">
123 <string>New Game</string>
124 </property>
125 <property name="toolTip">
126 <string>New Game</string>
127 </property>
128 </action>
129 <action>
130 <property name="name">
131 <cstring>swapSides</cstring>
132 </property>
133 <property name="iconSet">
134 <iconset>repeat.png</iconset>
135 </property>
136 <property name="text">
137 <string>Swap sides</string>
138 </property>
139 <property name="toolTip">
140 <string>Swap sides</string>
141 </property>
142 </action>
143 <action>
144 <property name="name">
145 <cstring>annotateGame</cstring>
146 </property>
147 <property name="iconSet">
148 <iconset>txt.png</iconset>
149 </property>
150 <property name="text">
151 <string>Annotate game</string>
152 </property>
153 <property name="toolTip">
154 <string>Annotate game</string>
155 </property>
156 </action>
157 <action>
158 <property name="name">
159 <cstring>undo</cstring>
160 </property>
161 <property name="iconSet">
162 <iconset>back.png</iconset>
163 </property>
164 <property name="text">
165 <string>Undo move</string>
166 </property>
167 <property name="toolTip">
168 <string>Undo move</string>
169 </property>
170 </action>
171 <action>
172 <property name="name">
173 <cstring>saveGame</cstring>
174 </property>
175 <property name="text">
176 <string>Action</string>
177 </property>
178 </action>
179 </actiongroup>
180</actions>
181<images>
182 <image name="image0">
183 <data format="XPM.GZ" length="3456">789ce5d35d5313491406e07b7e458abea3b68e99cfccd4d65ee0079ac8a720a2d65ef474cf2424229004152dffbba7cf795941182a59bcd8aa6548524fbafb9d9ed3278fd63a47bb5b9db5472bb3b99d1fbb8e1bd96967cd5f9c9c5cbefffbaf6f2bab49dce1ff5eaf13affeb1b24aa6e33aa62b7f620fa7b01517ec423c850bb571b0c3f8bbe0a8db7591ae1fa9c3257e0aa7b0ac8f0ab6aeefc305bc073b783d38ee462ed6f5953a5ce20d38859f894b7629de820bb519c20ee3af829328764924be50275d7806a76a732c2ed9ba7e08176a33811d2cf548a3c4a59a97a9d3aedad4708af153b1655bf14bb880bfc00e3e0fcee2ac9be9f926629b65998eefc21e3e0acee3cce73affb33acfe037ff58e737629b97f026ece128b897e4be9788bfaa7b119cc319fc445cb12bf1215caa8d813d2cfd59243d5fe8faaeb82ab242d7d770097f803d2ce751a66554a6e28f70a636d24fa5633b191fc325fc1cf6f049b04d6d6435ef139cc16fc5ce5aabf3b7e11ade09ae525b573a7f5f5dc5f00bb1aff2ca8b07b0559b315c63fc20d86555ed32f15ced62f812ce61e95fe7d99a67610b3770ada65eb0e776f1bafe4c5cb36bf16bd8c245709dd7719d8b5371cddfc8b821d8aa290e6e78b4d1f9a5ba89e1c7e2a6b14d13bc37879b2bdf7f91b9fffadf65d8df90519123ffc08c9a1a1ad2a86d3ff767d0318d69421fe8843ed229a72c9d4167742ef79ed28ce69c7471f713b567d027beef675ea733bfd0257da5f5bb52da32e8313de18ca7f48c67add30657f539bde07df597c818d04bdae41a84593557654a5bb44d3bb44b7bbfeea53563c2ab467c1a61569f77123e5fd13e1d704a7533a535e3351dd21b3afa65dfeb9cf09677f86ec19a7679e64cea71f3daa788ebb45846cccf93dcaae1942bbb793be38e339ff2b34f28e5f7ab6f4e29e33a8c68f3f6dd5a320cdf29a7deb58c824aeeb31d434b64f48de1351b5736b6fd17d192e1a9321577d5cfe73e5c32c31ac79db16dfccf3e30f55219533e8b53634c73bd3bcc90e285332cf7f21177f51977d9f046775d2e9e6146fc8bbdabcab816c89872270f1e98e1f909c6b4c5cf7f71f5e2f7637e9fe9e742f5e8d3399feb3e0dcc9877744083f613693d174b23befbcc4ccc84b2f0fa1719d7d37c783d28a3b58affd18cef7faefc007d894af5</data>
184 </image>
185</images>
186<connections>
187 <connection>
188 <sender>newGame</sender>
189 <signal>activated()</signal>
190 <receiver>ChessBoard</receiver>
191 <slot>newGame()</slot>
192 </connection>
193 <connection>
194 <sender>swapSides</sender>
195 <signal>activated()</signal>
196 <receiver>ChessBoard</receiver>
197 <slot>swapSides()</slot>
198 </connection>
199 <connection>
200 <sender>annotateGame</sender>
201 <signal>activated()</signal>
202 <receiver>ChessBoard</receiver>
203 <slot>annotateGame()</slot>
204 </connection>
205 <connection>
206 <sender>undo</sender>
207 <signal>activated()</signal>
208 <receiver>ChessBoard</receiver>
209 <slot>undo()</slot>
210 </connection>
211 <connection>
212 <sender>ChessBoard</sender>
213 <signal>showMessage(const QString&amp;)</signal>
214 <receiver>TextLabel1</receiver>
215 <slot>setText(const QString&amp;)</slot>
216 </connection>
217</connections>
218<pixmapinproject/>
219<layoutdefaults spacing="6" margin="11"/>
220</UI>
diff --git a/noncore/games/chess/opie-chess.control b/noncore/games/chess/opie-chess.control
deleted file mode 100644
index e3fe203..0000000
--- a/noncore/games/chess/opie-chess.control
+++ b/dev/null
@@ -1,9 +0,0 @@
1Files: bin/chess apps/Games/chess.desktop pics/chess
2Priority: optional
3Section: opie/games
4Maintainer: Luke Graham <luke@trolltech.com>
5Architecture: arm
6Version: $QPE_VERSION-$SUB_VERSION
7Depends: opie-base
8Description: Crafty GUI
9 A GUI for the crafty chess engine
diff --git a/noncore/games/chess/pieces.png b/noncore/games/chess/pieces.png
deleted file mode 100644
index 4baeb4a..0000000
--- a/noncore/games/chess/pieces.png
+++ b/dev/null
Binary files differ
diff --git a/noncore/games/chess/simple-l.png b/noncore/games/chess/simple-l.png
deleted file mode 100644
index 908e2e1..0000000
--- a/noncore/games/chess/simple-l.png
+++ b/dev/null
Binary files differ
diff --git a/packages b/packages
index 42441ff..c004b1a 100644
--- a/packages
+++ b/packages
@@ -2,7 +2,7 @@ CONFIG_APPSKEY noncore/settings/appskey appskey.pro
2 CONFIG_BINARY noncore/tools/calc2/binarybinary.pro 2 CONFIG_BINARY noncore/tools/calc2/binarybinary.pro
3 CONFIG_CALC2 noncore/tools/calc2calc2.pro 3 CONFIG_CALC2 noncore/tools/calc2calc2.pro
4 CONFIG_CALIBRATE core/apps/calibratecalibrate.pro 4 CONFIG_CALIBRATE core/apps/calibratecalibrate.pro
5 CONFIG_CHESS noncore/games/chesschess.pro 5 CONFIG_CHESS noncore/unsupported/chesschess.pro
6 CONFIG_CONVERTER noncore/unsupported/opiemail/converterconverter.pro 6 CONFIG_CONVERTER noncore/unsupported/opiemail/converterconverter.pro
7 CONFIG_DIALUP noncore/unsupported/netsetup/dialupdialup.pro 7 CONFIG_DIALUP noncore/unsupported/netsetup/dialupdialup.pro
8 CONFIG_DICTIONARY noncore/apps/dictionarydictionary.pro 8 CONFIG_DICTIONARY noncore/apps/dictionarydictionary.pro