120{
121 QStandardItemModel *model = new QStandardItemModel(this);
122 model->setColumnCount(ColumnCount);
123
124 QLocale locale = this->locale();
125 const QString &dateFormat = locale.dateTimeFormat(QLocale::ShortFormat);
127 QStandardItem *nameCol = new QStandardItem(info.name);
128 nameCol->setData(info.path, valueRole);
129 model->appendRow({
130 new CheckedIconItem(info.thumbnail,
ui->treeDirectories->iconSize()),
131 nameCol,
132 new DataSortedItem(locale.formattedDataSize(info.size), info.size),
133 new DataSortedItem(info.dateTime.toString(dateFormat), info.dateTime.toMSecsSinceEpoch())
134 });
135 }
136
137 model->setHorizontalHeaderItem(ColumnCheck,
138 new QStandardItem(i18nc("Header title for preview thumbnail", "Preview")));
139 model->setHorizontalHeaderItem(ColumnName,
140 new QStandardItem(i18nc("Header title for directory name column", "Name")));
141 model->setHorizontalHeaderItem(ColumnSize,
142 new QStandardItem(i18nc("Header title for size of directory column", "Size")));
143 model->setHorizontalHeaderItem(ColumnDate,
144 new QStandardItem(i18nc("Header title for last modified date/time column", "Last Modified")));
145
146 QAbstractItemModel *oldModel =
ui->treeDirectories->model();
147 QItemSelectionModel *oldSelectionModel =
ui->treeDirectories->selectionModel();
148 ui->treeDirectories->setModel(model);
149 if (oldModel != nullptr)
150 oldModel->deleteLater();
151 if (oldSelectionModel != nullptr)
152 oldSelectionModel->deleteLater();
153
155 ui->stackedWidget->setCurrentIndex(PageSelection);
156
157 for(int col = 0; col < (ColumnCount - 1); ++col) {
158 ui->treeDirectories->resizeColumnToContents(col);
159 const int colWidth =
ui->treeDirectories->columnWidth(col);
160 ui->treeDirectories->setColumnWidth(col, colWidth + defaultColumnMargin);
161 }
162
163 connect(
ui->treeDirectories->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
165}
void onSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)