diff --git a/mainwindow.cpp b/mainwindow.cpp index 0ba6064..9edee31 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -52,19 +52,15 @@ void MainWindow::onGridUpdated() { if (iter->size() > 1) { - QTreeWidgetItem *topItem = new QTreeWidgetItem(ui->treeWarnings, QStringList{ - QString("Color \"%1\" is used by several lines:").arg(iter.key()) - }); + QString warningTitle = QString("Color \"%1\" is used by several lines:").arg(iter.key()); + QStringList warningDescription{}; for(int i = 0; i < iter->size(); i++) { - QTreeWidgetItem *innerItem = new QTreeWidgetItem(topItem, QStringList { - QString("Line #%1").arg(iter->at(i)) - }); - topItem->addChild(innerItem); + warningDescription.push_back(QString("Line #%1").arg(iter->at(i))); } - ui->treeWarnings->addTopLevelItem(topItem); + throwWarning(warningTitle, warningDescription); } } ui->treeWarnings->expandAll(); @@ -122,6 +118,17 @@ bool MainWindow::isSelectedLineCorrect(int line) return line >= 0 && line < size && size > 0; } +void MainWindow::throwWarning(const QString &title, const QStringList &description) +{ + QTreeWidgetItem *titleItem = new QTreeWidgetItem(ui->treeWarnings, QStringList{ title }); + for (auto iter = description.begin(); iter != description.end(); iter++) + { + QTreeWidgetItem *descriptionItem = new QTreeWidgetItem(titleItem, QStringList{ *iter }); + titleItem->addChild(descriptionItem); + } + ui->treeWarnings->addTopLevelItem(titleItem); +} + void MainWindow::on_buttonSave_clicked() { diff --git a/mainwindow.h b/mainwindow.h index fed122c..83381e9 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -41,5 +41,6 @@ private: int lastEditedLine = -1; bool isSelectedLineCorrect(int line); + void throwWarning(const QString &title, const QStringList &description); }; #endif // MAINWINDOW_H