Subversion Repositories svn1-original

Rev

Rev 288 | Rev 294 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 288 Rev 290
Line 4... Line 4...
4
#include    "consts.h"
4
#include    "consts.h"
5
#include    "structs.h"
5
#include    "structs.h"
6
#include    "proto.h"
6
#include    "proto.h"
7
#include "mainwindow.h"
7
#include "mainwindow.h"
8
 
8
 
-
 
9
#include <QDialogButtonBox>
9
#include "QTableWidgetItem"
10
#include "QTableWidgetItem"
10
#include "spinboxdelegate.h"
11
#include "spinboxdelegate.h"
11
#include "timedelegate.h"
12
#include "timedelegate.h"
12
#include "textdelegate.h"
13
#include "textdelegate.h"
13
#include <QMenu>
14
#include <QMenu>
Line 27... Line 28...
27
#define COL_ST_CNE 12
28
#define COL_ST_CNE 12
28
#define COL_COUNT 13
29
#define COL_COUNT 13
29
 
30
 
30
 
31
 
31
QmConfClass::QmConfClass(QWidget *parent) :
32
QmConfClass::QmConfClass(QWidget *parent) :
32
    QWidget(parent),
33
    QWidget(parent)
33
    ui(new Ui::QmConfClass)
-
 
34
{
34
{
35
    ui->setupUi(this);
-
 
36
    populating = false;
35
    populating = false;
-
 
36
    //resize ( 600,400);
-
 
37
 
-
 
38
    QVBoxLayout *verticalLayout = new QVBoxLayout(this);
-
 
39
    verticalLayout->setContentsMargins(0, 0, 0, 0);
-
 
40
 
-
 
41
    QGroupBox *groupBox = new QGroupBox("Class");
-
 
42
    verticalLayout->addWidget(groupBox);
-
 
43
    QVBoxLayout *verticalLayout2 = new QVBoxLayout(groupBox);
-
 
44
    tableWidget = new QTableWidget(groupBox);
-
 
45
    tableWidget->setAlternatingRowColors(true);
-
 
46
    tableWidget->setRowCount(config.num_class + 1);
-
 
47
    tableWidget->setColumnCount(COL_COUNT);
-
 
48
    tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);
-
 
49
    tableWidget->horizontalHeader()->setVisible(true);
-
 
50
    tableWidget->horizontalHeader()->setDefaultSectionSize(70);
-
 
51
    tableWidget->horizontalHeader()->setHighlightSections(true);
-
 
52
    tableWidget->horizontalHeader()->setStretchLastSection(true);
-
 
53
    tableWidget->verticalHeader()->setVisible(true);
-
 
54
    tableWidget->verticalHeader()->setDefaultSectionSize(20);
-
 
55
    //tableWidget->setSizePolicy(QSizePolicy::MinimumExpanding,QSizePolicy::MinimumExpanding );
-
 
56
    //tableWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
-
 
57
    verticalLayout2->addWidget(tableWidget);
-
 
58
 
-
 
59
    //QSpacerItem *verticalSpacer1;
-
 
60
    //verticalSpacer1 = new QSpacerItem(0, 10, QSizePolicy::Expanding, QSizePolicy::Expanding);
-
 
61
    //verticalLayout2->addItem(verticalSpacer1);
-
 
62
 
-
 
63
    QHBoxLayout *horizontalLayout;
-
 
64
    horizontalLayout = new QHBoxLayout();
-
 
65
    horizontalLayout->setContentsMargins(0, 0, 5, 5);
-
 
66
    verticalLayout->addLayout(horizontalLayout);
-
 
67
 
-
 
68
    QDialogButtonBox *buttonBox = new QDialogButtonBox();
-
 
69
    statusButton = buttonBox->addButton("Update Status",QDialogButtonBox::ActionRole );
-
 
70
    pushButtonRestore = buttonBox->addButton("Restore",QDialogButtonBox::ActionRole );
-
 
71
    pushButtonSave = buttonBox->addButton("Save",QDialogButtonBox::ActionRole );
-
 
72
    horizontalLayout->addWidget(buttonBox);
-
 
73
 
-
 
74
 
37
    connect(ui->pushButtonSave, SIGNAL(clicked(bool)), this, SLOT(save()) );
75
    connect(pushButtonSave, SIGNAL(clicked(bool)), this, SLOT(save()) );
38
    connect(ui->pushButtonRestore, SIGNAL(clicked(bool)), this, SLOT(cancel()) );
76
    connect(pushButtonRestore, SIGNAL(clicked(bool)), this, SLOT(cancel()) );
39
 
77
 
40
    QStringList labels;
78
    QStringList labels;
41
    labels << "Abr" << "Full Name" << "Start Time" << "Winners" << "NE" << "NE Winners";
79
    labels << "Abr" << "Full Name" << "Start Time" << "Winners" << "NE" << "NE Winners";
42
 
80
 
43
 
81
 
44
    ui->tableWidget->setRowCount(config.num_class + 1);
-
 
45
    ui->tableWidget->setColumnCount(COL_COUNT);
-
 
46
    ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);
