xboard.git
13 years agoMake book-edit function WB
H.G. Muller [Fri, 6 May 2011 16:06:48 +0000]
Make book-edit function WB

The tags dialog is used to display the GUI book moves from the current
position, and will be updated when you step or move to another one.
The edited move list (with weights) can be written back to the book.

13 years agoFix resetting engine options
H.G. Muller [Sat, 7 May 2011 14:21:25 +0000]
Fix resetting engine options

Not all options were reset, and -needsNonCompliantFEN was 'reset'
to a completely wrong value, so that bad FENs would be sent.

13 years agoAdd -first/secondPgnName option
H.G. Muller [Fri, 6 May 2011 16:51:20 +0000]
Add -first/secondPgnName option

This option replaces the tidy name of the engine in the PGN player tags
of engine-engine games. In WinBoard engines can be installed with this
option through a checkbox in the Load Engine dialog.

13 years agoLet XB generic popup define default file extensions
H.G. Muller [Fri, 6 May 2011 21:31:36 +0000]
Let XB generic popup define default file extensions

13 years agoSave time-control settings in tourney file
H.G. Muller [Fri, 6 May 2011 16:25:38 +0000]
Save time-control settings in tourney file

Because parsing the options and storing them in appData is not enough,
the time-control code setting the internally used parameters from the
appData info in InitBackend was made into a subroutine, and also caled
after parsing the tourney file.

13 years agoPut saveGameFile in tournament dialog
H.G. Muller [Fri, 6 May 2011 18:40:34 +0000]
Put saveGameFile in tournament dialog

13 years agoPlug memory leak, filenames relative to installDir
H.G. Muller [Fri, 6 May 2011 17:17:56 +0000]
Plug memory leak, filenames relative to installDir

String options are consistently freed now, before assigning a new value
to them through strdup. The init code now even does use strdup when
setting defaults. This is important for optionslike -lgf, which are not
saved in the settings file, and thus are usually left with their
default. When a dialog to set them then uses free, this causes a crash.
When setting the defaults uses strdup, ParseArgs can already free them.
This plugs an important memory leak, as ParseArgs in now called to parse
the tourney file before every tourney game (twice!), and the lists of
participants and results in it can be quite long.  Macros are defined in
common.h to make the code look simpler.
  Filenames entered through the generic popup are now interpreted
relative to the WinBoard installation folder, just as the saveGameFile
already was. The code handling the atter was made into a subroutine for
this.

13 years agoAdd WB new popup prototypes
H.G. Muller [Fri, 6 May 2011 20:02:53 +0000]
Add WB new popup prototypes

13 years agoAdd partcipants at bottom in tourney dialog (WB)
H.G. Muller [Fri, 6 May 2011 16:58:08 +0000]
Add partcipants at bottom in tourney dialog (WB)

13 years agoFix range of tourneyType spin WB
H.G. Muller [Fri, 6 May 2011 16:56:53 +0000]
Fix range of tourneyType spin WB

13 years agoFix exit popup in tourney mode
H.G. Muller [Fri, 6 May 2011 16:15:23 +0000]
Fix exit popup in tourney mode

Only the instance finishing the last tourney game will cause a popup
with final standings. As long as there are still busy games, it exits or
switches back to idle mode silently.

13 years agoFix stopping of match in tourney mode
H.G. Muller [Fri, 6 May 2011 16:11:47 +0000]
Fix stopping of match in tourney mode

13 years agoAdd default extension in file browser
H.G. Muller [Fri, 6 May 2011 16:59:26 +0000]
Add default extension in file browser

13 years agoImprove sizing of comment and tags dialogs
H.G. Muller [Fri, 6 May 2011 20:37:14 +0000]
Improve sizing of comment and tags dialogs

There seems to be a bug in Xaw for the sizing of buttons; they get
unpredicatble and weird sizes when the size is not explicitly set,
possibly stretching the initial width of a dialog to rediculous values.
Sizing back to a remembered value from the settings file then makes
buttons overlapand text edits shrink to almost nothing. To prevent that
we now define exlicit sizes for the buttons in tags and comment popups.

