//--------------------------------------------------------------------------- void MainWindow::createDragDrop() { clearDragDrop(); QFont Font; Font.setPointSize(Font.pointSize()*4); DragDrop_Image=new QLabel(this); DragDrop_Image->setAlignment(Qt::AlignCenter); DragDrop_Image->setPixmap(QPixmap(":/icon/dropfiles.png").scaled(256, 256)); if (Files_CurrentPos!=(size_t)-1) DragDrop_Image->hide(); ui->verticalLayout->addWidget(DragDrop_Image); DragDrop_Text=new QLabel(this); DragDrop_Text->setAlignment(Qt::AlignCenter); DragDrop_Text->setFont(Font); QPalette Palette(DragDrop_Text->palette()); Palette.setColor(QPalette::WindowText, Qt::darkGray); DragDrop_Text->setPalette(Palette); DragDrop_Text->setText("Drop video file(s) here"); if (Files_CurrentPos!=(size_t)-1) DragDrop_Text->hide(); ui->verticalLayout->addWidget(DragDrop_Text); }
//--------------------------------------------------------------------------- void MainWindow::createGraphsLayout() { clearGraphsLayout(); if (Files_CurrentPos==(size_t)-1) { for (size_t type = 0; type < Type_Max; type++) for (size_t group=0; group<PerStreamType[type].CountOfGroups; group++) if (CheckBoxes[type][group]) CheckBoxes[type][group]->hide(); if (ui->fileNamesBox) ui->fileNamesBox->hide(); createDragDrop(); return; } clearDragDrop(); for (size_t type = 0; type < Type_Max; type++) for (size_t group=0; group<PerStreamType[type].CountOfGroups; group++) if (CheckBoxes[type][group] && Files_CurrentPos<Files.size() && Files[Files_CurrentPos]->ActiveFilters[PerStreamType[type].PerGroup[group].ActiveFilterGroup]) CheckBoxes[type][group]->show(); else CheckBoxes[type][group]->hide(); if (ui->fileNamesBox) ui->fileNamesBox->show(); PlotsArea=Files[Files_CurrentPos]->Stats.empty()?NULL:new Plots(this, Files[Files_CurrentPos]); if (!ui->actionGraphsLayout->isChecked()) PlotsArea->hide(); ui->verticalLayout->addWidget(PlotsArea); TinyDisplayArea=new TinyDisplay(this, Files[Files_CurrentPos]); if (!ui->actionGraphsLayout->isChecked()) TinyDisplayArea->hide(); ui->verticalLayout->addWidget(TinyDisplayArea); ControlArea=new Control(this, Files[Files_CurrentPos], Control::Style_Cols); connect( ControlArea, SIGNAL( currentFrameChanged() ), this, SLOT( on_CurrentFrameChanged() ) ); if (!ui->actionGraphsLayout->isChecked()) ControlArea->hide(); ui->verticalLayout->addWidget(ControlArea); //InfoArea=new Info(this, Files[Files_CurrentPos], Info::Style_Grid); //ui->verticalLayout->addWidget(InfoArea); TinyDisplayArea->ControlArea=ControlArea; ControlArea->TinyDisplayArea=TinyDisplayArea; ControlArea->InfoArea=InfoArea; refreshDisplay(); configureZoom(); }
//--------------------------------------------------------------------------- void MainWindow::createGraphsLayout() { clearGraphsLayout(); if (Files_CurrentPos==(size_t)-1) { for (size_t Pos=0; Pos<PlotType_Max; Pos++) if (CheckBoxes[Pos]) CheckBoxes[Pos]->hide(); if (ui->fileNamesBox) ui->fileNamesBox->hide(); createDragDrop(); return; } clearDragDrop(); for (size_t Pos=0; Pos<PlotType_Max; Pos++) if (CheckBoxes[Pos]) CheckBoxes[Pos]->show(); if (ui->fileNamesBox) ui->fileNamesBox->show(); PlotsArea=new Plots(this, Files[Files_CurrentPos]); if (!ui->actionGraphsLayout->isChecked()) PlotsArea->hide(); ui->verticalLayout->addWidget(PlotsArea); TinyDisplayArea=new TinyDisplay(this, Files[Files_CurrentPos]); if (!ui->actionGraphsLayout->isChecked()) TinyDisplayArea->hide(); ui->verticalLayout->addWidget(TinyDisplayArea); ControlArea=new Control(this, Files[Files_CurrentPos], PlotsArea, Control::Style_Cols); if (!ui->actionGraphsLayout->isChecked()) ControlArea->hide(); ui->verticalLayout->addWidget(ControlArea); //InfoArea=new Info(this, Files[Files_CurrentPos], Info::Style_Grid); //ui->verticalLayout->addWidget(InfoArea); PlotsArea->TinyDisplayArea=TinyDisplayArea; PlotsArea->ControlArea=ControlArea; PlotsArea->InfoArea=InfoArea; TinyDisplayArea->ControlArea=ControlArea; ControlArea->TinyDisplayArea=TinyDisplayArea; ControlArea->InfoArea=InfoArea; refreshDisplay(); PlotsArea->createData_Init(); configureZoom(); ui->verticalLayout->removeItem(ui->verticalSpacer); }
//--------------------------------------------------------------------------- void MainWindow::createFilesList() { clearFilesList(); if (Files_CurrentPos==(size_t)-1) { createDragDrop(); return; } clearDragDrop(); FilesListArea=new FilesList(this); if (!ui->actionFilesList->isChecked()) FilesListArea->hide(); ui->verticalLayout->addWidget(FilesListArea); }
//--------------------------------------------------------------------------- void MainWindow::dropEvent(QDropEvent *Event) { const QMimeData* Data=Event->mimeData (); if (Event->mimeData()->hasUrls()) { //foreach (QUrl url, Event->mimeData()->urls()) //clearFiles(); QList<QUrl> urls=Event->mimeData()->urls(); for (int Pos=0; Pos<urls.size(); Pos++) { addFile(urls[Pos].toLocalFile()); } } clearDragDrop(); addFile_finish(); }