//-------------------------------------------------------------------------- // PROGRESS PAGE //-------------------------------------------------------------------------- ProgressPage::ProgressPage(AddDatabase* addDatabase, QWidget* parent) : QWidget(parent) { addDatabase_ = addDatabase; labelInitializeGames = new QLabel("Initialize Games"); labelDuplicateCheck = new QLabel("Duplicate Check"); labelParseGames = new QLabel("Parsing Games"); labelInitializePatterns = new QLabel("Generating Patterns"); labelOverall = new QLabel("Overall"); labelInitializeGames->setMaximumHeight(20); labelDuplicateCheck->setMaximumHeight(20); labelParseGames->setMaximumHeight(20); labelInitializePatterns->setMaximumHeight(20); labelOverall->setMaximumHeight(20); labelCurrentTime = new QLabel("Elapsed time"); labelEstimateTime = new QLabel("Estimated time"); labelTotalGames = new QLabel("Number of Games found"); labelDuplicateGames = new QLabel("Duplicate Games found"); labelCurrentTime->setMaximumHeight(20); labelEstimateTime->setMaximumHeight(20); labelTotalGames->setMaximumHeight(20); labelDuplicateGames->setMaximumHeight(20); labelCurrentTimeData = new QLabel; labelEstimateTimeData = new QLabel; labelTotalGamesData = new QLabel; labelDuplicateGamesData = new QLabel; labelCurrentTimeData->setMaximumHeight(20); labelEstimateTimeData->setMaximumHeight(20); labelTotalGamesData->setMaximumHeight(20); labelDuplicateGamesData->setMaximumHeight(20); progressBarInitializeGames = new QProgressBar; progressBarDuplicateCheck = new QProgressBar; progressBarParseGames = new QProgressBar; progressBarInitializePatterns = new QProgressBar; progressBarInitializeGames->setMaximumHeight(20); progressBarDuplicateCheck->setMaximumHeight(20); progressBarParseGames->setMaximumHeight(20); progressBarInitializePatterns->setMaximumHeight(20); cancelButton = new QPushButton("&Cancel", this); backButton = new QPushButton("< &Back", this); finishButton = new QPushButton("&Finish", this); QGridLayout *layout = new QGridLayout; QGroupBox *groupBoxProgress = new QGroupBox(tr("Progress")); QGridLayout *gridLayoutProgress = new QGridLayout; gridLayoutProgress->addWidget(labelInitializeGames, 0, 0); gridLayoutProgress->addWidget(progressBarInitializeGames, 0, 1, 1, 2); gridLayoutProgress->addWidget(labelDuplicateCheck, 1, 0); gridLayoutProgress->addWidget(progressBarDuplicateCheck, 1, 1, 1, 2); gridLayoutProgress->addWidget(labelParseGames, 2, 0); gridLayoutProgress->addWidget(progressBarParseGames, 2, 1, 1, 2); gridLayoutProgress->addWidget(labelInitializePatterns, 3, 0); gridLayoutProgress->addWidget(progressBarInitializePatterns, 3, 1, 1, 2); groupBoxProgress->setLayout(gridLayoutProgress); groupBoxProgress->setMaximumHeight(150); groupBoxProgress->setFlat(true); layout->addWidget(groupBoxProgress, 0, 0, 1, 3); QGroupBox *groupBoxDetails = new QGroupBox(tr("Details")); QGridLayout *gridLayoutDetails = new QGridLayout; gridLayoutDetails->addWidget(labelCurrentTime, 0, 0, 1, 2); gridLayoutDetails->addWidget(labelCurrentTimeData, 0, 2); gridLayoutDetails->addWidget(labelTotalGames, 2, 0, 1, 2); gridLayoutDetails->addWidget(labelTotalGamesData, 2, 2); gridLayoutDetails->addWidget(labelDuplicateGames, 3, 0, 1, 2); gridLayoutDetails->addWidget(labelDuplicateGamesData, 3, 2); groupBoxDetails->setLayout(gridLayoutDetails); groupBoxDetails->setFlat(true); groupBoxDetails->setMaximumHeight(100); layout->addWidget(groupBoxDetails, 1, 0 , 1, 3); QSpacerItem* spacerButtons = new QSpacerItem(0, 0); QGridLayout *layoutButtons = new QGridLayout; QSpacerItem* spacer = new QSpacerItem(0, 0); layoutButtons->addItem(spacer, 0, 0); layoutButtons->addWidget(cancelButton, 0, 1); layoutButtons->addWidget(backButton, 0, 2); layoutButtons->addWidget(finishButton, 0, 3); layoutButtons->setColumnStretch(0, 1); layout->addItem(spacerButtons, 2, 0, 1, 3); layout->addItem(layoutButtons, 3, 0, 1, 3); layout->setOriginCorner(Qt::TopLeftCorner); layout->setColumnMinimumWidth(0,100); layout->setColumnMinimumWidth(1,100); layout->setColumnMinimumWidth(2,100); setLayout(layout); connect(cancelButton, SIGNAL(clicked()), this, SLOT(cancelClick())); connect(backButton, SIGNAL(clicked()), this, SLOT(backClick())); connect(finishButton, SIGNAL(clicked()), addDatabase_, SLOT(accept())); finishButton->setEnabled(false); hasCancelled_ = false; isBackClicked_ = false; }
void QGridLayoutProto::setOriginCorner(Qt::Corner corner) { QGridLayout *item = qscriptvalue_cast<QGridLayout*>(thisObject()); if (item) item->setOriginCorner(corner); }
//-------------------------------------------------------------------------- // SETUP PAGE //-------------------------------------------------------------------------- SetupPage::SetupPage(AddDatabase* addDatabase, QWidget* parent) : QWidget(parent) { addDatabase_ = addDatabase; databaseNameLabel = new QLabel(tr("Choose Database &name:")); databaseNameLineEdit = new QLineEdit; databaseNameLabel->setBuddy(databaseNameLineEdit); setFocusProxy(databaseNameLineEdit); directoryNameLabel = new QLabel(tr("Select a Directory with Sgf's :")); dirModel = new QDirModel; dirModel->setFilter(QDir::Dirs); dirModel->setReadOnly(true); dirModel->setLazyChildCount(false); treeView = new QTreeView; treeView->setModel(dirModel); treeView->header()->resizeSection(0,200); treeView->setColumnHidden(0, false); // Show only dir name treeView->setColumnHidden(1, true); // Show only dir name treeView->setColumnHidden(2, true); // Not type, size, modified treeView->setColumnHidden(3, true); treeView->setCurrentIndex (dirModel->index(QDir::currentPath())); groupBox = new QGroupBox(tr("&Options")); recursiveDirCheckBox = new QCheckBox(tr("&Search directories recursively.")); acceptDuplicatesCheckBox = new QCheckBox(tr("&Reject duplicates.")); acceptDuplicatesCheckBox->setCheckState (Qt::Checked); QVBoxLayout *groupBoxLayout = new QVBoxLayout; groupBoxLayout->addWidget(recursiveDirCheckBox); groupBoxLayout->addWidget(acceptDuplicatesCheckBox); groupBox->setLayout(groupBoxLayout); cancelButton = new QPushButton("&Cancel", this); startButton = new QPushButton("&Start", this); QGridLayout *layout = new QGridLayout; layout->setRowMinimumHeight(0, 10); layout->addWidget(databaseNameLabel, 0, 0); layout->addWidget(databaseNameLineEdit, 0, 1); layout->addWidget(directoryNameLabel, 1, 0, 1, 2); layout->addWidget(treeView, 2, 0, 1, 2); layout->addWidget(groupBox, 3, 0, 1, 2); QSpacerItem* spacer = new QSpacerItem(50, 20); QGridLayout *layoutButtons = new QGridLayout; layoutButtons->addItem(spacer, 0, 0); layoutButtons->addWidget(cancelButton, 0, 1); layoutButtons->addWidget(startButton, 0, 2); layoutButtons->setColumnStretch(0, 1); layout->addItem(layoutButtons, 4, 0, 1, 2); layout->setOriginCorner(Qt::TopLeftCorner); setLayout(layout); connect(databaseNameLineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(checkFirstPage())); connect(treeView, SIGNAL(clicked(const QModelIndex &)), this, SLOT(checkFirstPage())); connect(cancelButton, SIGNAL(clicked()), addDatabase_, SLOT(reject())); connect(startButton, SIGNAL(clicked()), this, SLOT(start())); startButton->setEnabled(false); }