+/*
+ * Copyright (C) 2009 Sakari Poussa
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ */
+
#include <QMainWindow>
#include <QTableView>
+#include <QListView>
#include <QPushButton>
-#include <QToolBar>
+#include <QTextEdit>
#include <QVBoxLayout>
#include <QItemSelectionModel>
#include <QList>
#include <QLabel>
+#include <QActionGroup>
#include <QXmlDefaultHandler>
#include "data.h"
#include "table-model.h"
-#include "tree-model.h"
+#include "list-model.h"
class MainWindow : public QMainWindow
{
public:
MainWindow(QMainWindow *parent = 0);
- void createLayout(QWidget *parent = 0);
- void createStatusBar();
- void createTableView(QList<Score *> &, QList <Club *> &);
- void createTreeView(QList<Score *> &, QObject *parent = 0);
- void updateStatusBar();
+ void createLayoutTable(QWidget *parent = 0);
+ void createLayoutList(QWidget *parent = 0);
+ void createListView(QList<Score *> &, QList <Club *> &);
+ void updateTitleBar(QString & msg);
void loadScoreFile(QString &fileName, QList<Score *> &scoreList);
void loadClubFile(QString &fileName, QList<Club *> &clubList);
void saveScoreFile(QString &fileName, QList<Score *> &scoreList);
void dataChanged();
private slots:
- void firstButtonClicked();
- void lastButtonClicked();
- void nextButtonClicked();
- void prevButtonClicked();
+ void clickedList(const QModelIndex &index);
- void updateTreeView(const QModelIndex & index);
void newScore();
+ void deleteScore();
void editScore();
void newCourse();
+ void deleteCourse();
void editCourse();
+ void viewStatistics();
+ void listScores();
+ void listCourses();
private:
void loadSettings(void);
- Club *findClub(QString &name);
+ Club * findClub(QString &name);
+ Course * findCourse(const QString &clubName, const QString &courseName);
+ Course * findCourse();
+ Score * findScore(QString & clubName, QString & courseName);
+
+ void showNote(QString msg);
+ void getStat(QTextEdit *);
+
+ void viewScore(Score * score, Course * course);
+ void viewCourse(Course * course);
QList<Score *> scoreList;
QList<Club *> clubList;
ScoreTableModel *scoreTableModel;
- ScoreTreeModel *scoreTreeModel;
+ ScoreListModel *scoreListModel;
+ CourseListModel *courseListModel;
QAbstractItemModel *tableModel;
QItemSelectionModel *selectionModel;
QTableView *table;
+ QListView *list;
// Layouts
- QVBoxLayout *tableLayout;
- QVBoxLayout *buttonLayout;
+ QWidget *centralWidget;
// Menus
QMenu *menu;
- // Buttons
- QPushButton *nextButton;
- QPushButton *prevButton;
- QPushButton *firstButton;
- QPushButton *lastButton;
-
- // Toolbar
- QToolBar *toolbar;
-
// Actions
- QAction *newScoreAct;
- QAction *editScoreAct;
- QAction *newCourseAct;
- QAction *editCourseAct;
- QAction *firstAct;
- QAction *lastAct;
- QAction *nextAct;
- QAction *prevAct;
-
- QAction *viewScoreAct;
- QAction *viewCourseAct;
- QAction *viewStatisticAct;
+ QAction *newScoreAction;
+ QAction *newCourseAction;
+ QAction *statAction;
+
+ QActionGroup *filterGroup;
+ QAction *listScoreAction;
+ QAction *listCourseAction;
void createMenus();
void createActions();
-
+ // Windows
+ QMainWindow *scoreWin;
+ QMainWindow *courseWin;
};