ui->unknownFilesView->setSelectionBehavior(QAbstractItemView::SelectRows);
model->setRelation(2, QSqlRelation("host", "host_id", "name"));
- model->setHeaderData(0, Qt::Horizontal, tr("ed2k"));
+ model->setHeaderData(0, Qt::Horizontal, tr("Ed2k"));
model->setHeaderData(1, Qt::Horizontal, tr("Size"));
model->setHeaderData(2, Qt::Horizontal, tr("Host"));
model->setHeaderData(3, Qt::Horizontal, tr("Path"));
+
+ ui->unknownFilesView->setSelectionMode(QAbstractItemView::ContiguousSelection);
+
+ connect(ui->clearSelectionButton, SIGNAL(clicked()), ui->unknownFilesView, SLOT(clearSelection()));
+ connect(ui->selectAllButton, SIGNAL(clicked()), ui->unknownFilesView, SLOT(selectAll()));
+ connect(ui->deleteButton, SIGNAL(clicked()), this, SLOT(deleteSelected()));
}
void UnknownFilesTab::activate()
model->select();
ui->unknownFilesView->setModel(model);
}
+
+void UnknownFilesTab::deleteSelected()
+{
+ using namespace LocalMyList;
+
+ QModelIndexList selection = ui->unknownFilesView->selectionModel()->selectedRows();
+
+ RaiiTransaction t(MyList::instance()->database());
+ for (const QModelIndex &idx : selection)
+ {
+ QByteArray ed2k = idx.data().toByteArray();
+ qint64 size = model->data(model->index(idx.row(), 1)).toLongLong();
+
+ MyList::instance()->database()->removeUnknownFile(ed2k, size);
+ PendingRequest pr;
+ pr.ed2k = ed2k;
+ pr.size = size;
+ MyList::instance()->database()->clearRequest(pr);
+ }
+ t.commit();
+ model->select();
+}
<item>
<widget class="QTableView" name="unknownFilesView"/>
</item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QPushButton" name="selectAllButton">
+ <property name="text">
+ <string>Select All</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="clearSelectionButton">
+ <property name="text">
+ <string>Clear Selection</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="deleteButton">
+ <property name="text">
+ <string>Delete Selected</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
</layout>
</widget>
<resources/>