13 years agoFix generic combobox bug
H.G. Muller [Fri, 6 May 2011 19:00:25 +0000]
Fix generic combobox bug

The patch placing gettext markers was done wrong, setting the
translated menu text outside the loop, so all entries became the same.

13 years agoFix PV walking in analysis mode
H.G. Muller [Sat, 7 May 2011 12:23:12 +0000]
Fix PV walking in analysis mode

ParsePV assumed that the PV would always have been produced by an engin
thinking about the final position of the game (or the one before it). In
analysismode, however, the engine can be analysing positions internal to
the game, and the PV would be considered invalid. This is fixed by
cutting of the tail off the game (shelving it in variation fashion)
before starting the PV walk, and reverting afterwards.
  For this the PushTail and PopTail routines had to be split into an
'inner' part, doing the pushing and popping, and an outer part, handling
menu graying and popdowns (which is undesirable in in this application).

13 years agoLift length-limit on text-edits in WB generic popup
H.G. Muller [Mon, 2 May 2011 22:24:10 +0000]
Lift length-limit on text-edits in WB generic popup

13 years agoLift limitation of text length in generic dialog XB
H.G. Muller [Wed, 4 May 2011 11:53:05 +0000]
Lift limitation of text length in generic dialog XB

All string options should now point to allocated memory, as strdup /
free is consistently used on them. This is OK for values received from
ParseArgs, but for non-arg intermediate variables that must receive strg
values, such as in the comment and tags popups, strdup has to be used to
initialize those.

13 years agoImplement Tournament Options dialog WinBoard
H.G. Muller [Wed, 4 May 2011 12:53:02 +0000]
Implement Tournament Options dialog WinBoard

The file browser now can select on extension WB generic dialogs,
with a default based on the option.max value of the option for which it
browses. A textBox can be forced to be multiline by putting the number
of extra lines in option.min.

13 years agoMake option to draw second engine from first list
H.G. Muller [Wed, 4 May 2011 13:30:00 +0000]
Make option to draw second engine from first list

13 years agoFix error message on engine load
H.G. Muller [Mon, 2 May 2011 22:17:47 +0000]
Fix error message on engine load

13 years agoImplement Load Engine dialog in WinBoard
H.G. Muller [Wed, 4 May 2011 13:09:33 +0000]
Implement Load Engine dialog in WinBoard

The Load Engine dialog is implemented for WinBoard, and is invoked by
the menu item Engine->Load, which formerly was Install 2nd. Install 1st
is renamed 'Edit Engine List'. Unlike in XBoard, the dialog has separate
fields for the engine executale and its parameters.
  The dialog is implemented by converting the Engine Settings popup into
a generic dialog generator.

13 years agoLoad new logo on engine change WinBoard
H.G. Muller [Wed, 4 May 2011 11:43:06 +0000]
Load new logo on engine change WinBoard

Picking the logo for the first engine is made into a subroutine. The
code for picking the logo of the first engine was made into a subrroutne
for this. We use the kludge to recognize the engine by its command line
when starting a new engine process.

13 years agoAllow switching off match mode through menu
H.G. Muller [Wed, 4 May 2011 11:36:27 +0000]
Allow switching off match mode through menu

The Machine Match menu item is now checkmarked, and no longer grayed
during a match, and clicking it while a match is running will terminate
the match after the current game. To not be left with hanging
checkmarks, the checkmark is already removed duringthe last match game
(which is logically equivalent to ordinary Two Machines mode anyway).

13 years agoCalculate and display tourney result
H.G. Muller [Mon, 2 May 2011 22:14:22 +0000]
Calculate and display tourney result

13 years agoImplement Tournament Manager
H.G. Muller [Wed, 4 May 2011 16:42:13 +0000]
Implement Tournament Manager

