Subversion Repositories svn1

Rev

Rev 226 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 226 Rev 380
Line 1... Line 1...
1
#include "qmconfwinners.h"
1
#include "qmconfwinners.h"
2
#include "qmconfig.h"
2
#include "qmconfig.h"
3
#include "ui_qmconfwinners.h"
-
 
4
#include "mainwindow.h"
3
#include "mainwindow.h"
5
 
4
 
6
#include    "consts.h"
5
#include    "consts.h"
7
#include    "structs.h"
6
#include    "structs.h"
8
#include    "proto.h"
7
#include    "proto.h"
9
 
8
 
-
 
9
#include <QDialogButtonBox>
10
#include "QTableWidgetItem"
10
#include <QTableWidgetItem>
-
 
11
#include <QVBoxLayout>
-
 
12
#include <QtCore/QVariant>
-
 
13
#include <QAction>
-
 
14
#include <QApplication>
-
 
15
#include <QButtonGroup>
-
 
16
#include <QGroupBox>
-
 
17
#include <QHeaderView>
-
 
18
#include <QLabel>
-
 
19
#include <QPushButton>
-
 
20
#include <QTableWidget>
-
 
21
#include <QWidget>
11
 
22
 
12
QmConfWinners::QmConfWinners(QWidget *parent) :
23
QmConfWinners::QmConfWinners(QWidget *parent) :
13
    QWidget(parent),
24
    QWidget(parent)
14
    ui(new Ui::QmConfWinners)
-
 
15
{
25
{
16
    ui->setupUi(this);
-
 
17
 
26
 
18
    ui->tableWidget->setRowCount(MAX_FAME);
-
 
19
    dirty = true;
27
    dirty = true;
20
    populating = false;
28
    populating = false;
21
 
29
 
-
 
30
    QVBoxLayout *verticalLayout = new QVBoxLayout(this);
-
 
31
    verticalLayout->setContentsMargins(0, 0, 0, 0);
-
 
32
 
-
 
33
    QGroupBox *groupBox = new QGroupBox("Hall of Fame");
-
 
34
    verticalLayout->addWidget(groupBox);
-
 
35
    QVBoxLayout *verticalLayout2 = new QVBoxLayout(groupBox);
-
 
36
    tableWidget = new QTableWidget(groupBox);
-
 
37
 
-
 
38
    tableWidget->setAlternatingRowColors(true);
-
 
39
    tableWidget->setRowCount(MAX_FAME);
-
 
40
    tableWidget->setColumnCount(1);
-
 
41
    tableWidget->horizontalHeader()->setVisible(false);
-
 
42
    tableWidget->horizontalHeader()->setCascadingSectionResizes(false);
-
 
43
    tableWidget->horizontalHeader()->setStretchLastSection(true);
-
 
44
    tableWidget->verticalHeader()->setDefaultSectionSize(20);
-
 
45
    tableWidget->verticalHeader()->setStretchLastSection(false);
-
 
46
    verticalLayout2->addWidget(tableWidget);
-
 
47
 
-
 
48
    QSpacerItem *verticalSpacer1;
-
 
49
    verticalSpacer1 = new QSpacerItem(0, 10, QSizePolicy::Expanding, QSizePolicy::Expanding);
-
 
50
    verticalLayout2->addItem(verticalSpacer1);
-
 
51
 
-
 
52
    QHBoxLayout *horizontalLayout;
-
 
53
    horizontalLayout = new QHBoxLayout();
-
 
54
    horizontalLayout->setContentsMargins(0, 0, 5, 5);
-
 
55
    verticalLayout->addLayout(horizontalLayout);
-
 
56
 
-
 
57
    QDialogButtonBox *buttonBox = new QDialogButtonBox();
-
 
58
    pushButtonRestore = buttonBox->addButton("Restore",QDialogButtonBox::ActionRole );
-
 
59
    pushButtonSave = buttonBox->addButton("Save",QDialogButtonBox::ActionRole );
-
 
60
    horizontalLayout->addWidget(buttonBox);
-
 
61
 
22
    connect(ui->pushButtonSave, SIGNAL(clicked()), this, SLOT(save()) );
62
    connect(pushButtonSave, SIGNAL(clicked()), this, SLOT(save()) );
23
    connect(ui->pushButtonRestore, SIGNAL(clicked()), this, SLOT(cancel()) );
63
    connect(pushButtonRestore, SIGNAL(clicked()), this, SLOT(cancel()) );
24
    connect(ui->tableWidget, SIGNAL(cellChanged(int,int)), this, SLOT(changed()));
64
    connect(tableWidget, SIGNAL(cellChanged(int,int)), this, SLOT(changed()));
25
 
65
 
26
    populate();
66
    populate();
27
}
67
}
28
 
