Subversion Repositories svn1-original

Rev

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

Rev 140 Rev 182
Line 86... Line 86...
86
        if( valid_field( team ) )
86
        if( valid_field( team ) )
87
        {
87
        {
88
            g_record( team, &team_buf );
88
            g_record( team, &team_buf );
89
            if( team_buf.flags.valid || true )
89
            if( team_buf.flags.valid || true )
90
            {
90
            {
91
                QTableWidgetItem *item;
91
                qmDisqualifiedItem *item;
92
 
92
 
93
                ui->tableWidget->showRow( team );
93
                ui->tableWidget->showRow( team );
94
 
94
 
95
                item = new QTableWidgetItem(QString::number(team));
95
                item = new qmDisqualifiedItem(team);
96
                item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
96
                item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
97
                ui->tableWidget->setItem(team, 0, item );
97
                ui->tableWidget->setItem(team, 0, item );
98
 
98
 
99
                item = new QTableWidgetItem(team_buf.name);
99
                item = new qmDisqualifiedItem(team_buf.name);
100
                item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
100
                item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
101
                ui->tableWidget->setItem(team, 1, item );
101
                ui->tableWidget->setItem(team, 1, item );
102
 
102
 
103
                item = new QTableWidgetItem("Disq");
-
 
104
                item->setCheckState(team_buf.flags.disqualified ? Qt::Checked : Qt::Unchecked);
-
 
105
                ui->tableWidget->setItem(team, 2, item );
103
                ui->tableWidget->setItem(team, 2, new qmDisqualifiedItem("Disq", team_buf.flags.disqualified, team) );
106
 
-
 
107
                item = new QTableWidgetItem("Non Equest");
-
 
108
                item->setCheckState(team_buf.flags.non_equestrian ? Qt::Checked : Qt::Unchecked);
104
                ui->tableWidget->setItem(team, 3, new qmDisqualifiedItem("Non Equest",team_buf.flags.non_equestrian,team) );
109
                ui->tableWidget->setItem(team, 3, item );
-
 
110
 
-
 
111
                item = new QTableWidgetItem("Enable");
-
 
112
                item->setCheckState(team_buf.flags.valid ? Qt::Checked : Qt::Unchecked);
-
 
113
                ui->tableWidget->setItem(team, 4, item );
105
                ui->tableWidget->setItem(team, 4, new qmDisqualifiedItem("Enable", team_buf.flags.valid,team) );
114
            }
106
            }
115
        }
107
        }
116
    }
108
    }
-
 
109
    ui->tableWidget->sortByColumn(0,Qt::AscendingOrder);
117
    ui->tableWidget->setSortingEnabled(TRUE);
110
    ui->tableWidget->setSortingEnabled(TRUE);
118
    ui->tableWidget->resizeColumnsToContents();
111
    ui->tableWidget->resizeColumnsToContents();
-
 
112
 
119
    inPopulate = FALSE;
113
    inPopulate = FALSE;
120
}
114
}
121
 
115
 
122
void qmDisqualified::tableItemChanged(QTableWidgetItem *item)
116
void qmDisqualified::tableItemChanged(QTableWidgetItem *item)
123
{
117
{
Line 132... Line 126...
132
            int row = item->row();
126
            int row = item->row();
133
            item->tableWidget()->item(row,0)->setData(Qt::UserRole + 1, true );
127
            item->tableWidget()->item(row,0)->setData(Qt::UserRole + 1, true );
134
        }
128
        }
135
    }
129
    }
136
}
130
}
-
 
131
 
-
 
132
qmDisqualifiedItem::qmDisqualifiedItem ( const QString & text, int type ) :  QTableWidgetItem(text, type+QTableWidgetItem::UserType)
-
 
133
{
-
 
134
    number = 0;
-
 
135
}
-
 
136
qmDisqualifiedItem::qmDisqualifiedItem ( int value, int type ) :  QTableWidgetItem(type+QTableWidgetItem::UserType)
-
 
137
{
-
 
138
    number = value;
-
 
139
    setData(0,value);
-
 
140
}
-
 
141
qmDisqualifiedItem::qmDisqualifiedItem ( const QString & text, bool checked, int num, int type ) : QTableWidgetItem(text, type+QTableWidgetItem::UserType)
-
 
142
{
-
 
143
    setCheckState(checked ? Qt::Checked : Qt::Unchecked);
-
 
144
    number = num;
-
 
145
}
-
 
146
 
-
 
147
// Special sorting, based on type
-
 
148
//      type == 0 : Text
-
 
149
//      type == 1 : Number
-
 
150
//      type == 2 : Checked
-
 
151
//
-
 
152
bool qmDisqualifiedItem::operator< ( const QTableWidgetItem & other ) const
-
 
153
{
-
 
154
    const qmDisqualifiedItem * other_widget = dynamic_cast<const qmDisqualifiedItem*>(&other);
-
 
155
    if (other_widget && other_widget->type() == QTableWidgetItem::UserType + 2 )
-
 
156
    {
-
 
157
        if (other_widget->checkState() == checkState() )
-
 
158
        {
-
 
159
//            qDebug ("Same(%d): %d : %d", other_widget->number < number, other_widget->number, number);
-
 
160
            if (this->tableWidget()->horizontalHeader()->sortIndicatorOrder() != Qt::AscendingOrder )
-
 
161
            {
-
 
162
                return other_widget->number < number;
-
 
163
            }
-
 
164
            else
-
 
165
            {
-
 
166
                return number < other_widget->number;
-
 
167
            }
-
 
168
        }
-
 
169
        return (other_widget->checkState() < checkState() );
-
 
170
    }
-
 
171
 
-
 
172
    return ( QTableWidgetItem::operator< (other) );
-
 
173
}