New command-line options are added to specify the tourney: -tourneyType
(-tt), -tourneyCycles (-cy), -participants, -syncAfterRound,
-syncAfterCycle, -results, to be saved on a -tourneyFile (-tf), but
otherwise volatile. When a tourneyFile is specified during a match,
a new routine NextTourneyGame is called from NextMatchGame before every
game, to decide the pairing, and unload and redefine the engines, when
needed. The XBoard Match Options dialog can be used to set the options
and create the tournament file.
  Actual loading of new engines is done by TwoMachinesEvent, which is
now modified to also wait for the feature timeout of the first engine.
Waiting for the matchPause is now also implemented there, after waiting
for the engines (so they can be started during the pause).
  Pairings and color assignment is now all done in an absolute
(non-incremental) way, based on a new global game-number variable
nextGame, which takes over the function of matchGame in a tourney. The
latter is now used to count games between the same players, so it can be
still used to derive the load-file indexes (again in absolute fashion).
  The next game to play is already picked in GameEnd, so it can be
decided if there is a game to be scheduled, or if we can terminate.

13 years agoDisplay note in stead of empty engine-settings dialog XB
H.G. Muller [Wed, 4 May 2011 13:42:26 +0000]
Display note in stead of empty engine-settings dialog XB

13 years agoFix crash on empty Engine Settings dialog
H.G. Muller [Sun, 24 Apr 2011 16:02:20 +0000]
Fix crash on empty Engine Settings dialog

The generic popup was not foolproof against this.

13 years agoRefactor code for loading games and positions in match
H.G. Muller [Fri, 22 Apr 2011 10:47:24 +0000]
Refactor code for loading games and positions in match

The code in NextMatchGame and MatchEvent was nearly the same,
(MatchEvent did a little more error checking, but that is never
harmful), and could be combined. In stead of determining the load index
incrementally, it is now calculated in an absolute way from the game
number, so it can be used more easily in tournament mode.

13 years agoAdd callback possibility to combobox selection
H.G. Muller [Thu, 21 Apr 2011 20:37:56 +0000]
Add callback possibility to combobox selection

13 years agoLock game an position file during writing
H.G. Muller [Sun, 24 Apr 2011 15:15:23 +0000]
Lock game an position file during writing

The use of flock() on the file desctiptor of the opened stream should
guarantee multiple XBoard instances, saving on the same file, will not
interleave their PGN games or FEN positions.

13 years agoRemove building rule for parser.c from WB makefiles
H.G. Muller [Wed, 27 Apr 2011 15:05:06 +0000]
Remove building rule for parser.c from WB makefiles

13 years agoFix Engine Settings buttons in WinBoard
H.G. Muller [Fri, 29 Apr 2011 14:58:49 +0000]
Fix Engine Settings buttons in WinBoard

This was broken by a leftover statement from debugging the -file/-path
patch.

13 years agoImplement flock in WinBoard
H.G. Muller [Mon, 2 May 2011 11:38:14 +0000]
Implement flock in WinBoard

This system function seems unknown in a MinGW compile, so it is
implemented with the aid of file byte-range locking, using a lock on the
first 1024 bytes of the file as a semaphore.

13 years agoFix grayout XB Match Options in ICS mode
H.G. Muller [Fri, 29 Apr 2011 21:06:43 +0000]
Fix grayout XB Match Options in ICS mode

13 years agoDelay loading of second engine until it is used
H.G. Muller [Mon, 2 May 2011 22:22:40 +0000]
Delay loading of second engine until it is used

13 years agoFix zippy bughouse partner bug
H.G. Muller [Mon, 2 May 2011 13:00:03 +0000]
Fix zippy bughouse partner bug

The patchs to subject Zippy messages to coloriation was faulty, because
there were messages recognized by zippy that were not colorized, and
such messages would then not be 'read away' after zippy recognition
(except for the first character). As a result the messages were
processed over and over again.

13 years agoSilence more rpm warnings
H.G. Muller [Wed, 4 May 2011 08:59:43 +0000]
Silence more rpm warnings

13 years agoFix warnings XBoard file browser
H.G. Muller [Sun, 1 May 2011 18:33:50 +0000]
Fix warnings XBoard file browser

