Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
340 changes: 0 additions & 340 deletions COPYING

This file was deleted.

361 changes: 361 additions & 0 deletions COPYING.md

Large diffs are not rendered by default.

405 changes: 188 additions & 217 deletions ChangeLog → ChangeLog.md

Large diffs are not rendered by default.

763 changes: 0 additions & 763 deletions ChangeLog.txt

This file was deleted.

340 changes: 0 additions & 340 deletions License.txt

This file was deleted.

42 changes: 0 additions & 42 deletions README.developers

This file was deleted.

64 changes: 64 additions & 0 deletions README.developers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
**Note:** If you start working with code, please read though the following rules:

### 1. Official ChessX's source code at

https://github.com/Isarhamster/chessx

### 2. Use Qt naming scheme.

You may have a look at the [Qt API](https://doc.qt.io/qt-5/) to learn it

Here are some examples:

* _Classes:_ `BoardView` , `Filter`
* _Classes with acronyms:_ `PgnDatabase`
* _Class variables:_ `m_list`, `m_darkSquareColor`
* _Reading class variable:_ `QString title() const`
* _Setting class variable:_ `void setTitle(const QString& s) const`
* _Checks:_ `isReadOnly()`
* _Functions with acronyms:_ `moveToSan()`, `fromSan()`

### 3. Use Doxygen format to comment your code

* Start a class documentation with the [Doxygen](https://www.doxygen.nl/index.html) header

```
/** @ingroup Database
The Board class represents a chess position.
Pieces are kept directly on the board which is internally represented as simple array[0..63].
You can easily and quickly make and undo moves, although undoing moves requires keeping track
of captured pieces.
*/
```

* **@ingroup** should contain `Database` (for non-GUI classes) or `GUI`
* Next sentence should have `The Foo class represents` or `... is` syntax

* Document each function
```

/** Sets widget color. */
void setColor(const QColor& color);
/** @return widget color. */
QColor color() const;
```

* Rebuild documentation with

`$ doxygen Doxyfile`

and verify that your class is documented correctly.

### 4. Format your code with tabs

We advocate using [astyle](http://astyle.sourceforge.net) to indent your code. To use astyle, put

`
suffix=none style=linux mode=c force-indent=tab=4 one-line=keep-blocks unpad=paren pad=oper
`

in `~/.astylerc`. Then you can indent your code using:

`
$ astyle <file1> <file2> ...
`
47 changes: 46 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,50 @@
# ChessX
# ![Icon](data/icons/64x64/apps/chessx.png)ChessX

![CI](https://github.com/erysaj/chessx/workflows/CI/badge.svg?branch=ci-sandbox)

A free and open source chess database application for Linux, Mac OS X and Windows.

## Website

[ChessX Homepage](https://chessx.sourceforge.io/)

## Features

- Multi-platform. It supports Windows, Linux and Mac OS X
- Load and save PGN files
- Work with multiple databases simultaneously
- Browse chess games, including variations
- Enter moves, variations, and comments
- Setup board, copy/paste FEN
- Search in databases for text or positions
- Display tree of moves for the current position
- Analyze using UCI and Winboard/Xboard chess engines
- Prepare for openings or opponents

## Project Samples

[//]: # "This project samples migth be a bit dated, and could be replaced with
screenshots of a newer version?"

<img src="https://a.fsdn.com/con/app/proj/chessx/screenshots/shot-Sa.%20Okt%205%2014%3A08%3A08%202013-001.jpg"
width="400" alt="Project sample 1">

<img src="https://a.fsdn.com/con/app/proj/chessx/screenshots/333325.jpg"
width="400" alt="Project sample 2">

<img src="https://a.fsdn.com/con/app/proj/chessx/screenshots/287715.jpg"
width="400" alt="Project sample 3">

## Categories

Database, board games, turn based strategy

## [License](COPYING.md)

:copyright: 2021-2005, ChessX authors

This program 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
36 changes: 20 additions & 16 deletions TODO → TODO.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
TODO for 1.0 (Stable PGN-based version)
* GameView
- display custom tags in GameView
- make GameView tags configurable (color, font)
## TODO for 2.0 _(Stable Native-based version)_

* Native database format
* Game sorting
* Spellchecking
* Annotation/Blunder check
* Tournament tables
* ELO rating calculation
* ECO Browser

## TODO for 1.5 _(Extended PGN-based version)_

TODO for 1.5 (Extended PGN-based version)
* File browser
- recursively find database files
* Searches
Expand All @@ -13,23 +19,21 @@ TODO for 1.5 (Extended PGN-based version)
* BoardView
- move animation

TODO for 2.0 (Stable Native-based version)
* Native database format
* Game sorting
* Spellchecking
* Annotation/Blunder check
* Tournament tables
* ELO rating calculation
* ECO Browser
## TODO for 1.0 _(Stable PGN-based version)_

* GameView
- display custom tags in GameView
- make GameView tags configurable (color, font)

## TODO _- Refactoring needed_

TODO - Refactoring needed
* Game class
* Mainwindow class

TODO - Ideas/Suggestions. Non critical
## TODO _- Ideas/Suggestions. Non critical_

* Format for exercises, tactics/endgame training etc.
* Faster PGN parser
* Comment search
* Crosstables
* Rating graph