-
 
47
    connect(ui->tableWidget, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(ctxMenu(const QPoint &)));
82
    connect(tableWidget, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(ctxMenu(const QPoint &)));
48
    connect(ui->tableWidget, SIGNAL(cellChanged(int,int)), this, SLOT(cellChanged(int,int)));
83
    connect(tableWidget, SIGNAL(cellChanged(int,int)), this, SLOT(cellChanged(int,int)));
49
 
84
 
50
 
85
 
51
    /*
86
    /*
52
    **  Setup delegated for specialised editing
87
    **  Setup delegated for specialised editing
53
    */
88
    */
54
    ui->tableWidget->setItemDelegateForColumn(COL_ABR, new textDelegate(2));
89
    tableWidget->setItemDelegateForColumn(COL_ABR, new textDelegate(2));
55
    ui->tableWidget->setItemDelegateForColumn(COL_CLASS, new textDelegate(LEN_CLASS_NAME));
90
    tableWidget->setItemDelegateForColumn(COL_CLASS, new textDelegate(LEN_CLASS_NAME));
56
    ui->tableWidget->setItemDelegateForColumn(COL_TIME, new timeDelegate());
91
    tableWidget->setItemDelegateForColumn(COL_TIME, new timeDelegate());
57
    ui->tableWidget->setItemDelegateForColumn(COL_WINNERS, new SpinBoxDelegate(0,50));
92
    tableWidget->setItemDelegateForColumn(COL_WINNERS, new SpinBoxDelegate(0,50));
58
    ui->tableWidget->setItemDelegateForColumn(COL_NE_WINNERS, new SpinBoxDelegate(0,50));
93
    tableWidget->setItemDelegateForColumn(COL_NE_WINNERS, new SpinBoxDelegate(0,50));
59
 
94
 
60
    populate();
95
    populate();
61
 
96
 
62
 
97
 
63
    // Wire in the status button
98
    // Wire in the status button
64
    connect(ui->statusButton, SIGNAL(clicked()), this, SLOT(updateStatus()));
99
    connect(statusButton, SIGNAL(clicked()), this, SLOT(updateStatus()));
65
    statusShown = false;
100
    statusShown = false;
66
    ui->tableWidget->setColumnHidden(COL_ST_TOTAL, true);
101
    tableWidget->setColumnHidden(COL_ST_TOTAL, true);
67
    ui->tableWidget->setColumnHidden(COL_ST_VALID, true);
102
    tableWidget->setColumnHidden(COL_ST_VALID, true);
68
    ui->tableWidget->setColumnHidden(COL_ST_DISQ, true);
103
    tableWidget->setColumnHidden(COL_ST_DISQ, true);