All the prototypes have been moved to selfile.h, to force uniformity.
The order of the #include files xstat.h and selfile.h had to be
swapped, to make sure 'struct stat' is a nown type atthe time of
prototype declaration. The event handler SFmotionList is considered
wrong type because of its third argument (XMotionEvent in stead of
XEvent), and had to be casted to (XtEventHandler) when passed to
XtAddEventHandler.

13 years agoFix some warnings and header-file improvement
H.G. Muller [Wed, 4 May 2011 08:56:05 +0000]
Fix some warnings and header-file improvement

Ther were lot of 'extern' declarations in the x-files, so called
'imports from xboard.c', (sometimes backend.c) which logically belonged
in xboard.h (backend.h) to ensure their uniform definition. These have
now been moved there. Some prototypes have been added in xboard.h as
well, for functions that needed calling from xoptions.c.

13 years agoCreate conversion tools for language files
H.G. Muller [Wed, 4 May 2011 08:50:12 +0000]
Create conversion tools for language files

A shell script "lng2po.sh" is provided, to apply the translation given
in a WinBoard .lng file to "xboard.pot", in order to generate a
"language.po" file containing translations for all strings for which
the .lng file had a translation. It makes use of a file "metascript",
which is the ed script used to turn the .lng file in an ed script to
turn the .pot into .po. For example, the command "./lng2po.sh
espa?ol.lng" will create a file "language.po", which can be renamed to
"es.po".
****************************** WARNING ********************************
  Note that the lng2po script does a "recode" that assumes the given
.lng file is encoded in latin-1. This means it canot be used without
modification for the Vietnamese and Chinese translation; you would have
to replace latin-1 by the applicable encoding first (CP1258 / BG2312 /
BIG5).

13 years agoPut gettext markers in generic dialog creator
H.G. Muller [Wed, 27 Apr 2011 20:04:38 +0000]
Put gettext markers in generic dialog creator

This is done by adding extra XtNstring argumentsto the widget gcreaton,
so the displayed name can be different fromthe widget name.

13 years agoUse getaddrinfo instead of gethostbyname. Hopefully this makes us compatible with...
Tim Mann [Mon, 2 May 2011 02:56:38 +0000]
Use getaddrinfo instead of gethostbyname.  Hopefully this makes us compatible with IPv6 and with hosts that have more than one IP address.  However, I don't know of any chess servers that have either of those properties, so I couldn't test that.  I did test that xboard still works with freechess.org and chessclub.com and that it gives an error message for invalid host names.

13 years agoupdated German translation
Arun Persaud [Sun, 24 Apr 2011 18:18:28 +0000]
updated German translation

13 years agoreplaced hardcoded email address with generic PACKAGE_BUGREPORT
Arun Persaud [Sun, 24 Apr 2011 18:17:43 +0000]
replaced hardcoded email address with generic PACKAGE_BUGREPORT

13 years agoupdated po-files; updated german translation
Arun Persaud [Sat, 23 Apr 2011 17:51:57 +0000]
updated po-files; updated german translation

13 years agoupdated list of files that include translation strings; updated pot-file
Arun Persaud [Sat, 23 Apr 2011 17:51:02 +0000]
updated list of files that include translation strings; updated pot-file

13 years agomarked more strings for gettext that were only marked with N_()
Arun Persaud [Sat, 23 Apr 2011 04:50:58 +0000]
marked more strings for gettext that were only marked with N_()

they need to be marked again with _() when they are used to get the translated string

13 years agoupdated translation files
Arun Persaud [Sat, 23 Apr 2011 04:39:22 +0000]
updated translation files

13 years agoadded/fixed i18n support via gettext to xboard
Arun Persaud [Sat, 23 Apr 2011 04:37:22 +0000]
added/fixed i18n support via gettext to xboard

this was already added a long time ago, but now it's added again to
autoconf. Also fixed some compile errors that showed up.

13 years agoMake engine startup error non-fatal
H.G. Muller [Wed, 20 Apr 2011 08:27:20 +0000]
Make engine startup error non-fatal

When engine startup fails, do not generate a fatal error, but swicth
back to -ncp mode. Write on broken pipe errors had to be suppressed for
this.

