//No need to mind about the parameter, it has no meaning for table models.
- qDebug () << "rowCount asked";
+// qDebug () << "rowCount asked";
- qDebug () << currentTimers_.length();
+// qDebug () << currentTimers_.length();
return currentTimers_.length();
}
- qDebug () << timeAsText;
+// qDebug () << timeAsText;
- return timeAsText;
+ return timeAsText;
case statusColumnNumber_:
//No need to care for the column number, all have the same color
- qDebug() << "BackgroundRole asked";
+// qDebug() << "BackgroundRole asked";
if (currentTimers_.at(index.row())->isAlerting())
{
- qDebug() << "black background";
+// qDebug() << "black background";
return QBrush (QColor(Qt::black));
}
else
{
- qDebug() << "red background";
+// qDebug() << "red background";
return QBrush (QColor(Qt::red));
}
default:
foreach (Timer* timer, timers)
{
connect (timer,SIGNAL(remainingTimeChanged()),this,SLOT(refreshTimeColumn()));
- qDebug() << "timer connected";
+// qDebug() << "timer connected";
timer->setParent(this); //The model becomes the timers parent giving the timer access to model
}
+
+ int nextRow = rowCount(QModelIndex()); //As row numbering starts from zero, number of the rows is the row number of the row after current ones
+ int lastRow = nextRow + timers.length()-1;
+ beginInsertRows(QModelIndex(),nextRow,lastRow);
currentTimers_.append(timers);
- qDebug() << "Timers should be appended";
- reset();
+ endInsertRows();
+// qDebug() << "Timers should be appended";
+// reset();
}
if (updateViewOnChanges_ == true) //Only update GUI if active to save battery
{
emit dataChanged(createIndex(0,1),createIndex(rowCount(QModelIndex())-1,1)); //Entire time column refreshed
- qDebug() << "Refresh time column";
+// qDebug() << "Refresh time column";
}
}
return false;
}
+
+void CurrentAlertsTableModel::removeTimer(QModelIndex index)
+{
+ if (index.isValid())
+ {
+ int row = index.row();
+ beginRemoveRows(QModelIndex(),row,row);
+ Timer* p_timer = currentTimers_.takeAt(row);
+ endRemoveRows();
+ delete p_timer;
+ }
+}