123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- #include "lotroprocessdialog.h"
- #include "ui_processdialog.h"
- #include <QPixmap>
- #include <QBitmap>
- #include <QMouseEvent>
- #include "models/lotromanager.h"
- #include <QTextCodec>
- using namespace LOTRO_DAT;
- LotroProcessDialog::LotroProcessDialog(LotroManager* mgr, QWidget *parent) :
- QDialog(parent),
- ui(new Ui::ProcessDialog), lotro_manager(mgr)
- {
- ui->setupUi(this);
- setModal(true);
- setWindowTitle("Выполнение операции...");
- QPixmap background(":/assets/backgrounds/process_dialog.png");
- QPixmap current_bg = background.scaled(width(), height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
- QBitmap current_mask = current_bg.mask();
- setMask(current_mask);
- QPalette palette;
- palette.setBrush(QPalette::Window, current_bg);
- setPalette(palette);
- loader.setFileName(":/assets/backgrounds/loading-gear.gif");
- ui->loader->setMovie(&loader);
- loader.setScaledSize(ui->loader->size());
- loader.start();
- uiUpdateTimer.setInterval(30);
- connect(&uiUpdateTimer, &QTimer::timeout, this, &LotroProcessDialog::updateUI);
- uiUpdateTimer.start();
- }
- void LotroProcessDialog::mousePressEvent(QMouseEvent *event)
- {
- if (event->button() == Qt::LeftButton) {
- dragPosition = event->globalPos() - frameGeometry().topLeft();
- event->accept();
- }
- }
- void LotroProcessDialog::updateUI()
- {
- if (!qApp)
- return;
- }
- void LotroProcessDialog::mouseMoveEvent(QMouseEvent *event)
- {
- if (event->buttons() & Qt::LeftButton) {
- move(event->globalPos() - dragPosition);
- event->accept();
- }
- }
- LotroProcessDialog::~LotroProcessDialog()
- {
- delete ui;
- }
|