Avoid creating unnecessary event loops

This is part 2.
This commit is contained in:
Chocobo1 2019-06-19 11:26:17 +08:00
parent 183db3475a
commit 88c3ffbef8
No known key found for this signature in database
GPG key ID: 210D9C873253A68C
5 changed files with 86 additions and 67 deletions

View file

@ -89,13 +89,16 @@ void TorrentCategoryDialog::editCategory(QWidget *parent, const QString &categor
Q_ASSERT(Session::instance()->categories().contains(categoryName));
TorrentCategoryDialog dialog(parent);
dialog.setCategoryNameEditable(false);
dialog.setCategoryName(categoryName);
dialog.setSavePath(Session::instance()->categories()[categoryName]);
if (dialog.exec() == TorrentCategoryDialog::Accepted) {
Session::instance()->editCategory(categoryName, dialog.savePath());
}
auto dialog = new TorrentCategoryDialog(parent);
dialog->setAttribute(Qt::WA_DeleteOnClose);
dialog->setCategoryNameEditable(false);
dialog->setCategoryName(categoryName);
dialog->setSavePath(Session::instance()->categories()[categoryName]);
connect(dialog, &TorrentCategoryDialog::accepted, parent, [dialog, categoryName]()
{
Session::instance()->editCategory(categoryName, dialog->savePath());
});
dialog->open();
}
void TorrentCategoryDialog::setCategoryNameEditable(bool editable)