13 years agoMake engine loadable during session
H.G. Muller [Wed, 20 Apr 2011 12:35:50 +0000]
Make engine loadable during session

A "Load Engine ..." menu item is added to the Engine menu, which pops
up a dialog where one can replace the first or second engine by a new
one, without destroying the game state. Switching from -ncp to engine
mode needed activation of some menu items in SetGNUMode, and
re-enabling clockMode. It was also important that noChessProgram is
cleared before re-initializing the ChessProgramState.
  The Load-Engine dialog can select from the list of installed
engines, and also add a newly specified engine to this list. In this
case it saves the directory, hasBook, and isUCI info with the engine,
and optionally the current variant. When loading an engine with a
specified variant, it resets the game and switches to the new variant.

13 years agoGeneralize WaitForSecond to WaitForEngine
H.G. Muller [Mon, 18 Apr 2011 13:56:47 +0000]
Generalize WaitForSecond to WaitForEngine

13 years agoAdd UnloadEngine routine
H.G. Muller [Mon, 18 Apr 2011 13:46:12 +0000]
Add UnloadEngine routine

13 years agoPut engine initialization code in per-engine function
H.G. Muller [Wed, 20 Apr 2011 11:45:51 +0000]
Put engine initialization code in per-engine function

Initializing of the ChessProgramStates first and second from the
option settings in appData is now done by separate calls to the same
routine. Clearing of options is added to the initialization. This is
needed when reloading an engine. This is done in a separate routine,
which could also be called on -reset options.

13 years agoBring structure in appData engine options
H.G. Muller [Mon, 18 Apr 2011 11:21:44 +0000]
Bring structure in appData engine options

All options in appData that came in pairs for both engines are replaced
by arrays of ENGINES (=2, for now) elements. The use of the named
appData field that are replaced in the source is replaced by use of the
corresponding array element, by #define directives in common.h, awaiting
their replacement.

13 years agoFix gettext macros in option dialogs
H.G. Muller [Tue, 19 Apr 2011 13:15:48 +0000]
Fix gettext macros in option dialogs

The strings in the tables were using _() in stead of N_().

13 years agoFix crash on using Engine #1 Settings in ICS non-zippy mode
H.G. Muller [Mon, 18 Apr 2011 18:58:01 +0000]
Fix crash on using Engine #1 Settings in ICS non-zippy mode

If XBoard is compiled with zippy the Engine #1 Settings menu was not
grayed out even when you don't run in zippy mode, and using it would
then crash XBoard.

13 years agoFix shogipixmaps
H.G. Muller [Tue, 19 Apr 2011 13:07:31 +0000]
Fix shogipixmaps

Some pixmaps forptomoted pieces had wrong background color, others had a
wrong name (so the one with the correct name was missing).

13 years agoChange texture-install directory to pixmaps/textures
H.G. Muller [Sun, 17 Apr 2011 17:12:00 +0000]
Change texture-install directory to pixmaps/textures

13 years agoLimit install of sound files to those in menu
H.G. Muller [Sun, 17 Apr 2011 15:36:32 +0000]
Limit install of sound files to those in menu

The sounds directory is set to .../xboard/sounds, and only ten
sounds are kept (all non-spoken).

13 years agoRemove some bitmaps from install
H.G. Muller [Sun, 17 Apr 2011 15:27:57 +0000]
Remove some bitmaps from install

Some files in the bitmaps source directory need not be installed,
because they are there only to be linked to the binary in a build
without LIBXPM, are README files or conversion programs. I left only the
stuff that is in a Debian binary package in .../xboard/bitmaps.xchess.

13 years agoConfigure some default sounds
H.G. Muller [Sun, 17 Apr 2011 14:34:03 +0000]
Configure some default sounds

The move sound is set to Wood Thunk; the sounds for tell and challenge
events to Phone and Gong, respectively.

13 years agoChange default sounds in Xboard menu
H.G. Muller [Sun, 17 Apr 2011 14:17:30 +0000]
Change default sounds in Xboard menu