69
    ui->tableWidget->setColumnHidden(COL_ST_NONEQ, true);
104
    tableWidget->setColumnHidden(COL_ST_NONEQ, true);
70
    ui->tableWidget->setColumnHidden(COL_ST_VET, true);
105
    tableWidget->setColumnHidden(COL_ST_VET, true);
71
    ui->tableWidget->setColumnHidden(COL_ST_CEV, true);
106
    tableWidget->setColumnHidden(COL_ST_CEV, true);
72
    ui->tableWidget->setColumnHidden(COL_ST_CNE, true);
107
    tableWidget->setColumnHidden(COL_ST_CNE, true);
73
 
108
 
74
    labels << "Total" << "Valid" <<"Disqual" << "NonEq" << "VetCheck" << "Comp Ev" << " Comp NE";
109
    labels << "Total" << "Valid" <<"Disqual" << "NonEq" << "VetCheck" << "Comp Ev" << " Comp NE";
75
 
110
 
76
    ui->tableWidget->setHorizontalHeaderLabels(labels);
111
    tableWidget->setHorizontalHeaderLabels(labels);
77
    ui->tableWidget->resizeColumnsToContents();
112
    tableWidget->resizeColumnsToContents();
78
 
113
 
79
}
114
}
80
 
115
 
81
void QmConfClass::populate(void)
116
void QmConfClass::populate(void)
82
{
117
{
83
    populating = true;
118
    populating = true;
84
    ui->tableWidget->setRowCount(config.num_class + 1);
119
    tableWidget->setRowCount(config.num_class + 1);
85
    for ( int ii = 0; ii < MAX_CLASS; ii++)
120
    for ( int ii = 0; ii < MAX_CLASS; ii++)
86
    {
121
    {
87
        ui->tableWidget->setItem(ii, COL_ABR, new QTableWidgetItem(config.team_class[ii].abr) );
122
        tableWidget->setItem(ii, COL_ABR, new QTableWidgetItem(config.team_class[ii].abr) );
88
        ui->tableWidget->setItem(ii, COL_CLASS, new QTableWidgetItem(config.team_class[ii].full_name ));
123
        tableWidget->setItem(ii, COL_CLASS, new QTableWidgetItem(config.team_class[ii].full_name ));
89
 
124
 
90
        if ( *config.team_class[ii].abr )
125
        if ( *config.team_class[ii].abr )
91
        {
126
        {
92
            QTableWidgetItem *item;
127
            QTableWidgetItem *item;
93
            item = new QTableWidgetItem();
128
            item = new QTableWidgetItem();
94
            item->setData(Qt::EditRole,QTime().addSecs(config.team_class[ii].start) );
129
            item->setData(Qt::EditRole,QTime().addSecs(config.team_class[ii].start) );
95
            ui->tableWidget->setItem(ii, COL_TIME, item);
130
            tableWidget->setItem(ii, COL_TIME, item);
96
 
131
 
97
            item = new QTableWidgetItem();
132
            item = new QTableWidgetItem();
98
            item->setData(Qt::EditRole,config.class_winners[ii] );
133
            item->setData(Qt::EditRole,config.class_winners[ii] );
99
            ui->tableWidget->setItem(ii, COL_WINNERS, item);
134
            tableWidget->setItem(ii, COL_WINNERS, item);
100
 
135
 
101
            item = new QTableWidgetItem();
136
            item = new QTableWidgetItem();
102
            item->setCheckState(config.nonequestrian_class == 1 + ii ? Qt::Checked : Qt::Unchecked);
137
            item->setCheckState(config.nonequestrian_class == 1 + ii ? Qt::Checked : Qt::Unchecked);
103
            ui->tableWidget->setItem(ii, COL_NE, item);
138
            tableWidget->setItem(ii, COL_NE, item);
104
 
139
 
105
            item = new QTableWidgetItem();
140
            item = new QTableWidgetItem();
106
            item->setData(Qt::EditRole,config.class_ne_winners[ii] );
141
            item->setData(Qt::EditRole,config.class_ne_winners[ii] );
107
            ui->tableWidget->setItem(ii, COL_NE_WINNERS, item);
142
            tableWidget->setItem(ii, COL_NE_WINNERS, item);
108
        }
143
        }
109
    }
144
    }
110
    updateChanged(false);
145
    updateChanged(false);
111
    populating = false;
146
    populating = false;
112
}
147
}
Line 121... Line 156...
121
    /*
156
    /*
122
    **  Extract the data from the Widgets
157
    **  Extract the data from the Widgets
123
    */
