void Workspace::writeGlobalGUIState() { QString default_path = ""; QDir dir; dir.mkpath(dataPath); default_path = dataPath + "/workspaces"; dir.mkpath(default_path); default_path += "/global"; dir.mkpath(default_path); default_path += "/guistate.xml"; QFile default_guistate (default_path); default_guistate.open(QIODevice::WriteOnly); if (!default_guistate.exists()) { writeFailed(default_path); return; } QBuffer cbuf; cbuf.open(QIODevice::ReadWrite); XmlWriter xml(gscore, &cbuf); xml.setClipboardmode(true); xml.header(); xml.stag("museScore version=\"" MSC_VERSION "\""); QByteArray state_64 = mscore->saveState().toBase64(); QString state(state_64); xml.tag("State", state); xml.etag(); default_guistate.write(cbuf.data()); cbuf.close(); default_guistate.close(); }
void Workspace::writeGlobalMenuBar(QMenuBar* mb) { QString default_path = ""; QDir dir; dir.mkpath(dataPath); default_path = dataPath + "/workspaces"; dir.mkpath(default_path); default_path += "/global"; dir.mkpath(default_path); default_path += "/menubar.xml"; QFile default_menubar (default_path); default_menubar.open(QIODevice::WriteOnly); if (!default_menubar.exists()) { writeFailed(default_path); return; } QBuffer cbuf; cbuf.open(QIODevice::ReadWrite); XmlWriter xml(gscore, &cbuf); xml.setClipboardmode(true); xml.header(); xml.stag("museScore version=\"" MSC_VERSION "\""); writeMenuBar(xml, mb); xml.etag(); default_menubar.write(cbuf.data()); cbuf.close(); default_menubar.close(); }
void writeBedTab(char *fileName, struct bedStub *bedList, int bedSize) /* Write out bed list to tab-separated file. */ { struct bedStub *bed; FILE *f = mustOpen(fileName, "w"); char *words[64]; int i, wordCount; for (bed = bedList; bed != NULL; bed = bed->next) { if (!noBin) if (fprintf(f, "%u\t", hFindBin(bed->chromStart, bed->chromEnd)) <= 0) writeFailed(fileName); if (strictTab) wordCount = chopTabs(bed->line, words); else wordCount = chopLine(bed->line, words); for (i=0; i<wordCount; ++i) { /* new definition for old "reserved" field, now itemRgb */ /* and when itemRgb, it is a comma separated string r,g,b */ if (itemRgb && (i == 8)) { char *comma; /* Allow comma separated list of rgb values here */ comma = strchr(words[8], ','); if (comma) { int itemRgb = 0; if (-1 == (itemRgb = bedParseRgb(words[8]))) errAbort("ERROR: expecting r,g,b specification, " "found: '%s'", words[8]); else if (fprintf(f, "%d", itemRgb) <= 0) writeFailed(fileName); verbose(2, "itemRgb: %s, rgb: %#x\n", words[8], itemRgb); } else if (fputs(words[i], f) == EOF) writeFailed(fileName); } else if (fputs(words[i], f) == EOF) writeFailed(fileName); if (i == wordCount-1) { if (fputc('\n', f) == EOF) writeFailed(fileName); } else if (fputc('\t', f) == EOF) writeFailed(fileName); } } fclose(f); }
/** * @brief connect all buttons of the ui * @return * void */ void DLDConfigureOB::connectSignals () { // connect menu actions connect(mainWindow.actionQuit, SIGNAL(triggered ()), this, SLOT(close ())); connect(mainWindow.actionRefresh, SIGNAL(triggered ()), this, SLOT(refreshDevices ())); connect(mainWindow.actionPreferences, SIGNAL(triggered ()), this, SLOT(showPreferences ())); connect(mainWindow.actionOpenBeaconConfiguratorHelp, SIGNAL(triggered ()), this, SLOT(showHelp())); connect(mainWindow.actionAboutQt, SIGNAL(triggered ()), qApp, SLOT(aboutQt ())); connect(mainWindow.actionAboutOpenBeacon,SIGNAL(triggered ()), this, SLOT(aboutOpenBeacon ())); // connect main Window buttons with methods connect(mainWindow.selectFileButton, SIGNAL(clicked ()), this, SLOT(selectFlashImage ())); connect(mainWindow.flashButton, SIGNAL(clicked ()), this, SLOT(flashDevice ())); connect(mainWindow.refreshButton, SIGNAL(clicked ()), this, SLOT(refreshDevices ())); connect(mainWindow.executeButton, SIGNAL(clicked ()), this, SLOT(executeCommand ())); connect(mainWindow.clearButton, SIGNAL(clicked ()), this, SLOT(clearConsole ())); // connect box signals connect(mainWindow.commandCombo, SIGNAL(highlighted (int)), this, SLOT(commandHighlighted (int))); connect(mainWindow.commandCombo, SIGNAL(currentIndexChanged (int)), this, SLOT(updateCommandBoxStatusTip (int))); connect(mainWindow.deviceCombo, SIGNAL(currentIndexChanged (int)), this, SLOT(updateGroupBoxVisibility (int))); connect(mainWindow.deviceCombo, SIGNAL(activated (int)), this, SLOT(openNewDevice (int))); // connect device connect(device, SIGNAL(newData (QString)), this, SLOT(receivedNewData (QString))); connect(device, SIGNAL(writeFailed ()), this, SLOT(writeFailed ())); // connect internal signals connect(this, SIGNAL(deviceSelected (bool, bool)), this, SLOT(endisableGroupBox (bool, bool))); connect(this, SIGNAL(commandListChanged ()), this, SLOT(refillCommandList ())); connect(this, SIGNAL(devicepathsChanged ()), this, SLOT(refreshDevices ())); connect(refreshTimer, SIGNAL(timeout()), this, SLOT(refreshDevices ())); connect(this, SIGNAL(logFileChanged (QString)), this, SLOT(changeLogFile (QString))); connect(batchProcess, SIGNAL(readyReadStandardOutput ()), this, SLOT(addCharToConsole ())); connect(batchProcess, SIGNAL(error (QProcess::ProcessError)), this, SLOT(printProcessError (QProcess::ProcessError))); connect(batchProcess, SIGNAL(finished (int, QProcess::ExitStatus)),this, SLOT(processFinished (int, QProcess::ExitStatus))); }
void Workspace::writeGlobalToolBar() { QString default_path = ""; QDir dir; dir.mkpath(dataPath); default_path = dataPath + "/workspaces"; dir.mkpath(default_path); default_path += "/global"; dir.mkpath(default_path); default_path += "/toolbar.xml"; QFile default_toolbar (default_path); default_toolbar.open(QIODevice::WriteOnly); if (!default_toolbar.exists()) { writeFailed(default_path); return; } QBuffer cbuf; cbuf.open(QIODevice::ReadWrite); XmlWriter xml(gscore, &cbuf); xml.setClipboardmode(true); xml.header(); xml.stag("museScore version=\"" MSC_VERSION "\""); xml.stag("Toolbar name=\"noteInput\""); for (auto i : *mscore->noteInputMenuEntries()) xml.tag("action", i); xml.etag(); xml.stag("Toolbar name=\"fileOperation\""); for (auto i : *mscore->fileOperationEntries()) xml.tag("action", i); xml.etag(); xml.stag("Toolbar name=\"playbackControl\""); for (auto i : *mscore->playbackControlEntries()) xml.tag("action", i); xml.etag(); xml.etag(); default_toolbar.write(cbuf.data()); cbuf.close(); default_toolbar.close(); }
MainWindow::MainWindow(JackSequencerController *sequencerController, QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), m_sequencerController( sequencerController ) { ui->setupUi(this); connect( ui->playButton, SIGNAL(clicked()), m_sequencerController, SLOT( play() ) ); connect( ui->stopButton, SIGNAL( clicked() ), m_sequencerController, SLOT( stop() ) ); setFixedSize( 600, 400 ); ui->tabWidget->setTabText( 0, QString( "Sequencer" ) ); ui->tabWidget->setTabText( 1, QString( "Note Editor" ) ); ui->tabWidget->setTabText( 2, tr( "Save to WAV" ) ); // set up the combo box for waveform swapping QComboBox * comboBox = ui->waveformChooser; comboBox->addItem( m_sine ); comboBox->addItem( m_triangle ); comboBox->addItem( m_rsaw ); comboBox->addItem( m_fm ); // connect up the button pressed slots to the buttons connect( ui->noteOneButton, SIGNAL( clicked() ), this, SLOT( buttonOnePressed() ) ); connect( ui->noteTwoButton, SIGNAL( clicked() ), this, SLOT( buttonTwoPressed() ) ); connect( ui->noteThreeButton, SIGNAL( clicked() ), this, SLOT( buttonThreePressed() ) ); connect( ui->noteFourButton, SIGNAL( clicked() ), this, SLOT( buttonFourPressed() ) ); connect( ui->noteFiveButton, SIGNAL( clicked() ), this, SLOT( buttonFivePressed() ) ); connect( ui->noteSixButton, SIGNAL( clicked() ), this, SLOT( buttonSixPressed() ) ); // connect up the waveform parameter changing slots to the corresponding widgets connect( ui->amplitudeSlider, SIGNAL( sliderMoved(int) ), this, SLOT( amplitudeSliderChanged(int) ) ); connect( ui->frequencySpinner, SIGNAL( valueChanged(double) ), this, SLOT( frequencySpinnerChanged(double) ) ); connect( ui->modIndexSpinner, SIGNAL( valueChanged(double) ), this, SLOT( modulationIndexSpinnerChanged(double) ) ); connect( ui->harmonicitySpinner, SIGNAL( valueChanged(double) ), this, SLOT( harmonicitySpinnerChanged(double) ) ); connect( ui->waveformChooser, SIGNAL( currentIndexChanged(QString) ), this, SLOT( waveformChooserChanged(QString) ) ); connect( m_sequencerController, SIGNAL( parametersChanged() ), this, SLOT( parametersChanged() ) ); connect( ui->bpmBox, SIGNAL( valueChanged(int) ), m_sequencerController, SLOT( setBpm(int) ) ); ui->bpmBox->setValue( m_sequencerController->getBpm() ); // connect up saving features connect( ui->chooseButton, SIGNAL( clicked() ), this, SLOT( chooseFilename() ) ); connect( ui->saveButton, SIGNAL( clicked() ), this, SLOT( saveWav() ) ); connect( &m_builder, SIGNAL( writeSucceeded() ), this, SLOT( saveSuccess() ) ); connect( &m_builder, SIGNAL( writeFailed() ), this, SLOT( saveFailure() ) ); // Set up the sequencer grid for( int i = 0; i < m_sequencerController->getSequencer()->getBarLength(); i++ ) { // add a radio button to each list m_noteOneButtons.append( new QCheckBox() ); m_noteTwoButtons.append( new QCheckBox() ); m_noteThreeButtons.append(new QCheckBox() ); m_noteFourButtons.append( new QCheckBox() ); m_noteFiveButtons.append( new QCheckBox() ); m_noteSixButtons.append( new QCheckBox() ); // add to Gridlayout here ui->sequencerLayout->addWidget( m_noteOneButtons.at( i ), 5, i, Qt::AlignHCenter | Qt::AlignVCenter ); ui->sequencerLayout->addWidget( m_noteTwoButtons.at( i ), 4, i, Qt::AlignHCenter | Qt::AlignVCenter ); ui->sequencerLayout->addWidget( m_noteThreeButtons.at( i ), 3, i, Qt::AlignHCenter | Qt::AlignVCenter ); ui->sequencerLayout->addWidget( m_noteFourButtons.at( i ), 2, i, Qt::AlignHCenter | Qt::AlignVCenter ); ui->sequencerLayout->addWidget( m_noteFiveButtons.at( i ), 1, i, Qt::AlignHCenter | Qt::AlignVCenter ); ui->sequencerLayout->addWidget( m_noteSixButtons.at( i ), 0, i, Qt::AlignHCenter | Qt::AlignVCenter ); // connect up radio buttons to appropriate slot connect( m_noteOneButtons.at( i ), SIGNAL( clicked() ), this, SLOT( setNoteOneBeats() ) ); connect( m_noteTwoButtons.at( i ), SIGNAL( clicked() ), this, SLOT( setNoteTwoBeats() ) ); connect( m_noteThreeButtons.at( i ), SIGNAL( clicked() ), this, SLOT( setNoteThreeBeats() ) ); connect( m_noteFourButtons.at( i ), SIGNAL( clicked() ), this, SLOT( setNoteFourBeats() ) ); connect( m_noteFiveButtons.at( i ), SIGNAL( clicked() ), this, SLOT( setNoteFiveBeats() ) ); connect( m_noteSixButtons.at( i ), SIGNAL( clicked() ), this, SLOT( setNoteSixBeats() ) ); } }
void Workspace::write() { if (_path.isEmpty()) { QString ext(".workspace"); QDir dir; dir.mkpath(dataPath); _path = dataPath + "/workspaces"; dir.mkpath(_path); _path += "/" + _name + ext; } MQZipWriter f(_path); f.setCreationPermissions( QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner | QFile::ReadUser | QFile::WriteUser | QFile::ExeUser | QFile::ReadGroup | QFile::WriteGroup | QFile::ExeGroup | QFile::ReadOther | QFile::WriteOther | QFile::ExeOther); if (f.status() != MQZipWriter::NoError) { writeFailed(_path); return; } QBuffer cbuf; cbuf.open(QIODevice::ReadWrite); Xml xml(&cbuf); xml.header(); xml.stag("container"); xml.stag("rootfiles"); xml.stag(QString("rootfile full-path=\"%1\"").arg(Xml::xmlString("workspace.xml"))); xml.etag(); for (ImageStoreItem* ip : imageStore) { if (!ip->isUsed(gscore)) continue; QString dstPath = QString("Pictures/") + ip->hashName(); xml.tag("file", dstPath); } xml.etag(); xml.etag(); cbuf.seek(0); f.addFile("META-INF/container.xml", cbuf.data()); // save images for (ImageStoreItem* ip : imageStore) { if (!ip->isUsed(gscore)) continue; QString dstPath = QString("Pictures/") + ip->hashName(); f.addFile(dstPath, ip->buffer()); } { QBuffer cbuf; cbuf.open(QIODevice::ReadWrite); Xml xml(&cbuf); xml.clipboardmode = true; xml.header(); xml.stag("museScore version=\"" MSC_VERSION "\""); xml.stag("Workspace"); // xml.tag("name", _name); PaletteBox* pb = mscore->getPaletteBox(); pb->write(xml); // write toolbar settings xml.stag("Toolbar name=\"noteInput\""); for (auto i : *mscore->noteInputMenuEntries()) xml.tag("action", i); xml.etag(); xml.etag(); xml.etag(); f.addFile("workspace.xml", cbuf.data()); cbuf.close(); } if (f.status() != MQZipWriter::NoError) writeFailed(_path); }
void writeBedTab(char *fileName, struct bedStub *bedList) /* Write out bed list to tab-separated file. */ { struct bedStub *bed; FILE *f = mustOpen(fileName, "w"); char *words[64]; int i, wordCount; for (bed = bedList; bed != NULL; bed = bed->next) { if (!noBin) { // allow for zero-length at start of seq [bin code can't handle 0-0] unsigned end = (bed->chromEnd > 0) ? bed->chromEnd : 1; if (fprintf(f, "%u\t", hFindBin(bed->chromStart, end)) <= 0) writeFailed(fileName); } if (strictTab) wordCount = chopTabs(bed->line, words); else wordCount = chopLine(bed->line, words); for (i=0; i<wordCount; ++i) { /* new definition for old "reserved" field, now itemRgb */ /* and when itemRgb, it is a comma separated string r,g,b */ if (itemRgb && (i == 8)) { char *comma; /* Allow comma separated list of rgb values here */ comma = strchr(words[8], ','); if (comma) { int itemRgb = 0; if (-1 == (itemRgb = bedParseRgb(words[8]))) errAbort("ERROR: expecting r,g,b specification, " "found: '%s'", words[8]); else if (fprintf(f, "%d", itemRgb) <= 0) writeFailed(fileName); verbose(2, "itemRgb: %s, rgb: %#x\n", words[8], itemRgb); } else if (fputs(words[i], f) == EOF) writeFailed(fileName); } else if ((dotIsNull > 0) && (dotIsNull == i) && sameString(words[i],".")) /* If the . was used to represent NULL, replace with -1 in the tables */ { if (fputs("-1", f) == EOF) writeFailed(fileName); } else if (fputs(words[i], f) == EOF) writeFailed(fileName); if (i == wordCount-1) { if (fputc('\n', f) == EOF) writeFailed(fileName); } else if (fputc('\t', f) == EOF) writeFailed(fileName); } } fclose(f); }
void Workspace::write() { if (_path.isEmpty()) { QString ext(".workspace"); QDir dir; dir.mkpath(dataPath); _path = dataPath + "/workspaces"; dir.mkpath(_path); _path += "/" + _name + ext; } MQZipWriter f(_path); f.setCreationPermissions( QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner | QFile::ReadUser | QFile::WriteUser | QFile::ExeUser | QFile::ReadGroup | QFile::WriteGroup | QFile::ExeGroup | QFile::ReadOther | QFile::WriteOther | QFile::ExeOther); if (f.status() != MQZipWriter::NoError) { writeFailed(_path); return; } QBuffer cbuf; cbuf.open(QIODevice::ReadWrite); XmlWriter xml(gscore, &cbuf); xml.header(); xml.stag("container"); xml.stag("rootfiles"); xml.stag(QString("rootfile full-path=\"%1\"").arg(XmlWriter::xmlString("workspace.xml"))); xml.etag(); for (ImageStoreItem* ip : imageStore) { if (!ip->isUsed(gscore)) continue; QString dstPath = QString("Pictures/") + ip->hashName(); xml.tag("file", dstPath); } xml.etag(); xml.etag(); cbuf.seek(0); f.addFile("META-INF/container.xml", cbuf.data()); // save images for (ImageStoreItem* ip : imageStore) { if (!ip->isUsed(gscore)) continue; QString dstPath = QString("Pictures/") + ip->hashName(); f.addFile(dstPath, ip->buffer()); } { xml.setClipboardmode(true); xml.header(); xml.stag("museScore version=\"" MSC_VERSION "\""); xml.stag("Workspace"); // xml.tag("name", _name); PaletteBox* pb = mscore->getPaletteBox(); pb->write(xml); // write toolbar settings if (saveToolbars) { xml.stag("Toolbar name=\"noteInput\""); for (auto i : *mscore->noteInputMenuEntries()) xml.tag("action", i); xml.etag(); xml.stag("Toolbar name=\"fileOperation\""); for (auto i : *mscore->fileOperationEntries()) xml.tag("action", i); xml.etag(); xml.stag("Toolbar name=\"playbackControl\""); for (auto i : *mscore->playbackControlEntries()) xml.tag("action", i); xml.etag(); } else { writeGlobalToolBar(); } if (preferences.getUseLocalPreferences()) { xml.stag("Preferences"); for (QString pref : preferences.getLocalPreferences().keys()) { QVariant prefValue = preferences.getLocalPreferences().value(pref); if (prefValue.isValid()) xml.tag("Preference name=\"" + pref + "\"", preferences.getLocalPreferences().value(pref)); } xml.etag(); } if (saveMenuBar) writeMenuBar(xml); if (saveComponents) { QByteArray state_64 = mscore->saveState().toBase64(); QString state(state_64); xml.tag("State", state); } else { writeGlobalGUIState(); } xml.etag(); xml.etag(); f.addFile("workspace.xml", cbuf.data()); cbuf.close(); } if (f.status() != MQZipWriter::NoError) writeFailed(_path); }