All spoken sounds are removed now. Thud, Click and Ching are replaced by
Wood Thunk, Slap and Cymbal; Car Horn and Pop are added.

13 years agoMake user wav file available for try-out in sound dialog
H.G. Muller [Sun, 17 Apr 2011 10:46:47 +0000]
Make user wav file available for try-out in sound dialog

The GenericReadout was adapted to be able to read a single selected
value, so that the callback to the 'play' button in the sounds dialog
could get the name of the 'user WAV file' without accepting all settings
for the other sounds (which should only happen on 'OK', and might still
be cancelled in stead).

13 years agoconfigure: enable silent rules by default
Arun Persaud [Sat, 16 Apr 2011 17:36:31 +0000]
configure: enable silent rules by default

13 years agoconfigure: added install directory for bitmaps files: .../games/xboard/bitmaps/default/
Arun Persaud [Sat, 16 Apr 2011 17:28:16 +0000]
configure: added install directory for bitmaps files: .../games/xboard/bitmaps/default/

13 years agoconfigure: added install of sounds in .../games/xboard/sounds/default
Arun Persaud [Sat, 16 Apr 2011 17:25:33 +0000]
configure: added install of sounds in .../games/xboard/sounds/default

13 years agoconfigure: renamed bitmapdir to pixmapsdir, since it installed only pixmaps. also...
Arun Persaud [Sat, 16 Apr 2011 16:54:26 +0000]
configure: renamed bitmapdir to pixmapsdir, since it installed only pixmaps. also changed name of default dir

pixmaps will now be installed under .../games/xboard/pixmaps/default/

13 years agoFix gamelist highlight
H.G. Muller [Sat, 16 Apr 2011 11:40:16 +0000]
Fix gamelist highlight

Reopening the gamelist should highlight the current game.

13 years agoFix size limit on 'save as diagram'
H.G. Muller [Sat, 16 Apr 2011 08:25:53 +0000]
Fix size limit on 'save as diagram'

In stead of a fixed-size buffer the diagram-save code now uses an
allocated buffer with size calculated from the bitmap parameters to
retreive the bitmap data, so it should work for all sizes.

13 years agoFix chaining of bottom-row dialog buttons
H.G. Muller [Fri, 15 Apr 2011 20:04:03 +0000]
Fix chaining of bottom-row dialog buttons

The OK & cancel buttons are chained to the bottom. This patch makes sure
that other buttons appearing in the same row (as in the tags and
comment dialogs) will be chained that way too, so that they will behave
the same on vertical sizing. The bottom of a full-width text-edit above
it will be chained to bottom too. To make this work in the tags dialog,
the (optional) cmail-message field had to be put above the tags memo.

13 years agoFix switching between pixmap and bitmap pieces
H.G. Muller [Fri, 15 Apr 2011 17:18:46 +0000]
Fix switching between pixmap and bitmap pieces

There were still several flags that had to be reset when redoing the
graphics initialization. The Debian patch to use a default bitmap
directory when none is given but monoMode is selected or forced, is
moved to a more sensible place, so that it does not disturb matters when
compiled without LIBXPM (when we do have built-in bitmaps).

13 years agoRemove outline-pieces option from board-options dialog
H.G. Muller [Fri, 15 Apr 2011 13:47:09 +0000]
Remove outline-pieces option from board-options dialog

This option does not exist in XBoard (yet).

13 years agoFix running of clock during hash allocation engine
H.G. Muller [Fri, 15 Apr 2011 13:41:38 +0000]
Fix running of clock during hash allocation engine

In TwoMachinesEvent we now wait for the second engine to acknowledge the
'ping' after 'new', to make sure it is done allocating hash in reaction
to the preceding 'memory' command, before the clock for the game is
started.

13 years agoDescribe move type-in in texi file
H.G. Muller [Thu, 14 Apr 2011 19:42:50 +0000]
Describe move type-in in texi file

13 years agoDescribe Copy Game List menu item in texi file
H.G. Muller [Thu, 14 Apr 2011 18:34:42 +0000]
Describe Copy Game List menu item in texi file

