1
0
mirror of https://github.com/d47081/qBittorrent.git synced 2025-01-23 13:04:23 +00:00

- Fix defining a new label from torrent addition dialog

- Stop catching SIGABRT, SIGSEGV once one is received to avoid possible infinite loop
This commit is contained in:
Christophe Dumez 2010-01-03 14:38:59 +00:00
parent 824b2f6fff
commit 8f4bf93f02
4 changed files with 12 additions and 1 deletions

View File

@ -101,6 +101,8 @@ void sigtermHandler(int) {
app->exit();
}
void sigsegvHandler(int) {
signal(SIGABRT, 0);
signal(SIGTERM, 0);
std::cerr << "\n\n*************************************************************\n";
std::cerr << "Catching SIGSEGV, please report a bug at http://bug.qbittorrent.org\nand provide the following backtrace:\n";
print_stacktrace();
@ -108,6 +110,8 @@ void sigsegvHandler(int) {
std::abort();
}
void sigabrtHandler(int) {
signal(SIGABRT, 0);
signal(SIGTERM, 0);
std::cerr << "\n\n*************************************************************\n";
std::cerr << "Catching SIGABRT, please report a bug at http://bug.qbittorrent.org\nand provide the following backtrace:\n";
print_stacktrace();

View File

@ -329,6 +329,7 @@ protected slots:
void torrentAdded(QModelIndex index) {
Q_ASSERT(index.isValid());
QString label = transferList->model()->index(index.row(), TR_LABEL).data(Qt::DisplayRole).toString().trimmed();
qDebug("New torrent was added with label: %s", label.toLocal8Bit().data());
if(!label.isEmpty()) {
if(!customLabels.contains(label)) {
addLabel(label);

View File

@ -192,7 +192,7 @@ void TransferListWidget::addTorrent(QTorrentHandle& h) {
if(listModel->rowCount() == 1)
selectionModel()->setCurrentIndex(proxyModel->index(row, TR_NAME), QItemSelectionModel::SelectCurrent|QItemSelectionModel::Rows);
// Emit signal
emit torrentAdded(listModel->index(row, 0));
emit torrentAdded(mapFromSource(listModel->index(row, 0)));
// Refresh the list
refreshList();
} catch(invalid_handle e) {
@ -490,6 +490,11 @@ QModelIndex TransferListWidget::mapToSource(QModelIndex index) const {
return labelFilterModel->mapToSource(proxyModel->mapToSource(index));
}
QModelIndex TransferListWidget::mapFromSource(QModelIndex index) const {
return proxyModel->mapFromSource(labelFilterModel->mapFromSource(index));
}
QStringList TransferListWidget::getCustomLabels() const {
QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent"));
settings.beginGroup(QString::fromUtf8("TransferListFilters"));

View File

@ -64,6 +64,7 @@ protected:
int getRowFromHash(QString hash) const;
QString getHashFromRow(int row) const;
QModelIndex mapToSource(QModelIndex index) const;
QModelIndex mapFromSource(QModelIndex index) const;
QStringList getCustomLabels() const;
void saveColWidthList();
bool loadColWidthList();