123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- #include "importwidget.h"
- #include "ui_importwidget.h"
- #include "models/lotrodatmanager.h"
- #include <QFileDialog>
- #include <QMessageBox>
- #include <QTextEdit>
- #include <QDebug>
- ImportWidget::ImportWidget(LotroDatManager* mgr, QSettings* settings, QWidget *parent) :
- QWidget(parent), lotro_manager(mgr), settings(settings),
- ui(new Ui::ImportWidget)
- {
- ui->setupUi(this);
- ui->database_import_radiobutton_common->click();
- connect(lotro_manager, &LotroDatManager::textFragmentReceived, this, &ImportWidget::onTextFragmentContentsReceived, Qt::QueuedConnection);
- }
- ImportWidget::~ImportWidget()
- {
- delete ui;
- }
- void ImportWidget::hideAllImportOptions()
- {
- ui->file_import_widget->hide();
- ui->textfragment_import_widget->hide();
- ui->database_import_widget->hide();
- }
- void ImportWidget::onTextFragmentContentsReceived(QString args, QString content)
- {
- ui->fragment_args_common->setText(args);
- ui->fragment_content_common->setText(content);
- }
- void ImportWidget::on_database_import_radiobutton_common_clicked()
- {
- hideAllImportOptions();
- ui->database_import_widget->show();
- }
- void ImportWidget::on_file_import_radiobutton_common_clicked()
- {
- hideAllImportOptions();
- ui->file_import_widget->show();
- }
- void ImportWidget::on_textfragment_import_radiobutton_common_clicked()
- {
- hideAllImportOptions();
- ui->textfragment_import_widget->show();
- }
- void ImportWidget::on_database_import_button_common_clicked()
- {
- QString fileName = QFileDialog::getOpenFileName(this->parentWidget(), "Открытие файла",
- settings->value("advanced/import_path", "").toString(), "База данных (*.db);;Все файлы (*)");
- if (fileName.isEmpty())
- return;
- settings->setValue("advanced/import_path", fileName.left(std::max(fileName.lastIndexOf('/'), fileName.lastIndexOf('\\'))));
- settings->sync();
- QMetaObject::invokeMethod(lotro_manager, "importFilesFromDatabase",
- Qt::QueuedConnection, Q_ARG(QString, fileName));
- }
- void ImportWidget::on_file_import_button_common_clicked()
- {
- if (ui->import_file_id_common->text().toLongLong() == 0) {
- QMessageBox::warning(this->parentWidget(), "Не указан ID импортируемого файла!", "Укажите, пожалуйста, корректный (числовой) ID импортируемого файла");
- return;
- }
- QString fileName = QFileDialog::getOpenFileName(this->parentWidget(), "Открытие файла",
- settings->value("advanced/import_path", "").toString(), "Все файлы (*)");
- if (fileName.isEmpty())
- return;
- settings->setValue("advanced/import_path", fileName.left(std::max(fileName.lastIndexOf('/'), fileName.lastIndexOf('\\'))));
- settings->sync();
- QMetaObject::invokeMethod(lotro_manager, "importFile", Qt::QueuedConnection,
- Q_ARG(long long, ui->import_file_id_common->text().toLongLong()),
- Q_ARG(QString, fileName)
- );
- }
- void ImportWidget::on_get_file_fragments_button_common_clicked()
- {
- if (ui->file_id_input_common->text().toLongLong() == 0) {
- QMessageBox::warning(this->parentWidget(), "Не указан ID импортируемого файла!", "Укажите, пожалуйста, корректный (числовой) ID импортируемого текстового файла!");
- return;
- }
- if (ui->fragment_id_input_common->text().toLongLong() == 0) {
- QMessageBox::warning(this->parentWidget(), "Не указан ID фрагмента!", "Укажите, пожалуйста, корректный (числовой) ID фрагмента!");
- return;
- }
- QMetaObject::invokeMethod(lotro_manager, "getTextFragment", Qt::QueuedConnection,
- Q_ARG(long long, ui->file_id_input_common->text().toLongLong()),
- Q_ARG(long long, ui->fragment_id_input_common->text().toLongLong())
- );
- }
- void ImportWidget::on_textfragment_import_common_clicked()
- {
- if (ui->file_id_input_common->text().toLongLong() == 0) {
- QMessageBox::warning(this->parentWidget(), "Не указан ID импортируемого файла!", "Укажите, пожалуйста, корректный (числовой) ID импортируемого текстового файла!");
- return;
- }
- if (ui->fragment_id_input_common->text().toLongLong() == 0) {
- QMessageBox::warning(this->parentWidget(), "Не указан ID фрагмента!", "Укажите, пожалуйста, корректный (числовой) ID фрагмента!");
- return;
- }
- QMetaObject::invokeMethod(lotro_manager, "importTextFragment", Qt::QueuedConnection,
- Q_ARG(long long, ui->file_id_input_common->text().toLongLong()),
- Q_ARG(long long, ui->fragment_id_input_common->text().toLongLong()),
- Q_ARG(QString, ui->fragment_content_common->toPlainText()),
- Q_ARG(QString, ui->fragment_args_common->text())
- );
- }
|