13 years agoDescribe -sweepPromotions in texi file
H.G. Muller [Thu, 14 Apr 2011 18:30:16 +0000]
Describe -sweepPromotions in texi file

The new method for selection promotion piece, and the -sweepPromotions
option are described in the texi file.

13 years agoDescribe -pieceMenu option in texi file
H.G. Muller [Thu, 14 Apr 2011 18:14:44 +0000]
Describe -pieceMenu option in texi file

The sweep method for selecting a piece in Edit-Position mode is
explained, as well as the -pieceMenu option.

13 years agoUpdate texi file
H.G. Muller [Thu, 14 Apr 2011 13:59:57 +0000]
Update texi file

Descriptions of the new XBoard menu dialogs are included in the docs.

13 years agoReorganize texi description
H.G. Muller [Thu, 14 Apr 2011 19:06:49 +0000]
Reorganize texi description

13 years agoFix sweep-promotions patch
H.G. Muller [Thu, 14 Apr 2011 10:31:15 +0000]
Fix sweep-promotions patch

Setting of the from square was moved to before OKtoStartUserMove in the
LeftClick handler, to make sure we could test the promotion possiblity
when OnlyMove() would have altered (x,y) to be no longer the from
square. But this setting of fromX, fromY hung on also if the move was
not OK, so you could effectively select opponent pieces and empty
squares. The from-square is now set back to undefined when it is not OK
to move the piece you clicked.

13 years agoAlter treatment of moves with empty squares
H.G. Muller [Thu, 14 Apr 2011 09:56:59 +0000]
Alter treatment of moves with empty squares

In Edit Position mode one can move empty squares, and use them to
'capture' pieces as a means to clear their square. But this often leads
to unintended disappearence of pieces one wants to grab for dragging, if
a previous click had inadvertantly left an empty square selected: the
click on the piece is then seen as the to-click of a click-click move.
  This patch treats to-clicks of moves with an empty-square differently
from other to-clicks: Rather than performing the move (in this case
clearing of the to-square) on the down-click, it defers that to the
up-click, and only does it if that up-click is in the same square. This
allows the user to grab the piece on the down-click, and drag it to
another square, if that is what he wanted to do, without being disturbed
by sudden implosion of the piece he tried to grab.
  If the to-square is in the holdings, grabbing the piece is the only
action, as moves of empty squares into the holdings are forbidden anyway.

13 years agoBlock selection of a directory when file is needed
H.G. Muller [Wed, 13 Apr 2011 11:14:00 +0000]
Block selection of a directory when file is needed

When we are not browsing merely to obtain a name to put in a text edit,
but really must return an open file pointer, selection of a directory
(ending in '/') can no longer be OK'ed in the file browser. (XBoard
tends to segfault when offered garbage for game or position file...)

13 years agoLet double-click select file in file browser
H.G. Muller [Wed, 13 Apr 2011 10:23:00 +0000]
Let double-click select file in file browser

A second click on the already selected entry now has the same effect as
pressing the OK button.

13 years agoCouple mouse wheel to v-scrolls in file browser
H.G. Muller [Tue, 12 Apr 2011 15:06:28 +0000]
Couple mouse wheel to v-scrolls in file browser

A newly added mouse-wheel event handler was made to call the v-scroll
callback routines with parameters to step one entry. The button-press
handler for the lists themselves was also made to intercept the wheel
events (buttons 4 and 5), to prevent they would select an entry, and
make them scroll in stead as well.

13 years agoFix crash copying game list when there is none
H.G. Muller [Wed, 13 Apr 2011 09:41:54 +0000]
Fix crash copying game list when there is none

13 years agoFix changing of float setting by generic popup
H.G. Muller [Wed, 13 Apr 2011 09:15:14 +0000]
Fix changing of float setting by generic popup

Changing a float setting (so far the only one is in the Load Options
dalog) did not always work, because the old value was clipped to (int),
so that changing it back to an integer value might erroneously conclude
there was no change.