68
 
29
QmConfWinners::~QmConfWinners()
69
QmConfWinners::~QmConfWinners()
30
{
70
{
31
    delete ui;
-
 
32
}
71
}
33
 
72
 
34
void QmConfWinners::populate(void)
73
void QmConfWinners::populate(void)
35
{
74
{
36
    populating = true;
75
    populating = true;
37
    for ( int ii = 0; ii < MAX_FAME; ii++)
76
    for ( int ii = 0; ii < MAX_FAME; ii++)
38
    {
77
    {
39
        ui->tableWidget->setItem(ii, 0, new QTableWidgetItem(config.hall_fame[ii] ));
78
        tableWidget->setItem(ii, 0, new QTableWidgetItem(config.hall_fame[ii] ));
40
    }
79
    }
41
    populating = false;
80
    populating = false;
42
    updateChanged(false);
81
    updateChanged(false);
43
}
82
}
44
 
83
 
Line 52... Line 91...
52
    /*
91
    /*
53
    **  Extract the data from the Widgets
92
    **  Extract the data from the Widgets
54
    */
93
    */
55
    for ( int ii = 0; ii < MAX_FAME; ii++)
94
    for ( int ii = 0; ii < MAX_FAME; ii++)
56
    {
95
    {
57
        QTableWidgetItem *item = ui->tableWidget->item ( ii, 0 );
96
        QTableWidgetItem *item = tableWidget->item ( ii, 0 );
58
        if ( item )
97
        if ( item )
59
        {
98
        {
60
            strncpy(newcfg.hall_fame[ii], qPrintable(item->text()), sizeof(newcfg.hall_fame[ii])-1);
99
            strncpy(newcfg.hall_fame[ii], qPrintable(item->text()), sizeof(newcfg.hall_fame[ii])-1);
61
        }
100
        }
62
    }
101
    }
Line 104... Line 143...
104
    if (newDirty != dirty)
143
    if (newDirty != dirty)
105
    {
144
    {
106
        dirty = newDirty;
145
        dirty = newDirty;
107
        if (dirty)
146
        if (dirty)
108
        {
147
        {
109
            ui->Changed->setVisible(true);
-
 
110
            ui->pushButtonSave->setEnabled(true);
148
            pushButtonSave->setEnabled(true);
111
            ui->pushButtonSave->setStyleSheet("background-color: rgb(255, 0, 0);");
149
            pushButtonSave->setStyleSheet("background-color: rgb(255, 0, 0);");
-
 
150
            MainWindow::showMessage("Winners Data Changed");
112
        }
151
        }
113
        else
152
        else
114
        {
153
        {
115
            ui->Changed->setVisible(false);
154
            pushButtonSave->setEnabled(false);
116
            ui->pushButtonSave->setEnabled(false);
155
            pushButtonSave->setStyleSheet("");
117
            ui->pushButtonSave->setStyleSheet("");
156
            MainWindow::showMessage("");
118
        }
157
        }
119
    }
158
    }
120
}
159
}
121
 
160
 
122
void QmConfWinners::changeEvent(QEvent *e)
-
 
123
{
-
 
124
    QWidget::changeEvent(e);
-
 
125
    switch (e->type()) {
-
 
126
    case QEvent::LanguageChange:
-
 
127
        ui->retranslateUi(this);
-
 
128
        break;
-
 
129
    default:
-
 
130
        break;
-
 
131
    }
-
 
132
}
-