imgDialog::imgDialog(QWidget *parent) : QDialog(parent), ui(new Ui::imgDialog()){ ui->setupUi(this); //load the designer form QString title = tr("Burn Disk Image to Device"); if( getuid()==0){ title.append(" ("+tr("Admin Mode")+")"); } this->setWindowTitle(title); ui->frame_running->setVisible(false); ui->frame_setup->setVisible(true); ddProc = 0; unitdiv = 1; //Setup the signals/slots ui->tool_refresh->setIcon( LXDG::findIcon("view-refresh","drive-removable-media-usb-pendrive") ); connect(ui->push_cancel, SIGNAL(clicked()), this, SLOT(cancel()) ); connect(ui->push_start, SIGNAL(clicked()), this, SLOT(start_process()) ); connect(ui->tool_refresh, SIGNAL(clicked()), this, SLOT(loadDeviceList()) ); loadDeviceList(); //do the initial load of the available devices //Setup the possible transfer rate units ui->combo_rate_units->clear(); ui->combo_rate_units->addItem(tr("Kilobyte(s)"), "k"); ui->combo_rate_units->addItem(tr("Megabyte(s)"), "m"); ui->combo_rate_units->addItem(tr("Gigabyte(s)"), "g"); ui->combo_rate_units->setCurrentIndex(1); //MB //Setup the Process Timer procTimer = new QTimer(this); procTimer->setInterval(1000); //1 second updates connect(procTimer, SIGNAL(timeout()), this, SLOT(getProcStatus()) ); //Determine which type of system this is for the process status signal BSD_signal = LOS::OSName().contains("BSD"); //assume everything else is Linux-like }
//============================ // PRIVATE SLOTS //============================ void imgDialog::start_process(){ //Sanity Checks if( !QFile::exists(ui->combo_devices->currentData().toString()) ){ loadDeviceList(); return; } //USB device no longer available if(!QFile::exists(ui->label_iso->whatsThis()) ){ return; } //IMG file no longer available qDebug() << "Start Process..."; //Read the size of the img file QString units = ui->combo_rate_units->currentData().toString(); if(units=="k"){ unitdiv = 1024; } else if(units=="m"){ unitdiv = 1024*1024; } else if(units=="g"){ unitdiv = 1024*1024*1024; } qint64 bytes = QFileInfo(ui->label_iso->whatsThis()).size(); //qDebug() << "IMG File size:" << bytes; //Set the progressBar maximum ui->progressBar->setRange(0, qRound(bytes/unitdiv) ); ui->progressBar->setValue(0); ui->label_dev->setText( ui->combo_devices->currentText() ); ui->label_time->setText("0:00"); ui->frame_running->setVisible(true); ui->frame_setup->setVisible(false); //qDebug() << "Blocks:" << ui->progressBar->maximum(); //Initialize the process if(ddProc==0){ ddProc = new QProcess(this); connect(ddProc, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(procFinished()) ); connect(ddProc, SIGNAL(readyRead()), this, SLOT(procInfoAvailable()) ); ddProc->setProcessChannelMode(QProcess::MergedChannels); }
/* * ColdfireUnlockerDialogue creator */ bool ColdfireUnlockerPanel::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) { // SetExtraStyle(wxWS_EX_BLOCK_EVENTS); wxPanel::Create(parent, id, pos, size, style); CreateControls(); if (GetSizer()) { GetSizer()->SetSizeHints(this); } knownDevices.loadConfigFile(); loadDeviceList(); // flashEraseMethods.loadMethods(); loadEraseMethodsList(); versionStaticControl->SetLabel(_(PROGRAM_VERSION_STRING)); targetSpeedTextControl->SetDecimalValue(8000); return true; }