158
    */
124
    for ( int ii = 0; ii < MAX_CLASS; ii++)
159
    for ( int ii = 0; ii < MAX_CLASS; ii++)
125
    {
160
    {
126
        QTableWidgetItem *item = ui->tableWidget->item ( ii, COL_ABR );
161
        QTableWidgetItem *item = tableWidget->item ( ii, COL_ABR );
127
        if ( item )
162
        if ( item )
128
        {
163
        {
129
            strncpy(newcfg.team_class[ii].abr, qPrintable(item->text()), sizeof(newcfg.team_class[ii].abr)-1);
164
            strncpy(newcfg.team_class[ii].abr, qPrintable(item->text()), sizeof(newcfg.team_class[ii].abr)-1);
130
        }
165
        }
131
        else
166
        else
132
        {
167
        {
133
            *newcfg.team_class[ii].abr = 0;
168
            *newcfg.team_class[ii].abr = 0;
134
        }
169
        }
135
 
170
 
136
        item = ui->tableWidget->item ( ii, COL_CLASS );
171
        item = tableWidget->item ( ii, COL_CLASS );
137
        if ( item )
172
        if ( item )
138
        {
173
        {
139
            strncpy(newcfg.team_class[ii].full_name, qPrintable(item->text()), sizeof(newcfg.team_class[ii].full_name)-1);
174
            strncpy(newcfg.team_class[ii].full_name, qPrintable(item->text()), sizeof(newcfg.team_class[ii].full_name)-1);
140
        }
175
        }
141
        else
176
        else
142
        {
177
        {
143
            *newcfg.team_class[ii].full_name = 0;
178
            *newcfg.team_class[ii].full_name = 0;
144
        }
179
        }
145
 
180
 
146
        item = ui->tableWidget->item( ii, COL_TIME );
181
        item = tableWidget->item( ii, COL_TIME );
147
        if ( item )
182
        if ( item )
148
        {
183
        {
149
            QVariant data = item->data(Qt::EditRole);
184
            QVariant data = item->data(Qt::EditRole);
150
            if (data.isValid())
185
            if (data.isValid())
151
            {
186
            {
Line 159... Line 194...
159
        else
194
        else
160
        {
195
        {
161
            newcfg.team_class[ii].start = -1;
196
            newcfg.team_class[ii].start = -1;
162
        }
197
        }
163
 
198
 
164
        item = ui->tableWidget->item( ii, COL_WINNERS );
199
        item = tableWidget->item( ii, COL_WINNERS );
165
        if ( item )
200
        if ( item )
166
        {
201
        {
167
            newcfg.class_winners[ii] = item->data(Qt::EditRole).toInt();
202
            newcfg.class_winners[ii] = item->data(Qt::EditRole).toInt();
168
        }
203
        }
169
        else
204
        else
170
        {
205
        {
171
            newcfg.class_winners[ii] = 0;
206
            newcfg.class_winners[ii] = 0;
172
        }
207
        }
173
 
208
 
174
        item = ui->tableWidget->item( ii, COL_NE );
209
        item = tableWidget->item( ii, COL_NE );
175
        if ( item )
210
        if ( item )
176
        {
211
        {
177
            if ( item->checkState() == Qt::Checked)
212
            if ( item->checkState() == Qt::Checked)
178
            {
213
            {
179
                newcfg.nonequestrian_class = ii;
214
                newcfg.nonequestrian_class = ii;
180
                strncpy(newcfg.nonequestrian_class_abr, newcfg.team_class[ii].abr, sizeof(newcfg.team_class[ii].abr)-1);
215
                strncpy(newcfg.nonequestrian_class_abr, newcfg.team_class[ii].abr, sizeof(newcfg.team_class[ii].abr)-1);
181
            }
216
            }
182
        }
217
        }
183
 
218
 
184
        item = ui->tableWidget->item( ii, COL_NE_WINNERS );
219
        item = tableWidget->item( ii, COL_NE_WINNERS );
185
        if ( item )
220
        if ( item )
186
        {
221
        {
187
            newcfg.class_ne_winners[ii] = item->data(Qt::EditRole).toInt();
222
            newcfg.class_ne_winners[ii] = item->data(Qt::EditRole).toInt();
188
        }
223
        }
189
        else
224
        else
Line 294... Line 329...
294
    populate();
329
    populate();
295
}
330
}
296
 
331
 
297
QmConfClass::~QmConfClass()
332
QmConfClass::~QmConfClass()
298
{
333
{
299
    delete ui;
334
 
300
}
335
}
301
 
336
 
302
void QmConfClass::ctxMenu(const QPoint & pos)
337
void QmConfClass::ctxMenu(const QPoint & pos)
303
{
338
{
304
    qDebug("Context Menu");
339
    qDebug("Context Menu");
305
    QMenu *menu = new QMenu;
340
    QMenu *menu = new QMenu;
306
    QTableWidgetItem *item = ui->tableWidget->itemAt(pos);
341
    QTableWidgetItem *item = tableWidget->itemAt(pos);
307
    menu->addAction(tr("New Category"), this, SLOT(ctxMenuAddRow()));
342
    menu->addAction(tr("New Category"), this, SLOT(ctxMenuAddRow()));
308
    if (item)
343
    if (item)
309
    {
344
    {
310
        menu->addAction(tr("Delete Category"), this, SLOT(ctxMenuDeleteRow()));
345
        menu->addAction(tr("Delete Category"), this, SLOT(ctxMenuDeleteRow()));
311
    }
346
    }
312
   menu->exec(ui->tableWidget->mapToGlobal(pos));
347
   menu->exec(tableWidget->mapToGlobal(pos));
313
 
348
 
314
}
349
}
315
 
350
 
316
void QmConfClass::ctxMenuDeleteRow(void)
351
void QmConfClass::ctxMenuDeleteRow(void)
317
{
352
{
318
    //qDebug ("DELETE ROW: %d", ui->tableWidget->currentRow () );
353
    //qDebug ("DELETE ROW: %d", tableWidget->currentRow () );
319
    ui->tableWidget->removeRow(ui->tableWidget->currentRow ());
354
    tableWidget->removeRow(tableWidget->currentRow ());
320
    updateChanged(true);
355
    updateChanged(true);
321
}
356
}
322
 
357
 
323
void QmConfClass::ctxMenuAddRow(void)
358
void QmConfClass::ctxMenuAddRow(void)
324
{
359
{
325
    ui->tableWidget->setRowCount( 1+ ui->tableWidget->rowCount());
360
    tableWidget->setRowCount( 1+ tableWidget->rowCount());
326
}
361
}
327
 
362
 
328
void QmConfClass::updateStatus(void)
363
void QmConfClass::updateStatus(void)
329
{
364
{
330
    populating = true;
365
    populating = true;
331
    if (!statusShown)
366
    if (!statusShown)
332
    {
367
    {
333
        ui->tableWidget->setColumnHidden(COL_ST_TOTAL, false);
368
        tableWidget->setColumnHidden(COL_ST_TOTAL, false);
334
        ui->tableWidget->setColumnHidden(COL_ST_VALID, false);
369
        tableWidget->setColumnHidden(COL_ST_VALID, false);
335
        ui->tableWidget->setColumnHidden(COL_ST_DISQ, false);
370
        tableWidget->setColumnHidden(COL_ST_DISQ, false);
336
        ui->tableWidget->setColumnHidden(COL_ST_NONEQ, false);
371
        tableWidget->setColumnHidden(COL_ST_NONEQ, false);
337
        ui->tableWidget->setColumnHidden(COL_ST_VET, false);
372
        tableWidget->setColumnHidden(COL_ST_VET, false);
338
        ui->tableWidget->setColumnHidden(COL_ST_CEV, false);
373
        tableWidget->setColumnHidden(COL_ST_CEV, false);
339
        ui->tableWidget->setColumnHidden(COL_ST_CNE, false);
374
        tableWidget->setColumnHidden(COL_ST_CNE, false);
340
        statusShown = true;
375
        statusShown = true;
341
    }
376
    }
342
 
377
 
343
    if( load_report_data() )
378
    if( load_report_data() )
344
    {
379
    {
Line 350... Line 385...
350
        for (ii = 0; ii < config.num_class; ii++)
385
        for (ii = 0; ii < config.num_class; ii++)
351
        {
386
        {
352
            QTableWidgetItem *item;
387
            QTableWidgetItem *item;
353
            item = new QTableWidgetItem(QString::number(data.teamclass[ii+1].total));
388
            item = new QTableWidgetItem(QString::number(data.teamclass[ii+1].total));
354
            item->setFlags(Qt::NoItemFlags);
389
            item->setFlags(Qt::NoItemFlags);
355
            ui->tableWidget->setItem(ii,COL_ST_TOTAL, item );
390
            tableWidget->setItem(ii,COL_ST_TOTAL, item );
356
 
391
 
357
            item = new QTableWidgetItem(QString::number(data.teamclass[ii+1].valid));
392
            item = new QTableWidgetItem(QString::number(data.teamclass[ii+1].valid));
358
            item->setFlags(Qt::NoItemFlags);
393
            item->setFlags(Qt::NoItemFlags);
359
            ui->tableWidget->setItem(ii,COL_ST_VALID, item );
394
            tableWidget->setItem(ii,COL_ST_VALID, item );
360
 
395
 
361
            item = new QTableWidgetItem(QString::number(data.teamclass[ii+1].disqualified)) ;
396
            item = new QTableWidgetItem(QString::number(data.teamclass[ii+1].disqualified)) ;
362
            item->setFlags(Qt::NoItemFlags);
397
            item->setFlags(Qt::NoItemFlags);
363
            ui->tableWidget->setItem(ii,COL_ST_DISQ, item);
398
            tableWidget->setItem(ii,COL_ST_DISQ, item);
364
 
399
 
365
            item = new QTableWidgetItem(QString::number(data.teamclass[ii+1].non_equestrian));
400
            item = new QTableWidgetItem(QString::number(data.teamclass[ii+1].non_equestrian));
366
            item->setFlags(Qt::NoItemFlags);
401
            item->setFlags(Qt::NoItemFlags);
367
            ui->tableWidget->setItem(ii,COL_ST_NONEQ, item);
402
            tableWidget->setItem(ii,COL_ST_NONEQ, item);
368
 
403
 
369
            item = new QTableWidgetItem(QString::number(data.teamclass[ii+1].vet_check));
404
            item = new QTableWidgetItem(QString::number(data.teamclass[ii+1].vet_check));
370
            item->setFlags(Qt::NoItemFlags);
405
            item->setFlags(Qt::NoItemFlags);
371
            ui->tableWidget->setItem(ii,COL_ST_VET, item);
406
            tableWidget->setItem(ii,COL_ST_VET, item);
372
 
407
 
373
            item = new QTableWidgetItem(QString::number(data.teamclass[ii+1].valid_ev));
408
            item = new QTableWidgetItem(QString::number(data.teamclass[ii+1].valid_ev));
374
            item->setFlags(Qt::NoItemFlags);
409
            item->setFlags(Qt::NoItemFlags);
375
            ui->tableWidget->setItem(ii,COL_ST_CEV, item);
410
            tableWidget->setItem(ii,COL_ST_CEV, item);
376
 
411
 
377
            item = new QTableWidgetItem(QString::number(data.teamclass[ii+1].valid_ne));
412
            item = new QTableWidgetItem(QString::number(data.teamclass[ii+1].valid_ne));
378
            item->setFlags(Qt::NoItemFlags);
413
            item->setFlags(Qt::NoItemFlags);
379
            ui->tableWidget->setItem(ii,COL_ST_CNE, item);
414
            tableWidget->setItem(ii,COL_ST_CNE, item);
380
            
415
            
381
        }
416
        }
382
 
417
 
383
        ui->tableWidget->resizeColumnsToContents();
418
        tableWidget->resizeColumnsToContents();
384
        ui->tableWidget->resizeRowsToContents();
419
        tableWidget->resizeRowsToContents();
385
    }
420
    }
386
    populating = false;
421
    populating = false;
387
}
422
}
388
 
423
 
389
void QmConfClass::cellChanged(int row,int col)
424
void QmConfClass::cellChanged(int row,int col)
Line 393... Line 428...
393
    updateChanged(true);
428
    updateChanged(true);
394
    populating = true;
429
    populating = true;
395
    //qDebug("Cell changed: %d, %d", row, col);
430
    //qDebug("Cell changed: %d, %d", row, col);
396
    if (col == COL_NE)
431
    if (col == COL_NE)
397
    {
432
    {
398
        for (int ii = 0; ii < ui->tableWidget->rowCount(); ii++)
433
        for (int ii = 0; ii < tableWidget->rowCount(); ii++)
399
        {
434
        {
400
            QTableWidgetItem *item = ui->tableWidget->item(ii, COL_NE);
435
            QTableWidgetItem *item = tableWidget->item(ii, COL_NE);
401
            if (item)
436
            if (item)
402
            {
437
            {
403
                item->setCheckState(ii == row ? Qt::Checked : Qt::Unchecked);
438
                item->setCheckState(ii == row ? Qt::Checked : Qt::Unchecked);
404
            }
439
            }
405
        }
440
        }
Line 412... Line 447...
412
    if (newDirty != dirty)
447
    if (newDirty != dirty)
413
    {
448
    {
414
        dirty = newDirty;
449
        dirty = newDirty;
415
        if (dirty)
450
        if (dirty)
416
        {
451
        {
417
            ui->pushButtonSave->setEnabled(true);
452
            pushButtonSave->setEnabled(true);
418
            ui->pushButtonSave->setStyleSheet("background-color: rgb(255, 0, 0);");
453
            pushButtonSave->setStyleSheet("background-color: rgb(255, 0, 0);");
419
        }
454
        }
420
        else
455
        else
421
        {
456
        {
422
            ui->pushButtonSave->setEnabled(false);
457
            pushButtonSave->setEnabled(false);
423
            ui->pushButtonSave->setStyleSheet("");
458
            pushButtonSave->setStyleSheet("");
424
        }
459
        }
425
    }
460
    }
426
}
461
}
427
 
462
 
428
void QmConfClass::changeEvent(QEvent *e)
463
void QmConfClass::changeEvent(QEvent *e)
429
{
464
{
430
    QWidget::changeEvent(e);
465
    QWidget::changeEvent(e);
431
    switch (e->type()) {
466
    switch (e->type()) {
432
    case QEvent::LanguageChange:
-
 
433
        ui->retranslateUi(this);
-
 
434
        break;
467
 
435
    default:
468
    default:
436
        break;
469
        break;
437
    }
470
    }
438
}
471
}