#include <QtGui>
#include <QDirModel>
-#include <QTreeView>
#include <QListView>
#include <QStandardItemModel>
#include "main-window.h"
#include "score-dialog.h"
#include "course-dialog.h"
-#include "tree-widget.h"
#include "xml-parser.h"
#include "xml-dom-parser.h"
loadSettings();
- QWidget *centralWidget = new QWidget(this);
+ centralWidget = new QWidget(this);
setCentralWidget(centralWidget);
createMenus();
createTableView(scoreList, clubList);
- //createTreeView(scoreList, parent);
createStatusBar();
createLayout(centralWidget);
{
bool external = false;
-#ifndef Q_WS_HILDON
- topDir = ".";
-#endif
-
QDir mmc(mmcDir);
if (mmc.exists())
external = true;
// TODO: make via user option, automatic will never work
external = false;
+#ifndef Q_WS_HILDON
+ dataDir = "./" + dataDirName;
+#else
if (external) {
dataDir = mmcDir + "/" + appName + "/" + dataDirName;
}
else {
dataDir = topDir + "/" + appName + "/" + dataDirName;
}
+#endif
scoreFile = dataDir + "/" + scoreFileName;
clubFile = dataDir + "/" + clubFileName;
// Fill out all the space with the tables
table->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
table->verticalHeader()->setResizeMode(QHeaderView::Stretch);
+ table->verticalHeader()->setAutoFillBackground(true);
table->horizontalHeader()->hide();
}
-// When selection down in 'stat' view, this is called.
-void MainWindow::updateTreeView(const QModelIndex & index)
-{
- QString scope("Scope");
- QString count("Rounds");
- QString scoreAvg("Score (avg.)");
- QString scoreBest("Score (best)");
- QString score("Total");
- QString scoreIn("Total in");
- QString scoreOut("Total out");
-
- QVariant str = scoreTreeModel->data(index, Qt::DisplayRole);
- QVariant type = scoreTreeModel->data(index, ScoreTreeModel::Type);
-
- qDebug() << "update(" << index.row() << "/" << index.column() << "):" << str << type;
-
- tableModel->setData(tableModel->index(0, 0, QModelIndex()), scope);
- tableModel->setData(tableModel->index(0, 1, QModelIndex()), str);
-
- if (type == TreeItem::TypeDate) {
- tableModel->setData(tableModel->index(1, 0, QModelIndex()), count);
- tableModel->setData(tableModel->index(2, 0, QModelIndex()), scoreAvg);
- tableModel->setData(tableModel->index(3, 0, QModelIndex()), scoreBest);
- }
- else if (type == TreeItem::TypeScore) {
- QVariant value = scoreTreeModel->data(index, ScoreTreeModel::Total);
- tableModel->setData(tableModel->index(1, 0, QModelIndex()), score);
- tableModel->setData(tableModel->index(1, 1, QModelIndex()), value);
-
- value = scoreTreeModel->data(index, ScoreTreeModel::TotalOut);
- tableModel->setData(tableModel->index(2, 0, QModelIndex()), scoreOut);
- tableModel->setData(tableModel->index(2, 1, QModelIndex()), value);
-
- value = scoreTreeModel->data(index, ScoreTreeModel::TotalIn);
- tableModel->setData(tableModel->index(3, 0, QModelIndex()), scoreIn);
- tableModel->setData(tableModel->index(3, 1, QModelIndex()), value);
- }
-}
-
void MainWindow::createStatusBar()
{
#if 0
viewCourseAct = new QAction(tr("&View Courses"), this);
connect(viewCourseAct, SIGNAL(triggered()), this, SLOT(viewCourse()));
-
- viewStatisticAct = new QAction(tr("&View Statistics"), this);
- connect(viewStatisticAct, SIGNAL(triggered()), this, SLOT(viewStatistic()));
#endif
+ statAct = new QAction(tr("Statistics"), this);
+ connect(statAct, SIGNAL(triggered()), this, SLOT(viewStatistics()));
+
nextAct = new QAction(tr( " Next "), this);
connect(nextAct, SIGNAL(triggered()), this, SLOT(nextButtonClicked()));
void MainWindow::createMenus()
{
- menu = menuBar()->addMenu(tr("fremantle"));
+ menu = menuBar()->addMenu("");
#if 0
menu->addAction(viewScoreAct);
menu->addAction(viewCourseAct);
menu->addAction(newCourseAct);
menu->addAction(editScoreAct);
menu->addAction(editCourseAct);
+ menu->addAction(statAct);
}
void MainWindow::updateStatusBar()
{
- setWindowTitle(scoreTableModel->getInfoText());
+ QString title = scoreTableModel->getInfoText();
+ if (title.isEmpty())
+ title = "ScoreCard - No Scores";
+
+ setWindowTitle(title);
}
void MainWindow::firstButtonClicked()
{
Course *course = scoreTableModel->getCourse();
+ if (!course) {
+ qWarning() << "No course on edit";
+ return;
+ }
+
CourseDialog *courseDialog = new CourseDialog(this);
courseDialog->init(course);
}
}
+void MainWindow::viewStatistics()
+{
+ QMainWindow *statWindow = new QMainWindow(this);
+
+ //QWidget *centralWidget = new QWidget(statWindow);
+
+ //setCentralWidget(centralWidget);
+
+
+ QString foo = "some longer text is needed here : 17";
+ QTextEdit *textEdit = new QTextEdit(foo);
+
+ QLabel *label = new QLabel;
+ label->setScaledContents(true);
+
+ QString text = "foo : bar";
+
+ text.append("Scores: 17");
+
+ label->setAlignment(Qt::AlignCenter);
+ label->setText(text);
+
+ QString title = "Statistics";
+ statWindow->setWindowTitle(title);
+
+ QVBoxLayout *layout = new QVBoxLayout;
+ //layout->addWidget(label);
+ layout->addWidget(textEdit);
+
+ //statWindow->setLayout(layout);
+
+ //setCentralWidget(statWindow);
+ statWindow->show();
+}
+
void MainWindow::loadScoreFile(QString &fileName, QList<Score *> &list)
{
ScoreXmlHandler handler(list);