# HG changeset patch # User Michael Schloh von Bennewitz # Date 1310151920 -7200 # Node ID ff1b43f833a9df9b2cecdc25793d14d7e4e56c8a Import first revisions of new project SchachUhr. diff -r 000000000000 -r ff1b43f833a9 .hgignore --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgignore Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,15 @@ +syntax: glob +*.orig +*.rej +moc_* +*.gz +*.o +*~ +*.pro.user +Makefile +docs/schachuhr.6 +docs/schachuhr.6.gz +qml/*.png +qml/*.jpeg +icons/*.png +scrshots/* diff -r 000000000000 -r ff1b43f833a9 docs/authors.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/authors.txt Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,14 @@ + ____ _ _ _ _ _ + / ___| ___ | |__ __ _ ___ | |__ | | | || |__ _ __ + \___ \ / __|| '_ \ / _` | / __|| '_ \ | | | || '_ \ | '__| + ___) || (__ | | | || (_| || (__ | | | || |_| || | | || | + |____/ \___||_| |_| \__,_| \___||_| |_| \___/ |_| |_||_| + + Europalab SchachUhr - Game clock graphical user interface client + + AUTHORS + + Planning, Design, Implementation + Michael Schloh von Bennewitz + http://michael.schloh.com/ + michael@schloh.com diff -r 000000000000 -r ff1b43f833a9 docs/bugs.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/bugs.txt Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,11 @@ + ____ _ _ _ _ _ + / ___| ___ | |__ __ _ ___ | |__ | | | || |__ _ __ + \___ \ / __|| '_ \ / _` | / __|| '_ \ | | | || '_ \ | '__| + ___) || (__ | | | || (_| || (__ | | | || |_| || | | || | + |____/ \___||_| |_| \__,_| \___||_| |_| \___/ |_| |_||_| + + Europalab SchachUhr - Game clock graphical user interface client + + BUGS + + #01 Both subclock pause in relation to about dialog is flawed. diff -r 000000000000 -r ff1b43f833a9 docs/changelog.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/changelog.txt Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,23 @@ + ____ _ _ _ _ _ + / ___| ___ | |__ __ _ ___ | |__ | | | || |__ _ __ + \___ \ / __|| '_ \ / _` | / __|| '_ \ | | | || '_ \ | '__| + ___) || (__ | | | || (_| || (__ | | | || |_| || | | || | + |____/ \___||_| |_| \__,_| \___||_| |_| \___/ |_| |_||_| + + Europalab SchachUhr - Game clock graphical user interface client + + CHANGELOG + + Change log in reverse cron order + + 00000000 Release version 1.0.0 + + 20110708 Release version 0.6.0 + Implement prototype logic + Develop build framework + Create project documents + Develop project structure + Develop hosting environment + Complete requirements analysis + + 20110701 Project creation diff -r 000000000000 -r ff1b43f833a9 docs/design.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/design.txt Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,38 @@ + ____ _ _ _ _ _ + / ___| ___ | |__ __ _ ___ | |__ | | | || |__ _ __ + \___ \ / __|| '_ \ / _` | / __|| '_ \ | | | || '_ \ | '__| + ___) || (__ | | | || (_| || (__ | | | || |_| || | | || | + |____/ \___||_| |_| \__,_| \___||_| |_| \___/ |_| |_||_| + + Europalab SchachUhr - Game clock graphical user interface client + + DESIGN (IEEE 1016) + + #D.01 SVG format is given preference... + ...unless underlying software components fail to properly display it. + #D.02 Two subclocks are displayed side by side like physical game clocks. + #D.03 UI surface is layout optimized for mobile or semimobile devices. + #D.04 Target surface size resembles the size of a phyical game clock. + ...however all UI components scale to fill the entire screen. + ...this conflicts with #D.01, but can be solved by maximizing + use of scalable vector formats and fonts while programatically + choosing the size of nonvector UI components. + #D.05 UI occupies the full screen and no window decorations are shown. + #D.06 The application starts by showing the initial screen, in which + both subclocks are active but not running. This is due to the + application now knowing which opponent will begin moving first. + #D.07 To start, an opponent presses their clockface in the initial screen. + This indicates which player moves first. After this exceptional + step, the running subclock alternates regardless of which part + of the UI surface is pressed. + #D.08 To alternate the running subclock, the playing opponent presses + anywhere on the UI surface (even in the nonplaying opponent's area.) + #D.09 RSS indicated updates are automatically published on project homepage. + + OPTIONS + + #O.01 Main window is scalable and provides window decorations. + ...this conflicts with #D.05 and must be implemented by + scaling UI components as well as the UI surface. + #O.02 Online update detection alerts user to pending new releases. + ...this complements #D.09 but must be implemented separately. diff -r 000000000000 -r ff1b43f833a9 docs/develop.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/develop.txt Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,20 @@ + ____ _ _ _ _ _ + / ___| ___ | |__ __ _ ___ | |__ | | | || |__ _ __ + \___ \ / __|| '_ \ / _` | / __|| '_ \ | | | || '_ \ | '__| + ___) || (__ | | | || (_| || (__ | | | || |_| || | | || | + |____/ \___||_| |_| \__,_| \___||_| |_| \___/ |_| |_||_| + + Europalab SchachUhr - Game clock graphical user interface client + + DEVELOPMENT + + Sources and other documents associated with this project are stored + in source code management. The web locations of this repository are: + + o http://scm.europalab.com/schachuhr/ + o http://scm.europalab.com/schachuhr/file/tip/ + + To check out or clone projects from this repository use the mercurial + hg(1) command like so: + + $ hg clone http://scm.europalab.com/schachuhr/ schachuhr diff -r 000000000000 -r ff1b43f833a9 docs/history.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/history.txt Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,9 @@ + ____ _ _ _ _ _ + / ___| ___ | |__ __ _ ___ | |__ | | | || |__ _ __ + \___ \ / __|| '_ \ / _` | / __|| '_ \ | | | || '_ \ | '__| + ___) || (__ | | | || (_| || (__ | | | || |_| || | | || | + |____/ \___||_| |_| \__,_| \___||_| |_| \___/ |_| |_||_| + + Europalab SchachUhr - Game clock graphical user interface client + + HISTORY diff -r 000000000000 -r ff1b43f833a9 docs/install.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/install.txt Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,41 @@ + ____ _ _ _ _ _ + / ___| ___ | |__ __ _ ___ | |__ | | | || |__ _ __ + \___ \ / __|| '_ \ / _` | / __|| '_ \ | | | || '_ \ | '__| + ___) || (__ | | | || (_| || (__ | | | || |_| || | | || | + |____/ \___||_| |_| \__,_| \___||_| |_| \___/ |_| |_||_| + + Europalab SchachUhr - Game clock graphical user interface client + + DEPENDENCIES + + Before installing this application it must be built using development + tools and libraries. Building the application objects requires: + + o Make build tool + o ISO C++ standard compiler + o Assembler for the target architecture + + Linking the objects resulting from the previous building requires: + + o Linker for the target executable file format + o Qt library 4.7.1 or later (available from Nokia) + + PORTABILITY + + This application can be built on any platform fulfilling + the requirements of the Qt library. It can be installed + on any platform on which the Qt library is installed. This + includes a variety of POSIX and Windows operating systems. + + INSTALLATION + + To build this application, carry out the following shell commands: + + qmake + make + + Optionally, type 'make check' to run any self tests that come with + the source. + + At this point, the application exists and can be used. To install + it to the proper filesystem locations type 'make install'. diff -r 000000000000 -r ff1b43f833a9 docs/license.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/license.txt Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,222 @@ + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS diff -r 000000000000 -r ff1b43f833a9 docs/projplan.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/projplan.txt Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,55 @@ + ____ _ _ _ _ _ + / ___| ___ | |__ __ _ ___ | |__ | | | || |__ _ __ + \___ \ / __|| '_ \ / _` | / __|| '_ \ | | | || '_ \ | '__| + ___) || (__ | | | || (_| || (__ | | | || |_| || | | || | + |____/ \___||_| |_| \__,_| \___||_| |_| \___/ |_| |_||_| + + Europalab SchachUhr - Game clock graphical user interface client + + PROJECT PLAN (IEEE 1058) + + Milestone release 1.2.0 (secondary enhancements) + Due date: Dependent on code complete + + Milestone release 1.1.0 (primary enhancements) + Due date: Dependent on code complete + + Milestone release 1.0.0 (testing complete) + Due date: Dependent on design complete + + Milestone release 0.9.0 (code complete) + Due date: Dependent on design complete + Implemented requirements: + Improve graphics, maybe replacing hand made SVGs with Wikimedia + http://commons.wikimedia.org/wiki/Category:Chess_clocks + Implement pausing of both subclocks midmatch (#B.01) + Implement automatic update publication by RSS (#D.09) + + Milestone release 0.8.0 (documentation complete) + Due date: Dependent on design complete + Implemented requirements: + Create mailing list and publicize on homepage. + Write manpage and develop manpage generation framework. + Write HTML online homepage and update URLs in AppUp and MeeGo. + Publicize on Electrotrends and implement two article Google trick. + + Milestone genesis 0.7.0 (design complete) + Due date: 20110810 + Achievements: + Complete design specification and modelling. + Give comparative consideration to competing projects. + + Milestone genesis 0.6.0 (prototype) + Date: 20110708 + Complete requirements analysis. + Produce a prototype in markup and script. + Choose final implementation technologies. + + Milestone genesis 0.0.0 (project creation) + Date: 20110702 + Search for similar competing projects. + Create rough drafts of project guiding documents. + Develop project structure and hosting environment. + + Unscheduled items + See documents describing requirements and bugs. diff -r 000000000000 -r ff1b43f833a9 docs/readme.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/readme.txt Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,46 @@ + ____ _ _ _ _ _ + / ___| ___ | |__ __ _ ___ | |__ | | | || |__ _ __ + \___ \ / __|| '_ \ / _` | / __|| '_ \ | | | || '_ \ | '__| + ___) || (__ | | | || (_| || (__ | | | || |_| || | | || | + |____/ \___||_| |_| \__,_| \___||_| |_| \___/ |_| |_||_| + + Europalab SchachUhr - Game clock graphical user interface client + Version 0.6.0 (08-Jul-2011) + + ABSTRACT + + Game clocks typically used in chess matches afford two competing + opponents the means of judging their move timing by looking at + their side of the game clock. This allows for judging the match + outcome as well, because of time allowance playing a role in chess. + The SchachUhr can certainly be used for this, but in other types of + strategy matches and games in which timing plays a role as well. + + COPYRIGHT AND LICENSE + + Copyright © 2011 Michael Schloh von Bennewitz + + 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: + + Free Software Foundation + 51 Franklin Street, Fifth Floor + Boston, MA 02110-1301 + USA + + HOME AND DOCUMENTATION + + The documentation and latest release can be found at + + o http://schachuhr.europalab.com/ + o ftp://ftp.europalab.com/pub/sfw/schachuhr/ diff -r 000000000000 -r ff1b43f833a9 docs/release.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/release.sh Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,54 @@ +## +## release.sh -- Project Release Utility +## + +# Requires: GNU shtool +# +# Usage: ./release version +# ./release tag +# ./release dist +# ./release upload + +version () { + shtool version -l c -n "Europalab schachuhr" -p "schuhr_" -e version.cpp + V=`shtool version -l c -d long version.cpp` + sed -e "s/Version .*(.*)/Version $V/g" docs/readme.txt.n + mv docs/readme.txt.n docs/readme.txt +} + +tag () { + V=`shtool version -l c -d short version.cpp | sed -e 's;\.;_;g'` + echo "+++ tagging sources as SCHUR_${V}" + hg tag SCHUR_${V} +} + +dist () { + echo "+++ cleaning" + rm -f schachuhr-*.tar.gz + echo "+++ configuring" + qmake + echo "+++ building" + make clean all -j4 + echo "+++ cleaning" + make distclean >/dev/null 2>&1 + echo "+++ fixing" + shtool fixperm -v . + echo "Please find . -exec grep myusername {}" + echo "+++ rolling" + V=`shtool version -l c -d short version.cpp` + shtool tarball -o schachuhr-${V}.tar.gz -d schachuhr-${V} \ + -e '\.hg,\.hgignore,\.[ao]$,^\.,*.tar.gz,^#.*,.*~$,*.bak' \ + -e 'release\.sh,schuhr_stub.cpp,schuhr_stub.h,schuhr_scrap' \ + -c 'gzip --best' . + ls -l schachuhr-${V}.tar.gz + echo "+++ testing" + gunzip + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 000000000000 -r ff1b43f833a9 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,37 @@ +// +// Schachuhr - Chess clock graphical user interface client +// Copyright © 2011 Michael Schloh von Bennewitz +// +// Schachuhr 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 3 of the License, +// or (at your option) any later version. +// +// Schachuhr 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 Schachuhr. If not, see . +// +// This file is part of project Schachuhr, a chess clock graphical +// user interface client and is found at http://schachuhr.europalab.com/ +// +// main.cpp: ISO C++ implementation +// + +#include +#include "qmlapplicationviewer.h" + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + + QmlApplicationViewer viewer; + viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto); + viewer.setMainQmlFile(QLatin1String("/usr/share/schachuhr/qml/main.qml")); + viewer.showExpanded(); + + return app.exec(); +} diff -r 000000000000 -r ff1b43f833a9 pkgs/packaging.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pkgs/packaging.txt Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,18 @@ + ____ _ _ _ _ _ + / ___| ___ | |__ __ _ ___ | |__ | | | || |__ _ __ + \___ \ / __|| '_ \ / _` | / __|| '_ \ | | | || '_ \ | '__| + ___) || (__ | | | || (_| || (__ | | | || |_| || | | || | + |____/ \___||_| |_| \__,_| \___||_| |_| \___/ |_| |_||_| + + Europalab SchachUhr - Game clock graphical user interface client + + PACKAGING + + This is the location of packaging logic. Files belonging here + include package specifications for various platform packaging + systems including SVR4, RPM, Deb, and Sis. + + Derivative technologies like OpenPKG (derives RPM) and derivative + platforms like Ubuntu (derives Debian) are not included, as the + assumption is made that the specifications can be easily adjusted + to accomodate the required derivations. diff -r 000000000000 -r ff1b43f833a9 pkgs/schachuhr.desktop --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pkgs/schachuhr.desktop Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Schachuhr +Exec=/usr/bin/schachuhr +Icon=/usr/share/icons/hicolor/scalable/apps/schachuhr.svg +X-Window-Icon=schachuhr +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff -r 000000000000 -r ff1b43f833a9 pkgs/schachuhr.spec --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pkgs/schachuhr.spec Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,79 @@ +## +## schachuhr.spec -- RPM Package Specification +## Copyright (c) 2011 Michael Schloh von Bennewitz +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package information +Name: schachuhr +Summary: Chess Clock +URL: http://schachuhr.europalab.com/ +Vendor: Europalab Software +Packager: Michael Schloh von Bennewitz +Distribution: Michael Schloh von Bennewitz +Group: Amusements/Games +License: GPL +Version: 0.6.0 +Release: 20110708 + +# list of sources +Source0: ftp://ftp.europalab.com/pub/sfw/schachuhr/schachuhr-%{version}.tar.gz + +# build information +#Prefix: /opt +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +BuildRequires: pkgconfig(QtDeclarative), groff, util-linux-ng +Requires: pkgconfig(QtDeclarative) +AutoReq: no +AutoReqProv: no + +%description + SchachUhr is an electronic representation of a traditional game clock + such as those wooden or plastic clocks used in judging a chess match. + +%prep +%setup -q + +%build +qmake +make %{?jobs:-j%jobs} +groff -t -e -mandoc -Tascii docs/schachuhr.6.tr | col -bx | gzip -9 >docs/schachuhr.6.gz + +%install +rm -rf %{buildroot} +mkdir -p %{buildroot}/usr/share/doc/schachuhr +mkdir -p %{buildroot}/usr/share/man/man6 +%make_install INSTALL_ROOT=%{buildroot} +cp docs/license.txt %{buildroot}/usr/share/doc/schachuhr/ +cp docs/readme.txt %{buildroot}/usr/share/doc/schachuhr/ +cp docs/schachuhr.6.gz %{buildroot}/usr/share/man/man6/ + +%files +%defattr(-,root,root,-) +%{_bindir}/* +%doc %{_datadir}/doc/schachuhr +%doc %{_datadir}/man/man6/schachuhr.6.gz +%{_datadir}/applications/schachuhr.desktop +%{_datadir}/icons/hicolor/scalable/apps/schachuhr.svg +%{_datadir}/schachuhr/qml/* + +%changelog +* Fri Jul 08 2011 Michael Schloh von Bennewitz - 0.6.0 +- Implement initial package specification for initial software release. diff -r 000000000000 -r ff1b43f833a9 qml/centre.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qml/centre.svg Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff -r 000000000000 -r ff1b43f833a9 qml/clock-bleu.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qml/clock-bleu.svg Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,499 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 000000000000 -r ff1b43f833a9 qml/clock-braun.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qml/clock-braun.svg Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,499 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 000000000000 -r ff1b43f833a9 qml/cornerl.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qml/cornerl.svg Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,35 @@ + + + + + + + + + image/svg+xml + + + + + + + + + diff -r 000000000000 -r ff1b43f833a9 qml/hourmin.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qml/hourmin.svg Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff -r 000000000000 -r ff1b43f833a9 qml/seconds.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qml/seconds.svg Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff -r 000000000000 -r ff1b43f833a9 qmlapplicationviewer/qmlapplicationviewer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qmlapplicationviewer/qmlapplicationviewer.cpp Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,156 @@ +// checksum 0x7895 version 0x4000b +/* + This file was generated by the Qt Quick Application wizard of Qt Creator. + QmlApplicationViewer is a convenience class containing mobile device specific + code such as screen orientation handling. Also QML paths and debugging are + handled here. + It is recommended not to modify this file, since newer versions of Qt Creator + may offer an updated version of it. +*/ + +#include "qmlapplicationviewer.h" + +#include +#include +#include +#include +#include +#include + +#if defined(QMLJSDEBUGGER) +#include +#endif + +#if defined(QMLJSDEBUGGER) && !defined(NO_JSDEBUGGER) +#include +#endif +#if defined(QMLJSDEBUGGER) && !defined(NO_QMLOBSERVER) +#include +#endif + +#if defined(QMLJSDEBUGGER) + +// Enable debugging before any QDeclarativeEngine is created +struct QmlJsDebuggingEnabler +{ + QmlJsDebuggingEnabler() + { + QDeclarativeDebugHelper::enableDebugging(); + } +}; + +// Execute code in constructor before first QDeclarativeEngine is instantiated +static QmlJsDebuggingEnabler enableDebuggingHelper; + +#endif // QMLJSDEBUGGER + +class QmlApplicationViewerPrivate +{ + QString mainQmlFile; + friend class QmlApplicationViewer; + static QString adjustPath(const QString &path); +}; + +QString QmlApplicationViewerPrivate::adjustPath(const QString &path) +{ +#ifdef Q_OS_UNIX +#ifdef Q_OS_MAC + if (!QDir::isAbsolutePath(path)) + return QCoreApplication::applicationDirPath() + + QLatin1String("/../Resources/") + path; +#else + const QString pathInInstallDir = QCoreApplication::applicationDirPath() + + QLatin1String("/../") + path; + if (pathInInstallDir.contains(QLatin1String("opt")) + && pathInInstallDir.contains(QLatin1String("bin")) + && QFileInfo(pathInInstallDir).exists()) { + return pathInInstallDir; + } +#endif +#endif + return path; +} + +QmlApplicationViewer::QmlApplicationViewer(QWidget *parent) : + QDeclarativeView(parent), + m_d(new QmlApplicationViewerPrivate) +{ + connect(engine(), SIGNAL(quit()), SLOT(close())); + setResizeMode(QDeclarativeView::SizeRootObjectToView); +#if defined(QMLJSDEBUGGER) && !defined(NO_JSDEBUGGER) + new QmlJSDebugger::JSDebuggerAgent(engine()); +#endif +#if defined(QMLJSDEBUGGER) && !defined(NO_QMLOBSERVER) + new QmlJSDebugger::QDeclarativeViewObserver(this, this); +#endif +} + +QmlApplicationViewer::~QmlApplicationViewer() +{ + delete m_d; +} + +void QmlApplicationViewer::setMainQmlFile(const QString &file) +{ + m_d->mainQmlFile = QmlApplicationViewerPrivate::adjustPath(file); + setSource(QUrl::fromLocalFile(m_d->mainQmlFile)); +} + +void QmlApplicationViewer::addImportPath(const QString &path) +{ + engine()->addImportPath(QmlApplicationViewerPrivate::adjustPath(path)); +} + +void QmlApplicationViewer::setOrientation(ScreenOrientation orientation) +{ +#if defined(Q_OS_SYMBIAN) + // If the version of Qt on the device is < 4.7.2, that attribute won't work + if (orientation != ScreenOrientationAuto) { + const QStringList v = QString::fromAscii(qVersion()).split(QLatin1Char('.')); + if (v.count() == 3 && (v.at(0).toInt() << 16 | v.at(1).toInt() << 8 | v.at(2).toInt()) < 0x040702) { + qWarning("Screen orientation locking only supported with Qt 4.7.2 and above"); + return; + } + } +#endif // Q_OS_SYMBIAN + + Qt::WidgetAttribute attribute; + switch (orientation) { +#if QT_VERSION < 0x040702 + // Qt < 4.7.2 does not yet have the Qt::WA_*Orientation attributes + case ScreenOrientationLockPortrait: + attribute = static_cast(128); + break; + case ScreenOrientationLockLandscape: + attribute = static_cast(129); + break; + default: + case ScreenOrientationAuto: + attribute = static_cast(130); + break; +#else // QT_VERSION < 0x040702 + case ScreenOrientationLockPortrait: + attribute = Qt::WA_LockPortraitOrientation; + break; + case ScreenOrientationLockLandscape: + attribute = Qt::WA_LockLandscapeOrientation; + break; + default: + case ScreenOrientationAuto: + attribute = Qt::WA_AutoOrientation; + break; +#endif // QT_VERSION < 0x040702 + }; + setAttribute(attribute, true); +} + +void QmlApplicationViewer::showExpanded() +{ +#ifdef Q_OS_SYMBIAN + showFullScreen(); +#elif defined(Q_WS_MAEMO_5) + showMaximized(); +#else + show(); +#endif +} diff -r 000000000000 -r ff1b43f833a9 qmlapplicationviewer/qmlapplicationviewer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qmlapplicationviewer/qmlapplicationviewer.h Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,42 @@ +// checksum 0x382f version 0x4000b +/* + This file was generated by the Qt Quick Application wizard of Qt Creator. + QmlApplicationViewer is a convenience class containing mobile device specific + code such as screen orientation handling. Also QML paths and debugging are + handled here. + It is recommended not to modify this file, since newer versions of Qt Creator + may offer an updated version of it. +*/ + +#ifndef QMLAPPLICATIONVIEWER_H +#define QMLAPPLICATIONVIEWER_H + +#include + +class QmlApplicationViewer : public QDeclarativeView +{ + Q_OBJECT + +public: + enum ScreenOrientation { + ScreenOrientationLockPortrait, + ScreenOrientationLockLandscape, + ScreenOrientationAuto + }; + + explicit QmlApplicationViewer(QWidget *parent = 0); + virtual ~QmlApplicationViewer(); + + void setMainQmlFile(const QString &file); + void addImportPath(const QString &path); + + // Note that this will only have an effect on Symbian and Fremantle. + void setOrientation(ScreenOrientation orientation); + + void showExpanded(); + +private: + class QmlApplicationViewerPrivate *m_d; +}; + +#endif // QMLAPPLICATIONVIEWER_H diff -r 000000000000 -r ff1b43f833a9 qmlapplicationviewer/qmlapplicationviewer.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qmlapplicationviewer/qmlapplicationviewer.pri Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,133 @@ +# checksum 0xcaf1 version 0x4000b +# This file was generated by the Qt Quick Application wizard of Qt Creator. +# The code below adds the QmlApplicationViewer to the project and handles the +# activation of QML debugging. +# It is recommended not to modify this file, since newer versions of Qt Creator +# may offer an updated version of it. + +QT += declarative + +SOURCES += $$PWD/qmlapplicationviewer.cpp +HEADERS += $$PWD/qmlapplicationviewer.h +INCLUDEPATH += $$PWD + +# Include JS debugger library if QMLJSDEBUGGER_PATH is set +!isEmpty(QMLJSDEBUGGER_PATH) { + include($$QMLJSDEBUGGER_PATH/qmljsdebugger-lib.pri) +} else { + DEFINES -= QMLJSDEBUGGER +} +# This file was generated by an application wizard of Qt Creator. +# The code below handles deployment to Symbian and Maemo, aswell as copying +# of the application data to shadow build directories on desktop. +# It is recommended not to modify this file, since newer versions of Qt Creator +# may offer an updated version of it. + +defineTest(qtcAddDeployment) { +for(deploymentfolder, DEPLOYMENTFOLDERS) { + item = item$${deploymentfolder} + itemsources = $${item}.sources + $$itemsources = $$eval($${deploymentfolder}.source) + itempath = $${item}.path + $$itempath= $$eval($${deploymentfolder}.target) + export($$itemsources) + export($$itempath) + DEPLOYMENT += $$item +} + +MAINPROFILEPWD = $$PWD + +symbian { + isEmpty(ICON):exists($${TARGET}.svg):ICON = $${TARGET}.svg + isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 +} else:win32 { + copyCommand = + for(deploymentfolder, DEPLOYMENTFOLDERS) { + source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source) + source = $$replace(source, /, \\) + sourcePathSegments = $$split(source, \\) + target = $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(sourcePathSegments) + target = $$replace(target, /, \\) + !isEqual(source,$$target) { + !isEmpty(copyCommand):copyCommand += && + isEqual(QMAKE_DIR_SEP, \\) { + copyCommand += $(COPY_DIR) \"$$source\" \"$$target\" + } else { + source = $$replace(source, \\\\, /) + target = $$OUT_PWD/$$eval($${deploymentfolder}.target) + target = $$replace(target, \\\\, /) + copyCommand += test -d \"$$target\" || mkdir -p \"$$target\" && cp -r \"$$source\" \"$$target\" + } + } + } + !isEmpty(copyCommand) { + copyCommand = @echo Copying application data... && $$copyCommand + copydeploymentfolders.commands = $$copyCommand + first.depends = $(first) copydeploymentfolders + export(first.depends) + export(copydeploymentfolders.commands) + QMAKE_EXTRA_TARGETS += first copydeploymentfolders + } +} else:unix { + maemo5 { + desktopfile.path = /usr/share/applications/hildon + } else { + desktopfile.path = /usr/share/applications + copyCommand = + for(deploymentfolder, DEPLOYMENTFOLDERS) { + source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source) + source = $$replace(source, \\\\, /) + macx { + target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target) + } else { + target = $$OUT_PWD/$$eval($${deploymentfolder}.target) + } + target = $$replace(target, \\\\, /) + sourcePathSegments = $$split(source, /) + targetFullPath = $$target/$$last(sourcePathSegments) + !isEqual(source,$$targetFullPath) { + !isEmpty(copyCommand):copyCommand += && + copyCommand += $(MKDIR) \"$$target\" + copyCommand += && $(COPY_DIR) \"$$source\" \"$$target\" + } + } + !isEmpty(copyCommand) { + copyCommand = @echo Copying application data... && $$copyCommand + copydeploymentfolders.commands = $$copyCommand + first.depends = $(first) copydeploymentfolders + export(first.depends) + export(copydeploymentfolders.commands) + QMAKE_EXTRA_TARGETS += first copydeploymentfolders + } + } + installPrefix = /usr + for(deploymentfolder, DEPLOYMENTFOLDERS) { + item = item$${deploymentfolder} + itemfiles = $${item}.files + $$itemfiles = $$eval($${deploymentfolder}.source) + itempath = $${item}.path + $$itempath = $${installPrefix}/$$eval($${deploymentfolder}.target) + export($$itemfiles) + export($$itempath) + INSTALLS += $$item + } + icon.files = icons/$${TARGET}.svg + icon.path = /usr/share/icons/hicolor/scalable/apps + desktopfile.files = pkgs/$${TARGET}.desktop + target.path = $${installPrefix}/bin + export(icon.files) + export(icon.path) + export(desktopfile.files) + export(desktopfile.path) + export(target.path) + INSTALLS += desktopfile icon target +} + +export (ICON) +export (INSTALLS) +export (DEPLOYMENT) +export (TARGET.EPOCHEAPSIZE) +export (TARGET.CAPABILITY) +export (LIBS) +export (QMAKE_EXTRA_TARGETS) +} diff -r 000000000000 -r ff1b43f833a9 schachuhr.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/schachuhr.pro Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,31 @@ +# Add more folders to ship with the application, here +folder_01.source = qml +folder_01.target = share/schachuhr +DEPLOYMENTFOLDERS = folder_01 + +# Additional import path used to resolve QML modules in Creator's code model +QML_IMPORT_PATH = + +symbian:TARGET.UID3 = 0xE0A11694 + +# Smart Installer package's UID +# This UID is from the protected range and therefore the package will +# fail to install if self-signed. By default qmake uses the unprotected +# range value if unprotected UID is defined for the application and +# 0x2002CCCF value if protected UID is given to the application +#symbian:DEPLOYMENT.installer_header = 0x2002CCCF + +# Allow network access on Symbian +symbian:TARGET.CAPABILITY += NetworkServices + +# If your application uses the Qt Mobility libraries, uncomment the following +# lines and add the respective components to the MOBILITY variable. +# CONFIG += mobility +# MOBILITY += + +# The .cpp file which was generated for your project. Feel free to hack it. +SOURCES += main.cpp + +# Please do not modify the following two lines. Required for deployment. +include(qmlapplicationviewer/qmlapplicationviewer.pri) +qtcAddDeployment() diff -r 000000000000 -r ff1b43f833a9 version.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/version.cpp Fri Jul 08 21:05:20 2011 +0200 @@ -0,0 +1,46 @@ +/* +** version.cpp -- Version Information for Europalab schachuhr (syntax: C/C++) +** [automatically generated and maintained by GNU shtool] +*/ + +#ifdef _VERSION_CPP_AS_HEADER_ + +#ifndef _VERSION_CPP_ +#define _VERSION_CPP_ + +#define SCHUHR_VERSION 0x006200 + +typedef struct { + const int v_hex; + const char *v_short; + const char *v_long; + const char *v_tex; + const char *v_gnu; + const char *v_web; + const char *v_sccs; + const char *v_rcs; +} schuhr_version_t; + +extern schuhr_version_t schuhr_version; + +#endif /* _VERSION_CPP_ */ + +#else /* _VERSION_CPP_AS_HEADER_ */ + +#define _VERSION_CPP_AS_HEADER_ +#include "version.cpp" +#undef _VERSION_CPP_AS_HEADER_ + +schuhr_version_t schuhr_version = { + 0x006200, + "0.6.0", + "0.6.0 (08-Jul-2011)", + "This is Europalab schachuhr, Version 0.6.0 (08-Jul-2011)", + "Europalab schachuhr 0.6.0 (08-Jul-2011)", + "Europalab schachuhr/0.6.0", + "@(#)Europalab schachuhr 0.6.0 (08-Jul-2011)", + "$Id: Europalab schachuhr 0.6.0 (08-Jul-2011) $" +}; + +#endif /* _VERSION_CPP_AS_HEADER_ */ +