Merge https://vcs.maemo.org/git/golf-scorecard master
authorJouko Kylmäoja <jokkedokke@kylmaoja.(none)>
Tue, 11 May 2010 12:52:52 +0000 (15:52 +0300)
committerJouko Kylmäoja <jokkedokke@kylmaoja.(none)>
Tue, 11 May 2010 12:52:52 +0000 (15:52 +0300)
54 files changed:
golfscorecard.pro [new file with mode: 0644]
src/Makefile [new file with mode: 0644]
src/Makefile.Debug [new file with mode: 0644]
src/Makefile.Release [new file with mode: 0644]
src/basicscorecard.cpp [new file with mode: 0644]
src/basicscorecard.h [new file with mode: 0644]
src/basicscorecard.ui [new file with mode: 0644]
src/courses.h [new file with mode: 0644]
src/datahandling.cpp [new file with mode: 0644]
src/datahandling.h [new file with mode: 0644]
src/images/Add-icon.png [new file with mode: 0644]
src/images/YaST-icon.png [new file with mode: 0644]
src/images/arrow-down-icon.png [new file with mode: 0644]
src/images/arrow-left-icon.png [new file with mode: 0644]
src/images/arrow-right-icon.png [new file with mode: 0644]
src/images/arrow-right-icon_2.png [new file with mode: 0644]
src/images/arrow-up-icon.png [new file with mode: 0644]
src/images/course-icon.png [new file with mode: 0644]
src/images/edit-course.png [new file with mode: 0644]
src/images/edit-player.png [new file with mode: 0644]
src/images/golf-icon.png [new file with mode: 0644]
src/images/golf-icon_2.png [new file with mode: 0644]
src/images/new-course.png [new file with mode: 0644]
src/images/new-player.png [new file with mode: 0644]
src/images/person-icon.png [new file with mode: 0644]
src/images/stats-icon.png [new file with mode: 0644]
src/main.cpp [new file with mode: 0644]
src/mainwindow.cpp [new file with mode: 0644]
src/mainwindow.h [new file with mode: 0644]
src/mainwindow.ui [new file with mode: 0644]
src/newround.cpp [new file with mode: 0644]
src/newround.h [new file with mode: 0644]
src/newround.ui [new file with mode: 0644]
src/object_script.golfscorecard.Debug [new file with mode: 0644]
src/object_script.golfscorecard.Release [new file with mode: 0644]
src/pcmanagement.cpp [new file with mode: 0644]
src/pcmanagement.h [new file with mode: 0644]
src/pcmanagement.ui [new file with mode: 0644]
src/player.h [new file with mode: 0644]
src/playermanagement.cpp [new file with mode: 0644]
src/playermanagement.h [new file with mode: 0644]
src/playermanagement.ui [new file with mode: 0644]
src/resources.qrc [new file with mode: 0644]
src/ui_basicscorecard.h [new file with mode: 0644]
src/ui_mainwindow.h [new file with mode: 0644]
src/ui_newround.h [new file with mode: 0644]
src/ui_pcmanagement.h [new file with mode: 0644]
src/ui_playermanagement.h [new file with mode: 0644]
src/xml/courses/coursedata.xml [new file with mode: 0644]
src/xml/courses/coursedata_example.xml [new file with mode: 0644]
src/xml/courses/sankivaara-sanki.xml [new file with mode: 0644]
src/xml/players/playerdata.xml [new file with mode: 0644]
src/xmlparser.cpp [new file with mode: 0644]
src/xmlparser.h [new file with mode: 0644]

