LoadSetsPage::LoadSetsPage(QWidget *parent) : OracleWizardPage(parent), nam(0) { urlRadioButton = new QRadioButton(this); fileRadioButton = new QRadioButton(this); urlLineEdit = new QLineEdit(this); fileLineEdit = new QLineEdit(this); progressLabel = new QLabel(this); progressBar = new QProgressBar(this); urlRadioButton->setChecked(true); urlButton = new QPushButton(this); connect(urlButton, SIGNAL(clicked()), this, SLOT(actRestoreDefaultUrl())); fileButton = new QPushButton(this); connect(fileButton, SIGNAL(clicked()), this, SLOT(actLoadSetsFile())); QGridLayout *layout = new QGridLayout(this); layout->addWidget(urlRadioButton, 0, 0); layout->addWidget(urlLineEdit, 0, 1); layout->addWidget(urlButton, 1, 1, Qt::AlignRight); layout->addWidget(fileRadioButton, 2, 0); layout->addWidget(fileLineEdit, 2, 1); layout->addWidget(fileButton, 3, 1, Qt::AlignRight); layout->addWidget(progressLabel, 4, 0); layout->addWidget(progressBar, 4, 1); connect(&watcher, SIGNAL(finished()), this, SLOT(importFinished())); setLayout(layout); }
LoadSetsPage::LoadSetsPage(QWidget *parent) : OracleWizardPage(parent), nam(0) { setTitle(tr("Source selection")); setSubTitle(tr("Please specify a source for the list of sets and cards. " "You can specify an url address that will be download or " "use an existing file from your computer.")); urlRadioButton = new QRadioButton(tr("Download url:"), this); fileRadioButton = new QRadioButton(tr("Local file:"), this); urlLineEdit = new QLineEdit(this); fileLineEdit = new QLineEdit(this); progressLabel = new QLabel(this); progressBar = new QProgressBar(this); urlRadioButton->setChecked(true); fileButton = new QPushButton(tr("Choose file..."), this); connect(fileButton, SIGNAL(clicked()), this, SLOT(actLoadSetsFile())); QGridLayout *layout = new QGridLayout(this); layout->addWidget(urlRadioButton, 0, 0); layout->addWidget(urlLineEdit, 0, 1); layout->addWidget(fileRadioButton, 1, 0); layout->addWidget(fileLineEdit, 1, 1); layout->addWidget(fileButton, 2, 1, Qt::AlignRight); layout->addWidget(progressLabel, 3, 0); layout->addWidget(progressBar, 3, 1); connect(&watcher, SIGNAL(finished()), this, SLOT(importFinished())); setLayout(layout); }
WindowMain::WindowMain(QWidget *parent) : QMainWindow(parent) { importer = new OracleImporter(QDesktopServices::storageLocation(QDesktopServices::DataLocation), this); nam = new QNetworkAccessManager(this); checkBoxLayout = new QVBoxLayout; QWidget *checkboxFrame = new QWidget; checkboxFrame->setLayout(checkBoxLayout); QScrollArea *checkboxArea = new QScrollArea; checkboxArea->setWidget(checkboxFrame); checkboxArea->setWidgetResizable(true); checkAllButton = new QPushButton(tr("&Check all")); connect(checkAllButton, SIGNAL(clicked()), this, SLOT(actCheckAll())); uncheckAllButton = new QPushButton(tr("&Uncheck all")); connect(uncheckAllButton, SIGNAL(clicked()), this, SLOT(actUncheckAll())); QHBoxLayout *checkAllButtonLayout = new QHBoxLayout; checkAllButtonLayout->addWidget(checkAllButton); checkAllButtonLayout->addWidget(uncheckAllButton); startButton = new QPushButton(tr("&Start download")); connect(startButton, SIGNAL(clicked()), this, SLOT(actStart())); QVBoxLayout *settingsLayout = new QVBoxLayout; settingsLayout->addWidget(checkboxArea); settingsLayout->addLayout(checkAllButtonLayout); settingsLayout->addWidget(startButton); totalLabel = new QLabel(tr("Total progress:")); totalProgressBar = new QProgressBar; nextSetLabel1 = new QLabel(tr("Current file:")); nextSetLabel2 = new QLabel; fileLabel = new QLabel(tr("Progress:")); fileProgressBar = new QProgressBar; messageLog = new QTextEdit; messageLog->setReadOnly(true); QGridLayout *grid = new QGridLayout; grid->addWidget(totalLabel, 0, 0); grid->addWidget(totalProgressBar, 0, 1); grid->addWidget(nextSetLabel1, 1, 0); grid->addWidget(nextSetLabel2, 1, 1); grid->addWidget(fileLabel, 2, 0); grid->addWidget(fileProgressBar, 2, 1); grid->addWidget(messageLog, 3, 0, 1, 2); QHBoxLayout *mainLayout = new QHBoxLayout; mainLayout->addLayout(settingsLayout, 6); mainLayout->addSpacing(10); mainLayout->addLayout(grid, 10); QWidget *centralWidget = new QWidget; centralWidget->setLayout(mainLayout); setCentralWidget(centralWidget); connect(importer, SIGNAL(setIndexChanged(int, int, const QString &)), this, SLOT(updateTotalProgress(int, int, const QString &))); connect(importer, SIGNAL(dataReadProgress(int, int)), this, SLOT(updateFileProgress(int, int))); aLoadSetsFile = new QAction(tr("Load sets information from &file..."), this); connect(aLoadSetsFile, SIGNAL(triggered()), this, SLOT(actLoadSetsFile())); aDownloadSetsFile = new QAction(tr("&Download sets information..."), this); connect(aDownloadSetsFile, SIGNAL(triggered()), this, SLOT(actDownloadSetsFile())); aExit = new QAction(tr("E&xit"), this); connect(aExit, SIGNAL(triggered()), this, SLOT(close())); fileMenu = menuBar()->addMenu(tr("&File")); fileMenu->addAction(aLoadSetsFile); fileMenu->addAction(aDownloadSetsFile); fileMenu->addSeparator(); fileMenu->addAction(aExit); setWindowTitle(tr("Oracle importer")); setMinimumSize(750, 500); QStringList args = qApp->arguments(); if (args.contains("-dlsets")) downloadSetsFile(defaultSetsUrl); statusLabel = new QLabel; statusBar()->addWidget(statusLabel); statusLabel->setText(tr("Sets data not loaded.")); }