1
0
mirror of https://github.com/altlinux/admc.git synced 2025-02-13 17:57:25 +03:00

improve "Import Query" action

so it's possible to import multiple queries at the same time
closes #365
This commit is contained in:
Dmitry Degtyarev 2022-07-07 15:41:36 +04:00
parent 23ec5e9fa9
commit 39ff76c65e

View File

@ -297,20 +297,21 @@ void QueryFolderImpl::paste(const QList<QModelIndex> &index_list) {
void QueryFolderImpl::on_import() {
const QModelIndex parent_index = console->get_selected_item(ItemType_QueryFolder);
const QString file_path = [&]() {
const QList<QString> path_list = [&]() {
const QString caption = QCoreApplication::translate("query_item_impl.cpp", "Import Query");
const QString dir = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation);
const QString file_filter = QCoreApplication::translate("query_item_impl.cpp", "JSON (*.json)");
const QString out = QFileDialog::getOpenFileName(console, caption, dir, file_filter);
const QList<QString> out = QFileDialog::getOpenFileNames(console, caption, dir, file_filter);
return out;
}();
if (file_path.isEmpty()) {
if (path_list.isEmpty()) {
return;
}
for (const QString &file_path : path_list) {
const QHash<QString, QVariant> data = [&]() {
QFile file(file_path);
file.open(QIODevice::ReadOnly);
@ -331,6 +332,7 @@ void QueryFolderImpl::on_import() {
}();
console_query_item_load_hash(console, data, parent_index);
}
console_query_tree_save(console);
}