diff --git a/golfscorecard.pro b/golfscorecard.pro
new file mode 100644 (file)
index 0000000..3569111
--- /dev/null
@@ -0,0 +1,29 @@
+# -------------------------------------------------\r
+# Project created by QtCreator 2010-04-13T16:47:30\r
+# -------------------------------------------------\r
+QT += xml\r
+TARGET = golfscorecard\r
+TEMPLATE = app\r
+SOURCES += main.cpp \\r
+    mainwindow.cpp \\r
+    newround.cpp \\r
+    xmlparser.cpp \\r
+    datahandling.cpp \\r
+    basicscorecard.cpp \\r
+    pcmanagement.cpp \\r
+    playermanagement.cpp\r
+HEADERS += mainwindow.h \\r
+    newround.h \\r
+    xmlparser.h \\r
+    datahandling.h \\r
+    player.h \\r
+    courses.h \\r
+    basicscorecard.h \\r
+    pcmanagement.h \\r
+    playermanagement.h\r
+FORMS += mainwindow.ui \\r
+    newround.ui \\r
+    basicscorecard.ui \\r
+    pcmanagement.ui \\r
+    playermanagement.ui\r
+RESOURCES += resources.qrc\r
diff --git a/src/Makefile b/src/Makefile
new file mode 100644 (file)
index 0000000..6b7fea7
--- /dev/null
@@ -0,0 +1,143 @@
+#############################################################################\r
+# Makefile for building: golfscorecard\r
+# Generated by qmake (2.01a) (Qt 4.6.2) on: pe 30. huhti 00:49:00 2010\r
+# Project:  golfscorecard.pro\r
+# Template: app\r
+# Command: c:\qt\2010.02.1\qt\bin\qmake.exe -spec c:\Qt\2010.02.1\qt\mkspecs\win32-g++ -win32 CONFIG+=release -o Makefile golfscorecard.pro\r
+#############################################################################\r
+\r
+first: release\r
+install: release-install\r
+uninstall: release-uninstall\r
+MAKEFILE      = Makefile\r
+QMAKE         = c:\qt\2010.02.1\qt\bin\qmake.exe\r
+DEL_FILE      = del\r
+CHK_DIR_EXISTS= if not exist\r
+MKDIR         = mkdir\r
+COPY          = copy /y\r
+COPY_FILE     = $(COPY)\r
+COPY_DIR      = xcopy /s /q /y /i\r
+INSTALL_FILE  = $(COPY_FILE)\r
+INSTALL_PROGRAM = $(COPY_FILE)\r
+INSTALL_DIR   = $(COPY_DIR)\r
+DEL_FILE      = del\r
+SYMLINK       = \r
+DEL_DIR       = rmdir\r
+MOVE          = move\r
+CHK_DIR_EXISTS= if not exist\r
+MKDIR         = mkdir\r
+SUBTARGETS    =  \\r
+               release \\r
+               debug\r
+\r
+release: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release\r
+release-make_default: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release \r
+release-make_first: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release first\r
+release-all: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release all\r
+release-clean: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release clean\r
+release-distclean: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release distclean\r
+release-install: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release install\r
+release-uninstall: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release uninstall\r
+debug: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug\r
+debug-make_default: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug \r
+debug-make_first: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug first\r
+debug-all: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug all\r
+debug-clean: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug clean\r
+debug-distclean: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug distclean\r
+debug-install: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug install\r
+debug-uninstall: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug uninstall\r
+\r
+Makefile: golfscorecard.pro  c:/Qt/2010.02.1/qt/mkspecs/win32-g++/qmake.conf c:/Qt/2010.02.1/qt/mkspecs/qconfig.pri \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/qt_functions.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/qt_config.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/exclusive_builds.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/default_pre.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/win32/default_pre.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/release.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/debug_and_release.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/default_post.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/win32/default_post.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/win32/rtti.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/win32/exceptions.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/win32/stl.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/shared.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/warn_on.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/qt.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/win32/thread.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/moc.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/win32/windows.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/resources.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/uic.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/yacc.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/lex.prf \\r
+               c:/Qt/2010.02.1/qt/mkspecs/features/include_source_dir.prf \\r
+               c:/Qt/2010.02.1/qt/lib/qtmain.prl\r
+       $(QMAKE) -spec c:\Qt\2010.02.1\qt\mkspecs\win32-g++ -win32 CONFIG+=release -o Makefile golfscorecard.pro\r
+c:\Qt\2010.02.1\qt\mkspecs\qconfig.pri:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\qt_functions.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\qt_config.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\exclusive_builds.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\default_pre.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\win32\default_pre.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\release.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\debug_and_release.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\default_post.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\win32\default_post.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\win32\rtti.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\win32\exceptions.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\win32\stl.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\shared.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\warn_on.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\qt.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\win32\thread.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\moc.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\win32\windows.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\resources.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\uic.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\yacc.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\lex.prf:\r
+c:\Qt\2010.02.1\qt\mkspecs\features\include_source_dir.prf:\r
+c:\Qt\2010.02.1\qt\lib\qtmain.prl:\r
+qmake: qmake_all FORCE\r
+       @$(QMAKE) -spec c:\Qt\2010.02.1\qt\mkspecs\win32-g++ -win32 CONFIG+=release -o Makefile golfscorecard.pro\r
+\r
+qmake_all: FORCE\r
+\r
+make_default: release-make_default debug-make_default FORCE\r
+make_first: release-make_first debug-make_first FORCE\r
+all: release-all debug-all FORCE\r
+clean: release-clean debug-clean FORCE\r
+distclean: release-distclean debug-distclean FORCE\r
+       -$(DEL_FILE) Makefile\r
+\r
+release-mocclean: $(MAKEFILE).Release\r
+       $(MAKE) -f $(MAKEFILE).Release mocclean\r
+debug-mocclean: $(MAKEFILE).Debug\r
+       $(MAKE) -f $(MAKEFILE).Debug mocclean\r
+mocclean: release-mocclean debug-mocclean\r
+\r
+release-mocables: $(MAKEFILE).Release\r
+       $(MAKE) -f $(MAKEFILE).Release mocables\r
+debug-mocables: $(MAKEFILE).Debug\r
+       $(MAKE) -f $(MAKEFILE).Debug mocables\r
+mocables: release-mocables debug-mocables\r
+FORCE:\r
+\r
+$(MAKEFILE).Release: Makefile\r
+$(MAKEFILE).Debug: Makefile\r
diff --git a/src/Makefile.Debug b/src/Makefile.Debug
new file mode 100644 (file)
index 0000000..29b4ca5
--- /dev/null
@@ -0,0 +1,295 @@
+#############################################################################\r
+# Makefile for building: golfscorecard\r
+# Generated by qmake (2.01a) (Qt 4.6.2) on: pe 30. huhti 00:48:59 2010\r
+# Project:  golfscorecard.pro\r
+# Template: app\r
+#############################################################################\r
+\r
+####### Compiler, tools and options\r
+\r
+CC            = gcc\r
+CXX           = g++\r
+DEFINES       = -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN\r
+CFLAGS        = -g -Wall $(DEFINES)\r
+CXXFLAGS      = -g -frtti -fexceptions -mthreads -Wall $(DEFINES)\r
+INCPATH       = -I"c:\Qt\2010.02.1\qt\include\QtCore" -I"c:\Qt\2010.02.1\qt\include\QtGui" -I"c:\Qt\2010.02.1\qt\include\QtXml" -I"c:\Qt\2010.02.1\qt\include" -I"c:\Qt\2010.02.1\qt\include\ActiveQt" -I"debug" -I"." -I"c:\Qt\2010.02.1\qt\mkspecs\win32-g++"\r
+LINK        =        g++\r
+LFLAGS        =        -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows\r
+LIBS        =        -L"c:\Qt\2010.02.1\qt\lib" -lmingw32 -lqtmaind -lQtXmld4 -lQtGuid4 -lQtCored4 \r
+QMAKE         = c:\qt\2010.02.1\qt\bin\qmake.exe\r
+IDC           = c:\Qt\2010.02.1\qt\bin\idc.exe\r
+IDL           = midl\r
+ZIP           = zip -r -9\r
+DEF_FILE      = \r
+RES_FILE      = \r
+COPY          = copy /y\r
+COPY_FILE     = $(COPY)\r
+COPY_DIR      = xcopy /s /q /y /i\r
+DEL_FILE      = del\r
+DEL_DIR       = rmdir\r
+MOVE          = move\r
+CHK_DIR_EXISTS= if not exist\r
+MKDIR         = mkdir\r
+INSTALL_FILE    = $(COPY_FILE)\r
+INSTALL_PROGRAM = $(COPY_FILE)\r
+INSTALL_DIR     = $(COPY_DIR)\r
+\r
+####### Output directory\r
+\r
+OBJECTS_DIR   = debug\r
+\r
+####### Files\r
+\r
+SOURCES       = main.cpp \\r
+               mainwindow.cpp \\r
+               newround.cpp \\r
+               xmlparser.cpp \\r
+               datahandling.cpp \\r
+               basicscorecard.cpp \\r
+               pcmanagement.cpp \\r
+               playermanagement.cpp debug\moc_mainwindow.cpp \\r
+               debug\moc_newround.cpp \\r
+               debug\moc_xmlparser.cpp \\r
+               debug\moc_datahandling.cpp \\r
+               debug\moc_basicscorecard.cpp \\r
+               debug\moc_pcmanagement.cpp \\r
+               debug\moc_playermanagement.cpp \\r
+               debug\qrc_resources.cpp\r
+OBJECTS       = debug/main.o \\r
+               debug/mainwindow.o \\r
+               debug/newround.o \\r
+               debug/xmlparser.o \\r
+               debug/datahandling.o \\r
+               debug/basicscorecard.o \\r
+               debug/pcmanagement.o \\r
+               debug/playermanagement.o \\r
+               debug/moc_mainwindow.o \\r
+               debug/moc_newround.o \\r
+               debug/moc_xmlparser.o \\r
+               debug/moc_datahandling.o \\r
+               debug/moc_basicscorecard.o \\r
+               debug/moc_pcmanagement.o \\r
+               debug/moc_playermanagement.o \\r
+               debug/qrc_resources.o\r
+DIST          = \r
+QMAKE_TARGET  = golfscorecard\r
+DESTDIR        = debug\ #avoid trailing-slash linebreak\r
+TARGET         = golfscorecard.exe\r
+DESTDIR_TARGET = debug\golfscorecard.exe\r
+\r
+####### Implicit rules\r
+\r
+.SUFFIXES: .cpp .cc .cxx .c\r
+\r
+.cpp.o:\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<\r
+\r
+.cc.o:\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<\r
+\r
+.cxx.o:\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<\r
+\r
+.c.o:\r
+       $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<\r
+\r
+####### Build rules\r
+\r
+first: all\r
+all: Makefile.Debug  $(DESTDIR_TARGET)\r
+\r
+$(DESTDIR_TARGET): ui_mainwindow.h ui_newround.h ui_basicscorecard.h ui_pcmanagement.h ui_playermanagement.h $(OBJECTS) \r
+       $(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) object_script.golfscorecard.Debug  $(LIBS)\r
+\r
+\r
+qmake:  FORCE\r
+       @$(QMAKE) -spec c:\Qt\2010.02.1\qt\mkspecs\win32-g++ -win32 CONFIG+=release -o Makefile.Debug golfscorecard.pro\r
+\r
+dist:\r
+       $(ZIP) golfscorecard.zip $(SOURCES) $(DIST) golfscorecard.pro c:\Qt\2010.02.1\qt\mkspecs\qconfig.pri c:\Qt\2010.02.1\qt\mkspecs\features\qt_functions.prf c:\Qt\2010.02.1\qt\mkspecs\features\qt_config.prf c:\Qt\2010.02.1\qt\mkspecs\features\exclusive_builds.prf c:\Qt\2010.02.1\qt\mkspecs\features\default_pre.prf c:\Qt\2010.02.1\qt\mkspecs\features\win32\default_pre.prf c:\Qt\2010.02.1\qt\mkspecs\features\debug.prf c:\Qt\2010.02.1\qt\mkspecs\features\debug_and_release.prf c:\Qt\2010.02.1\qt\mkspecs\features\default_post.prf c:\Qt\2010.02.1\qt\mkspecs\features\win32\default_post.prf c:\Qt\2010.02.1\qt\mkspecs\features\build_pass.prf c:\Qt\2010.02.1\qt\mkspecs\features\win32\rtti.prf c:\Qt\2010.02.1\qt\mkspecs\features\win32\exceptions.prf c:\Qt\2010.02.1\qt\mkspecs\features\win32\stl.prf c:\Qt\2010.02.1\qt\mkspecs\features\shared.prf c:\Qt\2010.02.1\qt\mkspecs\features\warn_on.prf c:\Qt\2010.02.1\qt\mkspecs\features\qt.prf c:\Qt\2010.02.1\qt\mkspecs\features\win32\thread.prf c:\Qt\2010.02.1\qt\mkspecs\features\moc.prf c:\Qt\2010.02.1\qt\mkspecs\features\win32\windows.prf c:\Qt\2010.02.1\qt\mkspecs\features\resources.prf c:\Qt\2010.02.1\qt\mkspecs\features\uic.prf c:\Qt\2010.02.1\qt\mkspecs\features\yacc.prf c:\Qt\2010.02.1\qt\mkspecs\features\lex.prf c:\Qt\2010.02.1\qt\mkspecs\features\include_source_dir.prf c:\Qt\2010.02.1\qt\lib\qtmaind.prl  HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES \r
+\r
+clean: compiler_clean \r
+       -$(DEL_FILE) debug\main.o debug\mainwindow.o debug\newround.o debug\xmlparser.o debug\datahandling.o debug\basicscorecard.o debug\pcmanagement.o debug\playermanagement.o debug\moc_mainwindow.o debug\moc_newround.o debug\moc_xmlparser.o debug\moc_datahandling.o debug\moc_basicscorecard.o debug\moc_pcmanagement.o debug\moc_playermanagement.o debug\qrc_resources.o\r
+\r
+distclean: clean\r
+       -$(DEL_FILE) $(DESTDIR_TARGET)\r
+       -$(DEL_FILE) Makefile.Debug\r
+\r
+mocclean: compiler_moc_header_clean compiler_moc_source_clean\r
+\r
+mocables: compiler_moc_header_make_all compiler_moc_source_make_all\r
+\r
+compiler_moc_header_make_all: debug/moc_mainwindow.cpp debug/moc_newround.cpp debug/moc_xmlparser.cpp debug/moc_datahandling.cpp debug/moc_basicscorecard.cpp debug/moc_pcmanagement.cpp debug/moc_playermanagement.cpp\r
+compiler_moc_header_clean:\r
+       -$(DEL_FILE) debug\moc_mainwindow.cpp debug\moc_newround.cpp debug\moc_xmlparser.cpp debug\moc_datahandling.cpp debug\moc_basicscorecard.cpp debug\moc_pcmanagement.cpp debug\moc_playermanagement.cpp\r
+debug/moc_mainwindow.cpp: mainwindow.h\r
+       C:/Qt/2010.02.1/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 mainwindow.h -o debug\moc_mainwindow.cpp\r
+\r
+debug/moc_newround.cpp: datahandling.h \\r
+               player.h \\r
+               courses.h \\r
+               newround.h\r
+       C:/Qt/2010.02.1/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 newround.h -o debug\moc_newround.cpp\r
+\r
+debug/moc_xmlparser.cpp: xmlparser.h\r
+       C:/Qt/2010.02.1/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 xmlparser.h -o debug\moc_xmlparser.cpp\r
+\r
+debug/moc_datahandling.cpp: player.h \\r
+               courses.h \\r
+               datahandling.h\r
+       C:/Qt/2010.02.1/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 datahandling.h -o debug\moc_datahandling.cpp\r
+\r
+debug/moc_basicscorecard.cpp: datahandling.h \\r
+               player.h \\r
+               courses.h \\r
+               basicscorecard.h\r
+       C:/Qt/2010.02.1/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 basicscorecard.h -o debug\moc_basicscorecard.cpp\r
+\r
+debug/moc_pcmanagement.cpp: pcmanagement.h\r
+       C:/Qt/2010.02.1/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 pcmanagement.h -o debug\moc_pcmanagement.cpp\r
+\r
+debug/moc_playermanagement.cpp: playermanagement.h\r
+       C:/Qt/2010.02.1/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 playermanagement.h -o debug\moc_playermanagement.cpp\r
+\r
+compiler_rcc_make_all: debug/qrc_resources.cpp\r
+compiler_rcc_clean:\r
+       -$(DEL_FILE) debug\qrc_resources.cpp\r
+debug/qrc_resources.cpp: resources.qrc \\r
+               images/new-player.png \\r
+               images/golf-icon.png \\r
+               images/arrow-left-icon.png \\r
+               images/edit-player.png \\r
+               images/edit-course.png \\r
+               images/arrow-right-icon_2.png \\r
+               images/arrow-up-icon.png \\r
+               images/new-course.png \\r
+               images/arrow-down-icon.png \\r
+               images/stats-icon.png \\r
+               images/golf-icon_2.png \\r
+               images/arrow-right-icon.png \\r
+               images/course-icon.png\r
+       c:\Qt\2010.02.1\qt\bin\rcc.exe -name resources resources.qrc -o debug\qrc_resources.cpp\r
+\r
+compiler_image_collection_make_all: qmake_image_collection.cpp\r
+compiler_image_collection_clean:\r
+       -$(DEL_FILE) qmake_image_collection.cpp\r
+compiler_moc_source_make_all:\r
+compiler_moc_source_clean:\r
+compiler_uic_make_all: ui_mainwindow.h ui_newround.h ui_basicscorecard.h ui_pcmanagement.h ui_playermanagement.h\r
+compiler_uic_clean:\r
+       -$(DEL_FILE) ui_mainwindow.h ui_newround.h ui_basicscorecard.h ui_pcmanagement.h ui_playermanagement.h\r
+ui_mainwindow.h: mainwindow.ui\r
+       c:\Qt\2010.02.1\qt\bin\uic.exe mainwindow.ui -o ui_mainwindow.h\r
+\r
+ui_newround.h: newround.ui\r
+       c:\Qt\2010.02.1\qt\bin\uic.exe newround.ui -o ui_newround.h\r
+\r
+ui_basicscorecard.h: basicscorecard.ui\r
+       c:\Qt\2010.02.1\qt\bin\uic.exe basicscorecard.ui -o ui_basicscorecard.h\r
+\r
+ui_pcmanagement.h: pcmanagement.ui\r
+       c:\Qt\2010.02.1\qt\bin\uic.exe pcmanagement.ui -o ui_pcmanagement.h\r
+\r
+ui_playermanagement.h: playermanagement.ui\r
+       c:\Qt\2010.02.1\qt\bin\uic.exe playermanagement.ui -o ui_playermanagement.h\r
+\r
+compiler_yacc_decl_make_all:\r
+compiler_yacc_decl_clean:\r
+compiler_yacc_impl_make_all:\r
+compiler_yacc_impl_clean:\r
+compiler_lex_make_all:\r
+compiler_lex_clean:\r
+compiler_clean: compiler_moc_header_clean compiler_rcc_clean compiler_uic_clean \r
+\r
+\r
+\r
+####### Compile\r
+\r
+debug/main.o: main.cpp mainwindow.h \\r
+               datahandling.h \\r
+               player.h \\r
+               courses.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\main.o main.cpp\r
+\r
+debug/mainwindow.o: mainwindow.cpp mainwindow.h \\r
+               ui_mainwindow.h \\r
+               newround.h \\r
+               datahandling.h \\r
+               player.h \\r
+               courses.h \\r
+               pcmanagement.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\mainwindow.o mainwindow.cpp\r
+\r
+debug/newround.o: newround.cpp newround.h \\r
+               datahandling.h \\r
+               player.h \\r
+               courses.h \\r
+               ui_newround.h \\r
+               xmlparser.h \\r
+               basicscorecard.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\newround.o newround.cpp\r
+\r
+debug/xmlparser.o: xmlparser.cpp xmlparser.h \\r
+               datahandling.h \\r
+               player.h \\r
+               courses.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\xmlparser.o xmlparser.cpp\r
+\r
+debug/datahandling.o: datahandling.cpp datahandling.h \\r
+               player.h \\r
+               courses.h \\r
+               newround.h \\r
+               xmlparser.h \\r
+               basicscorecard.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\datahandling.o datahandling.cpp\r
+\r
+debug/basicscorecard.o: basicscorecard.cpp basicscorecard.h \\r
+               datahandling.h \\r
+               player.h \\r
+               courses.h \\r
+               ui_basicscorecard.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\basicscorecard.o basicscorecard.cpp\r
+\r
+debug/pcmanagement.o: pcmanagement.cpp pcmanagement.h \\r
+               ui_pcmanagement.h \\r
+               mainwindow.h \\r
+               playermanagement.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\pcmanagement.o pcmanagement.cpp\r
+\r
+debug/playermanagement.o: playermanagement.cpp playermanagement.h \\r
+               ui_playermanagement.h \\r
+               pcmanagement.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\playermanagement.o playermanagement.cpp\r
+\r
+debug/moc_mainwindow.o: debug/moc_mainwindow.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_mainwindow.o debug\moc_mainwindow.cpp\r
+\r
+debug/moc_newround.o: debug/moc_newround.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_newround.o debug\moc_newround.cpp\r
+\r
+debug/moc_xmlparser.o: debug/moc_xmlparser.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_xmlparser.o debug\moc_xmlparser.cpp\r
+\r
+debug/moc_datahandling.o: debug/moc_datahandling.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_datahandling.o debug\moc_datahandling.cpp\r
+\r
+debug/moc_basicscorecard.o: debug/moc_basicscorecard.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_basicscorecard.o debug\moc_basicscorecard.cpp\r
+\r
+debug/moc_pcmanagement.o: debug/moc_pcmanagement.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_pcmanagement.o debug\moc_pcmanagement.cpp\r
+\r
+debug/moc_playermanagement.o: debug/moc_playermanagement.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_playermanagement.o debug\moc_playermanagement.cpp\r
+\r
+debug/qrc_resources.o: debug/qrc_resources.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\qrc_resources.o debug\qrc_resources.cpp\r
+\r
+####### Install\r
+\r
+install:   FORCE\r
+\r
+uninstall:   FORCE\r
+\r
+FORCE:\r
+\r
diff --git a/src/Makefile.Release b/src/Makefile.Release
new file mode 100644 (file)
index 0000000..11ce188
--- /dev/null
@@ -0,0 +1,295 @@
+#############################################################################\r
+# Makefile for building: golfscorecard\r
+# Generated by qmake (2.01a) (Qt 4.6.2) on: pe 30. huhti 00:48:57 2010\r
+# Project:  golfscorecard.pro\r
+# Template: app\r
+#############################################################################\r
+\r
+####### Compiler, tools and options\r
+\r
+CC            = gcc\r
+CXX           = g++\r
+DEFINES       = -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN\r
+CFLAGS        = -O2 -Wall $(DEFINES)\r
+CXXFLAGS      = -O2 -frtti -fexceptions -mthreads -Wall $(DEFINES)\r
+INCPATH       = -I"c:\Qt\2010.02.1\qt\include\QtCore" -I"c:\Qt\2010.02.1\qt\include\QtGui" -I"c:\Qt\2010.02.1\qt\include\QtXml" -I"c:\Qt\2010.02.1\qt\include" -I"c:\Qt\2010.02.1\qt\include\ActiveQt" -I"release" -I"." -I"c:\Qt\2010.02.1\qt\mkspecs\win32-g++"\r
+LINK        =        g++\r
+LFLAGS        =        -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -Wl,-subsystem,windows\r
+LIBS        =        -L"c:\Qt\2010.02.1\qt\lib" -lmingw32 -lqtmain -lQtXml4 -lQtGui4 -lQtCore4 \r
+QMAKE         = c:\qt\2010.02.1\qt\bin\qmake.exe\r
+IDC           = c:\Qt\2010.02.1\qt\bin\idc.exe\r
+IDL           = midl\r
+ZIP           = zip -r -9\r
+DEF_FILE      = \r
+RES_FILE      = \r
+COPY          = copy /y\r
+COPY_FILE     = $(COPY)\r
+COPY_DIR      = xcopy /s /q /y /i\r
+DEL_FILE      = del\r
+DEL_DIR       = rmdir\r
+MOVE          = move\r
+CHK_DIR_EXISTS= if not exist\r
+MKDIR         = mkdir\r
+INSTALL_FILE    = $(COPY_FILE)\r
+INSTALL_PROGRAM = $(COPY_FILE)\r
+INSTALL_DIR     = $(COPY_DIR)\r
+\r
+####### Output directory\r
+\r
+OBJECTS_DIR   = release\r
+\r
+####### Files\r
+\r
+SOURCES       = main.cpp \\r
+               mainwindow.cpp \\r
+               newround.cpp \\r
+               xmlparser.cpp \\r
+               datahandling.cpp \\r
+               basicscorecard.cpp \\r
+               pcmanagement.cpp \\r
+               playermanagement.cpp release\moc_mainwindow.cpp \\r
+               release\moc_newround.cpp \\r
+               release\moc_xmlparser.cpp \\r
+               release\moc_datahandling.cpp \\r
+               release\moc_basicscorecard.cpp \\r
+               release\moc_pcmanagement.cpp \\r
+               release\moc_playermanagement.cpp \\r
+               release\qrc_resources.cpp\r
+OBJECTS       = release/main.o \\r
+               release/mainwindow.o \\r
+               release/newround.o \\r
+               release/xmlparser.o \\r
+               release/datahandling.o \\r
+               release/basicscorecard.o \\r
+               release/pcmanagement.o \\r
+               release/playermanagement.o \\r
+               release/moc_mainwindow.o \\r
+               release/moc_newround.o \\r
+               release/moc_xmlparser.o \\r
+               release/moc_datahandling.o \\r
+               release/moc_basicscorecard.o \\r
+               release/moc_pcmanagement.o \\r
+               release/moc_playermanagement.o \\r
+               release/qrc_resources.o\r
+DIST          = \r
+QMAKE_TARGET  = golfscorecard\r
+DESTDIR        = release\ #avoid trailing-slash linebreak\r
+TARGET         = golfscorecard.exe\r
+DESTDIR_TARGET = release\golfscorecard.exe\r
+\r
+####### Implicit rules\r
+\r
+.SUFFIXES: .cpp .cc .cxx .c\r
+\r
+.cpp.o:\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<\r
+\r
+.cc.o:\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<\r
+\r
+.cxx.o:\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<\r
+\r
+.c.o:\r
+       $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<\r
+\r
+####### Build rules\r
+\r
+first: all\r
+all: Makefile.Release  $(DESTDIR_TARGET)\r
+\r
+$(DESTDIR_TARGET): ui_mainwindow.h ui_newround.h ui_basicscorecard.h ui_pcmanagement.h ui_playermanagement.h $(OBJECTS) \r
+       $(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) object_script.golfscorecard.Release  $(LIBS)\r
+\r
+\r
+qmake:  FORCE\r
+       @$(QMAKE) -spec c:\Qt\2010.02.1\qt\mkspecs\win32-g++ -win32 CONFIG+=release -o Makefile.Release golfscorecard.pro\r
+\r
+dist:\r
+       $(ZIP) golfscorecard.zip $(SOURCES) $(DIST) golfscorecard.pro c:\Qt\2010.02.1\qt\mkspecs\qconfig.pri c:\Qt\2010.02.1\qt\mkspecs\features\qt_functions.prf c:\Qt\2010.02.1\qt\mkspecs\features\qt_config.prf c:\Qt\2010.02.1\qt\mkspecs\features\exclusive_builds.prf c:\Qt\2010.02.1\qt\mkspecs\features\default_pre.prf c:\Qt\2010.02.1\qt\mkspecs\features\win32\default_pre.prf c:\Qt\2010.02.1\qt\mkspecs\features\release.prf c:\Qt\2010.02.1\qt\mkspecs\features\debug_and_release.prf c:\Qt\2010.02.1\qt\mkspecs\features\default_post.prf c:\Qt\2010.02.1\qt\mkspecs\features\win32\default_post.prf c:\Qt\2010.02.1\qt\mkspecs\features\build_pass.prf c:\Qt\2010.02.1\qt\mkspecs\features\win32\rtti.prf c:\Qt\2010.02.1\qt\mkspecs\features\win32\exceptions.prf c:\Qt\2010.02.1\qt\mkspecs\features\win32\stl.prf c:\Qt\2010.02.1\qt\mkspecs\features\shared.prf c:\Qt\2010.02.1\qt\mkspecs\features\warn_on.prf c:\Qt\2010.02.1\qt\mkspecs\features\qt.prf c:\Qt\2010.02.1\qt\mkspecs\features\win32\thread.prf c:\Qt\2010.02.1\qt\mkspecs\features\moc.prf c:\Qt\2010.02.1\qt\mkspecs\features\win32\windows.prf c:\Qt\2010.02.1\qt\mkspecs\features\resources.prf c:\Qt\2010.02.1\qt\mkspecs\features\uic.prf c:\Qt\2010.02.1\qt\mkspecs\features\yacc.prf c:\Qt\2010.02.1\qt\mkspecs\features\lex.prf c:\Qt\2010.02.1\qt\mkspecs\features\include_source_dir.prf c:\Qt\2010.02.1\qt\lib\qtmain.prl  HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES \r
+\r
+clean: compiler_clean \r
+       -$(DEL_FILE) release\main.o release\mainwindow.o release\newround.o release\xmlparser.o release\datahandling.o release\basicscorecard.o release\pcmanagement.o release\playermanagement.o release\moc_mainwindow.o release\moc_newround.o release\moc_xmlparser.o release\moc_datahandling.o release\moc_basicscorecard.o release\moc_pcmanagement.o release\moc_playermanagement.o release\qrc_resources.o\r
+\r
+distclean: clean\r
+       -$(DEL_FILE) $(DESTDIR_TARGET)\r
+       -$(DEL_FILE) Makefile.Release\r
+\r
+mocclean: compiler_moc_header_clean compiler_moc_source_clean\r
+\r
+mocables: compiler_moc_header_make_all compiler_moc_source_make_all\r
+\r
+compiler_moc_header_make_all: release/moc_mainwindow.cpp release/moc_newround.cpp release/moc_xmlparser.cpp release/moc_datahandling.cpp release/moc_basicscorecard.cpp release/moc_pcmanagement.cpp release/moc_playermanagement.cpp\r
+compiler_moc_header_clean:\r
+       -$(DEL_FILE) release\moc_mainwindow.cpp release\moc_newround.cpp release\moc_xmlparser.cpp release\moc_datahandling.cpp release\moc_basicscorecard.cpp release\moc_pcmanagement.cpp release\moc_playermanagement.cpp\r
+release/moc_mainwindow.cpp: mainwindow.h\r
+       C:/Qt/2010.02.1/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 mainwindow.h -o release\moc_mainwindow.cpp\r
+\r
+release/moc_newround.cpp: datahandling.h \\r
+               player.h \\r
+               courses.h \\r
+               newround.h\r
+       C:/Qt/2010.02.1/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 newround.h -o release\moc_newround.cpp\r
+\r
+release/moc_xmlparser.cpp: xmlparser.h\r
+       C:/Qt/2010.02.1/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 xmlparser.h -o release\moc_xmlparser.cpp\r
+\r
+release/moc_datahandling.cpp: player.h \\r
+               courses.h \\r
+               datahandling.h\r
+       C:/Qt/2010.02.1/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 datahandling.h -o release\moc_datahandling.cpp\r
+\r
+release/moc_basicscorecard.cpp: datahandling.h \\r
+               player.h \\r
+               courses.h \\r
+               basicscorecard.h\r
+       C:/Qt/2010.02.1/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 basicscorecard.h -o release\moc_basicscorecard.cpp\r
+\r
+release/moc_pcmanagement.cpp: pcmanagement.h\r
+       C:/Qt/2010.02.1/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 pcmanagement.h -o release\moc_pcmanagement.cpp\r
+\r
+release/moc_playermanagement.cpp: playermanagement.h\r
+       C:/Qt/2010.02.1/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 playermanagement.h -o release\moc_playermanagement.cpp\r
+\r
+compiler_rcc_make_all: release/qrc_resources.cpp\r
+compiler_rcc_clean:\r
+       -$(DEL_FILE) release\qrc_resources.cpp\r
+release/qrc_resources.cpp: resources.qrc \\r
+               images/new-player.png \\r
+               images/golf-icon.png \\r
+               images/arrow-left-icon.png \\r
+               images/edit-player.png \\r
+               images/edit-course.png \\r
+               images/arrow-right-icon_2.png \\r
+               images/arrow-up-icon.png \\r
+               images/new-course.png \\r
+               images/arrow-down-icon.png \\r
+               images/stats-icon.png \\r
+               images/golf-icon_2.png \\r
+               images/arrow-right-icon.png \\r
+               images/course-icon.png\r
+       c:\Qt\2010.02.1\qt\bin\rcc.exe -name resources resources.qrc -o release\qrc_resources.cpp\r
+\r
+compiler_image_collection_make_all: qmake_image_collection.cpp\r
+compiler_image_collection_clean:\r
+       -$(DEL_FILE) qmake_image_collection.cpp\r
+compiler_moc_source_make_all:\r
+compiler_moc_source_clean:\r
+compiler_uic_make_all: ui_mainwindow.h ui_newround.h ui_basicscorecard.h ui_pcmanagement.h ui_playermanagement.h\r
+compiler_uic_clean:\r
+       -$(DEL_FILE) ui_mainwindow.h ui_newround.h ui_basicscorecard.h ui_pcmanagement.h ui_playermanagement.h\r
+ui_mainwindow.h: mainwindow.ui\r
+       c:\Qt\2010.02.1\qt\bin\uic.exe mainwindow.ui -o ui_mainwindow.h\r
+\r
+ui_newround.h: newround.ui\r
+       c:\Qt\2010.02.1\qt\bin\uic.exe newround.ui -o ui_newround.h\r
+\r
+ui_basicscorecard.h: basicscorecard.ui\r
+       c:\Qt\2010.02.1\qt\bin\uic.exe basicscorecard.ui -o ui_basicscorecard.h\r
+\r
+ui_pcmanagement.h: pcmanagement.ui\r
+       c:\Qt\2010.02.1\qt\bin\uic.exe pcmanagement.ui -o ui_pcmanagement.h\r
+\r
+ui_playermanagement.h: playermanagement.ui\r
+       c:\Qt\2010.02.1\qt\bin\uic.exe playermanagement.ui -o ui_playermanagement.h\r
+\r
+compiler_yacc_decl_make_all:\r
+compiler_yacc_decl_clean:\r
+compiler_yacc_impl_make_all:\r
+compiler_yacc_impl_clean:\r
+compiler_lex_make_all:\r
+compiler_lex_clean:\r
+compiler_clean: compiler_moc_header_clean compiler_rcc_clean compiler_uic_clean \r
+\r
+\r
+\r
+####### Compile\r
+\r
+release/main.o: main.cpp mainwindow.h \\r
+               datahandling.h \\r
+               player.h \\r
+               courses.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\main.o main.cpp\r
+\r
+release/mainwindow.o: mainwindow.cpp mainwindow.h \\r
+               ui_mainwindow.h \\r
+               newround.h \\r
+               datahandling.h \\r
+               player.h \\r
+               courses.h \\r
+               pcmanagement.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\mainwindow.o mainwindow.cpp\r
+\r
+release/newround.o: newround.cpp newround.h \\r
+               datahandling.h \\r
+               player.h \\r
+               courses.h \\r
+               ui_newround.h \\r
+               xmlparser.h \\r
+               basicscorecard.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\newround.o newround.cpp\r
+\r
+release/xmlparser.o: xmlparser.cpp xmlparser.h \\r
+               datahandling.h \\r
+               player.h \\r
+               courses.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\xmlparser.o xmlparser.cpp\r
+\r
+release/datahandling.o: datahandling.cpp datahandling.h \\r
+               player.h \\r
+               courses.h \\r
+               newround.h \\r
+               xmlparser.h \\r
+               basicscorecard.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\datahandling.o datahandling.cpp\r
+\r
+release/basicscorecard.o: basicscorecard.cpp basicscorecard.h \\r
+               datahandling.h \\r
+               player.h \\r
+               courses.h \\r
+               ui_basicscorecard.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\basicscorecard.o basicscorecard.cpp\r
+\r
+release/pcmanagement.o: pcmanagement.cpp pcmanagement.h \\r
+               ui_pcmanagement.h \\r
+               mainwindow.h \\r
+               playermanagement.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\pcmanagement.o pcmanagement.cpp\r
+\r
+release/playermanagement.o: playermanagement.cpp playermanagement.h \\r
+               ui_playermanagement.h \\r
+               pcmanagement.h\r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\playermanagement.o playermanagement.cpp\r
+\r
+release/moc_mainwindow.o: release/moc_mainwindow.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_mainwindow.o release\moc_mainwindow.cpp\r
+\r
+release/moc_newround.o: release/moc_newround.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_newround.o release\moc_newround.cpp\r
+\r
+release/moc_xmlparser.o: release/moc_xmlparser.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_xmlparser.o release\moc_xmlparser.cpp\r
+\r
+release/moc_datahandling.o: release/moc_datahandling.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_datahandling.o release\moc_datahandling.cpp\r
+\r
+release/moc_basicscorecard.o: release/moc_basicscorecard.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_basicscorecard.o release\moc_basicscorecard.cpp\r
+\r
+release/moc_pcmanagement.o: release/moc_pcmanagement.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_pcmanagement.o release\moc_pcmanagement.cpp\r
+\r
+release/moc_playermanagement.o: release/moc_playermanagement.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_playermanagement.o release\moc_playermanagement.cpp\r
+\r
+release/qrc_resources.o: release/qrc_resources.cpp \r
+       $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\qrc_resources.o release\qrc_resources.cpp\r
+\r
+####### Install\r
+\r
+install:   FORCE\r
+\r
+uninstall:   FORCE\r
+\r
+FORCE:\r
+\r
diff --git a/src/basicscorecard.cpp b/src/basicscorecard.cpp
new file mode 100644 (file)
index 0000000..4fd9090
--- /dev/null
@@ -0,0 +1,538 @@
+#include "basicscorecard.h"\r
+#include "ui_basicscorecard.h"\r
+#include "datahandling.h"\r
+#include "courses.h"\r
+#include <QtDebug>\r
+\r
+BasicScorecard::BasicScorecard(QWidget *parent) :\r
+    QMainWindow(parent),\r
+    ui(new Ui::BasicScorecard)\r
+{\r
+    ui->setupUi(this);\r
+    currentCourse = 1;\r
+    loadPlayers();\r
+    loadCourses();\r
+    hideNotNeededFields();\r
+    drawPlayers();\r
+    displayCourseData();\r
+    calculateHcpsPerCourse();\r
+}\r
+\r
+void BasicScorecard::loadPlayers()\r
+{\r
+    datahandling *CAPData = datahandling::instance();\r
+\r
+    players << CAPData->selectedPlayers;\r
+    qDebug() << players;\r
+\r
+    for(int i = 0; i < players.count(); i++)\r
+    {\r
+        for(int j = 0; j < 19; j++)\r
+        {\r
+            scores[i][j] = 0;\r
+            hcpPerCourse[i][j] = 0;\r
+        }\r
+    }\r
+\r
+    for(int i = 0; i < players.count(); i++)\r
+    {\r
+        hcp[i] = CAPData->selectedPlayersHandicap[i].toInt();\r
+        qDebug() << hcp[i];\r
+    }\r
+\r
+    for(int y = 0; y < 19; y++)\r
+    {\r
+        hcpOrder[y] = 0;\r
+    }\r
+\r
+\r
+\r
+}\r
+\r
+void BasicScorecard::drawPlayers()\r
+{\r
+    if(players.count() >= 1 )\r
+    {\r
+        ui->label_leaderboardPlayer1->setText(players[0]);\r
+        ui->label_player1->setText(players[0]);\r
+    }\r
+    if(players.count() >= 2)\r
+    {\r
+        ui->label_leaderboardPlayer2->setText(players[1]);\r
+        ui->label_player2->setText(players[1]);\r
+    }\r
+    if(players.count() >= 3)\r
+    {\r
+        ui->label_leaderboardPlayer3->setText(players[2]);\r
+        ui->label_player3->setText(players[2]);\r
+    }\r
+    if(players.count() >= 4)\r
+    {\r
+        ui->label_leaderboardPlayer4->setText(players[3]);\r
+        ui->label_player4->setText(players[3]);\r
+    }\r
+}\r
+\r
+void BasicScorecard::saveShots()\r
+{\r
+    if(players.count() >= 1 )\r
+        scores[0][currentCourse] = ui->label_player1_score->text().toInt();\r
+    if(players.count() >= 2 )\r
+        scores[1][currentCourse] = ui->label_player2_score->text().toInt();\r
+    if(players.count() >= 3 )\r
+        scores[2][currentCourse] = ui->label_player3_score->text().toInt();\r
+    if(players.count() >= 4 )\r
+        scores[3][currentCourse] = ui->label_player4_score->text().toInt();\r
+}\r
+\r
+void BasicScorecard::loadShots()\r
+{\r
+    if(players.count() >= 1 )\r
+        ui->label_player1_score->setText(QString::number(scores[0][currentCourse]));\r
+    if(players.count() >= 2 )\r
+        ui->label_player2_score->setText(QString::number(scores[1][currentCourse]));\r
+    if(players.count() >= 3 )\r
+        ui->label_player3_score->setText(QString::number(scores[2][currentCourse]));\r
+    if(players.count() >= 4 )\r
+        ui->label_player4_score->setText(QString::number(scores[3][currentCourse]));\r
+}\r
+\r
+void BasicScorecard::loadCourses()\r
+{\r
+    datahandling *CAPData = datahandling::instance();\r
+\r
+    const QList<holeData>& holeData_2 = CAPData->getHoleData();\r
+    const QList<whiteTee>& whiteTee_2 = CAPData->getWhiteTee();\r
+    const QList<yellowTee>& yellowTee_2 = CAPData->getYellowTee();\r
+    const QList<blueTee>& blueTee_2 = CAPData->getBlueTee();\r
+    const QList<redTee>& redTee_2 = CAPData->getRedTee();\r
+\r
+    courseDataName << "";\r
+    courseDataPar << "";\r
+    courseDataHcp << "";\r
+    courseDataWhite << "";\r
+    courseDataYellow << "";\r
+    courseDataRed << "";\r
+    courseDataBlue << "";\r
+\r
+    foreach(holeData hD, holeData_2)\r
+    {\r
+        courseDataName.push_back(hD.m_id);\r
+        courseDataPar.push_back(hD.m_par);\r
+        courseDataHcp.push_back(hD.m_hcp);\r
+    }\r
+\r
+    foreach(whiteTee wT, whiteTee_2)\r
+    {\r
+        courseDataWhite.push_back(wT.m_length);\r
+    }\r
+\r
+    foreach(yellowTee yT, yellowTee_2)\r
+    {\r
+        courseDataYellow.push_back(yT.m_length);\r
+    }\r
+\r
+    foreach(blueTee bT, blueTee_2)\r
+    {\r
+        courseDataBlue.push_back(bT.m_length);\r
+    }\r
+\r
+    foreach(redTee rT, redTee_2)\r
+    {\r
+        courseDataRed.push_back(rT.m_length);\r
+    }\r
+}\r
+\r
+void BasicScorecard::displayCourseData()\r
+{\r
+    ui->label_course->setText(courseDataName[currentCourse]);\r
+    ui->label_par->setText(courseDataPar[currentCourse]);\r
+    ui->label_hcp->setText(courseDataHcp[currentCourse]);\r
+    ui->label_white->setText(courseDataWhite[currentCourse]);\r
+    ui->label_yellow->setText(courseDataYellow[currentCourse]);\r
+    ui->label_red->setText(courseDataRed[currentCourse]);\r
+    ui->label_blue->setText(courseDataBlue[currentCourse]);\r
+\r
+    for(int i = 0; i < players.count(); i++)\r
+    {\r
+        qDebug() << hcpPerCourse[i][currentCourse];\r
+    }\r
+    qDebug() << "----------";\r
+\r
+}\r
+\r
+void BasicScorecard::updateLeaderboard()\r
+{\r
+    int sp[4];\r
+    int hcpsp[4];\r
+    int order[4];\r
+    int flag[4];\r
+    int flag2[4];\r
+    int set = 0;\r
+\r
+    for(int i = 0; i < 4; i++)\r
+    {\r
+        sp[i] = 0;\r
+        hcpsp[i] = 0;\r
+        order[i] = 0;\r
+        flag[i] = 0;\r
+        flag2[i] = 0;\r
+    }\r
+\r
+    for(int i = 0; i < players.count(); i++)\r
+    {\r
+        for(int j = 1; j < 19; j++)\r
+        {\r
+            if(scores[i][j] != 0)\r
+            {\r
+                sp[i] = sp[i] + (scores[i][j] - courseDataPar[j].toInt());\r
+                hcpsp[i] = hcpsp[i] + (scores[i][j] - hcpPerCourse[i][j] - courseDataPar[j].toInt());\r
+            }\r
+        }\r
+    }\r
+\r
+    QList<int> list;\r
+    for(int i = 0; i < players.count(); i++)\r
+    {\r
+        list.append(sp[i]);\r
+    }\r
+\r
+    qSort(list);\r
+\r
+    for(int i = 0; i < players.count(); i++)\r
+    {\r
+        order[i] = (int)list.takeFirst();\r
+    }\r
+\r
+    for(int i = 0; i < players.count(); i++)\r
+    {\r
+        for(int j = 0; j < players.count(); j++)\r
+        {\r
+            if((order[i] == sp[j]))\r
+            {\r
+                if(flag[0] != 1 && set == 0 && flag2[j] == 0)\r
+                {\r
+                    flag[0] = 1;\r
+                    set = 1;\r
+\r
+                    if(j == 0)\r
+                        flag2[0] = 1;\r
+                    else if(j == 1 && players.count() >= 2)\r
+                        flag2[1] = 1;\r
+                    else if(j == 2 && players.count() >= 3)\r
+                        flag2[2] = 1;\r
+                    else if(j == 3 && players.count() >= 4)\r
+                        flag2[3] = 1;\r
+\r
+\r
+                    ui->label_leaderboardPlayer1->setText(players[j]);\r
+\r
+                    if(sp[j] > 0)\r
+                        ui->label_leaderboardPlayer1_2->setText("+"+QString::number(sp[j]));\r
+                    else if (sp[j] == 0)\r
+                        ui->label_leaderboardPlayer1_2->setText("PAR");\r
+                    else\r
+                        ui->label_leaderboardPlayer1_2->setText(QString::number(sp[j]));\r
+\r
+                    if(hcpsp[j] > 0)\r
+                        ui->label_leaderboardPlayer1_3->setText("+"+QString::number(hcpsp[j]));\r
+                    else if (hcpsp[j] == 0)\r
+                        ui->label_leaderboardPlayer1_3->setText("PAR");\r
+                    else\r
+                        ui->label_leaderboardPlayer1_3->setText(QString::number(hcpsp[j]));\r
+                }\r
+                else if(flag[1] != 1 && set == 0 && flag2[j] == 0 && players.count() >= 2)\r
+                {\r
+                    flag[1] = 1;\r
+                    set = 1;\r
+\r
+                    if(j == 0)\r
+                        flag2[0] = 1;\r
+                    else if(j == 1 && players.count() >= 2)\r
+                        flag2[1] = 1;\r
+                    else if(j == 2 && players.count() >= 3)\r
+                        flag2[2] = 1;\r
+                    else if(j == 3 && players.count() >= 4)\r
+                        flag2[3] = 1;\r
+\r
+                    ui->label_leaderboardPlayer2->setText(players[j]);\r
+\r
+                    if(sp[j] > 0)\r
+                        ui->label_leaderboardPlayer2_2->setText("+"+QString::number(sp[j]));\r
+                    else if (sp[j] == 0)\r
+                        ui->label_leaderboardPlayer2_2->setText("PAR");\r
+                    else\r
+                        ui->label_leaderboardPlayer2_2->setText(QString::number(sp[j]));\r
+\r
+                    if(hcpsp[j] > 0)\r
+                        ui->label_leaderboardPlayer2_3->setText("+"+QString::number(hcpsp[j]));\r
+                    else if (hcpsp[j] == 0)\r
+                        ui->label_leaderboardPlayer2_3->setText("PAR");\r
+                    else\r
+                        ui->label_leaderboardPlayer2_3->setText(QString::number(hcpsp[j]));\r
+                }\r
+                else if(flag[2] != 1 && set == 0 && flag2[j] == 0 && players.count() >= 3)\r
+                {\r
+                    flag[2] = 1;\r
+                    set = 1;\r
+\r
+                    if(j == 0)\r
+                        flag2[0] = 1;\r
+                    else if(j == 1 && players.count() >= 2)\r
+                        flag2[1] = 1;\r
+                    else if(j == 2 && players.count() >= 3)\r
+                        flag2[2] = 1;\r
+                    else if(j == 3 && players.count() >= 4)\r
+                        flag2[3] = 1;\r
+\r
+                    ui->label_leaderboardPlayer3->setText(players[j]);\r
+\r
+                    if(sp[j] > 0)\r
+                        ui->label_leaderboardPlayer3_2->setText("+"+QString::number(sp[j]));\r
+                    else if (sp[j] == 0)\r
+                        ui->label_leaderboardPlayer3_2->setText("PAR");\r
+                    else\r
+                        ui->label_leaderboardPlayer3_2->setText(QString::number(sp[j]));\r
+\r
+                    if(hcpsp[j] > 0)\r
+                        ui->label_leaderboardPlayer3_3->setText("+"+QString::number(hcpsp[j]));\r
+                    else if (hcpsp[j] == 0)\r
+                        ui->label_leaderboardPlayer3_3->setText("PAR");\r
+                    else\r
+                        ui->label_leaderboardPlayer3_3->setText(QString::number(hcpsp[j]));\r
+                }\r
+                else if(flag[3] != 1 && set == 0 && flag2[j] == 0 && players.count() >= 4)\r
+                {\r
+                    flag[3] = 1;\r
+                    set = 1;\r
+\r
+                    if(j == 0)\r
+                        flag2[0] = 1;\r
+                    else if(j == 1 && players.count() >= 2)\r
+                        flag2[1] = 1;\r
+                    else if(j == 2 && players.count() >= 3)\r
+                        flag2[2] = 1;\r
+                    else if(j == 3 && players.count() >= 4)\r
+                        flag2[3] = 1;\r
+\r
+                    ui->label_leaderboardPlayer4->setText(players[j]);\r
+\r
+                    if(sp[j] > 0)\r
+                        ui->label_leaderboardPlayer4_2->setText("+"+QString::number(sp[j]));\r
+                    else if (sp[j] == 0)\r
+                        ui->label_leaderboardPlayer4_2->setText("PAR");\r
+                    else\r
+                        ui->label_leaderboardPlayer4_2->setText(QString::number(sp[j]));\r
+\r
+                    if(hcpsp[j] > 0)\r
+                        ui->label_leaderboardPlayer4_3->setText("+"+QString::number(hcpsp[j]));\r
+                    else if (hcpsp[j] == 0)\r
+                        ui->label_leaderboardPlayer4_3->setText("PAR");\r
+                    else\r
+                        ui->label_leaderboardPlayer4_3->setText(QString::number(hcpsp[j]));\r
+                }\r
+                set = 0;\r
+            }    \r
+        }\r
+    }\r
+}\r
+\r
+void BasicScorecard::calculateHcpsPerCourse()\r
+{\r
+    int temp = 1;\r
+    bool found = false;\r
+\r
+    for(int i = 1; i < 19; i++)\r
+    {\r
+        for(int j = 1; j < 19; j++)\r
+        {\r
+            if(courseDataHcp[j].toInt() == temp && found == false)\r
+            {\r
+                hcpOrder[i] = j;\r
+                temp++;\r
+                found = true;\r
+            }\r
+\r
+        }\r
+        found = false;\r
+    }\r
+    int k=1;\r
+    int temp2;\r
+    for(int j = 0; j < players.count(); j++)\r
+    {\r
+        for(int i = 0; i < hcp[j]; i++)\r
+        {\r
+            if(k == 19)\r
+                k = 1;\r
+            temp2 = hcpOrder[k];\r
+            hcpPerCourse[j][temp2]++;\r
+            k++;\r
+        }\r
+        k=1;\r
+    }\r
+}\r
+\r
+void BasicScorecard::on_player1_up_clicked()\r
+{\r
+    int temp;\r
+    temp = ui->label_player1_score->text().toInt();\r
+    if(temp < 99)\r
+        temp++;\r
+    ui->label_player1_score->setText(QString::number(temp));\r
+}\r
+\r
+void BasicScorecard::on_player1_down_clicked()\r
+{\r
+    int temp;\r
+    temp = ui->label_player1_score->text().toInt();\r
+    if(temp > 0)\r
+        temp--;\r
+    ui->label_player1_score->setText(QString::number(temp));\r
+}\r
+\r
+void BasicScorecard::on_player2_up_clicked()\r
+{\r
+    int temp;\r
+    temp = ui->label_player2_score->text().toInt();\r
+    if(temp < 99)\r
+        temp++;\r
+    ui->label_player2_score->setText(QString::number(temp));\r
+}\r
+\r
+void BasicScorecard::on_player2_down_clicked()\r
+{\r
+    int temp;\r
+    temp = ui->label_player2_score->text().toInt();\r
+    if(temp > 0)\r
+        temp--;\r
+    ui->label_player2_score->setText(QString::number(temp));\r
+}\r
+\r
+void BasicScorecard::on_player3_up_clicked()\r
+{\r
+    int temp;\r
+    temp = ui->label_player3_score->text().toInt();\r
+    if(temp < 99)\r
+        temp++;\r
+    ui->label_player3_score->setText(QString::number(temp));\r
+}\r
+\r
+void BasicScorecard::on_player3_down_clicked()\r
+{\r
+    int temp;\r
+    temp = ui->label_player3_score->text().toInt();\r
+    if(temp > 0)\r
+        temp--;\r
+    ui->label_player3_score->setText(QString::number(temp));\r
+}\r
+\r
+void BasicScorecard::on_player4_up_clicked()\r
+{\r
+    int temp;\r
+    temp = ui->label_player4_score->text().toInt();\r
+    if(temp < 99)\r
+        temp++;\r
+    ui->label_player4_score->setText(QString::number(temp));\r
+}\r
+\r
+void BasicScorecard::on_player4_down_clicked()\r
+{\r
+    int temp;\r
+    temp = ui->label_player4_score->text().toInt();\r
+    if(temp > 0)\r
+        temp--;\r
+    ui->label_player4_score->setText(QString::number(temp));\r
+}\r
+\r
+void BasicScorecard::on_pushButton_nextCourse_clicked()\r
+{\r
+    saveShots();\r
+\r
+    if(currentCourse < 18)\r
+        currentCourse++;\r
+    else\r
+        currentCourse = 1;\r
+\r
+    loadShots();\r
+    displayCourseData();\r
+    updateLeaderboard();\r
+\r
+}\r
+\r
+\r
+void BasicScorecard::on_pushButton_prevCourse_clicked()\r
+{\r
+    saveShots();\r
+\r
+    if(currentCourse > 1)\r
+        currentCourse--;\r
+    else\r
+        currentCourse = 18;\r
+\r
+    loadShots();\r
+    displayCourseData();\r
+    updateLeaderboard();\r
+}\r
+\r
+void BasicScorecard::on_courseMap_clicked()\r
+{\r
+\r
+}\r
+\r
+void BasicScorecard::hideNotNeededFields()\r
+{\r
+    if(players.count() == 1)\r
+    {\r
+        ui->label_player2->setText("");\r
+        ui->label_player2_score->setText("");;\r
+        ui->player2_down->setHidden(true);\r
+        ui->player2_up->setHidden(true);\r
+        ui->label_leaderboardPlayer2->setHidden(true);\r
+        ui->label_leaderboardPlayer2_2->setHidden(true);\r
+        ui->label_leaderboardPlayer2_3->setHidden(true);\r
+\r
+        ui->label_player3->setText("");\r
+        ui->label_player3_score->setText("");;\r
+        ui->player3_down->setHidden(true);\r
+        ui->player3_up->setHidden(true);\r
+        ui->label_leaderboardPlayer3->setHidden(true);\r
+        ui->label_leaderboardPlayer3_2->setHidden(true);\r
+        ui->label_leaderboardPlayer3_3->setHidden(true);\r
+\r
+        ui->label_player4->setText("");\r
+        ui->label_player4_score->setText("");;\r
+        ui->player4_down->setHidden(true);\r
+        ui->player4_up->setHidden(true);\r
+        ui->label_leaderboardPlayer4->setHidden(true);\r
+        ui->label_leaderboardPlayer4_2->setHidden(true);\r
+        ui->label_leaderboardPlayer4_3->setHidden(true);\r
+    }\r
+    else if(players.count() == 2)\r
+    {\r
+        ui->label_player3->setText("");\r
+        ui->label_player3_score->setText("");;\r
+        ui->player3_down->setHidden(true);\r
+        ui->player3_up->setHidden(true);\r
+        ui->label_leaderboardPlayer3->setHidden(true);\r
+        ui->label_leaderboardPlayer3_2->setHidden(true);\r
+        ui->label_leaderboardPlayer3_3->setHidden(true);\r
+\r
+        ui->label_player4->setText("");\r
+        ui->label_player4_score->setText("");;\r
+        ui->player4_down->setHidden(true);\r
+        ui->player4_up->setHidden(true);\r
+        ui->label_leaderboardPlayer4->setHidden(true);\r
+        ui->label_leaderboardPlayer4_2->setHidden(true);\r
+        ui->label_leaderboardPlayer4_3->setHidden(true);\r
+    }\r
+    else if(players.count() == 3)\r
+    {\r
+        ui->label_player4->setText("");\r
+        ui->label_player4_score->setText("");;\r
+        ui->player4_down->setHidden(true);\r
+        ui->player4_up->setHidden(true);\r
+        ui->label_leaderboardPlayer4->setHidden(true);\r
+        ui->label_leaderboardPlayer4_2->setHidden(true);\r
+        ui->label_leaderboardPlayer4_3->setHidden(true);\r
+    }\r
+}\r
diff --git a/src/basicscorecard.h b/src/basicscorecard.h
new file mode 100644 (file)
index 0000000..6f2ae47
--- /dev/null
@@ -0,0 +1,58 @@
+#ifndef BASICSCORECARD_H\r
+#define BASICSCORECARD_H\r
+\r
+#include <QMainWindow>\r
+#include "datahandling.h"\r
+\r
+namespace Ui {\r
+    class BasicScorecard;\r
+}\r
+\r
+class BasicScorecard : public QMainWindow {\r
+    Q_OBJECT\r
+public:\r
+    BasicScorecard(QWidget *parent = 0);\r
+\r
+private:\r
+    Ui::BasicScorecard *ui;\r
+\r
+    void loadPlayers();\r
+    void drawPlayers();\r
+    void saveShots();\r
+    void loadShots();\r
+    void loadCourses();\r
+    void displayCourseData();\r
+    void updateLeaderboard();\r
+    void calculateHcpsPerCourse();\r
+    void hideNotNeededFields();\r
+\r
+    QStringList players;\r
+    int scores[4][19];\r
+    int hcp[4];\r
+    int hcpPerCourse[4][19];\r
+    int currentCourse;\r
+    int hcpOrder[19];\r
+\r
+    QStringList courseDataName;\r
+    QStringList courseDataPar;\r
+    QStringList courseDataHcp;\r
+    QStringList courseDataWhite;\r
+    QStringList courseDataYellow;\r
+    QStringList courseDataRed;\r
+    QStringList courseDataBlue;\r
+\r
+private slots:\r
+    void on_courseMap_clicked();\r
+    void on_pushButton_prevCourse_clicked();\r
+    void on_pushButton_nextCourse_clicked();\r
+    void on_player4_down_clicked();\r
+    void on_player4_up_clicked();\r
+    void on_player3_down_clicked();\r
+    void on_player3_up_clicked();\r
+    void on_player2_down_clicked();\r
+    void on_player2_up_clicked();\r
+    void on_player1_down_clicked();\r
+    void on_player1_up_clicked();\r
+};\r
+\r
+#endif // BASICSCORECARD_H\r
diff --git a/src/basicscorecard.ui b/src/basicscorecard.ui
new file mode 100644 (file)
index 0000000..b02fc43
--- /dev/null
@@ -0,0 +1,1427 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ui version="4.0">\r
+ <class>BasicScorecard</class>\r
+ <widget class="QMainWindow" name="BasicScorecard">\r
+  <property name="geometry">\r
+   <rect>\r
+    <x>0</x>\r
+    <y>0</y>\r
+    <width>800</width>\r
+    <height>480</height>\r
+   </rect>\r
+  </property>\r
+  <property name="windowTitle">\r
+   <string>BasicScorecard</string>\r
+  </property>\r
+  <widget class="QWidget" name="centralWidget">\r
+   <widget class="QFrame" name="frame_leaderboard">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>0</x>\r
+      <y>0</y>\r
+      <width>320</width>\r
+      <height>175</height>\r
+     </rect>\r
+    </property>\r
+    <property name="styleSheet">\r
+     <string notr="true">QFrame#frame_leaderboard\r
+{\r
+       border: 2px solid;\r
+       border-color: rgb(255, 255, 0);\r
+       \r
+       background-color: rgb(0, 0, 0);\r
+}</string>\r
+    </property>\r
+    <property name="frameShape">\r
+     <enum>QFrame::StyledPanel</enum>\r
+    </property>\r
+    <property name="frameShadow">\r
+     <enum>QFrame::Raised</enum>\r
+    </property>\r
+    <property name="lineWidth">\r
+     <number>1</number>\r
+    </property>\r
+    <property name="midLineWidth">\r
+     <number>0</number>\r
+    </property>\r
+    <widget class="QLabel" name="label_leaderboardHeader">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>9</x>\r
+       <y>0</y>\r
+       <width>181</width>\r
+       <height>30</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>11</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+       <underline>true</underline>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_leaderboardHeader\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>LEADERBOARD</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_leaderboardPlayer1">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>9</x>\r
+       <y>30</y>\r
+       <width>181</width>\r
+       <height>30</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>11</pointsize>\r
+       <underline>false</underline>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_leaderboardPlayer1\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>PLAYER 1</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>\r
+     </property>\r
+     <property name="wordWrap">\r
+      <bool>true</bool>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_leaderboardPlayer2">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>9</x>\r
+       <y>60</y>\r
+       <width>181</width>\r
+       <height>30</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>11</pointsize>\r
+       <underline>false</underline>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_leaderboardPlayer2\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>PLAYER 2</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>\r
+     </property>\r
+     <property name="wordWrap">\r
+      <bool>true</bool>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_leaderboardPlayer3">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>10</x>\r
+       <y>90</y>\r
+       <width>181</width>\r
+       <height>30</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>11</pointsize>\r
+       <underline>false</underline>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_leaderboardPlayer3\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>PLAYER 3</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>\r
+     </property>\r
+     <property name="wordWrap">\r
+      <bool>true</bool>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_leaderboardPlayer4">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>9</x>\r
+       <y>120</y>\r
+       <width>181</width>\r
+       <height>30</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>11</pointsize>\r
+       <underline>false</underline>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_leaderboardPlayer4\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>PLAYER 4</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>\r
+     </property>\r
+     <property name="wordWrap">\r
+      <bool>true</bool>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_leaderboardHeader_2">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>190</x>\r
+       <y>0</y>\r
+       <width>61</width>\r
+       <height>30</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>11</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+       <underline>true</underline>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_leaderboardHeader_2\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>S</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignCenter</set>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_leaderboardHeader_3">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>251</x>\r
+       <y>0</y>\r
+       <width>61</width>\r
+       <height>30</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>11</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+       <underline>true</underline>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_leaderboardHeader_3\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>HCP</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignCenter</set>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_leaderboardPlayer1_2">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>190</x>\r
+       <y>30</y>\r
+       <width>61</width>\r
+       <height>30</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>11</pointsize>\r
+       <underline>false</underline>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_leaderboardPlayer1_2\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>PAR</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignCenter</set>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_leaderboardPlayer1_3">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>250</x>\r
+       <y>30</y>\r
+       <width>61</width>\r
+       <height>30</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>11</pointsize>\r
+       <underline>false</underline>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_leaderboardPlayer1_3\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>PAR</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignCenter</set>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_leaderboardPlayer2_2">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>190</x>\r
+       <y>60</y>\r
+       <width>61</width>\r
+       <height>30</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>11</pointsize>\r
+       <underline>false</underline>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_leaderboardPlayer2_2\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>PAR</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignCenter</set>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_leaderboardPlayer2_3">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>250</x>\r
+       <y>60</y>\r
+       <width>61</width>\r
+       <height>30</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>11</pointsize>\r
+       <underline>false</underline>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_leaderboardPlayer2_3\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>PAR</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignCenter</set>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_leaderboardPlayer3_2">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>190</x>\r
+       <y>90</y>\r
+       <width>61</width>\r
+       <height>30</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>11</pointsize>\r
+       <underline>false</underline>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_leaderboardPlayer3_2\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>PAR</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignCenter</set>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_leaderboardPlayer3_3">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>250</x>\r
+       <y>90</y>\r
+       <width>61</width>\r
+       <height>30</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>11</pointsize>\r
+       <underline>false</underline>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_leaderboardPlayer3_3\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>PAR</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignCenter</set>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_leaderboardPlayer4_2">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>190</x>\r
+       <y>120</y>\r
+       <width>61</width>\r
+       <height>30</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>11</pointsize>\r
+       <underline>false</underline>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_leaderboardPlayer4_2\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>PAR</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignCenter</set>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_leaderboardPlayer4_3">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>250</x>\r
+       <y>120</y>\r
+       <width>61</width>\r
+       <height>30</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>11</pointsize>\r
+       <underline>false</underline>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_leaderboardPlayer4_3\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>PAR</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignCenter</set>\r
+     </property>\r
+    </widget>\r
+   </widget>\r
+   <widget class="QFrame" name="frame_icons">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>0</x>\r
+      <y>349</y>\r
+      <width>800</width>\r
+      <height>71</height>\r
+     </rect>\r
+    </property>\r
+    <property name="styleSheet">\r
+     <string notr="true">QFrame#frame_icons\r
+{\r
+       border-color: rgb(255, 255, 0);\r
+       \r
+       background-color: rgb(0, 0, 0);\r
+\r
+}</string>\r
+    </property>\r
+    <property name="frameShape">\r
+     <enum>QFrame::StyledPanel</enum>\r
+    </property>\r
+    <property name="frameShadow">\r
+     <enum>QFrame::Raised</enum>\r
+    </property>\r
+    <widget class="QPushButton" name="pushButton_prevCourse">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>10</x>\r
+       <y>10</y>\r
+       <width>111</width>\r
+       <height>51</height>\r
+      </rect>\r
+     </property>\r
+     <property name="text">\r
+      <string/>\r
+     </property>\r
+     <property name="icon">\r
+      <iconset>\r
+       <normalon>:/new/images/images/arrow-left-icon.png</normalon>\r
+      </iconset>\r
+     </property>\r
+     <property name="iconSize">\r
+      <size>\r
+       <width>55</width>\r
+       <height>55</height>\r
+      </size>\r
+     </property>\r
+     <property name="flat">\r
+      <bool>true</bool>\r
+     </property>\r
+    </widget>\r
+    <widget class="QPushButton" name="pushButton_nextCourse">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>680</x>\r
+       <y>10</y>\r
+       <width>111</width>\r
+       <height>51</height>\r
+      </rect>\r
+     </property>\r
+     <property name="text">\r
+      <string/>\r
+     </property>\r
+     <property name="icon">\r
+      <iconset>\r
+       <normalon>:/new/images/images/arrow-right-icon_2.png</normalon>\r
+      </iconset>\r
+     </property>\r
+     <property name="iconSize">\r
+      <size>\r
+       <width>55</width>\r
+       <height>55</height>\r
+      </size>\r
+     </property>\r
+     <property name="flat">\r
+      <bool>true</bool>\r
+     </property>\r
+    </widget>\r
+   </widget>\r
+   <widget class="QFrame" name="frame_courseInformation">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>0</x>\r
+      <y>174</y>\r
+      <width>320</width>\r
+      <height>175</height>\r
+     </rect>\r
+    </property>\r
+    <property name="styleSheet">\r
+     <string notr="true">QFrame#frame_courseInformation\r
+{\r
+       border: 2px solid;\r
+       border-color: rgb(255, 255, 0);\r
+       \r
+       background-color: rgb(0, 0, 0);\r
+\r
+}</string>\r
+    </property>\r
+    <property name="frameShape">\r
+     <enum>QFrame::StyledPanel</enum>\r
+    </property>\r
+    <property name="frameShadow">\r
+     <enum>QFrame::Raised</enum>\r
+    </property>\r
+    <property name="lineWidth">\r
+     <number>1</number>\r
+    </property>\r
+    <property name="midLineWidth">\r
+     <number>0</number>\r
+    </property>\r
+    <widget class="QLabel" name="label_course">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>10</x>\r
+       <y>10</y>\r
+       <width>91</width>\r
+       <height>81</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>44</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_course\r
+{\r
+       color: white;\r
+       border: 2px solid;\r
+       border-color: rgb(255, 255, 255);\r
+       \r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>1</string>\r
+     </property>\r
+     <property name="alignment">\r
+      <set>Qt::AlignCenter</set>\r
+     </property>\r
+    </widget>\r
+    <widget class="QFrame" name="frame_white">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>110</x>\r
+       <y>10</y>\r
+       <width>61</width>\r
+       <height>21</height>\r
+      </rect>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QFrame#frame_white\r
+{\r
+       background-color: rgb(255, 255, 255);\r
+}</string>\r
+     </property>\r
+     <property name="frameShape">\r
+      <enum>QFrame::StyledPanel</enum>\r
+     </property>\r
+     <property name="frameShadow">\r
+      <enum>QFrame::Raised</enum>\r
+     </property>\r
+    </widget>\r
+    <widget class="QFrame" name="frame_yellow">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>110</x>\r
+       <y>40</y>\r
+       <width>61</width>\r
+       <height>21</height>\r
+      </rect>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QFrame#frame_yellow\r
+{\r
+       \r
+       background-color: rgb(255, 255, 0);\r
+}</string>\r
+     </property>\r
+     <property name="frameShape">\r
+      <enum>QFrame::StyledPanel</enum>\r
+     </property>\r
+     <property name="frameShadow">\r
+      <enum>QFrame::Raised</enum>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_white">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>180</x>\r
+       <y>10</y>\r
+       <width>61</width>\r
+       <height>21</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>13</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_white\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>350</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_yellow">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>180</x>\r
+       <y>40</y>\r
+       <width>61</width>\r
+       <height>21</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>13</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_yellow\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>323</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_red">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>180</x>\r
+       <y>100</y>\r
+       <width>61</width>\r
+       <height>21</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>13</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_red\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>298</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QFrame" name="frame_red">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>110</x>\r
+       <y>100</y>\r
+       <width>61</width>\r
+       <height>21</height>\r
+      </rect>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QFrame#frame_red\r
+{\r
+       \r
+       background-color: rgb(255, 0, 0);\r
+}</string>\r
+     </property>\r
+     <property name="frameShape">\r
+      <enum>QFrame::StyledPanel</enum>\r
+     </property>\r
+     <property name="frameShadow">\r
+      <enum>QFrame::Raised</enum>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_blue">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>180</x>\r
+       <y>70</y>\r
+       <width>61</width>\r
+       <height>21</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>13</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_blue\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>256</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QFrame" name="frame_blue">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>110</x>\r
+       <y>70</y>\r
+       <width>61</width>\r
+       <height>21</height>\r
+      </rect>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QFrame#frame_blue\r
+{\r
+       \r
+       background-color: rgb(0, 0, 255);\r
+}</string>\r
+     </property>\r
+     <property name="frameShape">\r
+      <enum>QFrame::StyledPanel</enum>\r
+     </property>\r
+     <property name="frameShadow">\r
+      <enum>QFrame::Raised</enum>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_par">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>70</x>\r
+       <y>100</y>\r
+       <width>41</width>\r
+       <height>21</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>18</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_par\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>4</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_par_const">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>10</x>\r
+       <y>100</y>\r
+       <width>51</width>\r
+       <height>21</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>18</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_par_const\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>PAR</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_hcp">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>70</x>\r
+       <y>130</y>\r
+       <width>41</width>\r
+       <height>21</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>18</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_hcp\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>13</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_hcp_const">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>10</x>\r
+       <y>130</y>\r
+       <width>51</width>\r
+       <height>21</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>18</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <property name="styleSheet">\r
+      <string notr="true">QLabel#label_hcp_const\r
+{\r
+       color: white;\r
+}</string>\r
+     </property>\r
+     <property name="text">\r
+      <string>HCP</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QPushButton" name="courseMap">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>230</x>\r
+       <y>20</y>\r
+       <width>81</width>\r
+       <height>61</height>\r
+      </rect>\r
+     </property>\r
+     <property name="text">\r
+      <string/>\r
+     </property>\r
+     <property name="icon">\r
+      <iconset>\r
+       <normalon>:/new/images/images/golf-icon_2.png</normalon>\r
+      </iconset>\r
+     </property>\r
+     <property name="iconSize">\r
+      <size>\r
+       <width>80</width>\r
+       <height>80</height>\r
+      </size>\r
+     </property>\r
+     <property name="flat">\r
+      <bool>true</bool>\r
+     </property>\r
+    </widget>\r
+   </widget>\r
+   <widget class="QLabel" name="label_player1">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>320</x>\r
+      <y>0</y>\r
+      <width>120</width>\r
+      <height>30</height>\r
+     </rect>\r
+    </property>\r
+    <property name="styleSheet">\r
+     <string notr="true">QLabel#label_player1\r
+{\r
+       border: 2px solid;\r
+       border-color: rgb(255, 255, 0);\r
+       color: white;\r
+       background-color: rgb(0, 0, 0);\r
+}</string>\r
+    </property>\r
+    <property name="text">\r
+     <string>Player 1</string>\r
+    </property>\r
+    <property name="alignment">\r
+     <set>Qt::AlignCenter</set>\r
+    </property>\r
+    <property name="wordWrap">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QLabel" name="label_player2">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>440</x>\r
+      <y>0</y>\r
+      <width>120</width>\r
+      <height>30</height>\r
+     </rect>\r
+    </property>\r
+    <property name="styleSheet">\r
+     <string notr="true">QLabel#label_player2\r
+{\r
+       border: 2px solid;\r
+       border-color: rgb(255, 255, 0);\r
+       color: white;\r
+       background-color: rgb(0, 0, 0);\r
+}</string>\r
+    </property>\r
+    <property name="text">\r
+     <string>Player 2</string>\r
+    </property>\r
+    <property name="alignment">\r
+     <set>Qt::AlignCenter</set>\r
+    </property>\r
+    <property name="wordWrap">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QLabel" name="label_player3">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>560</x>\r
+      <y>0</y>\r
+      <width>120</width>\r
+      <height>30</height>\r
+     </rect>\r
+    </property>\r
+    <property name="styleSheet">\r
+     <string notr="true">QLabel#label_player3\r
+{\r
+       border: 2px solid;\r
+       border-color: rgb(255, 255, 0);\r
+       color: white;\r
+       background-color: rgb(0, 0, 0);\r
+}</string>\r
+    </property>\r
+    <property name="text">\r
+     <string>Player 3</string>\r
+    </property>\r
+    <property name="alignment">\r
+     <set>Qt::AlignCenter</set>\r
+    </property>\r
+    <property name="wordWrap">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QLabel" name="label_player4">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>680</x>\r
+      <y>0</y>\r
+      <width>120</width>\r
+      <height>30</height>\r
+     </rect>\r
+    </property>\r
+    <property name="styleSheet">\r
+     <string notr="true">QLabel#label_player4\r
+{\r
+       border: 2px solid;\r
+       border-color: rgb(255, 255, 0);\r
+       color: white;\r
+       background-color: rgb(0, 0, 0);\r
+}</string>\r
+    </property>\r
+    <property name="text">\r
+     <string>Player 4</string>\r
+    </property>\r
+    <property name="alignment">\r
+     <set>Qt::AlignCenter</set>\r
+    </property>\r
+    <property name="wordWrap">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QLabel" name="label_player1_score">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>320</x>\r
+      <y>30</y>\r
+      <width>121</width>\r
+      <height>319</height>\r
+     </rect>\r
+    </property>\r
+    <property name="font">\r
+     <font>\r
+      <pointsize>45</pointsize>\r
+     </font>\r
+    </property>\r
+    <property name="styleSheet">\r
+     <string notr="true">QLabel#label_player1_score\r
+{\r
+               border: 2px solid;\r
+       border-color: rgb(255, 255, 0);\r
+       color: white;\r
+       background-color: rgb(0, 0, 0);\r
+}</string>\r
+    </property>\r
+    <property name="text">\r
+     <string>0</string>\r
+    </property>\r
+    <property name="alignment">\r
+     <set>Qt::AlignCenter</set>\r
+    </property>\r
+   </widget>\r
+   <widget class="QLabel" name="label_player2_score">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>440</x>\r
+      <y>30</y>\r
+      <width>121</width>\r
+      <height>319</height>\r
+     </rect>\r
+    </property>\r
+    <property name="font">\r
+     <font>\r
+      <pointsize>45</pointsize>\r
+     </font>\r
+    </property>\r
+    <property name="styleSheet">\r
+     <string notr="true">QLabel#label_player2_score\r
+{\r
+               border: 2px solid;\r
+       border-color: rgb(255, 255, 0);\r
+       color: white;\r
+       background-color: rgb(0, 0, 0);\r
+}</string>\r
+    </property>\r
+    <property name="text">\r
+     <string>0</string>\r
+    </property>\r
+    <property name="alignment">\r
+     <set>Qt::AlignCenter</set>\r
+    </property>\r
+   </widget>\r
+   <widget class="QLabel" name="label_player3_score">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>560</x>\r
+      <y>30</y>\r
+      <width>121</width>\r
+      <height>319</height>\r
+     </rect>\r
+    </property>\r
+    <property name="font">\r
+     <font>\r
+      <pointsize>45</pointsize>\r
+     </font>\r
+    </property>\r
+    <property name="styleSheet">\r
+     <string notr="true">QLabel#label_player3_score\r
+{\r
+               border: 2px solid;\r
+       border-color: rgb(255, 255, 0);\r
+       color: white;\r
+       background-color: rgb(0, 0, 0);\r
+}</string>\r
+    </property>\r
+    <property name="text">\r
+     <string>0</string>\r
+    </property>\r
+    <property name="alignment">\r
+     <set>Qt::AlignCenter</set>\r
+    </property>\r
+   </widget>\r
+   <widget class="QLabel" name="label_player4_score">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>680</x>\r
+      <y>30</y>\r
+      <width>121</width>\r
+      <height>319</height>\r
+     </rect>\r
+    </property>\r
+    <property name="font">\r
+     <font>\r
+      <pointsize>45</pointsize>\r
+     </font>\r
+    </property>\r
+    <property name="styleSheet">\r
+     <string notr="true">QLabel#label_player4_score\r
+{\r
+               border: 2px solid;\r
+       border-color: rgb(255, 255, 0);\r
+       color: white;\r
+       background-color: rgb(0, 0, 0);\r
+}</string>\r
+    </property>\r
+    <property name="text">\r
+     <string>0</string>\r
+    </property>\r
+    <property name="alignment">\r
+     <set>Qt::AlignCenter</set>\r
+    </property>\r
+   </widget>\r
+   <widget class="QPushButton" name="player1_up">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>330</x>\r
+      <y>60</y>\r
+      <width>101</width>\r
+      <height>71</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset>\r
+      <normalon>:/new/images/images/arrow-up-icon.png</normalon>\r
+     </iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>64</width>\r
+      <height>64</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QPushButton" name="player1_down">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>330</x>\r
+      <y>250</y>\r
+      <width>101</width>\r
+      <height>71</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset>\r
+      <normalon>:/new/images/images/arrow-down-icon.png</normalon>\r
+     </iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>64</width>\r
+      <height>64</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QPushButton" name="player2_down">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>450</x>\r
+      <y>250</y>\r
+      <width>101</width>\r
+      <height>71</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset>\r
+      <normalon>:/new/images/images/arrow-down-icon.png</normalon>\r
+     </iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>64</width>\r
+      <height>64</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QPushButton" name="player3_down">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>570</x>\r
+      <y>250</y>\r
+      <width>101</width>\r
+      <height>71</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset>\r
+      <normalon>:/new/images/images/arrow-down-icon.png</normalon>\r
+     </iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>64</width>\r
+      <height>64</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QPushButton" name="player4_down">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>690</x>\r
+      <y>250</y>\r
+      <width>101</width>\r
+      <height>71</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset>\r
+      <normalon>:/new/images/images/arrow-down-icon.png</normalon>\r
+     </iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>64</width>\r
+      <height>64</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QPushButton" name="player2_up">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>450</x>\r
+      <y>60</y>\r
+      <width>101</width>\r
+      <height>71</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset>\r
+      <normalon>:/new/images/images/arrow-up-icon.png</normalon>\r
+     </iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>64</width>\r
+      <height>64</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QPushButton" name="player3_up">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>570</x>\r
+      <y>60</y>\r
+      <width>101</width>\r
+      <height>71</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset>\r
+      <normalon>:/new/images/images/arrow-up-icon.png</normalon>\r
+     </iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>64</width>\r
+      <height>64</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QPushButton" name="player4_up">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>690</x>\r
+      <y>60</y>\r
+      <width>101</width>\r
+      <height>71</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset>\r
+      <normalon>:/new/images/images/arrow-up-icon.png</normalon>\r
+     </iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>64</width>\r
+      <height>64</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+  </widget>\r
+  <widget class="QMenuBar" name="menuBar">\r
+   <property name="geometry">\r
+    <rect>\r
+     <x>0</x>\r
+     <y>0</y>\r
+     <width>800</width>\r
+     <height>20</height>\r
+    </rect>\r
+   </property>\r
+  </widget>\r
+  <widget class="QToolBar" name="mainToolBar">\r
+   <attribute name="toolBarArea">\r
+    <enum>TopToolBarArea</enum>\r
+   </attribute>\r
+   <attribute name="toolBarBreak">\r
+    <bool>false</bool>\r
+   </attribute>\r
+  </widget>\r
+  <widget class="QStatusBar" name="statusBar"/>\r
+ </widget>\r
+ <layoutdefault spacing="6" margin="11"/>\r
+ <resources/>\r
+ <connections/>\r
+</ui>\r
diff --git a/src/courses.h b/src/courses.h
new file mode 100644 (file)
index 0000000..72bf213
--- /dev/null
@@ -0,0 +1,145 @@
+#ifndef COURSES_H\r
+#define COURSES_H\r
+\r
+#include <QString>\r
+\r
+struct course {\r
+    course(QString name,QString file) :\r
+            m_name(name),m_file(file)\r
+    {\r
+    }\r
+\r
+    QString m_name;\r
+    QString m_file;\r
+};\r
+\r
+struct courseData {\r
+    courseData(QString name, QString par, double latitude, double longitude, QString country, QString city) :\r
+            m_name(name), m_par(par), m_latitude(latitude), m_longitude(longitude), m_country(country), m_city(city)\r
+    {\r
+    }\r
+\r
+    QString m_name;\r
+    QString m_par;\r
+    double m_latitude;\r
+    double m_longitude;\r
+    QString m_country;\r
+    QString m_city;\r
+};\r
+\r
+struct courseCrMale {\r
+    courseCrMale(double white, double yellow, double blue, double red) :\r
+            m_white(white), m_yellow(yellow), m_blue(blue), m_red(red)\r
+    {\r
+    }\r
+\r
+    double m_white;\r
+    double m_yellow;\r
+    double m_blue;\r
+    double m_red;\r
+\r
+};\r
+\r
+struct courseCrFemale {\r
+    courseCrFemale(double yellow, double blue, double red) :\r
+            m_yellow(yellow), m_blue(blue), m_red(red)\r
+    {\r
+    }\r
+\r
+    double m_yellow;\r
+    double m_blue;\r
+    double m_red;\r
+};\r
+\r
+struct courseSlopeMale {\r
+    courseSlopeMale(double white, double yellow, double blue, double red) :\r
+            m_white(white), m_yellow(yellow), m_blue(blue), m_red(red)\r
+    {\r
+    }\r
+\r
+    double m_white;\r
+    double m_yellow;\r
+    double m_blue;\r
+    double m_red;\r
+};\r
+\r
+struct courseSlopeFemale {\r
+    courseSlopeFemale(double yellow, double blue, double red) :\r
+            m_yellow(yellow), m_blue(blue), m_red(red)\r
+    {\r
+    }\r
+\r
+    double m_yellow;\r
+    double m_blue;\r
+    double m_red;\r
+};\r
+\r
+struct holeData {\r
+    holeData(QString id, QString hcp, QString par, QString map_uri) :\r
+            m_id(id), m_hcp(hcp), m_par(par), m_map_uri(map_uri)\r
+    {\r
+    }\r
+\r
+    QString m_id;\r
+    QString m_hcp;\r
+    QString m_par;\r
+    QString m_map_uri;\r
+\r
+};\r
+\r
+struct whiteTee {\r
+    whiteTee(QString length, double latitude, double longitude) :\r
+            m_length(length), m_latitude(latitude), m_longitude(longitude)\r
+    {\r
+    }\r
+\r
+    QString m_length;\r
+    double m_latitude;\r
+    double m_longitude;\r
+};\r
+\r
+struct yellowTee {\r
+    yellowTee(QString length, double latitude, double longitude) :\r
+            m_length(length), m_latitude(latitude), m_longitude(longitude)\r
+    {\r
+    }\r
+\r
+    QString m_length;\r
+    double m_latitude;\r
+    double m_longitude;\r
+};\r
+\r
+struct blueTee {\r
+    blueTee(QString length, double latitude, double longitude) :\r
+            m_length(length), m_latitude(latitude), m_longitude(longitude)\r
+    {\r
+    }\r
+\r
+    QString m_length;\r
+    double m_latitude;\r
+    double m_longitude;\r
+};\r
+\r
+struct redTee {\r
+    redTee(QString length, double latitude, double longitude) :\r
+            m_length(length), m_latitude(latitude), m_longitude(longitude)\r
+    {\r
+    }\r
+\r
+    QString m_length;\r
+    double m_latitude;\r
+    double m_longitude;\r
+};\r
+\r
+struct greenInfo {\r
+    greenInfo(double latitude, double longitude) :\r
+            m_latitude(latitude), m_longitude(longitude)\r
+    {\r
+    }\r
+\r
+    double m_latitude;\r
+    double m_longitude;\r
+};\r
+\r
+\r
+#endif // COURSES_H\r
diff --git a/src/datahandling.cpp b/src/datahandling.cpp
new file mode 100644 (file)
index 0000000..87b6f45
--- /dev/null
@@ -0,0 +1,300 @@
+#include "datahandling.h"\r
+#include "newround.h"\r
+#include "xmlparser.h"\r
+#include "basicscorecard.h"\r
+#include <QtDebug>\r
+\r
+datahandling::datahandling()\r
+{\r
+\r
+}\r
+\r
+const QList<player>& datahandling::getPlayers()\r
+{\r
+    return m_players;\r
+}\r
+\r
+void datahandling::addPlayer(QString name,QString hcp,QString gender)\r
+{\r
+    m_players.push_back(player(name,hcp,gender));\r
+}\r
+\r
+const QList<course>& datahandling::getCourses()\r
+{\r
+    return m_courses;\r
+}\r
+\r
+void datahandling::addCourses(QString name, QString file)\r
+{\r
+    m_courses.push_back(course(name, file));\r
+}\r
+\r
+const QList<courseData>& datahandling::getCourseData()\r
+{\r
+    return m_courseData;\r
+}\r
+\r
+void datahandling::addCourseData(QString name, QString par, double latitude, double longitude, QString country, QString city)\r
+{\r
+    m_courseData.push_back(courseData(name, par, latitude, longitude, country, city));\r
+}\r
+\r
+const QList<courseCrMale>& datahandling::getCourseCrMale()\r
+{\r
+    return m_courseCrMale;\r
+}\r
+\r
+void datahandling::addCourseCrMale(double white, double yellow, double blue, double red)\r
+{\r
+    m_courseCrMale.push_back(courseCrMale(white, yellow, blue, red));\r
+}\r
+\r
+const QList<courseCrFemale>& datahandling::getCourseCrFemale()\r
+{\r
+    return m_courseCrFemale;\r
+}\r
+\r
+void datahandling::addCourseCrFemale(double yellow, double blue, double red)\r
+{\r
+    m_courseCrFemale.push_back(courseCrFemale(yellow, blue, red));\r
+}\r
+\r
+const QList<courseSlopeMale>& datahandling::getCourseSlopeMale()\r
+{\r
+    return m_courseSlopeMale;\r
+}\r
+\r
+void datahandling::addCourseSlopeMale(double white, double yellow, double blue, double red)\r
+{\r
+    m_courseSlopeMale.push_back(courseSlopeMale(white, yellow, blue, red));\r
+}\r
+\r
+const QList<courseSlopeFemale>& datahandling::getCourseSlopeFemale()\r
+{\r
+    return m_courseSlopeFemale;\r
+}\r
+\r
+void datahandling::addCourseSlopeFemale(double yellow, double blue, double red)\r
+{\r
+    m_courseSlopeFemale.push_back(courseSlopeFemale(yellow, blue, red));\r
+}\r
+\r
+const QList<holeData>& datahandling::getHoleData()\r
+{\r
+    return m_holeData;\r
+}\r
+\r
+void datahandling::addHoleData(QString id, QString hcp, QString par, QString map_uri)\r
+{\r
+    m_holeData.push_back(holeData(id, hcp, par, map_uri));\r
+}\r
+\r
+const QList<whiteTee>& datahandling::getWhiteTee()\r
+{\r
+    return m_whiteTee;\r
+}\r
+\r
+void datahandling::addWhiteTee(QString length, double latitude, double longitude)\r
+{\r
+    m_whiteTee.push_back(whiteTee(length, latitude, longitude));\r
+}\r
+\r
+const QList<yellowTee>& datahandling::getYellowTee()\r
+{\r
+    return m_yellowTee;\r
+}\r
+\r
+void datahandling::addYellowTee(QString length, double latitude, double longitude)\r
+{\r
+    m_yellowTee.push_back(yellowTee(length, latitude, longitude));\r
+}\r
+\r
+const QList<blueTee>& datahandling::getBlueTee()\r
+{\r
+    return m_blueTee;\r
+}\r
+\r
+void datahandling::addBlueTee(QString length, double latitude, double longitude)\r
+{\r
+    m_blueTee.push_back(blueTee(length, latitude, longitude));\r
+}\r
+\r
+const QList<redTee>& datahandling::getRedTee()\r
+{\r
+    return m_redTee;\r
+}\r
+\r
+void datahandling::addRedTee(QString length, double latitude, double longitude)\r
+{\r
+    m_redTee.push_back(redTee(length, latitude, longitude));\r
+}\r
+\r
+const QList<greenInfo>& datahandling::getGreenInfo()\r
+{\r
+    return m_greenInfo;\r
+}\r
+\r
+void datahandling::addGreenInfo(double latitude, double longitude)\r
+{\r
+    m_greenInfo.push_back(greenInfo(latitude, longitude));\r
+}\r
+\r
+void datahandling::clearData()\r
+{\r
+    m_players.clear();\r
+    m_courses.clear();\r
+}\r
+\r
+datahandling* datahandling::instance()\r
+{\r
+    if (m_instance==0)\r
+        m_instance = new datahandling();\r
+\r
+    return (m_instance);\r
+}\r
+\r
+void datahandling::calculateHandicaps()\r
+{\r
+    double cr[4];\r
+    double fcr[3];\r
+    double slope[4];\r
+    double fslope[3];\r
+    int par=0;\r
+    QStringList temp;\r
+\r
+    for(int i = 0; i < 4; i++)\r
+    {\r
+        cr[i] = 0;\r
+        slope[i] = 0;\r
+    }\r
+\r
+    for(int i = 0; i < 3; i++)\r
+    {\r
+        fcr[i] = 0;\r
+        fslope[i] = 0;\r
+    }\r
+\r
+\r
+    this->selectedPlayersHandicap.clear();\r
+\r
+    foreach(courseData cD,this->m_courseData)\r
+    {\r
+        temp.push_back(cD.m_par);\r
+        par = temp[0].toInt();\r
+    }\r
+\r
+    temp.clear();\r
+\r
+    foreach(courseCrMale crM, this->m_courseCrMale)\r
+    {\r
+        cr[0] = (double)crM.m_white;\r
+        cr[1] = (double)crM.m_yellow;\r
+        cr[2] = (double)crM.m_blue;\r
+        cr[3] = (double)crM.m_red;\r
+    }\r
+\r
+    temp.clear();\r
+\r
+    foreach(courseSlopeMale sM, this->m_courseSlopeMale)\r
+    {\r
+        slope[0] = sM.m_white;\r
+        slope[1] = sM.m_yellow;\r
+        slope[2] = sM.m_blue;\r
+        slope[3] = sM.m_red;\r
+    }\r
+\r
+    temp.clear();\r
+\r
+    foreach(courseCrFemale crF, this->m_courseCrFemale)\r
+    {\r
+        fcr[0] = crF.m_yellow;\r
+        fcr[1] = crF.m_blue;\r
+        fcr[2] = crF.m_red;\r
+    }\r
+\r
+    temp.clear();\r
+\r
+    foreach(courseSlopeFemale sF, this->m_courseSlopeFemale)\r
+    {\r
+        fslope[0] = sF.m_yellow;\r
+        fslope[1] = sF.m_blue;\r
+        fslope[2] = sF.m_red;\r
+    }\r
+\r
+    for(int i = 0; i < this->selectedPlayers.count(); i++)\r
+    {\r
+        int handicap;\r
+        if(QString::compare(this->selectedPlayersTee[i], "White", Qt::CaseInsensitive) == 0 &&\r
+           QString::compare(this->selectedPlayersGender[i], "male", Qt::CaseInsensitive) == 0)\r
+        {\r
+\r
+            handicap = this->selectedPlayersHcp[i].toDouble() * (double)(slope[0] / 113) + (double)(cr[0] - par) + 0.5;\r
+            selectedPlayersHandicap << QString::number(handicap);\r
+            qDebug() << "Male White: " << handicap;\r
+            qDebug() << "Slope: " << slope[0] << " CR: " << cr[0];\r
+\r
+        }\r
+        else if(QString::compare(this->selectedPlayersTee[i], "Yellow", Qt::CaseInsensitive) == 0 &&\r
+                QString::compare(this->selectedPlayersGender[i], "male", Qt::CaseInsensitive) == 0)\r
+        {\r
+            handicap = this->selectedPlayersHcp[i].toDouble() * (double)(slope[1] / 113) + (double)(cr[1] - par) + 0.5;\r
+            selectedPlayersHandicap << QString::number(handicap);\r
+            qDebug() << "Male Yellow: " << handicap;\r
+\r
+        }\r
+        else if(QString::compare(this->selectedPlayersTee[i], "Blue", Qt::CaseInsensitive) == 0 &&\r
+                QString::compare(this->selectedPlayersGender[i], "male", Qt::CaseInsensitive) == 0)\r
+        {\r
+            handicap = this->selectedPlayersHcp[i].toDouble() * (double)(slope[2] / 113) + (double)(cr[2] - par) + 0.5;\r
+            selectedPlayersHandicap << QString::number(handicap);\r
+            qDebug() << "Male Blue: " << handicap;\r
+\r
+        }\r
+        else if(QString::compare(this->selectedPlayersTee[i], "Red", Qt::CaseInsensitive) == 0 &&\r
+                QString::compare(this->selectedPlayersGender[i], "male", Qt::CaseInsensitive) == 0)\r
+        {\r
+            handicap = this->selectedPlayersHcp[i].toDouble() * (double)(slope[3] / 113) + (double)(cr[3] - par) + 0.5;\r
+            selectedPlayersHandicap << QString::number(handicap);\r
+            qDebug() << "Male Red: " << handicap;\r
+\r
+        }\r
+\r
+        if(QString::compare(this->selectedPlayersTee[i], "White", Qt::CaseInsensitive) == 0 &&\r
+           QString::compare(this->selectedPlayersGender[i], "female", Qt::CaseInsensitive) == 0)\r
+        {\r
+\r
+            handicap = this->selectedPlayersHcp[i].toDouble() * (double)(fslope[0] / 113) + (double)(fcr[0] - par) + 0.5;\r
+            selectedPlayersHandicap << QString::number(handicap);\r
+            qDebug() << "Female White: " << handicap;\r
+\r
+        }\r
+        else if(QString::compare(this->selectedPlayersTee[i], "Yellow", Qt::CaseInsensitive) == 0 &&\r
+                QString::compare(this->selectedPlayersGender[i], "female", Qt::CaseInsensitive) == 0)\r
+        {\r
+            handicap = this->selectedPlayersHcp[i].toDouble() * (double)(fslope[0] / 113) + (double)(fcr[0] - par) + 0.5;\r
+            selectedPlayersHandicap << QString::number(handicap);\r
+            qDebug() << "Female Yellow: " << handicap;\r
+\r
+        }\r
+        else if(QString::compare(this->selectedPlayersTee[i], "Blue", Qt::CaseInsensitive) == 0 &&\r
+                QString::compare(this->selectedPlayersGender[i], "female", Qt::CaseInsensitive) == 0)\r
+        {\r
+            handicap = this->selectedPlayersHcp[i].toDouble() * (double)(fslope[1] / 113) + (double)(fcr[1] - par) + 0.5;\r
+            selectedPlayersHandicap << QString::number(handicap);\r
+            qDebug() << "Female Blue: " << handicap;\r
+\r
+        }\r
+        else if(QString::compare(this->selectedPlayersTee[i], "Red", Qt::CaseInsensitive) == 0 &&\r
+                QString::compare(this->selectedPlayersGender[i], "female", Qt::CaseInsensitive) == 0)\r
+        {\r
+            handicap = this->selectedPlayersHcp[i].toDouble() * (double)(fslope[2] / 113) + (double)(fcr[2] - par) + 0.5;\r
+            selectedPlayersHandicap << QString::number(handicap);\r
+            qDebug() << "Female Red: " << handicap;\r
+\r
+        }\r
+\r
+\r
+    }\r
+}\r
+\r
+\r
diff --git a/src/datahandling.h b/src/datahandling.h
new file mode 100644 (file)
index 0000000..7e843d1
--- /dev/null
@@ -0,0 +1,91 @@
+#ifndef DATAHANDLING_H\r
+#define DATAHANDLING_H\r
+\r
+#include <QMainWindow>\r
+#include <QList>\r
+#include "player.h"\r
+#include "courses.h"\r
+\r
+class datahandling : public QMainWindow\r
+{\r
+    Q_OBJECT\r
+\r
+public:\r
+    static datahandling* instance();\r
+\r
+    const QList<player>& getPlayers();\r
+    void addPlayer(QString name,QString hcp,QString gender);\r
+\r
+    const QList<course>& getCourses();\r
+    void addCourses(QString name, QString file);\r
+\r
+    const QList<courseData>& getCourseData();\r
+    void addCourseData(QString name, QString par, double latitude, double longitude, QString country, QString city);\r
+\r
+    const QList<courseCrMale>& getCourseCrMale();\r
+    void addCourseCrMale(double white, double yellow, double blue, double red);\r
+\r
+    const QList<courseCrFemale>& getCourseCrFemale();\r
+    void addCourseCrFemale(double yellow, double blue, double red);\r
+\r
+    const QList<courseSlopeMale>& getCourseSlopeMale();\r
+    void addCourseSlopeMale(double white, double yellow, double blue, double red);\r
+\r
+    const QList<courseSlopeFemale>& getCourseSlopeFemale();\r
+    void addCourseSlopeFemale(double yellow, double blue, double red);\r
+\r
+    const QList<holeData>& getHoleData();\r
+    void addHoleData(QString id, QString hcp, QString par, QString map_uri);\r
+\r
+    const QList<whiteTee>& getWhiteTee();\r
+    void addWhiteTee(QString length, double latitude, double longitude);\r
+\r
+    const QList<yellowTee>& getYellowTee();\r
+    void addYellowTee(QString length, double latitude, double longitude);\r
+\r
+    const QList<blueTee>& getBlueTee();\r
+    void addBlueTee(QString length, double latitude, double longitude);\r
+\r
+    const QList<redTee>& getRedTee();\r
+    void addRedTee(QString length, double latitude, double longitude);\r
+\r
+    const QList<greenInfo>& getGreenInfo();\r
+    void addGreenInfo(double latitude, double longitude);\r
+\r
+    void calculateHandicaps();\r
+\r
+    void clearData();\r
+\r
+    QString selectedCourse;\r
+\r
+    QStringList selectedPlayers;\r
+    QStringList selectedPlayersHcp;\r
+    QStringList selectedPlayersTee;\r
+    QStringList selectedPlayersHandicap;\r
+    QStringList selectedPlayersGender;\r
+\r
+private:\r
+    static datahandling* m_instance;\r
+    datahandling();\r
+    QList<player> m_players;\r
+    QList<course> m_courses;\r
+    QList<courseData> m_courseData;\r
+    QList<courseCrMale> m_courseCrMale;\r
+    QList<courseCrFemale> m_courseCrFemale;\r
+    QList<courseSlopeMale> m_courseSlopeMale;\r
+    QList<courseSlopeFemale> m_courseSlopeFemale;\r
+    QList<holeData> m_holeData;\r
+    QList<whiteTee> m_whiteTee;\r
+    QList<yellowTee> m_yellowTee;\r
+    QList<blueTee> m_blueTee;\r
+    QList<redTee> m_redTee;\r
+    QList<greenInfo> m_greenInfo;\r
+\r
+\r
+\r
+\r
+};\r
+\r
+\r
+\r
+#endif // DATAHANDLING_H\r
diff --git a/src/images/Add-icon.png b/src/images/Add-icon.png
new file mode 100644 (file)
index 0000000..17eefcc
Binary files /dev/null and b/src/images/Add-icon.png differ
diff --git a/src/images/YaST-icon.png b/src/images/YaST-icon.png
new file mode 100644 (file)
index 0000000..47e9415
Binary files /dev/null and b/src/images/YaST-icon.png differ
diff --git a/src/images/arrow-down-icon.png b/src/images/arrow-down-icon.png
new file mode 100644 (file)
index 0000000..208a57d
Binary files /dev/null and b/src/images/arrow-down-icon.png differ
diff --git a/src/images/arrow-left-icon.png b/src/images/arrow-left-icon.png
new file mode 100644 (file)
index 0000000..6c50df1
Binary files /dev/null and b/src/images/arrow-left-icon.png differ
diff --git a/src/images/arrow-right-icon.png b/src/images/arrow-right-icon.png
new file mode 100644 (file)
index 0000000..4b6ec8d
Binary files /dev/null and b/src/images/arrow-right-icon.png differ
diff --git a/src/images/arrow-right-icon_2.png b/src/images/arrow-right-icon_2.png
new file mode 100644 (file)
index 0000000..854df89
Binary files /dev/null and b/src/images/arrow-right-icon_2.png differ
diff --git a/src/images/arrow-up-icon.png b/src/images/arrow-up-icon.png
new file mode 100644 (file)
index 0000000..acc72cd
Binary files /dev/null and b/src/images/arrow-up-icon.png differ
diff --git a/src/images/course-icon.png b/src/images/course-icon.png
new file mode 100644 (file)
index 0000000..ff02ccc
Binary files /dev/null and b/src/images/course-icon.png differ
diff --git a/src/images/edit-course.png b/src/images/edit-course.png
new file mode 100644 (file)
index 0000000..1ea33d8
Binary files /dev/null and b/src/images/edit-course.png differ
diff --git a/src/images/edit-player.png b/src/images/edit-player.png
new file mode 100644 (file)
index 0000000..9ce7dd8
Binary files /dev/null and b/src/images/edit-player.png differ
diff --git a/src/images/golf-icon.png b/src/images/golf-icon.png
new file mode 100644 (file)
index 0000000..f636e89
Binary files /dev/null and b/src/images/golf-icon.png differ
diff --git a/src/images/golf-icon_2.png b/src/images/golf-icon_2.png
new file mode 100644 (file)
index 0000000..5011253
Binary files /dev/null and b/src/images/golf-icon_2.png differ
diff --git a/src/images/new-course.png b/src/images/new-course.png
new file mode 100644 (file)
index 0000000..6ffcbfa
Binary files /dev/null and b/src/images/new-course.png differ
diff --git a/src/images/new-player.png b/src/images/new-player.png
new file mode 100644 (file)
index 0000000..0880b32
Binary files /dev/null and b/src/images/new-player.png differ
diff --git a/src/images/person-icon.png b/src/images/person-icon.png
new file mode 100644 (file)
index 0000000..eb13e46
Binary files /dev/null and b/src/images/person-icon.png differ
diff --git a/src/images/stats-icon.png b/src/images/stats-icon.png
new file mode 100644 (file)
index 0000000..09b77e8
Binary files /dev/null and b/src/images/stats-icon.png differ
diff --git a/src/main.cpp b/src/main.cpp
new file mode 100644 (file)
index 0000000..4774d97
--- /dev/null
@@ -0,0 +1,14 @@
+#include <QtGui/QApplication>\r
+#include "mainwindow.h"\r
+#include "datahandling.h"\r
+\r
+\r
+datahandling* datahandling::m_instance = 0;\r
+\r
+int main(int argc, char *argv[])\r
+{\r
+    QApplication a(argc, argv);\r
+    MainWindow w;\r
+    w.show();\r
+    return a.exec();\r
+}\r
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
new file mode 100644 (file)
index 0000000..9260e8f
--- /dev/null
@@ -0,0 +1,41 @@
+#include "mainwindow.h"\r
+#include "ui_mainwindow.h"\r
+#include "newround.h"\r
+#include "pcmanagement.h"\r
+\r
+MainWindow::MainWindow(QWidget *parent) :\r
+    QMainWindow(parent),\r
+    ui(new Ui::MainWindow)\r
+{\r
+    ui->setupUi(this);\r
+}\r
+\r
+MainWindow::~MainWindow()\r
+{\r
+    delete ui;\r
+}\r
+\r
+void MainWindow::changeEvent(QEvent *e)\r
+{\r
+    QMainWindow::changeEvent(e);\r
+    switch (e->type()) {\r
+    case QEvent::LanguageChange:\r
+        ui->retranslateUi(this);\r
+        break;\r
+    default:\r
+        break;\r
+    }\r
+}\r
+\r
+void MainWindow::on_newRoundButton_clicked()\r
+{\r
+    newround *newRound = new newround();\r
+    newRound->show();\r
+}\r
+\r
+void MainWindow::on_courseEditorButton_clicked()\r
+{\r
+    PCManagement *pcManagement = new PCManagement();\r
+    pcManagement->show();\r
+    this->hide();\r
+}\r
diff --git a/src/mainwindow.h b/src/mainwindow.h
new file mode 100644 (file)
index 0000000..5716aef
--- /dev/null
@@ -0,0 +1,27 @@
+#ifndef MAINWINDOW_H\r
+#define MAINWINDOW_H\r
+\r
+#include <QMainWindow>\r
+\r
+namespace Ui {\r
+    class MainWindow;\r
+}\r
+\r
+class MainWindow : public QMainWindow {\r
+    Q_OBJECT\r
+public:\r
+    MainWindow(QWidget *parent = 0);\r
+    ~MainWindow();\r
+\r
+protected:\r
+    void changeEvent(QEvent *e);\r
+\r
+private:\r
+    Ui::MainWindow *ui;\r
+\r
+private slots:\r
+    void on_courseEditorButton_clicked();\r
+    void on_newRoundButton_clicked();\r
+};\r
+\r
+#endif // MAINWINDOW_H\r
diff --git a/src/mainwindow.ui b/src/mainwindow.ui
new file mode 100644 (file)
index 0000000..31f09b3
--- /dev/null
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ui version="4.0">\r
+ <class>MainWindow</class>\r
+ <widget class="QMainWindow" name="MainWindow">\r
+  <property name="geometry">\r
+   <rect>\r
+    <x>0</x>\r
+    <y>0</y>\r
+    <width>800</width>\r
+    <height>480</height>\r
+   </rect>\r
+  </property>\r
+  <property name="windowTitle">\r
+   <string>Golf Scorecard</string>\r
+  </property>\r
+  <property name="styleSheet">\r
+   <string notr="true"/>\r
+  </property>\r
+  <widget class="QWidget" name="centralWidget">\r
+   <widget class="QPushButton" name="newRoundButton">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>100</x>\r
+      <y>140</y>\r
+      <width>128</width>\r
+      <height>128</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset resource="resources.qrc">\r
+      <normaloff>:/new/images/images/golf-icon.png</normaloff>:/new/images/images/golf-icon.png</iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>128</width>\r
+      <height>128</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QPushButton" name="courseEditorButton">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>320</x>\r
+      <y>140</y>\r
+      <width>128</width>\r
+      <height>128</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset resource="resources.qrc">\r
+      <normaloff>:/new/images/images/course-icon.png</normaloff>:/new/images/images/course-icon.png</iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>128</width>\r
+      <height>128</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QPushButton" name="statsButton">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>550</x>\r
+      <y>140</y>\r
+      <width>128</width>\r
+      <height>128</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset resource="resources.qrc">\r
+      <normaloff>:/new/images/images/stats-icon.png</normaloff>:/new/images/images/stats-icon.png</iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>128</width>\r
+      <height>128</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QLabel" name="label">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>100</x>\r
+      <y>280</y>\r
+      <width>131</width>\r
+      <height>41</height>\r
+     </rect>\r
+    </property>\r
+    <property name="font">\r
+     <font>\r
+      <pointsize>19</pointsize>\r
+     </font>\r
+    </property>\r
+    <property name="text">\r
+     <string>Play!</string>\r
+    </property>\r
+    <property name="alignment">\r
+     <set>Qt::AlignHCenter|Qt::AlignTop</set>\r
+    </property>\r
+   </widget>\r
+   <widget class="QLabel" name="label_2">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>300</x>\r
+      <y>280</y>\r
+      <width>191</width>\r
+      <height>81</height>\r
+     </rect>\r
+    </property>\r
+    <property name="font">\r
+     <font>\r
+      <pointsize>19</pointsize>\r
+     </font>\r
+    </property>\r
+    <property name="text">\r
+     <string>Player &amp; Course Management</string>\r
+    </property>\r
+    <property name="alignment">\r
+     <set>Qt::AlignHCenter|Qt::AlignTop</set>\r
+    </property>\r
+    <property name="wordWrap">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QLabel" name="label_3">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>550</x>\r
+      <y>280</y>\r
+      <width>131</width>\r
+      <height>41</height>\r
+     </rect>\r
+    </property>\r
+    <property name="font">\r
+     <font>\r
+      <pointsize>19</pointsize>\r
+     </font>\r
+    </property>\r
+    <property name="text">\r
+     <string>Stats</string>\r
+    </property>\r
+    <property name="alignment">\r
+     <set>Qt::AlignHCenter|Qt::AlignTop</set>\r
+    </property>\r
+   </widget>\r
+  </widget>\r
+  <widget class="QMenuBar" name="menuBar">\r
+   <property name="geometry">\r
+    <rect>\r
+     <x>0</x>\r
+     <y>0</y>\r
+     <width>800</width>\r
+     <height>20</height>\r
+    </rect>\r
+   </property>\r
+  </widget>\r
+  <widget class="QToolBar" name="mainToolBar">\r
+   <attribute name="toolBarArea">\r
+    <enum>TopToolBarArea</enum>\r
+   </attribute>\r
+   <attribute name="toolBarBreak">\r
+    <bool>false</bool>\r
+   </attribute>\r
+  </widget>\r
+  <widget class="QStatusBar" name="statusBar"/>\r
+ </widget>\r
+ <layoutdefault spacing="6" margin="11"/>\r
+ <resources>\r
+  <include location="resources.qrc"/>\r
+ </resources>\r
+ <connections/>\r
+</ui>\r
diff --git a/src/newround.cpp b/src/newround.cpp
new file mode 100644 (file)
index 0000000..a328717
--- /dev/null
@@ -0,0 +1,269 @@
+#include "newround.h"\r
+#include "ui_newround.h"\r
+#include "datahandling.h"\r
+#include "xmlparser.h"\r
+#include "basicscorecard.h"\r
+#include <QMessageBox>\r
+\r
+#include <QtDebug>\r
+\r
+\r
+newround::newround(QWidget *parent) :\r
+    QMainWindow(parent),\r
+    ui(new Ui::newround)\r
+{\r
+    ui->setupUi(this);\r
+\r
+    ui->comboBox_player2->setHidden(true);\r
+    ui->comboBox_player3->setHidden(true);\r
+    ui->comboBox_player4->setHidden(true);\r
+\r
+    ui->hcp_player2->setHidden(true);\r
+    ui->hcp_player3->setHidden(true);\r
+    ui->hcp_player4->setHidden(true);\r
+\r
+    ui->tee_player2->setHidden(true);\r
+    ui->tee_player3->setHidden(true);\r
+    ui->tee_player4->setHidden(true);\r
+\r
+    datahandling *playerAndCourseData = datahandling::instance();\r
+    xmlparser *Parser = new xmlparser();\r
+\r
+    playerAndCourseData->clearData();\r
+    Parser->loadPlayerXMLFile();\r
+    Parser->loadCourseXMLFile();\r
+\r
+    const QList<player>& players = playerAndCourseData->getPlayers();\r
+    const QList<course>& courses = playerAndCourseData->getCourses();\r
+\r
+    QStringList player_namelist;\r
+\r
+    foreach(player plr,players)\r
+    {\r
+        player_namelist.push_back(plr.m_name);\r
+        hcps.push_back(plr.m_hcp);\r
+    }\r
+\r
+    foreach(course crs, courses)\r
+    {\r
+        courseNames.push_back(crs.m_name);\r
+        courseFiles.push_back(crs.m_file);\r
+    }\r
+\r
+    ui->comboBox_player1->addItems(player_namelist);\r
+    ui->comboBox_player2->addItems(player_namelist);\r
+    ui->comboBox_player3->addItems(player_namelist);\r
+    ui->comboBox_player4->addItems(player_namelist);\r
+    ui->comboBox_course->addItems(courseNames);\r
+}\r
+\r
+\r
+\r
+void newround::on_checkBox_player1_toggled(bool checked)\r
+{\r
+    if(checked)\r
+    {\r
+        ui->comboBox_player1->setHidden(true);\r
+        ui->hcp_player1->setHidden(true);\r
+        ui->tee_player1->setHidden(true);\r
+        ui->comboBox_player1->setHidden(false);\r
+        ui->hcp_player1->setHidden(false);\r
+        ui->tee_player1->setHidden(false);\r
+    }\r
+    if(!checked)\r
+    {\r
+        ui->comboBox_player1->setHidden(true);\r
+        ui->hcp_player1->setHidden(true);\r
+        ui->tee_player1->setHidden(true);\r
+        ui->comboBox_player1->setHidden(true);\r
+        ui->hcp_player1->setHidden(true);\r
+        ui->tee_player1->setHidden(true);\r
+    }\r
+}\r
+\r
+void newround::on_checkBox_player2_toggled(bool checked)\r
+{\r
+    if(checked)\r
+    {\r
+        ui->comboBox_player2->setEnabled(true);\r
+        ui->hcp_player2->setEnabled(true);\r
+        ui->tee_player2->setEnabled(true);\r
+        ui->comboBox_player2->setHidden(false);\r
+        ui->hcp_player2->setHidden(false);\r
+        ui->tee_player2->setHidden(false);\r
+\r
+    }\r
+    if(!checked)\r
+    {\r
+        ui->comboBox_player2->setDisabled(true);\r
+        ui->hcp_player2->setDisabled(true);\r
+        ui->tee_player2->setDisabled(true);\r
+        ui->comboBox_player2->setHidden(true);\r
+        ui->hcp_player2->setHidden(true);\r
+        ui->tee_player2->setHidden(true);\r
+\r
+    }\r
+}\r
+\r
+void newround::on_checkBox_player3_toggled(bool checked)\r
+{\r
+    if(checked)\r
+    {\r
+        ui->comboBox_player3->setEnabled(true);\r
+        ui->hcp_player3->setEnabled(true);\r
+        ui->tee_player3->setEnabled(true);\r
+        ui->comboBox_player3->setHidden(false);\r
+        ui->hcp_player3->setHidden(false);\r
+        ui->tee_player3->setHidden(false);\r
+\r
+    }\r
+    if(!checked)\r
+    {\r
+        ui->comboBox_player3->setDisabled(true);\r
+        ui->hcp_player3->setDisabled(true);\r
+        ui->tee_player3->setDisabled(true);\r
+        ui->comboBox_player3->setHidden(true);\r
+        ui->hcp_player3->setHidden(true);\r
+        ui->tee_player3->setHidden(true);\r
+\r
+    }\r
+}\r
+\r
+void newround::on_checkBox_player4_toggled(bool checked)\r
+{\r
+    if(checked)\r
+    {\r
+        ui->comboBox_player4->setEnabled(true);\r
+        ui->hcp_player4->setEnabled(true);\r
+        ui->tee_player4->setEnabled(true);\r
+        ui->comboBox_player4->setHidden(false);\r
+        ui->hcp_player4->setHidden(false);\r
+        ui->tee_player4->setHidden(false);\r
+\r
+    }\r
+    if(!checked)\r
+    {\r
+        ui->comboBox_player4->setDisabled(true);\r
+        ui->hcp_player4->setDisabled(true);\r
+        ui->tee_player4->setDisabled(true);\r
+        ui->comboBox_player4->setHidden(true);\r
+        ui->hcp_player4->setHidden(true);\r
+        ui->tee_player4->setHidden(true);\r
+\r
+    }\r
+}\r
+\r
+void newround::on_comboBox_player1_currentIndexChanged(int index)\r
+{\r
+    for(int i = 0; i < hcps.length(); i++)\r
+    {\r
+        if(index == i)\r
+            ui->hcp_player1->setPlainText(hcps[index]);\r
+    }\r
+}\r
+\r
+void newround::on_comboBox_player2_currentIndexChanged(int index)\r
+{\r
+    for(int i = 0; i < hcps.length(); i++)\r
+    {\r
+        if(index == i)\r
+            ui->hcp_player2->setPlainText(hcps[index]);\r
+    }\r
+}\r
+\r
+void newround::on_comboBox_player3_currentIndexChanged(int index)\r
+{\r
+    for(int i = 0; i < hcps.length(); i++)\r
+    {\r
+        if(index == i)\r
+            ui->hcp_player3->setPlainText(hcps[index]);\r
+    }\r
+}\r
+\r
+void newround::on_comboBox_player4_currentIndexChanged(int index)\r
+{\r
+    for(int i = 0; i < hcps.length(); i++)\r
+    {\r
+        if(index == i)\r
+            ui->hcp_player4->setPlainText(hcps[index]);\r
+    }\r
+}\r
+\r
+void newround::on_pushButton_continue_clicked()\r
+{\r
+    datahandling *playerAndCourseData = datahandling::instance();\r
+    xmlparser *Parser = new xmlparser();\r
+    int courseIndex;\r
+\r
+    courseIndex = ui->comboBox_course->currentIndex();\r
+    playerAndCourseData->selectedCourse = courseFiles[courseIndex];\r
+\r
+    Parser->parseSelectedCourse();\r
+    saveSelectedPlayers();\r
+    playerAndCourseData->calculateHandicaps();\r
+\r
+    BasicScorecard *basicscorecard = new BasicScorecard();\r
+    QMessageBox msgBox;\r
+    msgBox.setText("Do you want to start a round?");\r
+    msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);\r
+    int ret = msgBox.exec();\r
+    switch (ret)\r
+    {\r
+      case QMessageBox::Yes:\r
+        basicscorecard->show();\r
+        this->hide();\r
+          break;\r
+      case QMessageBox::No:\r
+          break;\r
+    }\r
+}\r
+\r
+void newround::saveSelectedPlayers()\r
+{\r
+    datahandling *playerAndCourseData = datahandling::instance();\r
+    const QList<player>& players = playerAndCourseData->getPlayers();\r
+    QStringList gender;\r
+\r
+    playerAndCourseData->selectedPlayers.clear();\r
+    playerAndCourseData->selectedPlayersHcp.clear();\r
+    playerAndCourseData->selectedPlayersTee.clear();\r
+    playerAndCourseData->selectedPlayersGender.clear();\r
+\r
+    foreach(player plr,players)\r
+    {\r
+        gender.push_back(plr.m_gender);\r
+    }\r
+\r
+    if(ui->checkBox_player1->isChecked())\r
+    {\r
+        playerAndCourseData->selectedPlayers << ui->comboBox_player1->currentText();\r
+        playerAndCourseData->selectedPlayersHcp << ui->hcp_player1->toPlainText();\r
+        playerAndCourseData->selectedPlayersTee << ui->tee_player1->currentText();\r
+        playerAndCourseData->selectedPlayersGender << gender[ui->comboBox_player1->currentIndex()];\r
+    }\r
+    if(ui->checkBox_player2->isChecked())\r
+    {\r
+        playerAndCourseData->selectedPlayers << ui->comboBox_player2->currentText();\r
+        playerAndCourseData->selectedPlayersHcp << ui->hcp_player2->toPlainText();\r
+        playerAndCourseData->selectedPlayersTee << ui->tee_player2->currentText();\r
+        playerAndCourseData->selectedPlayersGender << gender[ui->comboBox_player2->currentIndex()];\r
+\r
+    }\r
+    if(ui->checkBox_player3->isChecked())\r
+    {\r
+        playerAndCourseData->selectedPlayers << ui->comboBox_player3->currentText();\r
+        playerAndCourseData->selectedPlayersHcp << ui->hcp_player3->toPlainText();\r
+        playerAndCourseData->selectedPlayersTee << ui->tee_player3->currentText();\r
+        playerAndCourseData->selectedPlayersGender << gender[ui->comboBox_player3->currentIndex()];\r
+\r
+    }\r
+    if(ui->checkBox_player4->isChecked())\r
+    {\r
+        playerAndCourseData->selectedPlayers << ui->comboBox_player4->currentText();\r
+        playerAndCourseData->selectedPlayersHcp << ui->hcp_player4->toPlainText();\r
+        playerAndCourseData->selectedPlayersTee << ui->tee_player4->currentText();\r
+        playerAndCourseData->selectedPlayersGender << gender[ui->comboBox_player4->currentIndex()];\r
+\r
+    }  \r
+}\r
+\r
diff --git a/src/newround.h b/src/newround.h
new file mode 100644 (file)
index 0000000..56e6699
--- /dev/null
@@ -0,0 +1,36 @@
+#ifndef NEWROUND_H\r
+#define NEWROUND_H\r
+\r
+#include <QMainWindow>\r
+#include "datahandling.h"\r
+\r
+namespace Ui {\r
+    class newround;\r
+}\r
+\r
+class newround : public QMainWindow\r
+{\r
+    Q_OBJECT\r
+public:\r
+    newround(QWidget *parent = 0);\r
+\r
+private:\r
+    Ui::newround *ui;\r
+    QStringList hcps;\r
+    QStringList courseNames;\r
+    QStringList courseFiles;\r
+    void saveSelectedPlayers();\r
+\r
+private slots:\r
+    void on_pushButton_continue_clicked();\r
+    void on_comboBox_player4_currentIndexChanged(int index);\r
+    void on_comboBox_player3_currentIndexChanged(int index);\r
+    void on_comboBox_player2_currentIndexChanged(int index);\r
+    void on_comboBox_player1_currentIndexChanged(int index);\r
+    void on_checkBox_player4_toggled(bool checked);\r
+    void on_checkBox_player3_toggled(bool checked);\r
+    void on_checkBox_player2_toggled(bool checked);\r
+    void on_checkBox_player1_toggled(bool checked);\r
+};\r
+\r
+#endif // NEWROUND_H\r
diff --git a/src/newround.ui b/src/newround.ui
new file mode 100644 (file)
index 0000000..62ef7e1
--- /dev/null
@@ -0,0 +1,589 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ui version="4.0">\r
+ <class>newround</class>\r
+ <widget class="QMainWindow" name="newround">\r
+  <property name="geometry">\r
+   <rect>\r
+    <x>0</x>\r
+    <y>0</y>\r
+    <width>800</width>\r
+    <height>480</height>\r
+   </rect>\r
+  </property>\r
+  <property name="windowTitle">\r
+   <string>Select Players &amp; Course</string>\r
+  </property>\r
+  <widget class="QWidget" name="centralwidget">\r
+   <widget class="QFrame" name="frame">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>0</x>\r
+      <y>0</y>\r
+      <width>801</width>\r
+      <height>441</height>\r
+     </rect>\r
+    </property>\r
+    <property name="frameShape">\r
+     <enum>QFrame::StyledPanel</enum>\r
+    </property>\r
+    <property name="frameShadow">\r
+     <enum>QFrame::Raised</enum>\r
+    </property>\r
+    <widget class="QLabel" name="label_players">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>140</x>\r
+       <y>0</y>\r
+       <width>171</width>\r
+       <height>31</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>20</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+       <underline>true</underline>\r
+      </font>\r
+     </property>\r
+     <property name="text">\r
+      <string>PLAYERS</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QCheckBox" name="checkBox_player1">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>10</x>\r
+       <y>50</y>\r
+       <width>121</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>20</pointsize>\r
+      </font>\r
+     </property>\r
+     <property name="text">\r
+      <string/>\r
+     </property>\r
+     <property name="checked">\r
+      <bool>true</bool>\r
+     </property>\r
+    </widget>\r
+    <widget class="QCheckBox" name="checkBox_player2">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>10</x>\r
+       <y>110</y>\r
+       <width>121</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>20</pointsize>\r
+      </font>\r
+     </property>\r
+     <property name="text">\r
+      <string/>\r
+     </property>\r
+    </widget>\r
+    <widget class="QCheckBox" name="checkBox_player3">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>10</x>\r
+       <y>170</y>\r
+       <width>121</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>20</pointsize>\r
+      </font>\r
+     </property>\r
+     <property name="text">\r
+      <string/>\r
+     </property>\r
+    </widget>\r
+    <widget class="QCheckBox" name="checkBox_player4">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>10</x>\r
+       <y>230</y>\r
+       <width>121</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>20</pointsize>\r
+      </font>\r
+     </property>\r
+     <property name="text">\r
+      <string/>\r
+     </property>\r
+    </widget>\r
+    <widget class="QComboBox" name="comboBox_player1">\r
+     <property name="enabled">\r
+      <bool>true</bool>\r
+     </property>\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>140</x>\r
+       <y>50</y>\r
+       <width>320</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+    </widget>\r
+    <widget class="QComboBox" name="comboBox_player2">\r
+     <property name="enabled">\r
+      <bool>true</bool>\r
+     </property>\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>140</x>\r
+       <y>110</y>\r
+       <width>320</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+    </widget>\r
+    <widget class="QComboBox" name="comboBox_player3">\r
+     <property name="enabled">\r
+      <bool>true</bool>\r
+     </property>\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>140</x>\r
+       <y>170</y>\r
+       <width>320</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+    </widget>\r
+    <widget class="QComboBox" name="comboBox_player4">\r
+     <property name="enabled">\r
+      <bool>true</bool>\r
+     </property>\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>140</x>\r
+       <y>230</y>\r
+       <width>320</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+    </widget>\r
+    <widget class="QPlainTextEdit" name="hcp_player1">\r
+     <property name="enabled">\r
+      <bool>true</bool>\r
+     </property>\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>480</x>\r
+       <y>50</y>\r
+       <width>120</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>20</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <property name="verticalScrollBarPolicy">\r
+      <enum>Qt::ScrollBarAlwaysOff</enum>\r
+     </property>\r
+     <property name="horizontalScrollBarPolicy">\r
+      <enum>Qt::ScrollBarAlwaysOff</enum>\r
+     </property>\r
+     <property name="plainText">\r
+      <string/>\r
+     </property>\r
+    </widget>\r
+    <widget class="QComboBox" name="tee_player1">\r
+     <property name="enabled">\r
+      <bool>true</bool>\r
+     </property>\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>610</x>\r
+       <y>50</y>\r
+       <width>180</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>22</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <item>\r
+      <property name="text">\r
+       <string>White</string>\r
+      </property>\r
+     </item>\r
+     <item>\r
+      <property name="text">\r
+       <string>Yellow</string>\r
+      </property>\r
+     </item>\r
+     <item>\r
+      <property name="text">\r
+       <string>Blue</string>\r
+      </property>\r
+     </item>\r
+     <item>\r
+      <property name="text">\r
+       <string>Red</string>\r
+      </property>\r
+     </item>\r
+    </widget>\r
+    <widget class="QPlainTextEdit" name="hcp_player2">\r
+     <property name="enabled">\r
+      <bool>true</bool>\r
+     </property>\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>480</x>\r
+       <y>110</y>\r
+       <width>120</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>20</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <property name="verticalScrollBarPolicy">\r
+      <enum>Qt::ScrollBarAlwaysOff</enum>\r
+     </property>\r
+     <property name="horizontalScrollBarPolicy">\r
+      <enum>Qt::ScrollBarAlwaysOff</enum>\r
+     </property>\r
+    </widget>\r
+    <widget class="QPlainTextEdit" name="hcp_player3">\r
+     <property name="enabled">\r
+      <bool>true</bool>\r
+     </property>\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>480</x>\r
+       <y>170</y>\r
+       <width>120</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>20</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <property name="verticalScrollBarPolicy">\r
+      <enum>Qt::ScrollBarAlwaysOff</enum>\r
+     </property>\r
+     <property name="horizontalScrollBarPolicy">\r
+      <enum>Qt::ScrollBarAlwaysOff</enum>\r
+     </property>\r
+    </widget>\r
+    <widget class="QPlainTextEdit" name="hcp_player4">\r
+     <property name="enabled">\r
+      <bool>true</bool>\r
+     </property>\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>480</x>\r
+       <y>230</y>\r
+       <width>120</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>20</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <property name="verticalScrollBarPolicy">\r
+      <enum>Qt::ScrollBarAlwaysOff</enum>\r
+     </property>\r
+     <property name="horizontalScrollBarPolicy">\r
+      <enum>Qt::ScrollBarAlwaysOff</enum>\r
+     </property>\r
+    </widget>\r
+    <widget class="QComboBox" name="tee_player2">\r
+     <property name="enabled">\r
+      <bool>true</bool>\r
+     </property>\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>610</x>\r
+       <y>110</y>\r
+       <width>180</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>22</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <item>\r
+      <property name="text">\r
+       <string>White</string>\r
+      </property>\r
+     </item>\r
+     <item>\r
+      <property name="text">\r
+       <string>Yellow</string>\r
+      </property>\r
+     </item>\r
+     <item>\r
+      <property name="text">\r
+       <string>Blue</string>\r
+      </property>\r
+     </item>\r
+     <item>\r
+      <property name="text">\r
+       <string>Red</string>\r
+      </property>\r
+     </item>\r
+    </widget>\r
+    <widget class="QComboBox" name="tee_player3">\r
+     <property name="enabled">\r
+      <bool>true</bool>\r
+     </property>\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>610</x>\r
+       <y>170</y>\r
+       <width>180</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>22</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <item>\r
+      <property name="text">\r
+       <string>White</string>\r
+      </property>\r
+     </item>\r
+     <item>\r
+      <property name="text">\r
+       <string>Yellow</string>\r
+      </property>\r
+     </item>\r
+     <item>\r
+      <property name="text">\r
+       <string>Blue</string>\r
+      </property>\r
+     </item>\r
+     <item>\r
+      <property name="text">\r
+       <string>Red</string>\r
+      </property>\r
+     </item>\r
+    </widget>\r
+    <widget class="QComboBox" name="tee_player4">\r
+     <property name="enabled">\r
+      <bool>true</bool>\r
+     </property>\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>610</x>\r
+       <y>230</y>\r
+       <width>180</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>22</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+      </font>\r
+     </property>\r
+     <item>\r
+      <property name="text">\r
+       <string>White</string>\r
+      </property>\r
+     </item>\r
+     <item>\r
+      <property name="text">\r
+       <string>Yellow</string>\r
+      </property>\r
+     </item>\r
+     <item>\r
+      <property name="text">\r
+       <string>Blue</string>\r
+      </property>\r
+     </item>\r
+     <item>\r
+      <property name="text">\r
+       <string>Red</string>\r
+      </property>\r
+     </item>\r
+    </widget>\r
+    <widget class="QLabel" name="label_active">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>0</x>\r
+       <y>0</y>\r
+       <width>171</width>\r
+       <height>31</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>20</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+       <underline>true</underline>\r
+      </font>\r
+     </property>\r
+     <property name="text">\r
+      <string>ACTIVE</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_hcp">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>480</x>\r
+       <y>0</y>\r
+       <width>121</width>\r
+       <height>31</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>20</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+       <underline>true</underline>\r
+      </font>\r
+     </property>\r
+     <property name="text">\r
+      <string>HCP</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_tee">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>610</x>\r
+       <y>0</y>\r
+       <width>121</width>\r
+       <height>31</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>20</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+       <underline>true</underline>\r
+      </font>\r
+     </property>\r
+     <property name="text">\r
+      <string>TEE</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_course">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>0</x>\r
+       <y>330</y>\r
+       <width>240</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>20</pointsize>\r
+       <weight>75</weight>\r
+       <bold>true</bold>\r
+       <underline>false</underline>\r
+       <kerning>true</kerning>\r
+      </font>\r
+     </property>\r
+     <property name="text">\r
+      <string>SELECT COURSE:</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QComboBox" name="comboBox_course">\r
+     <property name="enabled">\r
+      <bool>true</bool>\r
+     </property>\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>240</x>\r
+       <y>330</y>\r
+       <width>320</width>\r
+       <height>50</height>\r
+      </rect>\r
+     </property>\r
+    </widget>\r
+    <widget class="QPushButton" name="pushButton_continue">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>650</x>\r
+       <y>300</y>\r
+       <width>141</width>\r
+       <height>111</height>\r
+      </rect>\r
+     </property>\r
+     <property name="text">\r
+      <string/>\r
+     </property>\r
+     <property name="icon">\r
+      <iconset resource="resources.qrc">\r
+       <normaloff>:/new/images/images/arrow-right-icon.png</normaloff>:/new/images/images/arrow-right-icon.png</iconset>\r
+     </property>\r
+     <property name="iconSize">\r
+      <size>\r
+       <width>128</width>\r
+       <height>128</height>\r
+      </size>\r
+     </property>\r
+     <property name="flat">\r
+      <bool>true</bool>\r
+     </property>\r
+    </widget>\r
+   </widget>\r
+  </widget>\r
+  <widget class="QMenuBar" name="menubar">\r
+   <property name="geometry">\r
+    <rect>\r
+     <x>0</x>\r
+     <y>0</y>\r
+     <width>800</width>\r
+     <height>20</height>\r
+    </rect>\r
+   </property>\r
+  </widget>\r
+  <widget class="QStatusBar" name="statusbar"/>\r
+ </widget>\r
+ <resources>\r
+  <include location="resources.qrc"/>\r
+ </resources>\r
+ <connections/>\r
+</ui>\r
diff --git a/src/object_script.golfscorecard.Debug b/src/object_script.golfscorecard.Debug
new file mode 100644 (file)
index 0000000..0e3c255
--- /dev/null
@@ -0,0 +1,18 @@
+INPUT(\r
+./debug\main.o\r
+./debug\mainwindow.o\r
+./debug\newround.o\r
+./debug\xmlparser.o\r
+./debug\datahandling.o\r
+./debug\basicscorecard.o\r
+./debug\pcmanagement.o\r
+./debug\playermanagement.o\r
+./debug\moc_mainwindow.o\r
+./debug\moc_newround.o\r
+./debug\moc_xmlparser.o\r
+./debug\moc_datahandling.o\r
+./debug\moc_basicscorecard.o\r
+./debug\moc_pcmanagement.o\r
+./debug\moc_playermanagement.o\r
+./debug\qrc_resources.o\r
+);\r
diff --git a/src/object_script.golfscorecard.Release b/src/object_script.golfscorecard.Release
new file mode 100644 (file)
index 0000000..cd8a637
--- /dev/null
@@ -0,0 +1,18 @@
+INPUT(\r
+./release\main.o\r
+./release\mainwindow.o\r
+./release\newround.o\r
+./release\xmlparser.o\r
+./release\datahandling.o\r
+./release\basicscorecard.o\r
+./release\pcmanagement.o\r
+./release\playermanagement.o\r
+./release\moc_mainwindow.o\r
+./release\moc_newround.o\r
+./release\moc_xmlparser.o\r
+./release\moc_datahandling.o\r
+./release\moc_basicscorecard.o\r
+./release\moc_pcmanagement.o\r
+./release\moc_playermanagement.o\r
+./release\qrc_resources.o\r
+);\r
diff --git a/src/pcmanagement.cpp b/src/pcmanagement.cpp
new file mode 100644 (file)
index 0000000..dd6943f
--- /dev/null
@@ -0,0 +1,25 @@
+#include "pcmanagement.h"\r
+#include "ui_pcmanagement.h"\r
+#include "mainwindow.h"\r
+#include "playermanagement.h"\r
+\r
+PCManagement::PCManagement(QWidget *parent) :\r
+    QMainWindow(parent),\r
+    ui(new Ui::PCManagement)\r
+{\r
+    ui->setupUi(this);\r
+}\r
+\r
+void PCManagement::on_prevWindowButton_clicked()\r
+{\r
+    MainWindow *mw = new MainWindow();\r
+    mw->show();\r
+    this->hide();\r
+}\r
+\r
+void PCManagement::on_addPlayerButton_clicked()\r
+{\r
+    playermanagement *pm = new playermanagement();\r
+    pm->show();\r
+    this->hide();\r
+}\r
diff --git a/src/pcmanagement.h b/src/pcmanagement.h
new file mode 100644 (file)
index 0000000..af3f528
--- /dev/null
@@ -0,0 +1,25 @@
+#ifndef PCMANAGEMENT_H\r
+#define PCMANAGEMENT_H\r
+\r
+#include <QMainWindow>\r
+\r
+namespace Ui {\r
+    class PCManagement;\r
+}\r
+\r
+class PCManagement : public QMainWindow\r
+{\r
+    Q_OBJECT\r
+\r
+public:\r
+    PCManagement(QWidget *parent = 0);\r
+\r
+private:\r
+    Ui::PCManagement *ui;\r
+\r
+private slots:\r
+    void on_addPlayerButton_clicked();\r
+    void on_prevWindowButton_clicked();\r
+};\r
+\r
+#endif // PCMANAGEMENT_H\r
diff --git a/src/pcmanagement.ui b/src/pcmanagement.ui
new file mode 100644 (file)
index 0000000..57f1577
--- /dev/null
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ui version="4.0">\r
+ <class>PCManagement</class>\r
+ <widget class="QMainWindow" name="PCManagement">\r
+  <property name="geometry">\r
+   <rect>\r
+    <x>0</x>\r
+    <y>0</y>\r
+    <width>800</width>\r
+    <height>480</height>\r
+   </rect>\r
+  </property>\r
+  <property name="windowTitle">\r
+   <string>Course &amp; Player Management</string>\r
+  </property>\r
+  <widget class="QWidget" name="centralwidget">\r
+   <widget class="QPushButton" name="addPlayerButton">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>170</x>\r
+      <y>30</y>\r
+      <width>128</width>\r
+      <height>128</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset>\r
+      <normaloff>:/new/images/images/new-player.png</normaloff>:/new/images/images/new-player.png</iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>128</width>\r
+      <height>128</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QPushButton" name="editPlayerButton">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>170</x>\r
+      <y>220</y>\r
+      <width>128</width>\r
+      <height>128</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset>\r
+      <normaloff>:/new/images/images/edit-player.png</normaloff>:/new/images/images/edit-player.png</iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>128</width>\r
+      <height>128</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QPushButton" name="addCourseButton">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>500</x>\r
+      <y>30</y>\r
+      <width>128</width>\r
+      <height>128</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset>\r
+      <normaloff>:/new/images/images/new-course.png</normaloff>:/new/images/images/new-course.png</iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>128</width>\r
+      <height>128</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QPushButton" name="editCourseButton">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>500</x>\r
+      <y>220</y>\r
+      <width>128</width>\r
+      <height>128</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset>\r
+      <normaloff>:/new/images/images/edit-course.png</normaloff>:/new/images/images/edit-course.png</iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>128</width>\r
+      <height>128</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+   <widget class="QLabel" name="label">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>160</x>\r
+      <y>170</y>\r
+      <width>151</width>\r
+      <height>31</height>\r
+     </rect>\r
+    </property>\r
+    <property name="font">\r
+     <font>\r
+      <pointsize>14</pointsize>\r
+     </font>\r
+    </property>\r
+    <property name="text">\r
+     <string>Create Player</string>\r
+    </property>\r
+    <property name="alignment">\r
+     <set>Qt::AlignHCenter|Qt::AlignTop</set>\r
+    </property>\r
+   </widget>\r
+   <widget class="QLabel" name="label_2">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>160</x>\r
+      <y>360</y>\r
+      <width>151</width>\r
+      <height>31</height>\r
+     </rect>\r
+    </property>\r
+    <property name="font">\r
+     <font>\r
+      <pointsize>14</pointsize>\r
+     </font>\r
+    </property>\r
+    <property name="text">\r
+     <string>Edit Player</string>\r
+    </property>\r
+    <property name="alignment">\r
+     <set>Qt::AlignHCenter|Qt::AlignTop</set>\r
+    </property>\r
+   </widget>\r
+   <widget class="QLabel" name="label_3">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>490</x>\r
+      <y>170</y>\r
+      <width>151</width>\r
+      <height>31</height>\r
+     </rect>\r
+    </property>\r
+    <property name="font">\r
+     <font>\r
+      <pointsize>14</pointsize>\r
+     </font>\r
+    </property>\r
+    <property name="text">\r
+     <string>Create Course</string>\r
+    </property>\r
+    <property name="alignment">\r
+     <set>Qt::AlignHCenter|Qt::AlignTop</set>\r
+    </property>\r
+   </widget>\r
+   <widget class="QLabel" name="label_4">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>490</x>\r
+      <y>360</y>\r
+      <width>151</width>\r
+      <height>31</height>\r
+     </rect>\r
+    </property>\r
+    <property name="font">\r
+     <font>\r
+      <pointsize>14</pointsize>\r
+     </font>\r
+    </property>\r
+    <property name="text">\r
+     <string>Edit Course</string>\r
+    </property>\r
+    <property name="alignment">\r
+     <set>Qt::AlignHCenter|Qt::AlignTop</set>\r
+    </property>\r
+   </widget>\r
+   <widget class="QPushButton" name="prevWindowButton">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>10</x>\r
+      <y>360</y>\r
+      <width>64</width>\r
+      <height>64</height>\r
+     </rect>\r
+    </property>\r
+    <property name="text">\r
+     <string/>\r
+    </property>\r
+    <property name="icon">\r
+     <iconset>\r
+      <normaloff>:/new/images/images/arrow-left-icon.png</normaloff>:/new/images/images/arrow-left-icon.png</iconset>\r
+    </property>\r
+    <property name="iconSize">\r
+     <size>\r
+      <width>64</width>\r
+      <height>64</height>\r
+     </size>\r
+    </property>\r
+    <property name="flat">\r
+     <bool>true</bool>\r
+    </property>\r
+   </widget>\r
+  </widget>\r
+  <widget class="QMenuBar" name="menubar">\r
+   <property name="geometry">\r
+    <rect>\r
+     <x>0</x>\r
+     <y>0</y>\r
+     <width>800</width>\r
+     <height>20</height>\r
+    </rect>\r
+   </property>\r
+  </widget>\r
+  <widget class="QStatusBar" name="statusbar"/>\r
+ </widget>\r
+ <resources/>\r
+ <connections/>\r
+</ui>\r
diff --git a/src/player.h b/src/player.h
new file mode 100644 (file)
index 0000000..8c26984
--- /dev/null
@@ -0,0 +1,17 @@
+#ifndef PLAYER_H\r
+#define PLAYER_H\r
+\r
+#include <QString>\r
+\r
+struct player {\r
+    player(QString name,QString hcp,QString gender) :\r
+        m_name(name),m_hcp(hcp),m_gender(gender)\r
+    {\r
+    }\r
+\r
+    QString m_name;\r
+    QString m_hcp;\r
+    QString m_gender;\r
+};\r
+\r
+#endif // PLAYER_H\r
diff --git a/src/playermanagement.cpp b/src/playermanagement.cpp
new file mode 100644 (file)
index 0000000..a4f002d
--- /dev/null
@@ -0,0 +1,121 @@
+#include "playermanagement.h"\r
+#include "ui_playermanagement.h"\r
+#include "pcmanagement.h"\r
+\r
+#include <QFileDialog>\r
+#include <QMessageBox>\r
+#include <QDomNode>\r
+#include <QCoreApplication>\r
+\r
+#include <QDebug>\r
+\r
+#define N900\r
+\r
+playermanagement::playermanagement(QWidget *parent) :\r
+    QMainWindow(parent),\r
+    ui(new Ui::playermanagement)\r
+{\r
+    ui->setupUi(this);\r
+    fileName = (QCoreApplication::applicationDirPath() + "/xml/players/playerdata.xml");\r
+\r
+    #ifdef N900\r
+        fileName = "/opt/GolfScorecard/xml/players/playerdata.xml";\r
+    #endif\r
+}\r
+\r
+playermanagement::~playermanagement()\r
+{\r
+    delete ui;\r
+}\r
+\r
+void playermanagement::changeEvent(QEvent *e)\r
+{\r
+    QMainWindow::changeEvent(e);\r
+    switch (e->type()) {\r
+    case QEvent::LanguageChange:\r
+        ui->retranslateUi(this);\r
+        break;\r
+    default:\r
+        break;\r
+    }\r
+}\r
+\r
+void playermanagement::on_saveAndContinue_clicked()\r
+{\r
+    if(!ui->fullName->toPlainText().isEmpty() && !ui->hcp->toPlainText().isEmpty())\r
+    {\r
+\r
+        if (fileName.isEmpty()){\r
+            QMessageBox::warning(this, tr("Player file"),\r
+                                 tr("EMPTY! Cannot read file."));\r
+\r
+        }\r
+\r
+        QFile file(fileName);\r
+\r
+        if (!file.open(QFile::ReadOnly | QFile::Text)) {\r
+            QMessageBox::warning(this, tr("Player file"),\r
+                                 tr("Cannot read file %1:\n%2.")\r
+                                 .arg(fileName)\r
+                                 .arg(file.errorString()));\r
+\r
+        }\r
+\r
+        QDomDocument doc("Players");\r
+\r
+        if( !doc.setContent( &file ) )\r
+        {\r
+            file.close();\r
+            QMessageBox::warning(this, tr("Parsing failed"), tr("Parsing failed totally"));\r
+        }\r
+        file.close();\r
+\r
+        file.remove(fileName);\r
+\r
+        QDomElement root = doc.documentElement();\r
+        if( root.tagName() != "players" )\r
+            QMessageBox::warning(this, tr("No root found!"), tr("There was no root in XML found!"));\r
+\r
+        QDomElement tag = doc.createElement("player");\r
+        tag.setAttribute("name", ui->fullName->toPlainText());\r
+        tag.setAttribute("gender", ui->gender_comboBox->currentText());\r
+        tag.setAttribute("hcp", ui->hcp->toPlainText());\r
+        root.appendChild(tag);\r
+\r
+        qDebug() << doc.toString();\r
+\r
+        if (!file.open(QFile::WriteOnly | QFile::Text)) {\r
+            QMessageBox::warning(this, tr("Player file"),\r
+                                 tr("Cannot read file %1:\n%2.")\r
+                                 .arg(fileName)\r
+                                 .arg(file.errorString()));\r
+\r
+        }\r
+\r
+        QTextStream ts( &file );\r
+        ts << doc.toString();\r
+\r
+        file.close();\r
+\r
+        QMessageBox msgBox;\r
+        msgBox.setText("Player created!");\r
+        msgBox.exec();\r
+\r
+        PCManagement *pcm = new PCManagement();\r
+        pcm->show();\r
+        this->hide();\r
+    }\r
+    else\r
+    {\r
+        QMessageBox msgBox;\r
+        msgBox.setText("You have not filled all fields!");\r
+        msgBox.exec();\r
+    }\r
+}\r
+\r
+void playermanagement::on_prevWindowButton_clicked()\r
+{\r
+    PCManagement *pcm = new PCManagement();\r
+    pcm->show();\r
+    this->hide();\r
+}\r
diff --git a/src/playermanagement.h b/src/playermanagement.h
new file mode 100644 (file)
index 0000000..9ab802e
--- /dev/null
@@ -0,0 +1,28 @@
+#ifndef PLAYERMANAGEMENT_H\r
+#define PLAYERMANAGEMENT_H\r
+\r
+#include <QMainWindow>\r
+\r
+namespace Ui {\r
+    class playermanagement;\r
+}\r
+\r
+class playermanagement : public QMainWindow {\r
+    Q_OBJECT\r
+public:\r
+    playermanagement(QWidget *parent = 0);\r
+    ~playermanagement();\r
+\r
+protected:\r
+    void changeEvent(QEvent *e);\r
+\r
+private:\r
+    Ui::playermanagement *ui;\r
+    QString fileName;\r
+\r
+private slots:\r
+    void on_prevWindowButton_clicked();\r
+    void on_saveAndContinue_clicked();\r
+};\r
+\r
+#endif // PLAYERMANAGEMENT_H\r
diff --git a/src/playermanagement.ui b/src/playermanagement.ui
new file mode 100644 (file)
index 0000000..c6ee002
--- /dev/null
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ui version="4.0">\r
+ <class>playermanagement</class>\r
+ <widget class="QMainWindow" name="playermanagement">\r
+  <property name="geometry">\r
+   <rect>\r
+    <x>0</x>\r
+    <y>0</y>\r
+    <width>800</width>\r
+    <height>480</height>\r
+   </rect>\r
+  </property>\r
+  <property name="windowTitle">\r
+   <string>Player Management</string>\r
+  </property>\r
+  <widget class="QWidget" name="centralwidget">\r
+   <widget class="QFrame" name="frame">\r
+    <property name="geometry">\r
+     <rect>\r
+      <x>0</x>\r
+      <y>0</y>\r
+      <width>801</width>\r
+      <height>441</height>\r
+     </rect>\r
+    </property>\r
+    <property name="frameShape">\r
+     <enum>QFrame::StyledPanel</enum>\r
+    </property>\r
+    <property name="frameShadow">\r
+     <enum>QFrame::Raised</enum>\r
+    </property>\r
+    <widget class="QLabel" name="label">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>50</x>\r
+       <y>130</y>\r
+       <width>161</width>\r
+       <height>41</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>22</pointsize>\r
+      </font>\r
+     </property>\r
+     <property name="text">\r
+      <string>FULL NAME</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_2">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>50</x>\r
+       <y>190</y>\r
+       <width>161</width>\r
+       <height>41</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>22</pointsize>\r
+      </font>\r
+     </property>\r
+     <property name="text">\r
+      <string>GENDER:</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QLabel" name="label_3">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>50</x>\r
+       <y>250</y>\r
+       <width>161</width>\r
+       <height>41</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>22</pointsize>\r
+      </font>\r
+     </property>\r
+     <property name="text">\r
+      <string>HCP:</string>\r
+     </property>\r
+    </widget>\r
+    <widget class="QPlainTextEdit" name="fullName">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>220</x>\r
+       <y>120</y>\r
+       <width>541</width>\r
+       <height>61</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>18</pointsize>\r
+      </font>\r
+     </property>\r
+    </widget>\r
+    <widget class="QPlainTextEdit" name="hcp">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>220</x>\r
+       <y>240</y>\r
+       <width>181</width>\r
+       <height>61</height>\r
+      </rect>\r
+     </property>\r
+     <property name="font">\r
+      <font>\r
+       <pointsize>18</pointsize>\r
+      </font>\r
+     </property>\r
+    </widget>\r
+    <widget class="QComboBox" name="gender_comboBox">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>220</x>\r
+       <y>190</y>\r
+       <width>181</width>\r
+       <height>41</height>\r
+      </rect>\r
+     </property>\r
+     <item>\r
+      <property name="text">\r
+       <string>Male</string>\r
+      </property>\r
+     </item>\r
+     <item>\r
+      <property name="text">\r
+       <string>Female</string>\r
+      </property>\r
+     </item>\r
+    </widget>\r
+    <widget class="QPushButton" name="saveAndContinue">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>720</x>\r
+       <y>360</y>\r
+       <width>64</width>\r
+       <height>64</height>\r
+      </rect>\r
+     </property>\r
+     <property name="text">\r
+      <string/>\r
+     </property>\r
+     <property name="icon">\r
+      <iconset resource="resources.qrc">\r
+       <normaloff>:/new/images/images/arrow-right-icon_2.png</normaloff>:/new/images/images/arrow-right-icon_2.png</iconset>\r
+     </property>\r
+     <property name="iconSize">\r
+      <size>\r
+       <width>64</width>\r
+       <height>64</height>\r
+      </size>\r
+     </property>\r
+     <property name="flat">\r
+      <bool>true</bool>\r
+     </property>\r
+    </widget>\r
+    <widget class="QPushButton" name="prevWindowButton">\r
+     <property name="geometry">\r
+      <rect>\r
+       <x>10</x>\r
+       <y>360</y>\r
+       <width>64</width>\r
+       <height>64</height>\r
+      </rect>\r
+     </property>\r
+     <property name="text">\r
+      <string/>\r
+     </property>\r
+     <property name="icon">\r
+      <iconset resource="resources.qrc">\r
+       <normaloff>:/new/images/images/arrow-left-icon.png</normaloff>:/new/images/images/arrow-left-icon.png</iconset>\r
+     </property>\r
+     <property name="iconSize">\r
+      <size>\r
+       <width>64</width>\r
+       <height>64</height>\r
+      </size>\r
+     </property>\r
+     <property name="flat">\r
+      <bool>true</bool>\r
+     </property>\r
+    </widget>\r
+   </widget>\r
+  </widget>\r
+  <widget class="QMenuBar" name="menubar">\r
+   <property name="geometry">\r
+    <rect>\r
+     <x>0</x>\r
+     <y>0</y>\r
+     <width>800</width>\r
+     <height>20</height>\r
+    </rect>\r
+   </property>\r
+  </widget>\r
+  <widget class="QStatusBar" name="statusbar"/>\r
+ </widget>\r
+ <resources>\r
+  <include location="resources.qrc"/>\r
+ </resources>\r
+ <connections/>\r
+</ui>\r
diff --git a/src/resources.qrc b/src/resources.qrc
new file mode 100644 (file)
index 0000000..b55db82
--- /dev/null
@@ -0,0 +1,17 @@
+<RCC>
+    <qresource prefix="/new/images">
+        <file>images/stats-icon.png</file>
+        <file>images/course-icon.png</file>
+        <file>images/golf-icon.png</file>
+        <file>images/arrow-right-icon.png</file>
+        <file>images/golf-icon_2.png</file>
+        <file>images/arrow-down-icon.png</file>
+        <file>images/arrow-left-icon.png</file>
+        <file>images/arrow-right-icon_2.png</file>
+        <file>images/arrow-up-icon.png</file>
+        <file>images/new-player.png</file>
+        <file>images/edit-course.png</file>
+        <file>images/edit-player.png</file>
+        <file>images/new-course.png</file>
+    </qresource>
+</RCC>
diff --git a/src/ui_basicscorecard.h b/src/ui_basicscorecard.h
new file mode 100644 (file)
index 0000000..318c091
--- /dev/null
@@ -0,0 +1,656 @@
+/********************************************************************************\r
+** Form generated from reading UI file 'basicscorecard.ui'\r
+**\r
+** Created: Sun 18. Apr 23:30:11 2010\r
+**      by: Qt User Interface Compiler version 4.6.2\r
+**\r
+** WARNING! All changes made in this file will be lost when recompiling UI file!\r
+********************************************************************************/\r
+\r
+#ifndef UI_BASICSCORECARD_H\r
+#define UI_BASICSCORECARD_H\r
+\r
+#include <QtCore/QVariant>\r
+#include <QtGui/QAction>\r
+#include <QtGui/QApplication>\r
+#include <QtGui/QButtonGroup>\r
+#include <QtGui/QFrame>\r
+#include <QtGui/QHeaderView>\r
+#include <QtGui/QLabel>\r
+#include <QtGui/QMainWindow>\r
+#include <QtGui/QMenuBar>\r
+#include <QtGui/QPushButton>\r
+#include <QtGui/QStatusBar>\r
+#include <QtGui/QToolBar>\r
+#include <QtGui/QWidget>\r
+\r
+QT_BEGIN_NAMESPACE\r
+\r
+class Ui_BasicScorecard\r
+{\r
+public:\r
+    QWidget *centralWidget;\r
+    QFrame *frame_leaderboard;\r
+    QLabel *label_leaderboardHeader;\r
+    QLabel *label_leaderboardPlayer1;\r
+    QLabel *label_leaderboardPlayer2;\r
+    QLabel *label_leaderboardPlayer3;\r
+    QLabel *label_leaderboardPlayer4;\r
+    QLabel *label_leaderboardHeader_2;\r
+    QLabel *label_leaderboardHeader_3;\r
+    QLabel *label_leaderboardPlayer1_2;\r
+    QLabel *label_leaderboardPlayer1_3;\r
+    QLabel *label_leaderboardPlayer2_2;\r
+    QLabel *label_leaderboardPlayer2_3;\r
+    QLabel *label_leaderboardPlayer3_2;\r
+    QLabel *label_leaderboardPlayer3_3;\r
+    QLabel *label_leaderboardPlayer4_2;\r
+    QLabel *label_leaderboardPlayer4_3;\r
+    QFrame *frame_icons;\r
+    QPushButton *pushButton_prevCourse;\r
+    QPushButton *pushButton_nextCourse;\r
+    QFrame *frame_courseInformation;\r
+    QLabel *label_course;\r
+    QFrame *frame_white;\r
+    QFrame *frame_yellow;\r
+    QLabel *label_white;\r
+    QLabel *label_yellow;\r
+    QLabel *label_red;\r
+    QFrame *frame_red;\r
+    QLabel *label_blue;\r
+    QFrame *frame_blue;\r
+    QLabel *label_par;\r
+    QLabel *label_par_const;\r
+    QLabel *label_hcp;\r
+    QLabel *label_hcp_const;\r
+    QPushButton *courseMap;\r
+    QLabel *label_player1;\r
+    QLabel *label_player2;\r
+    QLabel *label_player3;\r
+    QLabel *label_player4;\r
+    QLabel *label_player1_score;\r
+    QLabel *label_player2_score;\r
+    QLabel *label_player3_score;\r
+    QLabel *label_player4_score;\r
+    QPushButton *player1_up;\r
+    QPushButton *player1_down;\r
+    QPushButton *player2_down;\r
+    QPushButton *player3_down;\r
+    QPushButton *player4_down;\r
+    QPushButton *player2_up;\r
+    QPushButton *player3_up;\r
+    QPushButton *player4_up;\r
+    QMenuBar *menuBar;\r
+    QToolBar *mainToolBar;\r
+    QStatusBar *statusBar;\r
+\r
+    void setupUi(QMainWindow *BasicScorecard)\r
+    {\r
+        if (BasicScorecard->objectName().isEmpty())\r
+            BasicScorecard->setObjectName(QString::fromUtf8("BasicScorecard"));\r
+        BasicScorecard->resize(800, 480);\r
+        centralWidget = new QWidget(BasicScorecard);\r
+        centralWidget->setObjectName(QString::fromUtf8("centralWidget"));\r
+        frame_leaderboard = new QFrame(centralWidget);\r
+        frame_leaderboard->setObjectName(QString::fromUtf8("frame_leaderboard"));\r
+        frame_leaderboard->setGeometry(QRect(0, 0, 320, 175));\r
+        frame_leaderboard->setStyleSheet(QString::fromUtf8("QFrame#frame_leaderboard\n"\r
+"{\n"\r
+"      border: 2px solid;\n"\r
+"      border-color: rgb(255, 255, 0);\n"\r
+"      \n"\r
+"      background-color: rgb(0, 0, 0);\n"\r
+"}"));\r
+        frame_leaderboard->setFrameShape(QFrame::StyledPanel);\r
+        frame_leaderboard->setFrameShadow(QFrame::Raised);\r
+        frame_leaderboard->setLineWidth(1);\r
+        frame_leaderboard->setMidLineWidth(0);\r
+        label_leaderboardHeader = new QLabel(frame_leaderboard);\r
+        label_leaderboardHeader->setObjectName(QString::fromUtf8("label_leaderboardHeader"));\r
+        label_leaderboardHeader->setGeometry(QRect(9, 0, 181, 30));\r
+        QFont font;\r
+        font.setPointSize(11);\r
+        font.setBold(true);\r
+        font.setUnderline(true);\r
+        font.setWeight(75);\r
+        label_leaderboardHeader->setFont(font);\r
+        label_leaderboardHeader->setStyleSheet(QString::fromUtf8("QLabel#label_leaderboardHeader\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_leaderboardHeader->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);\r
+        label_leaderboardPlayer1 = new QLabel(frame_leaderboard);\r
+        label_leaderboardPlayer1->setObjectName(QString::fromUtf8("label_leaderboardPlayer1"));\r
+        label_leaderboardPlayer1->setGeometry(QRect(9, 30, 181, 30));\r
+        QFont font1;\r
+        font1.setPointSize(11);\r
+        font1.setUnderline(false);\r
+        label_leaderboardPlayer1->setFont(font1);\r
+        label_leaderboardPlayer1->setStyleSheet(QString::fromUtf8("QLabel#label_leaderboardPlayer1\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_leaderboardPlayer1->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);\r
+        label_leaderboardPlayer1->setWordWrap(true);\r
+        label_leaderboardPlayer2 = new QLabel(frame_leaderboard);\r
+        label_leaderboardPlayer2->setObjectName(QString::fromUtf8("label_leaderboardPlayer2"));\r
+        label_leaderboardPlayer2->setGeometry(QRect(9, 60, 181, 30));\r
+        label_leaderboardPlayer2->setFont(font1);\r
+        label_leaderboardPlayer2->setStyleSheet(QString::fromUtf8("QLabel#label_leaderboardPlayer2\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_leaderboardPlayer2->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);\r
+        label_leaderboardPlayer2->setWordWrap(true);\r
+        label_leaderboardPlayer3 = new QLabel(frame_leaderboard);\r
+        label_leaderboardPlayer3->setObjectName(QString::fromUtf8("label_leaderboardPlayer3"));\r
+        label_leaderboardPlayer3->setGeometry(QRect(10, 90, 181, 30));\r
+        label_leaderboardPlayer3->setFont(font1);\r
+        label_leaderboardPlayer3->setStyleSheet(QString::fromUtf8("QLabel#label_leaderboardPlayer3\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_leaderboardPlayer3->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);\r
+        label_leaderboardPlayer3->setWordWrap(true);\r
+        label_leaderboardPlayer4 = new QLabel(frame_leaderboard);\r
+        label_leaderboardPlayer4->setObjectName(QString::fromUtf8("label_leaderboardPlayer4"));\r
+        label_leaderboardPlayer4->setGeometry(QRect(9, 120, 181, 30));\r
+        label_leaderboardPlayer4->setFont(font1);\r
+        label_leaderboardPlayer4->setStyleSheet(QString::fromUtf8("QLabel#label_leaderboardPlayer4\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_leaderboardPlayer4->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);\r
+        label_leaderboardPlayer4->setWordWrap(true);\r
+        label_leaderboardHeader_2 = new QLabel(frame_leaderboard);\r
+        label_leaderboardHeader_2->setObjectName(QString::fromUtf8("label_leaderboardHeader_2"));\r
+        label_leaderboardHeader_2->setGeometry(QRect(190, 0, 61, 30));\r
+        label_leaderboardHeader_2->setFont(font);\r
+        label_leaderboardHeader_2->setStyleSheet(QString::fromUtf8("QLabel#label_leaderboardHeader_2\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_leaderboardHeader_2->setAlignment(Qt::AlignCenter);\r
+        label_leaderboardHeader_3 = new QLabel(frame_leaderboard);\r
+        label_leaderboardHeader_3->setObjectName(QString::fromUtf8("label_leaderboardHeader_3"));\r
+        label_leaderboardHeader_3->setGeometry(QRect(251, 0, 61, 30));\r
+        label_leaderboardHeader_3->setFont(font);\r
+        label_leaderboardHeader_3->setStyleSheet(QString::fromUtf8("QLabel#label_leaderboardHeader_3\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_leaderboardHeader_3->setAlignment(Qt::AlignCenter);\r
+        label_leaderboardPlayer1_2 = new QLabel(frame_leaderboard);\r
+        label_leaderboardPlayer1_2->setObjectName(QString::fromUtf8("label_leaderboardPlayer1_2"));\r
+        label_leaderboardPlayer1_2->setGeometry(QRect(190, 30, 61, 30));\r
+        label_leaderboardPlayer1_2->setFont(font1);\r
+        label_leaderboardPlayer1_2->setStyleSheet(QString::fromUtf8("QLabel#label_leaderboardPlayer1_2\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_leaderboardPlayer1_2->setAlignment(Qt::AlignCenter);\r
+        label_leaderboardPlayer1_3 = new QLabel(frame_leaderboard);\r
+        label_leaderboardPlayer1_3->setObjectName(QString::fromUtf8("label_leaderboardPlayer1_3"));\r
+        label_leaderboardPlayer1_3->setGeometry(QRect(250, 30, 61, 30));\r
+        label_leaderboardPlayer1_3->setFont(font1);\r
+        label_leaderboardPlayer1_3->setStyleSheet(QString::fromUtf8("QLabel#label_leaderboardPlayer1_3\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_leaderboardPlayer1_3->setAlignment(Qt::AlignCenter);\r
+        label_leaderboardPlayer2_2 = new QLabel(frame_leaderboard);\r
+        label_leaderboardPlayer2_2->setObjectName(QString::fromUtf8("label_leaderboardPlayer2_2"));\r
+        label_leaderboardPlayer2_2->setGeometry(QRect(190, 60, 61, 30));\r
+        label_leaderboardPlayer2_2->setFont(font1);\r
+        label_leaderboardPlayer2_2->setStyleSheet(QString::fromUtf8("QLabel#label_leaderboardPlayer2_2\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_leaderboardPlayer2_2->setAlignment(Qt::AlignCenter);\r
+        label_leaderboardPlayer2_3 = new QLabel(frame_leaderboard);\r
+        label_leaderboardPlayer2_3->setObjectName(QString::fromUtf8("label_leaderboardPlayer2_3"));\r
+        label_leaderboardPlayer2_3->setGeometry(QRect(250, 60, 61, 30));\r
+        label_leaderboardPlayer2_3->setFont(font1);\r
+        label_leaderboardPlayer2_3->setStyleSheet(QString::fromUtf8("QLabel#label_leaderboardPlayer2_3\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_leaderboardPlayer2_3->setAlignment(Qt::AlignCenter);\r
+        label_leaderboardPlayer3_2 = new QLabel(frame_leaderboard);\r
+        label_leaderboardPlayer3_2->setObjectName(QString::fromUtf8("label_leaderboardPlayer3_2"));\r
+        label_leaderboardPlayer3_2->setGeometry(QRect(190, 90, 61, 30));\r
+        label_leaderboardPlayer3_2->setFont(font1);\r
+        label_leaderboardPlayer3_2->setStyleSheet(QString::fromUtf8("QLabel#label_leaderboardPlayer3_2\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_leaderboardPlayer3_2->setAlignment(Qt::AlignCenter);\r
+        label_leaderboardPlayer3_3 = new QLabel(frame_leaderboard);\r
+        label_leaderboardPlayer3_3->setObjectName(QString::fromUtf8("label_leaderboardPlayer3_3"));\r
+        label_leaderboardPlayer3_3->setGeometry(QRect(250, 90, 61, 30));\r
+        label_leaderboardPlayer3_3->setFont(font1);\r
+        label_leaderboardPlayer3_3->setStyleSheet(QString::fromUtf8("QLabel#label_leaderboardPlayer3_3\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_leaderboardPlayer3_3->setAlignment(Qt::AlignCenter);\r
+        label_leaderboardPlayer4_2 = new QLabel(frame_leaderboard);\r
+        label_leaderboardPlayer4_2->setObjectName(QString::fromUtf8("label_leaderboardPlayer4_2"));\r
+        label_leaderboardPlayer4_2->setGeometry(QRect(190, 120, 61, 30));\r
+        label_leaderboardPlayer4_2->setFont(font1);\r
+        label_leaderboardPlayer4_2->setStyleSheet(QString::fromUtf8("QLabel#label_leaderboardPlayer4_2\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_leaderboardPlayer4_2->setAlignment(Qt::AlignCenter);\r
+        label_leaderboardPlayer4_3 = new QLabel(frame_leaderboard);\r
+        label_leaderboardPlayer4_3->setObjectName(QString::fromUtf8("label_leaderboardPlayer4_3"));\r
+        label_leaderboardPlayer4_3->setGeometry(QRect(250, 120, 61, 30));\r
+        label_leaderboardPlayer4_3->setFont(font1);\r
+        label_leaderboardPlayer4_3->setStyleSheet(QString::fromUtf8("QLabel#label_leaderboardPlayer4_3\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_leaderboardPlayer4_3->setAlignment(Qt::AlignCenter);\r
+        frame_icons = new QFrame(centralWidget);\r
+        frame_icons->setObjectName(QString::fromUtf8("frame_icons"));\r
+        frame_icons->setGeometry(QRect(0, 349, 800, 71));\r
+        frame_icons->setStyleSheet(QString::fromUtf8("QFrame#frame_icons\n"\r
+"{\n"\r
+"      border-color: rgb(255, 255, 0);\n"\r
+"      \n"\r
+"      background-color: rgb(0, 0, 0);\n"\r
+"\n"\r
+"}"));\r
+        frame_icons->setFrameShape(QFrame::StyledPanel);\r
+        frame_icons->setFrameShadow(QFrame::Raised);\r
+        pushButton_prevCourse = new QPushButton(frame_icons);\r
+        pushButton_prevCourse->setObjectName(QString::fromUtf8("pushButton_prevCourse"));\r
+        pushButton_prevCourse->setGeometry(QRect(10, 10, 111, 51));\r
+        QIcon icon;\r
+        icon.addFile(QString::fromUtf8(":/new/images/images/arrow-left-icon.png"), QSize(), QIcon::Normal, QIcon::On);\r
+        pushButton_prevCourse->setIcon(icon);\r
+        pushButton_prevCourse->setIconSize(QSize(55, 55));\r
+        pushButton_prevCourse->setFlat(true);\r
+        pushButton_nextCourse = new QPushButton(frame_icons);\r
+        pushButton_nextCourse->setObjectName(QString::fromUtf8("pushButton_nextCourse"));\r
+        pushButton_nextCourse->setGeometry(QRect(680, 10, 111, 51));\r
+        QIcon icon1;\r
+        icon1.addFile(QString::fromUtf8(":/new/images/images/arrow-right-icon_2.png"), QSize(), QIcon::Normal, QIcon::On);\r
+        pushButton_nextCourse->setIcon(icon1);\r
+        pushButton_nextCourse->setIconSize(QSize(55, 55));\r
+        pushButton_nextCourse->setFlat(true);\r
+        frame_courseInformation = new QFrame(centralWidget);\r
+        frame_courseInformation->setObjectName(QString::fromUtf8("frame_courseInformation"));\r
+        frame_courseInformation->setGeometry(QRect(0, 174, 320, 175));\r
+        frame_courseInformation->setStyleSheet(QString::fromUtf8("QFrame#frame_courseInformation\n"\r
+"{\n"\r
+"      border: 2px solid;\n"\r
+"      border-color: rgb(255, 255, 0);\n"\r
+"      \n"\r
+"      background-color: rgb(0, 0, 0);\n"\r
+"\n"\r
+"}"));\r
+        frame_courseInformation->setFrameShape(QFrame::StyledPanel);\r
+        frame_courseInformation->setFrameShadow(QFrame::Raised);\r
+        frame_courseInformation->setLineWidth(1);\r
+        frame_courseInformation->setMidLineWidth(0);\r
+        label_course = new QLabel(frame_courseInformation);\r
+        label_course->setObjectName(QString::fromUtf8("label_course"));\r
+        label_course->setGeometry(QRect(10, 10, 91, 81));\r
+        QFont font2;\r
+        font2.setPointSize(44);\r
+        font2.setBold(true);\r
+        font2.setWeight(75);\r
+        label_course->setFont(font2);\r
+        label_course->setStyleSheet(QString::fromUtf8("QLabel#label_course\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"      border: 2px solid;\n"\r
+"      border-color: rgb(255, 255, 255);\n"\r
+"      \n"\r
+"}"));\r
+        label_course->setAlignment(Qt::AlignCenter);\r
+        frame_white = new QFrame(frame_courseInformation);\r
+        frame_white->setObjectName(QString::fromUtf8("frame_white"));\r
+        frame_white->setGeometry(QRect(110, 10, 61, 21));\r
+        frame_white->setStyleSheet(QString::fromUtf8("QFrame#frame_white\n"\r
+"{\n"\r
+"      background-color: rgb(255, 255, 255);\n"\r
+"}"));\r
+        frame_white->setFrameShape(QFrame::StyledPanel);\r
+        frame_white->setFrameShadow(QFrame::Raised);\r
+        frame_yellow = new QFrame(frame_courseInformation);\r
+        frame_yellow->setObjectName(QString::fromUtf8("frame_yellow"));\r
+        frame_yellow->setGeometry(QRect(110, 40, 61, 21));\r
+        frame_yellow->setStyleSheet(QString::fromUtf8("QFrame#frame_yellow\n"\r
+"{\n"\r
+"      \n"\r
+"      background-color: rgb(255, 255, 0);\n"\r
+"}"));\r
+        frame_yellow->setFrameShape(QFrame::StyledPanel);\r
+        frame_yellow->setFrameShadow(QFrame::Raised);\r
+        label_white = new QLabel(frame_courseInformation);\r
+        label_white->setObjectName(QString::fromUtf8("label_white"));\r
+        label_white->setGeometry(QRect(180, 10, 61, 21));\r
+        QFont font3;\r
+        font3.setPointSize(13);\r
+        font3.setBold(true);\r
+        font3.setWeight(75);\r
+        label_white->setFont(font3);\r
+        label_white->setStyleSheet(QString::fromUtf8("QLabel#label_white\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_yellow = new QLabel(frame_courseInformation);\r
+        label_yellow->setObjectName(QString::fromUtf8("label_yellow"));\r
+        label_yellow->setGeometry(QRect(180, 40, 61, 21));\r
+        label_yellow->setFont(font3);\r
+        label_yellow->setStyleSheet(QString::fromUtf8("QLabel#label_yellow\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_red = new QLabel(frame_courseInformation);\r
+        label_red->setObjectName(QString::fromUtf8("label_red"));\r
+        label_red->setGeometry(QRect(180, 100, 61, 21));\r
+        label_red->setFont(font3);\r
+        label_red->setStyleSheet(QString::fromUtf8("QLabel#label_red\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        frame_red = new QFrame(frame_courseInformation);\r
+        frame_red->setObjectName(QString::fromUtf8("frame_red"));\r
+        frame_red->setGeometry(QRect(110, 100, 61, 21));\r
+        frame_red->setStyleSheet(QString::fromUtf8("QFrame#frame_red\n"\r
+"{\n"\r
+"      \n"\r
+"      background-color: rgb(255, 0, 0);\n"\r
+"}"));\r
+        frame_red->setFrameShape(QFrame::StyledPanel);\r
+        frame_red->setFrameShadow(QFrame::Raised);\r
+        label_blue = new QLabel(frame_courseInformation);\r
+        label_blue->setObjectName(QString::fromUtf8("label_blue"));\r
+        label_blue->setGeometry(QRect(180, 70, 61, 21));\r
+        label_blue->setFont(font3);\r
+        label_blue->setStyleSheet(QString::fromUtf8("QLabel#label_blue\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        frame_blue = new QFrame(frame_courseInformation);\r
+        frame_blue->setObjectName(QString::fromUtf8("frame_blue"));\r
+        frame_blue->setGeometry(QRect(110, 70, 61, 21));\r
+        frame_blue->setStyleSheet(QString::fromUtf8("QFrame#frame_blue\n"\r
+"{\n"\r
+"      \n"\r
+"      background-color: rgb(0, 0, 255);\n"\r
+"}"));\r
+        frame_blue->setFrameShape(QFrame::StyledPanel);\r
+        frame_blue->setFrameShadow(QFrame::Raised);\r
+        label_par = new QLabel(frame_courseInformation);\r
+        label_par->setObjectName(QString::fromUtf8("label_par"));\r
+        label_par->setGeometry(QRect(70, 100, 41, 21));\r
+        QFont font4;\r
+        font4.setPointSize(18);\r
+        font4.setBold(true);\r
+        font4.setWeight(75);\r
+        label_par->setFont(font4);\r
+        label_par->setStyleSheet(QString::fromUtf8("QLabel#label_par\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_par_const = new QLabel(frame_courseInformation);\r
+        label_par_const->setObjectName(QString::fromUtf8("label_par_const"));\r
+        label_par_const->setGeometry(QRect(10, 100, 51, 21));\r
+        label_par_const->setFont(font4);\r
+        label_par_const->setStyleSheet(QString::fromUtf8("QLabel#label_par_const\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_hcp = new QLabel(frame_courseInformation);\r
+        label_hcp->setObjectName(QString::fromUtf8("label_hcp"));\r
+        label_hcp->setGeometry(QRect(70, 130, 41, 21));\r
+        label_hcp->setFont(font4);\r
+        label_hcp->setStyleSheet(QString::fromUtf8("QLabel#label_hcp\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        label_hcp_const = new QLabel(frame_courseInformation);\r
+        label_hcp_const->setObjectName(QString::fromUtf8("label_hcp_const"));\r
+        label_hcp_const->setGeometry(QRect(10, 130, 51, 21));\r
+        label_hcp_const->setFont(font4);\r
+        label_hcp_const->setStyleSheet(QString::fromUtf8("QLabel#label_hcp_const\n"\r
+"{\n"\r
+"      color: white;\n"\r
+"}"));\r
+        courseMap = new QPushButton(frame_courseInformation);\r
+        courseMap->setObjectName(QString::fromUtf8("courseMap"));\r
+        courseMap->setGeometry(QRect(230, 20, 81, 61));\r
+        QIcon icon2;\r
+        icon2.addFile(QString::fromUtf8(":/new/images/images/golf-icon_2.png"), QSize(), QIcon::Normal, QIcon::On);\r
+        courseMap->setIcon(icon2);\r
+        courseMap->setIconSize(QSize(80, 80));\r
+        courseMap->setFlat(true);\r
+        label_player1 = new QLabel(centralWidget);\r
+        label_player1->setObjectName(QString::fromUtf8("label_player1"));\r
+        label_player1->setGeometry(QRect(320, 0, 120, 30));\r
+        label_player1->setStyleSheet(QString::fromUtf8("QLabel#label_player1\n"\r
+"{\n"\r
+"      border: 2px solid;\n"\r
+"      border-color: rgb(255, 255, 0);\n"\r
+"      color: white;\n"\r
+"      background-color: rgb(0, 0, 0);\n"\r
+"}"));\r
+        label_player1->setAlignment(Qt::AlignCenter);\r
+        label_player1->setWordWrap(true);\r
+        label_player2 = new QLabel(centralWidget);\r
+        label_player2->setObjectName(QString::fromUtf8("label_player2"));\r
+        label_player2->setGeometry(QRect(440, 0, 120, 30));\r
+        label_player2->setStyleSheet(QString::fromUtf8("QLabel#label_player2\n"\r
+"{\n"\r
+"      border: 2px solid;\n"\r
+"      border-color: rgb(255, 255, 0);\n"\r
+"      color: white;\n"\r
+"      background-color: rgb(0, 0, 0);\n"\r
+"}"));\r
+        label_player2->setAlignment(Qt::AlignCenter);\r
+        label_player2->setWordWrap(true);\r
+        label_player3 = new QLabel(centralWidget);\r
+        label_player3->setObjectName(QString::fromUtf8("label_player3"));\r
+        label_player3->setGeometry(QRect(560, 0, 120, 30));\r
+        label_player3->setStyleSheet(QString::fromUtf8("QLabel#label_player3\n"\r
+"{\n"\r
+"      border: 2px solid;\n"\r
+"      border-color: rgb(255, 255, 0);\n"\r
+"      color: white;\n"\r
+"      background-color: rgb(0, 0, 0);\n"\r
+"}"));\r
+        label_player3->setAlignment(Qt::AlignCenter);\r
+        label_player3->setWordWrap(true);\r
+        label_player4 = new QLabel(centralWidget);\r
+        label_player4->setObjectName(QString::fromUtf8("label_player4"));\r
+        label_player4->setGeometry(QRect(680, 0, 120, 30));\r
+        label_player4->setStyleSheet(QString::fromUtf8("QLabel#label_player4\n"\r
+"{\n"\r
+"      border: 2px solid;\n"\r
+"      border-color: rgb(255, 255, 0);\n"\r
+"      color: white;\n"\r
+"      background-color: rgb(0, 0, 0);\n"\r
+"}"));\r
+        label_player4->setAlignment(Qt::AlignCenter);\r
+        label_player4->setWordWrap(true);\r
+        label_player1_score = new QLabel(centralWidget);\r
+        label_player1_score->setObjectName(QString::fromUtf8("label_player1_score"));\r
+        label_player1_score->setGeometry(QRect(320, 30, 121, 319));\r
+        QFont font5;\r
+        font5.setPointSize(45);\r
+        label_player1_score->setFont(font5);\r
+        label_player1_score->setStyleSheet(QString::fromUtf8("QLabel#label_player1_score\n"\r
+"{\n"\r
+"              border: 2px solid;\n"\r
+"      border-color: rgb(255, 255, 0);\n"\r
+"      color: white;\n"\r
+"      background-color: rgb(0, 0, 0);\n"\r
+"}"));\r
+        label_player1_score->setAlignment(Qt::AlignCenter);\r
+        label_player2_score = new QLabel(centralWidget);\r
+        label_player2_score->setObjectName(QString::fromUtf8("label_player2_score"));\r
+        label_player2_score->setGeometry(QRect(440, 30, 121, 319));\r
+        label_player2_score->setFont(font5);\r
+        label_player2_score->setStyleSheet(QString::fromUtf8("QLabel#label_player2_score\n"\r
+"{\n"\r
+"              border: 2px solid;\n"\r
+"      border-color: rgb(255, 255, 0);\n"\r
+"      color: white;\n"\r
+"      background-color: rgb(0, 0, 0);\n"\r
+"}"));\r
+        label_player2_score->setAlignment(Qt::AlignCenter);\r
+        label_player3_score = new QLabel(centralWidget);\r
+        label_player3_score->setObjectName(QString::fromUtf8("label_player3_score"));\r
+        label_player3_score->setGeometry(QRect(560, 30, 121, 319));\r
+        label_player3_score->setFont(font5);\r
+        label_player3_score->setStyleSheet(QString::fromUtf8("QLabel#label_player3_score\n"\r
+"{\n"\r
+"              border: 2px solid;\n"\r
+"      border-color: rgb(255, 255, 0);\n"\r
+"      color: white;\n"\r
+"      background-color: rgb(0, 0, 0);\n"\r
+"}"));\r
+        label_player3_score->setAlignment(Qt::AlignCenter);\r
+        label_player4_score = new QLabel(centralWidget);\r
+        label_player4_score->setObjectName(QString::fromUtf8("label_player4_score"));\r
+        label_player4_score->setGeometry(QRect(680, 30, 121, 319));\r
+        label_player4_score->setFont(font5);\r
+        label_player4_score->setStyleSheet(QString::fromUtf8("QLabel#label_player4_score\n"\r
+"{\n"\r
+"              border: 2px solid;\n"\r
+"      border-color: rgb(255, 255, 0);\n"\r
+"      color: white;\n"\r
+"      background-color: rgb(0, 0, 0);\n"\r
+"}"));\r
+        label_player4_score->setAlignment(Qt::AlignCenter);\r
+        player1_up = new QPushButton(centralWidget);\r
+        player1_up->setObjectName(QString::fromUtf8("player1_up"));\r
+        player1_up->setGeometry(QRect(330, 60, 101, 71));\r
+        QIcon icon3;\r
+        icon3.addFile(QString::fromUtf8(":/new/images/images/arrow-up-icon.png"), QSize(), QIcon::Normal, QIcon::On);\r
+        player1_up->setIcon(icon3);\r
+        player1_up->setIconSize(QSize(64, 64));\r
+        player1_up->setFlat(true);\r
+        player1_down = new QPushButton(centralWidget);\r
+        player1_down->setObjectName(QString::fromUtf8("player1_down"));\r
+        player1_down->setGeometry(QRect(330, 250, 101, 71));\r
+        QIcon icon4;\r
+        icon4.addFile(QString::fromUtf8(":/new/images/images/arrow-down-icon.png"), QSize(), QIcon::Normal, QIcon::On);\r
+        player1_down->setIcon(icon4);\r
+        player1_down->setIconSize(QSize(64, 64));\r
+        player1_down->setFlat(true);\r
+        player2_down = new QPushButton(centralWidget);\r
+        player2_down->setObjectName(QString::fromUtf8("player2_down"));\r
+        player2_down->setGeometry(QRect(450, 250, 101, 71));\r
+        player2_down->setIcon(icon4);\r
+        player2_down->setIconSize(QSize(64, 64));\r
+        player2_down->setFlat(true);\r
+        player3_down = new QPushButton(centralWidget);\r
+        player3_down->setObjectName(QString::fromUtf8("player3_down"));\r
+        player3_down->setGeometry(QRect(570, 250, 101, 71));\r
+        player3_down->setIcon(icon4);\r
+        player3_down->setIconSize(QSize(64, 64));\r
+        player3_down->setFlat(true);\r
+        player4_down = new QPushButton(centralWidget);\r
+        player4_down->setObjectName(QString::fromUtf8("player4_down"));\r
+        player4_down->setGeometry(QRect(690, 250, 101, 71));\r
+        player4_down->setIcon(icon4);\r
+        player4_down->setIconSize(QSize(64, 64));\r
+        player4_down->setFlat(true);\r
+        player2_up = new QPushButton(centralWidget);\r
+        player2_up->setObjectName(QString::fromUtf8("player2_up"));\r
+        player2_up->setGeometry(QRect(450, 60, 101, 71));\r
+        player2_up->setIcon(icon3);\r
+        player2_up->setIconSize(QSize(64, 64));\r
+        player2_up->setFlat(true);\r
+        player3_up = new QPushButton(centralWidget);\r
+        player3_up->setObjectName(QString::fromUtf8("player3_up"));\r
+        player3_up->setGeometry(QRect(570, 60, 101, 71));\r
+        player3_up->setIcon(icon3);\r
+        player3_up->setIconSize(QSize(64, 64));\r
+        player3_up->setFlat(true);\r
+        player4_up = new QPushButton(centralWidget);\r
+        player4_up->setObjectName(QString::fromUtf8("player4_up"));\r
+        player4_up->setGeometry(QRect(690, 60, 101, 71));\r
+        player4_up->setIcon(icon3);\r
+        player4_up->setIconSize(QSize(64, 64));\r
+        player4_up->setFlat(true);\r
+        BasicScorecard->setCentralWidget(centralWidget);\r
+        menuBar = new QMenuBar(BasicScorecard);\r
+        menuBar->setObjectName(QString::fromUtf8("menuBar"));\r
+        menuBar->setGeometry(QRect(0, 0, 800, 20));\r
+        BasicScorecard->setMenuBar(menuBar);\r
+        mainToolBar = new QToolBar(BasicScorecard);\r
+        mainToolBar->setObjectName(QString::fromUtf8("mainToolBar"));\r
+        BasicScorecard->addToolBar(Qt::TopToolBarArea, mainToolBar);\r
+        statusBar = new QStatusBar(BasicScorecard);\r
+        statusBar->setObjectName(QString::fromUtf8("statusBar"));\r
+        BasicScorecard->setStatusBar(statusBar);\r
+\r
+        retranslateUi(BasicScorecard);\r
+\r
+        QMetaObject::connectSlotsByName(BasicScorecard);\r
+    } // setupUi\r
+\r
+    void retranslateUi(QMainWindow *BasicScorecard)\r
+    {\r
+        BasicScorecard->setWindowTitle(QApplication::translate("BasicScorecard", "BasicScorecard", 0, QApplication::UnicodeUTF8));\r
+        label_leaderboardHeader->setText(QApplication::translate("BasicScorecard", "LEADERBOARD", 0, QApplication::UnicodeUTF8));\r
+        label_leaderboardPlayer1->setText(QApplication::translate("BasicScorecard", "PLAYER 1", 0, QApplication::UnicodeUTF8));\r
+        label_leaderboardPlayer2->setText(QApplication::translate("BasicScorecard", "PLAYER 2", 0, QApplication::UnicodeUTF8));\r
+        label_leaderboardPlayer3->setText(QApplication::translate("BasicScorecard", "PLAYER 3", 0, QApplication::UnicodeUTF8));\r
+        label_leaderboardPlayer4->setText(QApplication::translate("BasicScorecard", "PLAYER 4", 0, QApplication::UnicodeUTF8));\r
+        label_leaderboardHeader_2->setText(QApplication::translate("BasicScorecard", "S", 0, QApplication::UnicodeUTF8));\r
+        label_leaderboardHeader_3->setText(QApplication::translate("BasicScorecard", "HCP", 0, QApplication::UnicodeUTF8));\r
+        label_leaderboardPlayer1_2->setText(QApplication::translate("BasicScorecard", "PAR", 0, QApplication::UnicodeUTF8));\r
+        label_leaderboardPlayer1_3->setText(QApplication::translate("BasicScorecard", "PAR", 0, QApplication::UnicodeUTF8));\r
+        label_leaderboardPlayer2_2->setText(QApplication::translate("BasicScorecard", "PAR", 0, QApplication::UnicodeUTF8));\r
+        label_leaderboardPlayer2_3->setText(QApplication::translate("BasicScorecard", "PAR", 0, QApplication::UnicodeUTF8));\r
+        label_leaderboardPlayer3_2->setText(QApplication::translate("BasicScorecard", "PAR", 0, QApplication::UnicodeUTF8));\r
+        label_leaderboardPlayer3_3->setText(QApplication::translate("BasicScorecard", "PAR", 0, QApplication::UnicodeUTF8));\r
+        label_leaderboardPlayer4_2->setText(QApplication::translate("BasicScorecard", "PAR", 0, QApplication::UnicodeUTF8));\r
+        label_leaderboardPlayer4_3->setText(QApplication::translate("BasicScorecard", "PAR", 0, QApplication::UnicodeUTF8));\r
+        pushButton_prevCourse->setText(QString());\r
+        pushButton_nextCourse->setText(QString());\r
+        label_course->setText(QApplication::translate("BasicScorecard", "1", 0, QApplication::UnicodeUTF8));\r
+        label_white->setText(QApplication::translate("BasicScorecard", "350", 0, QApplication::UnicodeUTF8));\r
+        label_yellow->setText(QApplication::translate("BasicScorecard", "323", 0, QApplication::UnicodeUTF8));\r
+        label_red->setText(QApplication::translate("BasicScorecard", "298", 0, QApplication::UnicodeUTF8));\r
+        label_blue->setText(QApplication::translate("BasicScorecard", "256", 0, QApplication::UnicodeUTF8));\r
+        label_par->setText(QApplication::translate("BasicScorecard", "4", 0, QApplication::UnicodeUTF8));\r
+        label_par_const->setText(QApplication::translate("BasicScorecard", "PAR", 0, QApplication::UnicodeUTF8));\r
+        label_hcp->setText(QApplication::translate("BasicScorecard", "13", 0, QApplication::UnicodeUTF8));\r
+        label_hcp_const->setText(QApplication::translate("BasicScorecard", "HCP", 0, QApplication::UnicodeUTF8));\r
+        courseMap->setText(QString());\r
+        label_player1->setText(QApplication::translate("BasicScorecard", "Player 1", 0, QApplication::UnicodeUTF8));\r
+        label_player2->setText(QApplication::translate("BasicScorecard", "Player 2", 0, QApplication::UnicodeUTF8));\r
+        label_player3->setText(QApplication::translate("BasicScorecard", "Player 3", 0, QApplication::UnicodeUTF8));\r
+        label_player4->setText(QApplication::translate("BasicScorecard", "Player 4", 0, QApplication::UnicodeUTF8));\r
+        label_player1_score->setText(QApplication::translate("BasicScorecard", "0", 0, QApplication::UnicodeUTF8));\r
+        label_player2_score->setText(QApplication::translate("BasicScorecard", "0", 0, QApplication::UnicodeUTF8));\r
+        label_player3_score->setText(QApplication::translate("BasicScorecard", "0", 0, QApplication::UnicodeUTF8));\r
+        label_player4_score->setText(QApplication::translate("BasicScorecard", "0", 0, QApplication::UnicodeUTF8));\r
+        player1_up->setText(QString());\r
+        player1_down->setText(QString());\r
+        player2_down->setText(QString());\r
+        player3_down->setText(QString());\r
+        player4_down->setText(QString());\r
+        player2_up->setText(QString());\r
+        player3_up->setText(QString());\r
+        player4_up->setText(QString());\r
+    } // retranslateUi\r
+\r
+};\r
+\r
+namespace Ui {\r
+    class BasicScorecard: public Ui_BasicScorecard {};\r
+} // namespace Ui\r
+\r
+QT_END_NAMESPACE\r
+\r
+#endif // UI_BASICSCORECARD_H\r
diff --git a/src/ui_mainwindow.h b/src/ui_mainwindow.h
new file mode 100644 (file)
index 0000000..261d050
--- /dev/null
@@ -0,0 +1,128 @@
+/********************************************************************************\r
+** Form generated from reading UI file 'mainwindow.ui'\r
+**\r
+** Created: Wed 28. Apr 21:12:42 2010\r
+**      by: Qt User Interface Compiler version 4.6.2\r
+**\r
+** WARNING! All changes made in this file will be lost when recompiling UI file!\r
+********************************************************************************/\r
+\r
+#ifndef UI_MAINWINDOW_H\r
+#define UI_MAINWINDOW_H\r
+\r
+#include <QtCore/QVariant>\r
+#include <QtGui/QAction>\r
+#include <QtGui/QApplication>\r
+#include <QtGui/QButtonGroup>\r
+#include <QtGui/QHeaderView>\r
+#include <QtGui/QLabel>\r
+#include <QtGui/QMainWindow>\r
+#include <QtGui/QMenuBar>\r
+#include <QtGui/QPushButton>\r
+#include <QtGui/QStatusBar>\r
+#include <QtGui/QToolBar>\r
+#include <QtGui/QWidget>\r
+\r
+QT_BEGIN_NAMESPACE\r
+\r
+class Ui_MainWindow\r
+{\r
+public:\r
+    QWidget *centralWidget;\r
+    QPushButton *newRoundButton;\r
+    QPushButton *courseEditorButton;\r
+    QPushButton *statsButton;\r
+    QLabel *label;\r
+    QLabel *label_2;\r
+    QLabel *label_3;\r
+    QMenuBar *menuBar;\r
+    QToolBar *mainToolBar;\r
+    QStatusBar *statusBar;\r
+\r
+    void setupUi(QMainWindow *MainWindow)\r
+    {\r
+        if (MainWindow->objectName().isEmpty())\r
+            MainWindow->setObjectName(QString::fromUtf8("MainWindow"));\r
+        MainWindow->resize(800, 480);\r
+        MainWindow->setStyleSheet(QString::fromUtf8(""));\r
+        centralWidget = new QWidget(MainWindow);\r
+        centralWidget->setObjectName(QString::fromUtf8("centralWidget"));\r
+        newRoundButton = new QPushButton(centralWidget);\r
+        newRoundButton->setObjectName(QString::fromUtf8("newRoundButton"));\r
+        newRoundButton->setGeometry(QRect(100, 140, 128, 128));\r
+        QIcon icon;\r
+        icon.addFile(QString::fromUtf8(":/new/images/images/golf-icon.png"), QSize(), QIcon::Normal, QIcon::Off);\r
+        newRoundButton->setIcon(icon);\r
+        newRoundButton->setIconSize(QSize(128, 128));\r
+        newRoundButton->setFlat(true);\r
+        courseEditorButton = new QPushButton(centralWidget);\r
+        courseEditorButton->setObjectName(QString::fromUtf8("courseEditorButton"));\r
+        courseEditorButton->setGeometry(QRect(320, 140, 128, 128));\r
+        QIcon icon1;\r
+        icon1.addFile(QString::fromUtf8(":/new/images/images/course-icon.png"), QSize(), QIcon::Normal, QIcon::Off);\r
+        courseEditorButton->setIcon(icon1);\r
+        courseEditorButton->setIconSize(QSize(128, 128));\r
+        courseEditorButton->setFlat(true);\r
+        statsButton = new QPushButton(centralWidget);\r
+        statsButton->setObjectName(QString::fromUtf8("statsButton"));\r
+        statsButton->setGeometry(QRect(550, 140, 128, 128));\r
+        QIcon icon2;\r
+        icon2.addFile(QString::fromUtf8(":/new/images/images/stats-icon.png"), QSize(), QIcon::Normal, QIcon::Off);\r
+        statsButton->setIcon(icon2);\r
+        statsButton->setIconSize(QSize(128, 128));\r
+        statsButton->setFlat(true);\r
+        label = new QLabel(centralWidget);\r
+        label->setObjectName(QString::fromUtf8("label"));\r
+        label->setGeometry(QRect(100, 280, 131, 41));\r
+        QFont font;\r
+        font.setPointSize(19);\r
+        label->setFont(font);\r
+        label->setAlignment(Qt::AlignHCenter|Qt::AlignTop);\r
+        label_2 = new QLabel(centralWidget);\r
+        label_2->setObjectName(QString::fromUtf8("label_2"));\r
+        label_2->setGeometry(QRect(300, 280, 191, 81));\r
+        label_2->setFont(font);\r
+        label_2->setAlignment(Qt::AlignHCenter|Qt::AlignTop);\r
+        label_2->setWordWrap(true);\r
+        label_3 = new QLabel(centralWidget);\r
+        label_3->setObjectName(QString::fromUtf8("label_3"));\r
+        label_3->setGeometry(QRect(550, 280, 131, 41));\r
+        label_3->setFont(font);\r
+        label_3->setAlignment(Qt::AlignHCenter|Qt::AlignTop);\r
+        MainWindow->setCentralWidget(centralWidget);\r
+        menuBar = new QMenuBar(MainWindow);\r
+        menuBar->setObjectName(QString::fromUtf8("menuBar"));\r
+        menuBar->setGeometry(QRect(0, 0, 800, 20));\r
+        MainWindow->setMenuBar(menuBar);\r
+        mainToolBar = new QToolBar(MainWindow);\r
+        mainToolBar->setObjectName(QString::fromUtf8("mainToolBar"));\r
+        MainWindow->addToolBar(Qt::TopToolBarArea, mainToolBar);\r
+        statusBar = new QStatusBar(MainWindow);\r
+        statusBar->setObjectName(QString::fromUtf8("statusBar"));\r
+        MainWindow->setStatusBar(statusBar);\r
+\r
+        retranslateUi(MainWindow);\r
+\r
+        QMetaObject::connectSlotsByName(MainWindow);\r
+    } // setupUi\r
+\r
+    void retranslateUi(QMainWindow *MainWindow)\r
+    {\r
+        MainWindow->setWindowTitle(QApplication::translate("MainWindow", "Golf Scorecard", 0, QApplication::UnicodeUTF8));\r
+        newRoundButton->setText(QString());\r
+        courseEditorButton->setText(QString());\r
+        statsButton->setText(QString());\r
+        label->setText(QApplication::translate("MainWindow", "Play!", 0, QApplication::UnicodeUTF8));\r
+        label_2->setText(QApplication::translate("MainWindow", "Player & Course Management", 0, QApplication::UnicodeUTF8));\r
+        label_3->setText(QApplication::translate("MainWindow", "Stats", 0, QApplication::UnicodeUTF8));\r
+    } // retranslateUi\r
+\r
+};\r
+\r
+namespace Ui {\r
+    class MainWindow: public Ui_MainWindow {};\r
+} // namespace Ui\r
+\r
+QT_END_NAMESPACE\r
+\r
+#endif // UI_MAINWINDOW_H\r
diff --git a/src/ui_newround.h b/src/ui_newround.h
new file mode 100644 (file)
index 0000000..ff23433
--- /dev/null
@@ -0,0 +1,274 @@
+/********************************************************************************\r
+** Form generated from reading UI file 'newround.ui'\r
+**\r
+** Created: Wed 28. Apr 22:35:27 2010\r
+**      by: Qt User Interface Compiler version 4.6.2\r
+**\r
+** WARNING! All changes made in this file will be lost when recompiling UI file!\r
+********************************************************************************/\r
+\r
+#ifndef UI_NEWROUND_H\r
+#define UI_NEWROUND_H\r
+\r
+#include <QtCore/QVariant>\r
+#include <QtGui/QAction>\r
+#include <QtGui/QApplication>\r
+#include <QtGui/QButtonGroup>\r
+#include <QtGui/QCheckBox>\r
+#include <QtGui/QComboBox>\r
+#include <QtGui/QFrame>\r
+#include <QtGui/QHeaderView>\r
+#include <QtGui/QLabel>\r
+#include <QtGui/QMainWindow>\r
+#include <QtGui/QMenuBar>\r
+#include <QtGui/QPlainTextEdit>\r
+#include <QtGui/QPushButton>\r
+#include <QtGui/QStatusBar>\r
+#include <QtGui/QWidget>\r
+\r
+QT_BEGIN_NAMESPACE\r
+\r
+class Ui_newround\r
+{\r
+public:\r
+    QWidget *centralwidget;\r
+    QFrame *frame;\r
+    QLabel *label_players;\r
+    QCheckBox *checkBox_player1;\r
+    QCheckBox *checkBox_player2;\r
+    QCheckBox *checkBox_player3;\r
+    QCheckBox *checkBox_player4;\r
+    QComboBox *comboBox_player1;\r
+    QComboBox *comboBox_player2;\r
+    QComboBox *comboBox_player3;\r
+    QComboBox *comboBox_player4;\r
+    QPlainTextEdit *hcp_player1;\r
+    QComboBox *tee_player1;\r
+    QPlainTextEdit *hcp_player2;\r
+    QPlainTextEdit *hcp_player3;\r
+    QPlainTextEdit *hcp_player4;\r
+    QComboBox *tee_player2;\r
+    QComboBox *tee_player3;\r
+    QComboBox *tee_player4;\r
+    QLabel *label_active;\r
+    QLabel *label_hcp;\r
+    QLabel *label_tee;\r
+    QLabel *label_course;\r
+    QComboBox *comboBox_course;\r
+    QPushButton *pushButton_continue;\r
+    QMenuBar *menubar;\r
+    QStatusBar *statusbar;\r
+\r
+    void setupUi(QMainWindow *newround)\r
+    {\r
+        if (newround->objectName().isEmpty())\r
+            newround->setObjectName(QString::fromUtf8("newround"));\r
+        newround->resize(800, 480);\r
+        centralwidget = new QWidget(newround);\r
+        centralwidget->setObjectName(QString::fromUtf8("centralwidget"));\r
+        frame = new QFrame(centralwidget);\r
+        frame->setObjectName(QString::fromUtf8("frame"));\r
+        frame->setGeometry(QRect(0, 0, 801, 441));\r
+        frame->setFrameShape(QFrame::StyledPanel);\r
+        frame->setFrameShadow(QFrame::Raised);\r
+        label_players = new QLabel(frame);\r
+        label_players->setObjectName(QString::fromUtf8("label_players"));\r
+        label_players->setGeometry(QRect(140, 0, 171, 31));\r
+        QFont font;\r
+        font.setPointSize(20);\r
+        font.setBold(true);\r
+        font.setUnderline(true);\r
+        font.setWeight(75);\r
+        label_players->setFont(font);\r
+        checkBox_player1 = new QCheckBox(frame);\r
+        checkBox_player1->setObjectName(QString::fromUtf8("checkBox_player1"));\r
+        checkBox_player1->setGeometry(QRect(10, 50, 121, 50));\r
+        QFont font1;\r
+        font1.setPointSize(20);\r
+        checkBox_player1->setFont(font1);\r
+        checkBox_player1->setChecked(true);\r
+        checkBox_player2 = new QCheckBox(frame);\r
+        checkBox_player2->setObjectName(QString::fromUtf8("checkBox_player2"));\r
+        checkBox_player2->setGeometry(QRect(10, 110, 121, 50));\r
+        checkBox_player2->setFont(font1);\r
+        checkBox_player3 = new QCheckBox(frame);\r
+        checkBox_player3->setObjectName(QString::fromUtf8("checkBox_player3"));\r
+        checkBox_player3->setGeometry(QRect(10, 170, 121, 50));\r
+        checkBox_player3->setFont(font1);\r
+        checkBox_player4 = new QCheckBox(frame);\r
+        checkBox_player4->setObjectName(QString::fromUtf8("checkBox_player4"));\r
+        checkBox_player4->setGeometry(QRect(10, 230, 121, 50));\r
+        checkBox_player4->setFont(font1);\r
+        comboBox_player1 = new QComboBox(frame);\r
+        comboBox_player1->setObjectName(QString::fromUtf8("comboBox_player1"));\r
+        comboBox_player1->setEnabled(true);\r
+        comboBox_player1->setGeometry(QRect(140, 50, 320, 50));\r
+        comboBox_player2 = new QComboBox(frame);\r
+        comboBox_player2->setObjectName(QString::fromUtf8("comboBox_player2"));\r
+        comboBox_player2->setEnabled(true);\r
+        comboBox_player2->setGeometry(QRect(140, 110, 320, 50));\r
+        comboBox_player3 = new QComboBox(frame);\r
+        comboBox_player3->setObjectName(QString::fromUtf8("comboBox_player3"));\r
+        comboBox_player3->setEnabled(true);\r
+        comboBox_player3->setGeometry(QRect(140, 170, 320, 50));\r
+        comboBox_player4 = new QComboBox(frame);\r
+        comboBox_player4->setObjectName(QString::fromUtf8("comboBox_player4"));\r
+        comboBox_player4->setEnabled(true);\r
+        comboBox_player4->setGeometry(QRect(140, 230, 320, 50));\r
+        hcp_player1 = new QPlainTextEdit(frame);\r
+        hcp_player1->setObjectName(QString::fromUtf8("hcp_player1"));\r
+        hcp_player1->setEnabled(true);\r
+        hcp_player1->setGeometry(QRect(480, 50, 120, 50));\r
+        QFont font2;\r
+        font2.setPointSize(20);\r
+        font2.setBold(true);\r
+        font2.setWeight(75);\r
+        hcp_player1->setFont(font2);\r
+        hcp_player1->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);\r
+        hcp_player1->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);\r
+        tee_player1 = new QComboBox(frame);\r
+        tee_player1->setObjectName(QString::fromUtf8("tee_player1"));\r
+        tee_player1->setEnabled(true);\r
+        tee_player1->setGeometry(QRect(610, 50, 180, 50));\r
+        QFont font3;\r
+        font3.setPointSize(22);\r
+        font3.setBold(true);\r
+        font3.setWeight(75);\r
+        tee_player1->setFont(font3);\r
+        hcp_player2 = new QPlainTextEdit(frame);\r
+        hcp_player2->setObjectName(QString::fromUtf8("hcp_player2"));\r
+        hcp_player2->setEnabled(true);\r
+        hcp_player2->setGeometry(QRect(480, 110, 120, 50));\r
+        hcp_player2->setFont(font2);\r
+        hcp_player2->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);\r
+        hcp_player2->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);\r
+        hcp_player3 = new QPlainTextEdit(frame);\r
+        hcp_player3->setObjectName(QString::fromUtf8("hcp_player3"));\r
+        hcp_player3->setEnabled(true);\r
+        hcp_player3->setGeometry(QRect(480, 170, 120, 50));\r
+        hcp_player3->setFont(font2);\r
+        hcp_player3->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);\r
+        hcp_player3->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);\r
+        hcp_player4 = new QPlainTextEdit(frame);\r
+        hcp_player4->setObjectName(QString::fromUtf8("hcp_player4"));\r
+        hcp_player4->setEnabled(true);\r
+        hcp_player4->setGeometry(QRect(480, 230, 120, 50));\r
+        hcp_player4->setFont(font2);\r
+        hcp_player4->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);\r
+        hcp_player4->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);\r
+        tee_player2 = new QComboBox(frame);\r
+        tee_player2->setObjectName(QString::fromUtf8("tee_player2"));\r
+        tee_player2->setEnabled(true);\r
+        tee_player2->setGeometry(QRect(610, 110, 180, 50));\r
+        tee_player2->setFont(font3);\r
+        tee_player3 = new QComboBox(frame);\r
+        tee_player3->setObjectName(QString::fromUtf8("tee_player3"));\r
+        tee_player3->setEnabled(true);\r
+        tee_player3->setGeometry(QRect(610, 170, 180, 50));\r
+        tee_player3->setFont(font3);\r
+        tee_player4 = new QComboBox(frame);\r
+        tee_player4->setObjectName(QString::fromUtf8("tee_player4"));\r
+        tee_player4->setEnabled(true);\r
+        tee_player4->setGeometry(QRect(610, 230, 180, 50));\r
+        tee_player4->setFont(font3);\r
+        label_active = new QLabel(frame);\r
+        label_active->setObjectName(QString::fromUtf8("label_active"));\r
+        label_active->setGeometry(QRect(0, 0, 171, 31));\r
+        label_active->setFont(font);\r
+        label_hcp = new QLabel(frame);\r
+        label_hcp->setObjectName(QString::fromUtf8("label_hcp"));\r
+        label_hcp->setGeometry(QRect(480, 0, 121, 31));\r
+        label_hcp->setFont(font);\r
+        label_tee = new QLabel(frame);\r
+        label_tee->setObjectName(QString::fromUtf8("label_tee"));\r
+        label_tee->setGeometry(QRect(610, 0, 121, 31));\r
+        label_tee->setFont(font);\r
+        label_course = new QLabel(frame);\r
+        label_course->setObjectName(QString::fromUtf8("label_course"));\r
+        label_course->setGeometry(QRect(0, 330, 240, 50));\r
+        QFont font4;\r
+        font4.setPointSize(20);\r
+        font4.setBold(true);\r
+        font4.setUnderline(false);\r
+        font4.setWeight(75);\r
+        font4.setKerning(true);\r
+        label_course->setFont(font4);\r
+        comboBox_course = new QComboBox(frame);\r
+        comboBox_course->setObjectName(QString::fromUtf8("comboBox_course"));\r
+        comboBox_course->setEnabled(true);\r
+        comboBox_course->setGeometry(QRect(240, 330, 320, 50));\r
+        pushButton_continue = new QPushButton(frame);\r
+        pushButton_continue->setObjectName(QString::fromUtf8("pushButton_continue"));\r
+        pushButton_continue->setGeometry(QRect(650, 300, 141, 111));\r
+        QIcon icon;\r
+        icon.addFile(QString::fromUtf8(":/new/images/images/arrow-right-icon.png"), QSize(), QIcon::Normal, QIcon::Off);\r
+        pushButton_continue->setIcon(icon);\r
+        pushButton_continue->setIconSize(QSize(128, 128));\r
+        pushButton_continue->setFlat(true);\r
+        newround->setCentralWidget(centralwidget);\r
+        menubar = new QMenuBar(newround);\r
+        menubar->setObjectName(QString::fromUtf8("menubar"));\r
+        menubar->setGeometry(QRect(0, 0, 800, 20));\r
+        newround->setMenuBar(menubar);\r
+        statusbar = new QStatusBar(newround);\r
+        statusbar->setObjectName(QString::fromUtf8("statusbar"));\r
+        newround->setStatusBar(statusbar);\r
+\r
+        retranslateUi(newround);\r
+\r
+        QMetaObject::connectSlotsByName(newround);\r
+    } // setupUi\r
+\r
+    void retranslateUi(QMainWindow *newround)\r
+    {\r
+        newround->setWindowTitle(QApplication::translate("newround", "Select Players & Course", 0, QApplication::UnicodeUTF8));\r
+        label_players->setText(QApplication::translate("newround", "PLAYERS", 0, QApplication::UnicodeUTF8));\r
+        checkBox_player1->setText(QString());\r
+        checkBox_player2->setText(QString());\r
+        checkBox_player3->setText(QString());\r
+        checkBox_player4->setText(QString());\r
+        hcp_player1->setPlainText(QString());\r
+        tee_player1->clear();\r
+        tee_player1->insertItems(0, QStringList()\r
+         << QApplication::translate("newround", "White", 0, QApplication::UnicodeUTF8)\r
+         << QApplication::translate("newround", "Yellow", 0, QApplication::UnicodeUTF8)\r
+         << QApplication::translate("newround", "Blue", 0, QApplication::UnicodeUTF8)\r
+         << QApplication::translate("newround", "Red", 0, QApplication::UnicodeUTF8)\r
+        );\r
+        tee_player2->clear();\r
+        tee_player2->insertItems(0, QStringList()\r
+         << QApplication::translate("newround", "White", 0, QApplication::UnicodeUTF8)\r
+         << QApplication::translate("newround", "Yellow", 0, QApplication::UnicodeUTF8)\r
+         << QApplication::translate("newround", "Blue", 0, QApplication::UnicodeUTF8)\r
+         << QApplication::translate("newround", "Red", 0, QApplication::UnicodeUTF8)\r
+        );\r
+        tee_player3->clear();\r
+        tee_player3->insertItems(0, QStringList()\r
+         << QApplication::translate("newround", "White", 0, QApplication::UnicodeUTF8)\r
+         << QApplication::translate("newround", "Yellow", 0, QApplication::UnicodeUTF8)\r
+         << QApplication::translate("newround", "Blue", 0, QApplication::UnicodeUTF8)\r
+         << QApplication::translate("newround", "Red", 0, QApplication::UnicodeUTF8)\r
+        );\r
+        tee_player4->clear();\r
+        tee_player4->insertItems(0, QStringList()\r
+         << QApplication::translate("newround", "White", 0, QApplication::UnicodeUTF8)\r
+         << QApplication::translate("newround", "Yellow", 0, QApplication::UnicodeUTF8)\r
+         << QApplication::translate("newround", "Blue", 0, QApplication::UnicodeUTF8)\r
+         << QApplication::translate("newround", "Red", 0, QApplication::UnicodeUTF8)\r
+        );\r
+        label_active->setText(QApplication::translate("newround", "ACTIVE", 0, QApplication::UnicodeUTF8));\r
+        label_hcp->setText(QApplication::translate("newround", "HCP", 0, QApplication::UnicodeUTF8));\r
+        label_tee->setText(QApplication::translate("newround", "TEE", 0, QApplication::UnicodeUTF8));\r
+        label_course->setText(QApplication::translate("newround", "SELECT COURSE:", 0, QApplication::UnicodeUTF8));\r
+        pushButton_continue->setText(QString());\r
+    } // retranslateUi\r
+\r
+};\r
+\r
+namespace Ui {\r
+    class newround: public Ui_newround {};\r
+} // namespace Ui\r
+\r
+QT_END_NAMESPACE\r
+\r
+#endif // UI_NEWROUND_H\r
diff --git a/src/ui_pcmanagement.h b/src/ui_pcmanagement.h
new file mode 100644 (file)
index 0000000..ce08b80
--- /dev/null
@@ -0,0 +1,148 @@
+/********************************************************************************\r
+** Form generated from reading UI file 'pcmanagement.ui'\r
+**\r
+** Created: Thu 29. Apr 00:07:28 2010\r
+**      by: Qt User Interface Compiler version 4.6.2\r
+**\r
+** WARNING! All changes made in this file will be lost when recompiling UI file!\r
+********************************************************************************/\r
+\r
+#ifndef UI_PCMANAGEMENT_H\r
+#define UI_PCMANAGEMENT_H\r
+\r
+#include <QtCore/QVariant>\r
+#include <QtGui/QAction>\r
+#include <QtGui/QApplication>\r
+#include <QtGui/QButtonGroup>\r
+#include <QtGui/QHeaderView>\r
+#include <QtGui/QLabel>\r
+#include <QtGui/QMainWindow>\r
+#include <QtGui/QMenuBar>\r
+#include <QtGui/QPushButton>\r
+#include <QtGui/QStatusBar>\r
+#include <QtGui/QWidget>\r
+\r
+QT_BEGIN_NAMESPACE\r
+\r
+class Ui_PCManagement\r
+{\r
+public:\r
+    QWidget *centralwidget;\r
+    QPushButton *addPlayerButton;\r
+    QPushButton *editPlayerButton;\r
+    QPushButton *addCourseButton;\r
+    QPushButton *editCourseButton;\r
+    QLabel *label;\r
+    QLabel *label_2;\r
+    QLabel *label_3;\r
+    QLabel *label_4;\r
+    QPushButton *prevWindowButton;\r
+    QMenuBar *menubar;\r
+    QStatusBar *statusbar;\r
+\r
+    void setupUi(QMainWindow *PCManagement)\r
+    {\r
+        if (PCManagement->objectName().isEmpty())\r
+            PCManagement->setObjectName(QString::fromUtf8("PCManagement"));\r
+        PCManagement->resize(800, 480);\r
+        centralwidget = new QWidget(PCManagement);\r
+        centralwidget->setObjectName(QString::fromUtf8("centralwidget"));\r
+        addPlayerButton = new QPushButton(centralwidget);\r
+        addPlayerButton->setObjectName(QString::fromUtf8("addPlayerButton"));\r
+        addPlayerButton->setGeometry(QRect(170, 30, 128, 128));\r
+        QIcon icon;\r
+        icon.addFile(QString::fromUtf8(":/new/images/images/new-player.png"), QSize(), QIcon::Normal, QIcon::Off);\r
+        addPlayerButton->setIcon(icon);\r
+        addPlayerButton->setIconSize(QSize(128, 128));\r
+        addPlayerButton->setFlat(true);\r
+        editPlayerButton = new QPushButton(centralwidget);\r
+        editPlayerButton->setObjectName(QString::fromUtf8("editPlayerButton"));\r
+        editPlayerButton->setGeometry(QRect(170, 220, 128, 128));\r
+        QIcon icon1;\r
+        icon1.addFile(QString::fromUtf8(":/new/images/images/edit-player.png"), QSize(), QIcon::Normal, QIcon::Off);\r
+        editPlayerButton->setIcon(icon1);\r
+        editPlayerButton->setIconSize(QSize(128, 128));\r
+        editPlayerButton->setFlat(true);\r
+        addCourseButton = new QPushButton(centralwidget);\r
+        addCourseButton->setObjectName(QString::fromUtf8("addCourseButton"));\r
+        addCourseButton->setGeometry(QRect(500, 30, 128, 128));\r
+        QIcon icon2;\r
+        icon2.addFile(QString::fromUtf8(":/new/images/images/new-course.png"), QSize(), QIcon::Normal, QIcon::Off);\r
+        addCourseButton->setIcon(icon2);\r
+        addCourseButton->setIconSize(QSize(128, 128));\r
+        addCourseButton->setFlat(true);\r
+        editCourseButton = new QPushButton(centralwidget);\r
+        editCourseButton->setObjectName(QString::fromUtf8("editCourseButton"));\r
+        editCourseButton->setGeometry(QRect(500, 220, 128, 128));\r
+        QIcon icon3;\r
+        icon3.addFile(QString::fromUtf8(":/new/images/images/edit-course.png"), QSize(), QIcon::Normal, QIcon::Off);\r
+        editCourseButton->setIcon(icon3);\r
+        editCourseButton->setIconSize(QSize(128, 128));\r
+        editCourseButton->setFlat(true);\r
+        label = new QLabel(centralwidget);\r
+        label->setObjectName(QString::fromUtf8("label"));\r
+        label->setGeometry(QRect(160, 170, 151, 31));\r
+        QFont font;\r
+        font.setPointSize(14);\r
+        label->setFont(font);\r
+        label->setAlignment(Qt::AlignHCenter|Qt::AlignTop);\r
+        label_2 = new QLabel(centralwidget);\r
+        label_2->setObjectName(QString::fromUtf8("label_2"));\r
+        label_2->setGeometry(QRect(160, 360, 151, 31));\r
+        label_2->setFont(font);\r
+        label_2->setAlignment(Qt::AlignHCenter|Qt::AlignTop);\r
+        label_3 = new QLabel(centralwidget);\r
+        label_3->setObjectName(QString::fromUtf8("label_3"));\r
+        label_3->setGeometry(QRect(490, 170, 151, 31));\r
+        label_3->setFont(font);\r
+        label_3->setAlignment(Qt::AlignHCenter|Qt::AlignTop);\r
+        label_4 = new QLabel(centralwidget);\r
+        label_4->setObjectName(QString::fromUtf8("label_4"));\r
+        label_4->setGeometry(QRect(490, 360, 151, 31));\r
+        label_4->setFont(font);\r
+        label_4->setAlignment(Qt::AlignHCenter|Qt::AlignTop);\r
+        prevWindowButton = new QPushButton(centralwidget);\r
+        prevWindowButton->setObjectName(QString::fromUtf8("prevWindowButton"));\r
+        prevWindowButton->setGeometry(QRect(10, 360, 64, 64));\r
+        QIcon icon4;\r
+        icon4.addFile(QString::fromUtf8(":/new/images/images/arrow-left-icon.png"), QSize(), QIcon::Normal, QIcon::Off);\r
+        prevWindowButton->setIcon(icon4);\r
+        prevWindowButton->setIconSize(QSize(64, 64));\r
+        prevWindowButton->setFlat(true);\r
+        PCManagement->setCentralWidget(centralwidget);\r
+        menubar = new QMenuBar(PCManagement);\r
+        menubar->setObjectName(QString::fromUtf8("menubar"));\r
+        menubar->setGeometry(QRect(0, 0, 800, 20));\r
+        PCManagement->setMenuBar(menubar);\r
+        statusbar = new QStatusBar(PCManagement);\r
+        statusbar->setObjectName(QString::fromUtf8("statusbar"));\r
+        PCManagement->setStatusBar(statusbar);\r
+\r
+        retranslateUi(PCManagement);\r
+\r
+        QMetaObject::connectSlotsByName(PCManagement);\r
+    } // setupUi\r
+\r
+    void retranslateUi(QMainWindow *PCManagement)\r
+    {\r
+        PCManagement->setWindowTitle(QApplication::translate("PCManagement", "Course & Player Management", 0, QApplication::UnicodeUTF8));\r
+        addPlayerButton->setText(QString());\r
+        editPlayerButton->setText(QString());\r
+        addCourseButton->setText(QString());\r
+        editCourseButton->setText(QString());\r
+        label->setText(QApplication::translate("PCManagement", "Create Player", 0, QApplication::UnicodeUTF8));\r
+        label_2->setText(QApplication::translate("PCManagement", "Edit Player", 0, QApplication::UnicodeUTF8));\r
+        label_3->setText(QApplication::translate("PCManagement", "Create Course", 0, QApplication::UnicodeUTF8));\r
+        label_4->setText(QApplication::translate("PCManagement", "Edit Course", 0, QApplication::UnicodeUTF8));\r
+        prevWindowButton->setText(QString());\r
+    } // retranslateUi\r
+\r
+};\r
+\r
+namespace Ui {\r
+    class PCManagement: public Ui_PCManagement {};\r
+} // namespace Ui\r
+\r
+QT_END_NAMESPACE\r
+\r
+#endif // UI_PCMANAGEMENT_H\r
diff --git a/src/ui_playermanagement.h b/src/ui_playermanagement.h
new file mode 100644 (file)
index 0000000..78266a7
--- /dev/null
@@ -0,0 +1,138 @@
+/********************************************************************************\r
+** Form generated from reading UI file 'playermanagement.ui'\r
+**\r
+** Created: Thu 29. Apr 00:07:28 2010\r
+**      by: Qt User Interface Compiler version 4.6.2\r
+**\r
+** WARNING! All changes made in this file will be lost when recompiling UI file!\r
+********************************************************************************/\r
+\r
+#ifndef UI_PLAYERMANAGEMENT_H\r
+#define UI_PLAYERMANAGEMENT_H\r
+\r
+#include <QtCore/QVariant>\r
+#include <QtGui/QAction>\r
+#include <QtGui/QApplication>\r
+#include <QtGui/QButtonGroup>\r
+#include <QtGui/QComboBox>\r
+#include <QtGui/QFrame>\r
+#include <QtGui/QHeaderView>\r
+#include <QtGui/QLabel>\r
+#include <QtGui/QMainWindow>\r
+#include <QtGui/QMenuBar>\r
+#include <QtGui/QPlainTextEdit>\r
+#include <QtGui/QPushButton>\r
+#include <QtGui/QStatusBar>\r
+#include <QtGui/QWidget>\r
+\r
+QT_BEGIN_NAMESPACE\r
+\r
+class Ui_playermanagement\r
+{\r
+public:\r
+    QWidget *centralwidget;\r
+    QFrame *frame;\r
+    QLabel *label;\r
+    QLabel *label_2;\r
+    QLabel *label_3;\r
+    QPlainTextEdit *fullName;\r
+    QPlainTextEdit *hcp;\r
+    QComboBox *gender_comboBox;\r
+    QPushButton *saveAndContinue;\r
+    QPushButton *prevWindowButton;\r
+    QMenuBar *menubar;\r
+    QStatusBar *statusbar;\r
+\r
+    void setupUi(QMainWindow *playermanagement)\r
+    {\r
+        if (playermanagement->objectName().isEmpty())\r
+            playermanagement->setObjectName(QString::fromUtf8("playermanagement"));\r
+        playermanagement->resize(800, 480);\r
+        centralwidget = new QWidget(playermanagement);\r
+        centralwidget->setObjectName(QString::fromUtf8("centralwidget"));\r
+        frame = new QFrame(centralwidget);\r
+        frame->setObjectName(QString::fromUtf8("frame"));\r
+        frame->setGeometry(QRect(0, 0, 801, 441));\r
+        frame->setFrameShape(QFrame::StyledPanel);\r
+        frame->setFrameShadow(QFrame::Raised);\r
+        label = new QLabel(frame);\r
+        label->setObjectName(QString::fromUtf8("label"));\r
+        label->setGeometry(QRect(50, 130, 161, 41));\r
+        QFont font;\r
+        font.setPointSize(22);\r
+        label->setFont(font);\r
+        label_2 = new QLabel(frame);\r
+        label_2->setObjectName(QString::fromUtf8("label_2"));\r
+        label_2->setGeometry(QRect(50, 190, 161, 41));\r
+        label_2->setFont(font);\r
+        label_3 = new QLabel(frame);\r
+        label_3->setObjectName(QString::fromUtf8("label_3"));\r
+        label_3->setGeometry(QRect(50, 250, 161, 41));\r
+        label_3->setFont(font);\r
+        fullName = new QPlainTextEdit(frame);\r
+        fullName->setObjectName(QString::fromUtf8("fullName"));\r
+        fullName->setGeometry(QRect(220, 120, 541, 61));\r
+        QFont font1;\r
+        font1.setPointSize(18);\r
+        fullName->setFont(font1);\r
+        hcp = new QPlainTextEdit(frame);\r
+        hcp->setObjectName(QString::fromUtf8("hcp"));\r
+        hcp->setGeometry(QRect(220, 240, 181, 61));\r
+        hcp->setFont(font1);\r
+        gender_comboBox = new QComboBox(frame);\r
+        gender_comboBox->setObjectName(QString::fromUtf8("gender_comboBox"));\r
+        gender_comboBox->setGeometry(QRect(220, 190, 181, 41));\r
+        saveAndContinue = new QPushButton(frame);\r
+        saveAndContinue->setObjectName(QString::fromUtf8("saveAndContinue"));\r
+        saveAndContinue->setGeometry(QRect(720, 360, 64, 64));\r
+        QIcon icon;\r
+        icon.addFile(QString::fromUtf8(":/new/images/images/arrow-right-icon_2.png"), QSize(), QIcon::Normal, QIcon::Off);\r
+        saveAndContinue->setIcon(icon);\r
+        saveAndContinue->setIconSize(QSize(64, 64));\r
+        saveAndContinue->setFlat(true);\r
+        prevWindowButton = new QPushButton(frame);\r
+        prevWindowButton->setObjectName(QString::fromUtf8("prevWindowButton"));\r
+        prevWindowButton->setGeometry(QRect(10, 360, 64, 64));\r
+        QIcon icon1;\r
+        icon1.addFile(QString::fromUtf8(":/new/images/images/arrow-left-icon.png"), QSize(), QIcon::Normal, QIcon::Off);\r
+        prevWindowButton->setIcon(icon1);\r
+        prevWindowButton->setIconSize(QSize(64, 64));\r
+        prevWindowButton->setFlat(true);\r
+        playermanagement->setCentralWidget(centralwidget);\r
+        menubar = new QMenuBar(playermanagement);\r
+        menubar->setObjectName(QString::fromUtf8("menubar"));\r
+        menubar->setGeometry(QRect(0, 0, 800, 20));\r
+        playermanagement->setMenuBar(menubar);\r
+        statusbar = new QStatusBar(playermanagement);\r
+        statusbar->setObjectName(QString::fromUtf8("statusbar"));\r
+        playermanagement->setStatusBar(statusbar);\r
+\r
+        retranslateUi(playermanagement);\r
+\r
+        QMetaObject::connectSlotsByName(playermanagement);\r
+    } // setupUi\r
+\r
+    void retranslateUi(QMainWindow *playermanagement)\r
+    {\r
+        playermanagement->setWindowTitle(QApplication::translate("playermanagement", "Player Management", 0, QApplication::UnicodeUTF8));\r
+        label->setText(QApplication::translate("playermanagement", "FULL NAME", 0, QApplication::UnicodeUTF8));\r
+        label_2->setText(QApplication::translate("playermanagement", "GENDER:", 0, QApplication::UnicodeUTF8));\r
+        label_3->setText(QApplication::translate("playermanagement", "HCP:", 0, QApplication::UnicodeUTF8));\r
+        gender_comboBox->clear();\r
+        gender_comboBox->insertItems(0, QStringList()\r
+         << QApplication::translate("playermanagement", "Male", 0, QApplication::UnicodeUTF8)\r
+         << QApplication::translate("playermanagement", "Female", 0, QApplication::UnicodeUTF8)\r
+        );\r
+        saveAndContinue->setText(QString());\r
+        prevWindowButton->setText(QString());\r
+    } // retranslateUi\r
+\r
+};\r
+\r
+namespace Ui {\r
+    class playermanagement: public Ui_playermanagement {};\r
+} // namespace Ui\r
+\r
+QT_END_NAMESPACE\r
+\r
+#endif // UI_PLAYERMANAGEMENT_H\r
diff --git a/src/xml/courses/coursedata.xml b/src/xml/courses/coursedata.xml
new file mode 100644 (file)
index 0000000..a6b696c
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='UTF-8'?>\r
+<!DOCTYPE Courses>\r
+<courses>\r
+       <course name = "Sankivaara - Sanki" course_file = "sankivaara-sanki.xml"></course>\r
+</courses>
\ No newline at end of file
diff --git a/src/xml/courses/coursedata_example.xml b/src/xml/courses/coursedata_example.xml
new file mode 100644 (file)
index 0000000..b6d5cae
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version='1.0' encoding='UTF-8'?>\r
+<!DOCTYPE Courses>\r
+<courses>\r
+       <course name = "" uid = "" par="" latitude="" longitude="" country="" city="">\r
+               <cr>\r
+                       <male white="" yellow="" blue="" red=""></male>\r
+                       <female yellow="" blue="" red=""></female>\r
+               </cr>\r
+               <slope>\r
+                       <male white="" yellow="" blue="" red=""></male>\r
+                       <female yellow="" blue="" red=""></female>\r
+               </slope>\r
+               <hole id="" hcp="" par="" map_uri="">\r
+                       <white length="" latitude="" longitude=""></white>\r
+                       <yellow length="" latitude="" longitude=""></yellow>\r
+                       <blue length="" latitude="" longitude=""></blue>\r
+                       <red length="" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+       </course>\r
+</courses>
\ No newline at end of file
diff --git a/src/xml/courses/sankivaara-sanki.xml b/src/xml/courses/sankivaara-sanki.xml
new file mode 100644 (file)
index 0000000..89d2346
--- /dev/null
@@ -0,0 +1,140 @@
+<?xml version='1.0' encoding='UTF-8'?>\r
+<!DOCTYPE Courses>\r
+<courses>\r
+       <course name = "Sankivaara - Sanki" uid = "1" par="72" latitude="" longitude="" country="FI" city="Oulu">\r
+               <cr>\r
+                       <male white="72.7" yellow="70.6" blue="68.6" red="66.9"></male>\r
+                       <female yellow="76.4" blue="73.9" red="71.9"></female>\r
+               </cr>\r
+               <slope>\r
+                       <male white="131" yellow="126" blue="122" red="119"></male>\r
+                       <female yellow="135" blue="130" red="125"></female>\r
+               </slope>\r
+               <hole id="1" hcp="12" par="4" map_uri="">\r
+                       <white length="288" latitude="" longitude=""></white>\r
+                       <yellow length="263" latitude="" longitude=""></yellow>\r
+                       <blue length="237" latitude="" longitude=""></blue>\r
+                       <red length="213" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="2" hcp="16" par="4" map_uri="">\r
+                       <white length="324" latitude="" longitude=""></white>\r
+                       <yellow length="293" latitude="" longitude=""></yellow>\r
+                       <blue length="275" latitude="" longitude=""></blue>\r
+                       <red length="247" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="3" hcp="4" par="5" map_uri="">\r
+                       <white length="503" latitude="" longitude=""></white>\r
+                       <yellow length="458" latitude="" longitude=""></yellow>\r
+                       <blue length="427" latitude="" longitude=""></blue>\r
+                       <red length="407" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="4" hcp="18" par="3" map_uri="">\r
+                       <white length="138" latitude="" longitude=""></white>\r
+                       <yellow length="120" latitude="" longitude=""></yellow>\r
+                       <blue length="120" latitude="" longitude=""></blue>\r
+                       <red length="105" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="5" hcp="2" par="4" map_uri="">\r
+                       <white length="363" latitude="" longitude=""></white>\r
+                       <yellow length="342" latitude="" longitude=""></yellow>\r
+                       <blue length="323" latitude="" longitude=""></blue>\r
+                       <red length="266" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="6" hcp="8" par="3" map_uri="">\r
+                       <white length="171" latitude="" longitude=""></white>\r
+                       <yellow length="155" latitude="" longitude=""></yellow>\r
+                       <blue length="140" latitude="" longitude=""></blue>\r
+                       <red length="127" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="7" hcp="6" par="5" map_uri="">\r
+                       <white length="468" latitude="" longitude=""></white>\r
+                       <yellow length="438" latitude="" longitude=""></yellow>\r
+                       <blue length="404" latitude="" longitude=""></blue>\r
+                       <red length="388" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="8" hcp="14" par="4" map_uri="">\r
+                       <white length="339" latitude="" longitude=""></white>\r
+                       <yellow length="324" latitude="" longitude=""></yellow>\r
+                       <blue length="295" latitude="" longitude=""></blue>\r
+                       <red length="290" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="9" hcp="10" par="4" map_uri="">\r
+                       <white length="346" latitude="" longitude=""></white>\r
+                       <yellow length="336" latitude="" longitude=""></yellow>\r
+                       <blue length="327" latitude="" longitude=""></blue>\r
+                       <red length="305" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="10" hcp="11" par="4" map_uri="">\r
+                       <white length="372" latitude="" longitude=""></white>\r
+                       <yellow length="342" latitude="" longitude=""></yellow>\r
+                       <blue length="313" latitude="" longitude=""></blue>\r
+                       <red length="313" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="11" hcp="7" par="5" map_uri="">\r
+                       <white length="465" latitude="" longitude=""></white>\r
+                       <yellow length="448" latitude="" longitude=""></yellow>\r
+                       <blue length="407" latitude="" longitude=""></blue>\r
+                       <red length="383" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="12" hcp="3" par="4" map_uri="">\r
+                       <white length="297" latitude="" longitude=""></white>\r
+                       <yellow length="271" latitude="" longitude=""></yellow>\r
+                       <blue length="237" latitude="" longitude=""></blue>\r
+                       <red length="221" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="13" hcp="17" par="3" map_uri="">\r
+                       <white length="163" latitude="" longitude=""></white>\r
+                       <yellow length="149" latitude="" longitude=""></yellow>\r
+                       <blue length="127" latitude="" longitude=""></blue>\r
+                       <red length="119" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="14" hcp="5" par="4" map_uri="">\r
+                       <white length="365" latitude="" longitude=""></white>\r
+                       <yellow length="346" latitude="" longitude=""></yellow>\r
+                       <blue length="337" latitude="" longitude=""></blue>\r
+                       <red length="312" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="15" hcp="15" par="4" map_uri="">\r
+                       <white length="350" latitude="" longitude=""></white>\r
+                       <yellow length="320" latitude="" longitude=""></yellow>\r
+                       <blue length="299" latitude="" longitude=""></blue>\r
+                       <red length="276" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="16" hcp="1" par="5" map_uri="">\r
+                       <white length="476" latitude="" longitude=""></white>\r
+                       <yellow length="430" latitude="" longitude=""></yellow>\r
+                       <blue length="385" latitude="" longitude=""></blue>\r
+                       <red length="380" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="17" hcp="13" par="3" map_uri="">\r
+                       <white length="186" latitude="" longitude=""></white>\r
+                       <yellow length="186" latitude="" longitude=""></yellow>\r
+                       <blue length="163" latitude="" longitude=""></blue>\r
+                       <red length="142" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+               <hole id="18" hcp="9" par="4" map_uri="">\r
+                       <white length="366" latitude="" longitude=""></white>\r
+                       <yellow length="354" latitude="" longitude=""></yellow>\r
+                       <blue length="340" latitude="" longitude=""></blue>\r
+                       <red length="303" latitude="" longitude=""></red>\r
+                       <green latitude="" longitude=""></green>\r
+               </hole>\r
+       </course>\r
+</courses>
\ No newline at end of file
diff --git a/src/xml/players/playerdata.xml b/src/xml/players/playerdata.xml
new file mode 100644 (file)
index 0000000..1b8ba82
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='UTF-8'?>\r
+<!DOCTYPE Players>\r
+<players>\r
+</players>
\ No newline at end of file
diff --git a/src/xmlparser.cpp b/src/xmlparser.cpp
new file mode 100644 (file)
index 0000000..c3944f4
--- /dev/null
@@ -0,0 +1,245 @@
+#include "xmlparser.h"\r
+#include "datahandling.h"\r
+\r
+#include <QFileDialog>\r
+#include <QMessageBox>\r
+#include <QDomNode>\r
+#include <QCoreApplication>\r
+\r
+#include <QDebug>\r
+\r
+#define N900\r
+\r
+xmlparser::xmlparser()\r
+{\r
+    fileName = (QCoreApplication::applicationDirPath() + "/xml/players/playerdata.xml");\r
+    fileNameCourses = (QCoreApplication::applicationDirPath() + "/xml/courses/coursedata.xml");\r
+\r
+    #ifdef N900\r
+        fileName = "/opt/GolfScorecard/xml/players/playerdata.xml";\r
+        fileNameCourses = "/opt/GolfScorecard/xml/courses/coursedata.xml";\r
+    #endif\r
+}\r
+\r
+void xmlparser::loadPlayerXMLFile()\r
+{\r
+    datahandling *playerdata = datahandling::instance();\r
+\r
+    if (fileName.isEmpty()){\r
+        QMessageBox::warning(this, tr("Player file"),\r
+                             tr("EMPTY! Cannot read file."));\r
+\r
+    }\r
+\r
+    QFile file(fileName);\r
+\r
+    if (!file.open(QFile::ReadOnly | QFile::Text)) {\r
+        QMessageBox::warning(this, tr("Player file"),\r
+                             tr("Cannot read file %1:\n%2.")\r
+                             .arg(fileName)\r
+                             .arg(file.errorString()));\r
+\r
+    }\r
+\r
+    QDomDocument doc("Players");\r
+\r
+    if( !doc.setContent( &file ) )\r
+    {\r
+      file.close();\r
+      QMessageBox::warning(this, tr("Parsing failed"), tr("Parsing failed totally"));\r
+    }\r
+    file.close();\r
+\r
+    QDomElement root = doc.documentElement();\r
+    if( root.tagName() != "players" )\r
+      QMessageBox::warning(this, tr("No root found!"), tr("There was no root in XML found!"));\r
+\r
+    QDomElement child = root.firstChildElement("player");\r
+    while (!child.isNull())\r
+    {\r
+        playerdata->addPlayer(child.attribute("name",""),child.attribute("hcp",""),child.attribute("gender", ""));\r
+        child = child.nextSiblingElement("player");\r
+    }\r
+}\r
+\r
+void xmlparser::loadCourseXMLFile()\r
+{\r
+    datahandling *coursedata = datahandling::instance();\r
+\r
+    if (fileNameCourses.isEmpty()){\r
+        QMessageBox::warning(this, tr("Course file"),\r
+                             tr("EMPTY! Cannot read file."));\r
+\r
+    }\r
+\r
+    QFile file(fileNameCourses);\r
+\r
+    if (!file.open(QFile::ReadOnly | QFile::Text)) {\r
+        QMessageBox::warning(this, tr("Course file"),\r
+                             tr("Cannot read file %1:\n%2.")\r
+                             .arg(fileNameCourses)\r
+                             .arg(file.errorString()));\r
+\r
+    }\r
+\r
+    QDomDocument doc("Courses");\r
+\r
+    if( !doc.setContent( &file ) )\r
+    {\r
+      file.close();\r
+      QMessageBox::warning(this, tr("Parsing failed"), tr("Parsing failed totally"));\r
+    }\r
+    file.close();\r
+\r
+    QDomElement root = doc.documentElement();\r
+    if( root.tagName() != "courses" )\r
+      QMessageBox::warning(this, tr("No root found!"), tr("There was no root in XML found!"));\r
+\r
+    QDomElement child = root.firstChildElement("course");\r
+    while (!child.isNull())\r
+    {\r
+        coursedata->addCourses(child.attribute("name", ""), child.attribute("course_file", ""));\r
+        child = child.nextSiblingElement("course");\r
+    }\r
+}\r
+\r
+void xmlparser::parseSelectedCourse()\r
+{\r
+    datahandling *coursedata = datahandling::instance();\r
+    QString selectedCourse = (QCoreApplication::applicationDirPath() + "/xml/courses/" + coursedata->selectedCourse);\r
+\r
+    #ifdef N900\r
+        selectedCourse = ("/opt/GolfScorecard/xml/courses/" + coursedata->selectedCourse);\r
+    #endif\r
+\r
+    if (selectedCourse.isEmpty()){\r
+        QMessageBox::warning(this, tr("Course file"),\r
+                             tr("EMPTY! Cannot read file."));\r
+\r
+    }\r
+\r
+    QFile file(selectedCourse);\r
+\r
+    if (!file.open(QFile::ReadOnly | QFile::Text)) {\r
+        QMessageBox::warning(this, tr("Course file"),\r
+                             tr("Cannot read file %1:\n%2.")\r
+                             .arg(selectedCourse)\r
+                             .arg(file.errorString()));\r
+    }\r
+\r
+    QDomDocument doc("Courses");\r
+\r
+    if( !doc.setContent( &file ) )\r
+    {\r
+      file.close();\r
+      QMessageBox::warning(this, tr("Parsing failed"), tr("Parsing failed totally"));\r
+    }\r
+    file.close();\r
+\r
+    QDomElement root = doc.documentElement();\r
+    if( root.tagName() != "courses" )\r
+      QMessageBox::warning(this, tr("No root found!"), tr("There was no root in XML found!"));\r
+\r
+    QDomElement course = root.firstChildElement("course");\r
+    QDomElement cr = course.firstChildElement("cr");\r
+    QDomElement male = cr.firstChildElement("male");\r
+    QDomElement female = cr.firstChildElement("female");\r
+    QDomElement slope = course.firstChildElement("slope");\r
+    QDomElement hole = course.firstChildElement("hole");\r
+\r
+    QDomElement white = hole.firstChildElement("white");\r
+    QDomElement yellow = hole.firstChildElement("yellow");\r
+    QDomElement blue = hole.firstChildElement("blue");\r
+    QDomElement red = hole.firstChildElement("red");\r
+    QDomElement green = hole.firstChildElement("green");\r
+\r
+\r
+\r
+    while (!course.isNull())\r
+    {\r
+        coursedata->addCourseData(course.attribute("name", ""), course.attribute("par", ""),\r
+                                  course.attribute("latitude", "").toDouble(), course.attribute("longitude", "").toDouble(),\r
+                                  course.attribute("country", ""), course.attribute("city", ""));\r
+        while (!cr.isNull())\r
+        {\r
+            while (!male.isNull())\r
+            {\r
+                coursedata->addCourseCrMale(male.attribute("white", "").toDouble(), male.attribute("yellow", "").toDouble(),\r
+                                            male.attribute("blue", "").toDouble(), male.attribute("red", "").toDouble());\r
+                male = male.nextSiblingElement("male");\r
+            }\r
+\r
+            while (!female.isNull())\r
+            {\r
+                coursedata->addCourseCrFemale(female.attribute("yellow", "").toDouble(),\r
+                                            female.attribute("blue", "").toDouble(), female.attribute("red", "").toDouble());\r
+                female = female.nextSiblingElement("female");\r
+            }\r
+            cr = cr.nextSiblingElement("cr");\r
+        }\r
+\r
+        male = slope.firstChildElement("male");\r
+        female = slope.firstChildElement("female");\r
+\r
+        while (!slope.isNull())\r
+        {\r
+            while (!male.isNull())\r
+            {\r
+                coursedata->addCourseSlopeMale(male.attribute("white", "").toDouble(), male.attribute("yellow", "").toDouble(),\r
+                                            male.attribute("blue", "").toDouble(), male.attribute("red", "").toDouble());\r
+                male = male.nextSiblingElement("male");\r
+            }\r
+\r
+            while (!female.isNull())\r
+            {\r
+                coursedata->addCourseSlopeFemale(female.attribute("yellow", "").toDouble(),\r
+                                            female.attribute("blue", "").toDouble(), female.attribute("red", "").toDouble());\r
+                female = female.nextSiblingElement("female");\r
+            }\r
+            slope = slope.nextSiblingElement("slope");\r
+        }\r
+\r
+        while (!hole.isNull())\r
+        {\r
+            coursedata->addHoleData(hole.attribute("id", ""), hole.attribute("hcp", ""),\r
+                                    hole.attribute("par", ""), hole.attribute("map_uri", ""));\r
+            while (!white.isNull())\r
+            {\r
+                coursedata->addWhiteTee(white.attribute("length", ""),\r
+                                        white.attribute("latitude", "").toDouble(), white.attribute("longitude", "").toDouble());\r
+                white = white.nextSiblingElement("white");\r
+            }\r
+            while (!yellow.isNull())\r
+            {\r
+                coursedata->addYellowTee(yellow.attribute("length", ""),\r
+                                        yellow.attribute("latitude", "").toDouble(), yellow.attribute("longitude", "").toDouble());\r
+                yellow = yellow.nextSiblingElement("yellow");\r
+            }\r
+            while (!blue.isNull())\r
+            {\r
+                coursedata->addBlueTee(blue.attribute("length", ""),\r
+                                        blue.attribute("latitude", "").toDouble(), blue.attribute("longitude", "").toDouble());\r
+                blue = blue.nextSiblingElement("blue");\r
+            }\r
+            while (!red.isNull())\r
+            {\r
+                coursedata->addRedTee(red.attribute("length", ""),\r
+                                        red.attribute("latitude", "").toDouble(), red.attribute("longitude", "").toDouble());\r
+                red = red.nextSiblingElement("red");\r
+            }\r
+            while (!green.isNull())\r
+            {\r
+                coursedata->addGreenInfo(green.attribute("latitude", "").toDouble(), green.attribute("longitude", "").toDouble());\r
+                green = green.nextSiblingElement("green");\r
+            }\r
+\r
+            hole = hole.nextSiblingElement("hole");\r
+            white = hole.firstChildElement("white");\r
+            yellow = hole.firstChildElement("yellow");\r
+            blue = hole.firstChildElement("blue");\r
+            red = hole.firstChildElement("red");\r
+            green = hole.firstChildElement("green");\r
+        }\r
+        course = course.nextSiblingElement("course");\r
+    }\r
+}\r
diff --git a/src/xmlparser.h b/src/xmlparser.h
new file mode 100644 (file)
index 0000000..2f13bea
--- /dev/null
@@ -0,0 +1,18 @@
+#ifndef XMLPARSER_H\r
+#define XMLPARSER_H\r
+\r
+#include <QMainWindow>\r
+\r
+class xmlparser : public QMainWindow\r
+{\r
+    Q_OBJECT\r
+public:\r
+    xmlparser();\r
+    void loadPlayerXMLFile();\r
+    void loadCourseXMLFile();\r
+    void parseSelectedCourse();\r
+    QString fileName;\r
+    QString fileNameCourses;\r
+};\r
+\r
+#endif // XMLPARSER_H\r