Subversion Repositories svn1

Rev

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

Rev 236 Rev 290
Line 5... Line 5...
5
 
5
 
6
#include    "consts.h"
6
#include    "consts.h"
7
#include    "structs.h"
7
#include    "structs.h"
8
#include    "proto.h"
8
#include    "proto.h"
9
 
9
 
-
 
10
#include <QDialogButtonBox>
10
#include "QTableWidgetItem"
11
#include <QTableWidgetItem>
-
 
12
#include <QVBoxLayout>
11
 
13
 
12
QmConfWinners::QmConfWinners(QWidget *parent) :
14
QmConfWinners::QmConfWinners(QWidget *parent) :
13
    QWidget(parent),
15
    QWidget(parent)
14
    ui(new Ui::QmConfWinners)
-
 
15
{
16
{
16
    ui->setupUi(this);
-
 
17
 
17
 
18
    ui->tableWidget->setRowCount(MAX_FAME);
-
 
19
    dirty = true;
18
    dirty = true;
20
    populating = false;
19
    populating = false;
21
 
20
 
-
 
21
    QVBoxLayout *verticalLayout = new QVBoxLayout(this);
-
 
22
    verticalLayout->setContentsMargins(0, 0, 0, 0);
-
 
23
 
-
 
24
    QGroupBox *groupBox = new QGroupBox("Hall of Fame");
-
 
25
    verticalLayout->addWidget(groupBox);
-
 
26
    QVBoxLayout *verticalLayout2 = new QVBoxLayout(groupBox);
-
 
27
    tableWidget = new QTableWidget(groupBox);
-
 
28
 
-
 
29
    tableWidget->setAlternatingRowColors(true);
-
 
30
    tableWidget->setRowCount(MAX_FAME);
-
 
31
    tableWidget->setColumnCount(1);
-
 
32
    tableWidget->horizontalHeader()->setVisible(false);
-
 
33
    tableWidget->horizontalHeader()->setCascadingSectionResizes(false);
-
 
34
    tableWidget->horizontalHeader()->setStretchLastSection(true);
-
 
35
    tableWidget->verticalHeader()->setDefaultSectionSize(20);
-
 
36
    tableWidget->verticalHeader()->setStretchLastSection(false);
-
 
37
    verticalLayout2->addWidget(tableWidget);
-
 
38
 
-
 
39
    QSpacerItem *verticalSpacer1;
-
 
40
    verticalSpacer1 = new QSpacerItem(0, 10, QSizePolicy::Expanding, QSizePolicy::Expanding);
-
 
41
    verticalLayout2->addItem(verticalSpacer1);
-
 
42
 
-
 
43
    QHBoxLayout *horizontalLayout;
-
 
44
    horizontalLayout = new QHBoxLayout();
-
 
45
    horizontalLayout->setContentsMargins(0, 0, 5, 5);
-
 
46
    verticalLayout->addLayout(horizontalLayout);
-
 
47
 
-
 
48
    QDialogButtonBox *buttonBox = new QDialogButtonBox();
-
 
49
    pushButtonRestore = buttonBox->addButton("Restore",QDialogButtonBox::ActionRole );
-
 
50
    pushButtonSave = buttonBox->addButton("Save",QDialogButtonBox::ActionRole );
-
 
51
    horizontalLayout->addWidget(buttonBox);
-
 
52
 
22
    connect(ui->pushButtonSave, SIGNAL(clicked()), this, SLOT(save()) );
53
    connect(pushButtonSave, SIGNAL(clicked()), this, SLOT(save()) );
23
    connect(ui->pushButtonRestore, SIGNAL(clicked()), this, SLOT(cancel()) );
54
    connect(pushButtonRestore, SIGNAL(clicked()), this, SLOT(cancel()) );
24
    connect(ui->tableWidget, SIGNAL(cellChanged(int,int)), this, SLOT(changed()));
55
    connect(tableWidget, SIGNAL(cellChanged(int,int)), this, SLOT(changed()));
25
 
56
 
26
    populate();
57
    populate();
27
}
58
}
28
 
59
 
29
QmConfWinners::~QmConfWinners()
60
QmConfWinners::~QmConfWinners()
30
{
61
{
31
    delete ui;
-
 
32
}
62
}
33
 
63
 
34
void QmConfWinners::populate(void)
64
void QmConfWinners::populate(void)
35
{
65
{
36
    populating = true;
66
    populating = true;
37
    for ( int ii = 0; ii < MAX_FAME; ii++)
67
    for ( int ii = 0; ii < MAX_FAME; ii++)
38
    {
68
    {
39
        ui->tableWidget->setItem(ii, 0, new QTableWidgetItem(config.hall_fame[ii] ));
69
        tableWidget->setItem(ii, 0, new QTableWidgetItem(config.hall_fame[ii] ));
40
    }
70
    }
41
    populating = false;
71
    populating = false;
42
    updateChanged(false);
72
    updateChanged(false);
43
}
73
}
44
 
74
 
Line 52... Line 82...
52
    /*
82
    /*
53
    **  Extract the data from the Widgets
83
    **  Extract the data from the Widgets
54
    */
84
    */
55
    for ( int ii = 0; ii < MAX_FAME; ii++)
85
    for ( int ii = 0; ii < MAX_FAME; ii++)
56
    {
86
    {
57
        QTableWidgetItem *item = ui->tableWidget->item ( ii, 0 );
87
        QTableWidgetItem *item = tableWidget->item ( ii, 0 );
58
        if ( item )
88
        if ( item )
59
        {
89
        {
60
            strncpy(newcfg.hall_fame[ii], qPrintable(item->text()), sizeof(newcfg.hall_fame[ii])-1);
90
            strncpy(newcfg.hall_fame[ii], qPrintable(item->text()), sizeof(newcfg.hall_fame[ii])-1);
61
        }
91
        }
62
    }
92
    }
Line 104... Line 134...
104
    if (newDirty != dirty)
134
    if (newDirty != dirty)
105
    {
135
    {
106
        dirty = newDirty;
136
        dirty = newDirty;
107
        if (dirty)
137
        if (dirty)
108
        {
138
        {
109
            ui->Changed->setVisible(true);
-
 
110
            ui->pushButtonSave->setEnabled(true);
139
            pushButtonSave->setEnabled(true);
111
            ui->pushButtonSave->setStyleSheet("background-color: rgb(255, 0, 0);");
140
            pushButtonSave->setStyleSheet("background-color: rgb(255, 0, 0);");
-
 
141
            MainWindow::showMessage("Winners Data Changed");
112
        }
142
        }
113
        else
143
        else
114
        {
144
        {
115
            ui->Changed->setVisible(false);
145
            pushButtonSave->setEnabled(false);
116
            ui->pushButtonSave->setEnabled(false);
146
            pushButtonSave->setStyleSheet("");
117
            ui->pushButtonSave->setStyleSheet("");
147
            MainWindow::showMessage("");
118
        }
148
        }
119
    }
149
    }
120
}
150
}
121
 
151
 
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
}
-