13 years agoFix crash on closing dialogs in wrong order
H.G. Muller [Wed, 13 Apr 2011 14:15:22 +0000]
Fix crash on closing dialogs in wrong order

When a menu dialog was closed when it still had an open file-browse
daughter, which could be done through the system menu X on the title
bar, later closing of the file browser caused a crash. This is solved by
keeping track of the fact that there is such a daughter through a global
flag, and ignoring the pop-down command if there is one.

13 years agoFix startup focus of board window
H.G. Muller [Wed, 13 Apr 2011 14:33:16 +0000]
Fix startup focus of board window

When there were open auxiliary windows, these would have focus on
starting up XBoard. The XtSetKeyboardFocus call added in XBoard main()
was ineffective in curing that. It has now been replaced by a call to
XSetInputFocus, which does do the job. By giving input focus to the form
widget, rather than the board widget, XBoard will be immediately
sensitive to all key bindings.

13 years agoFix game-list highight error when filtered (WB)
H.G. Muller [Wed, 13 Apr 2011 13:48:35 +0000]
Fix game-list highight error when filtered (WB)

When the gamelist was filtered, the game that was highlingted was the
n-th game in the list rather than the n-th game in the file, when the
latter was loaded (and n did not exceed the number of filtered games).
This is fixed now by searching for the line in the listbox that starts
with the game number n, rather than taking the n-th line.

13 years agoRefactor move type-in code
H.G. Muller [Tue, 12 Apr 2011 17:20:46 +0000]
Refactor move type-in code

Common code between XBoard and WinBoard was moved to the back-end
creating TypeInEvent() and TypeInDoneEvent() routines.

13 years agoFix saving of XBoard fonts with spaces in name
H.G. Muller [Tue, 12 Apr 2011 08:13:40 +0000]
Fix saving of XBoard fonts with spaces in name

SaveFontArg now prints quotes around the saved font string, so that the
general option-argument parser doesnot stop at the first space it sees.

13 years agoImplement move type-in for XBoard
H.G. Muller [Mon, 11 Apr 2011 18:48:24 +0000]
Implement move type-in for XBoard

By adding an event handler to the main window for key presses, users can
now type moves when the board has focus, like in WinBoard. The typed
character appears as first character in the type-in box that willpop up.
Enter and Escape close the box; finishing the typing of the move enters
it. Like in WinBoard it is also possible to type a move number (to go
there) or (in Edit Position mode) a FEN.

13 years agonew developer release
Arun Persaud [Tue, 12 Apr 2011 03:59:44 +0000]
new developer release

tried to keep the v4.5.x branch developed already separated in the NEWS file, as well as DIFFSTAT and SHORTLOG.
The Changelog is just the one from master.

13 years agoupdated Changelog, NEWS, etc.
Arun Persaud [Mon, 11 Apr 2011 05:47:59 +0000]
updated Changelog, NEWS, etc.

13 years agoFix use of game/position file in first match game
H.G. Muller [Sun, 10 Apr 2011 18:32:57 +0000]
Fix use of game/position file in first match game

When a match was started from the menu, it was not paying attention to
game and position files. (Later games were.) The code that handled this
in the initialization when a match is started through the command line
was made into a routine MatchEvent, which can be called from the menu
proc too.

13 years agoFix crash on opening ICS Text Menu
H.G. Muller [Sat, 9 Apr 2011 18:55:47 +0000]
Fix crash on opening ICS Text Menu

The patch for the color defaults had broken the ICS Text Menu.

13 years agoImplement Copy Game List menu item for XBoard
H.G. Muller [Sat, 9 Apr 2011 17:22:00 +0000]
Implement Copy Game List menu item for XBoard

Some WinBoard code was cloned for this.

13 years agoThird method of sweep selection
H.G. Muller [Sat, 9 Apr 2011 09:42:21 +0000]
Third method of sweep selection

This method sweeps through the possible promotion choices for the piece
that is being dragged, as long as you drag a 7th-rank Pawn backwards. On
draggin such a Pawn forwards, it immediately shows it as the piece you
are going to promote to.