void sampleTCOView::contextMenuEvent( QContextMenuEvent * _cme ) { QMenu contextMenu( this ); if( fixedTCOs() == false ) { contextMenu.addAction( embed::getIconPixmap( "cancel" ), tr( "Delete (middle mousebutton)" ), this, SLOT( remove() ) ); contextMenu.addSeparator(); contextMenu.addAction( embed::getIconPixmap( "edit_cut" ), tr( "Cut" ), this, SLOT( cut() ) ); } contextMenu.addAction( embed::getIconPixmap( "edit_copy" ), tr( "Copy" ), m_tco, SLOT( copy() ) ); contextMenu.addAction( embed::getIconPixmap( "edit_paste" ), tr( "Paste" ), m_tco, SLOT( paste() ) ); contextMenu.addSeparator(); contextMenu.addAction( embed::getIconPixmap( "muted" ), tr( "Mute/unmute (<Ctrl> + middle click)" ), m_tco, SLOT( toggleMute() ) ); contextMenu.addAction( embed::getIconPixmap( "record" ), tr( "Set/clear record" ), m_tco, SLOT( toggleRecord() ) ); constructContextMenu( &contextMenu ); contextMenu.exec( QCursor::pos() ); }
int GLWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QGLWidget::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: toggleWireframe((*reinterpret_cast< bool(*)>(_a[1]))); break; case 1: toggleBoidAnimation((*reinterpret_cast< bool(*)>(_a[1]))); break; case 2: toggleGoalAnimation((*reinterpret_cast< bool(*)>(_a[1]))); break; case 3: toggleRecord((*reinterpret_cast< bool(*)>(_a[1]))); break; case 4: setMass((*reinterpret_cast< double(*)>(_a[1]))); break; case 5: setMaxSpeed((*reinterpret_cast< double(*)>(_a[1]))); break; case 6: setMaxForce((*reinterpret_cast< double(*)>(_a[1]))); break; case 7: setSepDist((*reinterpret_cast< double(*)>(_a[1]))); break; case 8: setCohDist((*reinterpret_cast< double(*)>(_a[1]))); break; case 9: setAliDist((*reinterpret_cast< double(*)>(_a[1]))); break; case 10: setGoalInf((*reinterpret_cast< int(*)>(_a[1]))); break; case 11: removeBoid(); break; case 12: addBoid(); break; case 13: resetGoals(); break; default: ; } _id -= 14; } return _id; }
void ofxRGBDCaptureGui::objectDidRelease(ofxMSAInteractiveObject* object, int x, int y, int button){ if(object == btnSetDirectory){ loadDirectory(); } else if(object == btnCalibrateTab){ currentTab = TabCalibrate; currentTabObject = btnCalibrateTab; btnRecordBtn->setLabel("Capture Chessboard"); } else if(object == btnRecordTab){ currentTab = TabRecord; currentTabObject = btnRecordTab; btnRecordBtn->setLabel("Toggle Record"); } else if(object == btnPlaybackTab){ currentTab = TabPlayback; currentTabObject = btnPlaybackTab; btnRecordBtn->setLabel("Reset Camera"); } else if(object == btnRecordBtn){ if(currentTab == TabRecord){ toggleRecord(); } else if(currentTab == TabCalibrate){ captureCalibrationImage(); } else if(currentTab == TabPlayback){ cam.targetNode.setPosition(0, 0, 0); cam.targetNode.setOrientation(ofQuaternion()); cam.targetXRot = cam.targetYRot = cam.targetZRot = 0; } } else if(object == btnRenderBW){ currentRenderMode = RenderBW; currentRenderModeObject = btnRenderBW; } else if(object == btnRenderRainbow){ currentRenderMode = RenderRainbow; currentRenderModeObject = btnRenderRainbow; } else if(object == btnRenderPointCloud){ currentRenderMode = RenderPointCloud; currentRenderModeObject = btnRenderPointCloud; } else { for(int i = 0; i < btnTakes.size(); i++){ if(object == btnTakes[i].button){ loadSequenceForPlayback( i ); for(int b = 0; b < btnTakes.size(); b++){ btnTakes[b].isSelected = b == i; } break; } } } }
LircCommander::LircCommander(LircClient *lirc, RosegardenMainWindow *rgGUIApp) : QObject() { m_lirc = lirc; m_rgGUIApp = rgGUIApp; connect(m_lirc, SIGNAL(buttonPressed(const char *)), this, SLOT(slotExecute(const char *)) ); connect(this, SIGNAL(play()), m_rgGUIApp, SLOT(slotPlay()) ); connect(this, SIGNAL(stop()), m_rgGUIApp, SLOT(slotStop()) ); connect(this, SIGNAL(record()), m_rgGUIApp, SLOT(slotRecord()) ); connect(this, SIGNAL(rewind()), m_rgGUIApp, SLOT(slotRewind()) ); connect(this, SIGNAL(rewindToBeginning()), m_rgGUIApp, SLOT(slotRewindToBeginning()) ); connect(this, SIGNAL(fastForward()), m_rgGUIApp, SLOT(slotFastforward()) ); connect(this, SIGNAL(fastForwardToEnd()), m_rgGUIApp, SLOT(slotFastForwardToEnd()) ); connect(this, SIGNAL(toggleRecord()), m_rgGUIApp, SLOT(slotToggleRecord()) ); connect(this, SIGNAL(trackDown()), m_rgGUIApp, SLOT(slotTrackDown()) ); connect(this, SIGNAL(trackUp()), m_rgGUIApp, SLOT(slotTrackUp()) ); connect(this, SIGNAL(trackMute()), m_rgGUIApp, SLOT(slotToggleMute()) ); connect(this, SIGNAL(trackRecord()), m_rgGUIApp, SLOT(slotToggleRecordCurrentTrack()) ); connect(this, SIGNAL(undo()), CommandHistory::getInstance(), SLOT(undo()) ); connect(this, SIGNAL(redo()), CommandHistory::getInstance(), SLOT(redo()) ); connect(this, SIGNAL(aboutrg()), m_rgGUIApp, SLOT(slotHelpAbout()) ); connect(this, SIGNAL(editInMatrix()), m_rgGUIApp, SLOT(slotEditInMatrix()) ); connect(this, SIGNAL(editInPercussionMatrix()), m_rgGUIApp, SLOT(slotEditInPercussionMatrix()) ); connect(this, SIGNAL(editInEventList()), m_rgGUIApp, SLOT(slotEditInEventList()) ); connect(this, SIGNAL(editAsNotation()), m_rgGUIApp, SLOT(slotEditAsNotation()) ); connect(this, SIGNAL(quit()), m_rgGUIApp, SLOT(slotQuit()) ); connect(this, SIGNAL(closeTransport()), m_rgGUIApp, SLOT(slotCloseTransport()) ); connect(this, SIGNAL(toggleTransportVisibility()), m_rgGUIApp, SLOT(slotToggleTransportVisibility()) ); }
void Demo::load(const std::string &name) { togglePlayback(false); toggleRecord(false); // UNFINISHED std::string filename = "" + name + ".demo"; TiXmlDocument doc; doc.LoadFile(filename); //doc.FirstChildElement(""); }
void ofxRGBDCaptureGui::keyPressed(ofKeyEventArgs& args){ int key = args.key; if(key == ' '){ if(currentTab == TabCalibrate){ captureCalibrationImage(); } else if(currentTab == TabRecord){ toggleRecord(); } else if(currentTab == TabPlayback){ timeline.togglePlay(); } } if(key == OF_KEY_DEL && currentTab == TabCalibrate){ alignment.discardCurrentPair(); alignment.saveState(); } if(key == 'f'){ ofToggleFullscreen(); } if(key == 'p'){ fullscreenPoints = !fullscreenPoints; if(fullscreenPoints){ for(int i = 0; i < buttonSet.size(); i++){ buttonSet[i]->disableAppEvents(); buttonSet[i]->disableMouseEvents(); } for(int i = 0; i < btnTakes.size(); i++){ btnTakes[i].button->disableAppEvents(); btnTakes[i].button->disableMouseEvents(); } ofHideCursor(); } else{ for(int i = 0; i < buttonSet.size(); i++){ buttonSet[i]->enableMouseEvents(); buttonSet[i]->enableAppEvents(); } for(int i = 0; i < btnTakes.size(); i++){ btnTakes[i].button->enableMouseEvents(); btnTakes[i].button->enableAppEvents(); } ofShowCursor(); } } }
void Demo::save(const std::string &name) { togglePlayback(false); toggleRecord(false); std::string filename = "" + name + ".demo"; TiXmlDocument doc; // UNFINISHED for (int i = 0; i < frames.size(); i++) { //DemoFrame *frame = &frames[i]; TiXmlElement xmlDemoFrame("DemoFrame"); std::ostringstream os; //os << frame->avatarPos.x << " " << frame->avatarPos.y << " " << frame->mouse; //xmlDemoFrame.SetAttribute("a", os.str()); doc.InsertEndChild(xmlDemoFrame); } doc.SaveFile(filename); }
void Demo::update(float dt) { if (core->getNestedMains() > 1) return; if (mode == DEMOMODE_RECORD) { DemoFrame f; f.avatarPos = dsq->game->avatar->position; f.vel = dsq->game->avatar->vel; f.vel2 = dsq->game->avatar->vel2; f.rot = dsq->game->avatar->rotation.z; f.mouse = core->mouse; f.t = time; frames.push_back(f); /* timeDiff += dt; if (timeDiff > key) { timeDiff -= key; } */ time += dt; if (getQuitKey()) { toggleRecord(false); dsq->centerMessage("Stopped Recording"); } } else if (mode == DEMOMODE_PLAYBACK) { //core->updateMouse = false; while (frame < frames.size()) { DemoFrame *f = &frames[frame]; if (f->t <= time) { // temporarily deactivate for seahorse footage dsq->game->avatar->vel = f->vel; dsq->game->avatar->vel2 = f->vel2; dsq->game->avatar->rotation.z = f->rot; dsq->game->avatar->position = f->avatarPos; core->mouse = f->mouse; frame++; } else { break; } // } time += dt; //core->updateMouse = true; if (getQuitKey() || (!frames.empty() && frame >= frames.size())) { togglePlayback(false); dsq->centerMessage("Stopped Playback"); } } }
void RobotController::update(){ toggleRecord(); updateData(); updateMovement(); }
void LircCommander::slotExecute(const char *command) { struct command tmp, *res; RG_DEBUG << "LircCommander::slotExecute: invoking command: " << command; // find the function for the name tmp.name = command; res = (struct command *)bsearch(&tmp, commands, sizeof(commands) / sizeof(struct command), sizeof(struct command), compareCommandName); if (res != NULL) { switch (res->code) { case cmd_play: emit play(); break; case cmd_stop: emit stop(); break; case cmd_record: emit record(); break; case cmd_rewind: emit rewind(); break; case cmd_rewindToBeginning: emit rewindToBeginning(); break; case cmd_fastForward: emit fastForward(); break; case cmd_fastForwardToEnd: emit fastForwardToEnd(); break; case cmd_toggleRecord: emit toggleRecord(); break; case cmd_trackDown: emit trackDown(); break; case cmd_trackUp: emit trackUp(); break; case cmd_trackMute: emit trackMute(); break; case cmd_trackRecord: emit trackRecord(); break; case cmd_undo: emit undo(); break; case cmd_redo: emit redo(); break; case cmd_aboutrg: emit aboutrg(); break; case cmd_editInEventList: emit editInEventList(); break; case cmd_editInMatrix: emit editInMatrix(); break; case cmd_editInPercussionMatrix: emit editInPercussionMatrix(); break; case cmd_editAsNotation: emit editAsNotation(); break; case cmd_quit: emit quit(); break; case cmd_closeTransport: emit closeTransport(); break; case cmd_toggleTransportVisibility: emit toggleTransportVisibility(); break; default: RG_DEBUG << "LircCommander::slotExecute: unhandled command " << command; return; } RG_DEBUG << "LircCommander::slotExecute: handled command: " << command; } else { RG_DEBUG << "LircCommander::slotExecute: invoking command: " << command << " failed (command not defined in LircCommander::commands[])" << endl; }; }
TranzportClient::TranzportClient(RosegardenMainWindow* rgGUIApp) : QObject(), device_online(true), previous_buttons(*reinterpret_cast<uint32_t*>(previousbuf+2)), current_buttons(*reinterpret_cast<uint32_t*>(currentbuf+2)), datawheel(currentbuf[6]), status(currentbuf[1]), m_rgGUIApp(rgGUIApp), m_rgDocument(rgGUIApp->getDocument()), m_composition(&m_rgDocument->getComposition()) { m_descriptor = open("/dev/tranzport0",O_RDWR); if (m_descriptor < 0) { throw Exception(qstrtostr(QObject::tr("Failed to open tranzport device /dev/tranzport0"))); } bzero(currentbuf,8); bzero(previousbuf,8); fcntl(m_descriptor,F_SETOWN, getpid()); int socketFlags = fcntl(m_descriptor, F_GETFL, 0); if (socketFlags != -1) { fcntl(m_descriptor, F_SETFL, socketFlags | O_NONBLOCK); } m_socketReadNotifier = new QSocketNotifier(m_descriptor, QSocketNotifier::Read, 0); m_socketWriteNotifier = new QSocketNotifier(m_descriptor, QSocketNotifier::Write,0); connect(m_socketReadNotifier, SIGNAL(activated(int)), this, SLOT(readData())); connect(m_socketWriteNotifier, SIGNAL(activated(int)), this, SLOT(writeCommandQueue())); connect(this, SIGNAL(play()), m_rgGUIApp, SLOT(slotPlay()) ); connect(this, SIGNAL(stop()), m_rgGUIApp, SLOT(slotStop()) ); connect(this, SIGNAL(record()), m_rgGUIApp, SLOT(slotRecord()) ); connect(this, SIGNAL(rewind()), m_rgGUIApp, SLOT(slotRewind()) ); connect(this, SIGNAL(rewindToBeginning()), m_rgGUIApp, SLOT(slotRewindToBeginning()) ); connect(this, SIGNAL(fastForward()), m_rgGUIApp, SLOT(slotFastforward()) ); connect(this, SIGNAL(fastForwardToEnd()), m_rgGUIApp, SLOT(slotFastForwardToEnd()) ); connect(this, SIGNAL(toggleRecord()), m_rgGUIApp, SLOT(slotToggleRecord()) ); connect(this, SIGNAL(trackDown()), m_rgGUIApp, SLOT(slotTrackDown()) ); connect(this, SIGNAL(trackUp()), m_rgGUIApp, SLOT(slotTrackUp()) ); connect(this, SIGNAL(trackMute()), m_rgGUIApp, SLOT(slotToggleMute()) ); connect(this, SIGNAL(trackRecord()), m_rgGUIApp, SLOT(slotToggleRecordCurrentTrack()) ); connect(this, SIGNAL(solo(bool)), m_rgGUIApp, SLOT(slotToggleSolo(bool))); connect(m_rgGUIApp, SIGNAL(documentChanged(RosegardenDocument*)), this, SLOT(documentChanged(RosegardenDocument*))); connect(m_rgDocument, SIGNAL(pointerPositionChanged(timeT)), this, SLOT(pointerPositionChanged(timeT))); connect(m_rgDocument, SIGNAL(loopChanged(timeT,timeT)), this, SLOT(loopChanged(timeT,timeT))); connect(this, SIGNAL(undo()), CommandHistory::getInstance(),SLOT(undo())); connect(this, SIGNAL(redo()), CommandHistory::getInstance(), SLOT(redo())); connect(this, SIGNAL(setPosition(timeT)), m_rgDocument, SLOT(slotSetPointerPosition(timeT))); m_composition->addObserver(this); m_socketWriteNotifier->setEnabled(false); stateUpdate(); RG_DEBUG << "TranzportClient::TranzportClient: connected to tranzport device: " << m_descriptor << endl; }
AudioRecorder::AudioRecorder() { //! [create-objs-1] capture = new QAudioRecorder(); //! [create-objs-1] // set a default file capture->setOutputLocation(QUrl("test.raw")); QWidget *window = new QWidget; QGridLayout* layout = new QGridLayout; QLabel* deviceLabel = new QLabel; deviceLabel->setText("Devices"); deviceBox = new QComboBox(this); deviceBox->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed); QLabel* codecLabel = new QLabel; codecLabel->setText("Codecs"); codecsBox = new QComboBox(this); codecsBox->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed); QLabel* qualityLabel = new QLabel; qualityLabel->setText("Quality"); qualityBox = new QComboBox(this); qualityBox->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed); //! [device-list] for(int i = 0; i < audiosource->deviceCount(); i++) deviceBox->addItem(audiosource->name(i)); //! [device-list] //! [codec-list] QStringList codecs = capture->supportedAudioCodecs(); for(int i = 0; i < codecs.count(); i++) codecsBox->addItem(codecs.at(i)); //! [codec-list] qualityBox->addItem("Low"); qualityBox->addItem("Medium"); qualityBox->addItem("High"); connect(capture, SIGNAL(durationChanged(qint64)), this, SLOT(updateProgress(qint64))); connect(capture, SIGNAL(stateChanged(QMediaRecorder::State)), this, SLOT(stateChanged(QMediaRecorder::State))); layout->addWidget(deviceLabel,0,0,Qt::AlignHCenter); connect(deviceBox,SIGNAL(activated(int)),SLOT(deviceChanged(int))); layout->addWidget(deviceBox,0,1,1,3,Qt::AlignLeft); layout->addWidget(codecLabel,1,0,Qt::AlignHCenter); connect(codecsBox,SIGNAL(activated(int)),SLOT(codecChanged(int))); layout->addWidget(codecsBox,1,1,Qt::AlignLeft); layout->addWidget(qualityLabel,1,2,Qt::AlignHCenter); connect(qualityBox,SIGNAL(activated(int)),SLOT(qualityChanged(int))); layout->addWidget(qualityBox,1,3,Qt::AlignLeft); fileButton = new QPushButton(this); fileButton->setText(tr("Output File")); connect(fileButton,SIGNAL(clicked()),SLOT(selectOutputFile())); layout->addWidget(fileButton,3,0,Qt::AlignHCenter); button = new QPushButton(this); button->setText(tr("Record")); connect(button,SIGNAL(clicked()),SLOT(toggleRecord())); layout->addWidget(button,3,3,Qt::AlignHCenter); recTime = new QLabel; recTime->setText("0 sec"); layout->addWidget(recTime,4,0,Qt::AlignHCenter); window->setLayout(layout); setCentralWidget(window); window->show(); active = false; }
UEditorWindow::UEditorWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::EditWindowClass), _confirmCloseMessageBox(0), _redoAction(0), _undoAction(0), _spaceNoteGeneration(false) { this->setFocusPolicy(Qt::StrongFocus); _startTime=0; _playViolon = false; _currentFile = NULL; _isPlaying=false; setAcceptDrops(true); USetting::Instance.init(); #ifdef QT_MODULE_NETWORK UCheckUpdate * check = new UCheckUpdate(QUrl(URL_VERSION)); connect(check,SIGNAL(connected()),this,SLOT(onConnected())); #endif setupAudio(); setupUi(); _currentFile = new UFile(this);// "songs/arkol - vingt ans/Arkol - vingt ans.txt"); fileConnect(); this->showSentenceWidget->setHScroll(0); connect(ui->vScroll,SIGNAL(valueChanged(int)),this,SLOT(onUpdateVScrollAndScale(int))); connect(ui->vSlider,SIGNAL(valueChanged(int)),this,SLOT(onUpdateVScrollAndScale(int))); connect(ui->vScroll,SIGNAL(sliderPressed()),this,SLOT(onUpdateVScrollAndScale())); connect(ui->vSlider,SIGNAL(sliderPressed()),this,SLOT(onUpdateVScrollAndScale())); //connect(ui->vScroll,SIGNAL(actionTriggered(int)),this,SLOT(changeVScroll(int))); connect(_hScroll,SIGNAL(valueChanged(int)),this,SLOT(changeHScroll(int))); //connect(ui->hSlider,SIGNAL(valueChanged(int)),this,SLOT(changeHSlider(int))); connect(_hScroll,SIGNAL(sliderPressed()),this,SLOT(changeHScroll())); //connect(ui->hSlider,SIGNAL(sliderPressed()),this,SLOT(changeHSlider())); connect(_hScroll,SIGNAL(pageStepChanged(int)),this,SLOT(changeHSlider(int))); connect(ui->actionOpen,SIGNAL(triggered()),this,SLOT(openFile())); connect(ui->actionEditHeaders,SIGNAL(triggered()),this,SLOT(editHeader())); connect(ui->actionApplyOffset,SIGNAL(triggered()),this,SLOT(openTiming())); connect(ui->actionAbout, SIGNAL(triggered()), this, SLOT(about())); connect(playAction, SIGNAL(triggered()), this, SLOT(tooglePlay())); connect(pauseAction, SIGNAL(triggered()), this, SLOT(tooglePlay())); connect(recordAction, SIGNAL(triggered()), this, SLOT(toggleRecord())); connect(showSentenceWidget,SIGNAL(haveToStop()), this, SLOT(tooglePlay())); connect(this->ui->offsetSpinBox, SIGNAL(valueChanged(int)), showSentenceWidget, SLOT(setPreviousDisplayed(int))); this->ui->offsetSpinBox->setValue(2); connect(ui->actionSetNormalNote,SIGNAL(triggered()),showSentenceWidget, SLOT(setNormal())); connect(ui->actionSetFreeNote,SIGNAL(triggered()),showSentenceWidget, SLOT(setFree())); connect(ui->actionSetGoldNote,SIGNAL(triggered()),showSentenceWidget, SLOT(setGold())); connect(ui->actionMergeNotes,SIGNAL(triggered()),showSentenceWidget, SLOT(fusion())); connect(ui->actionSplitNote,SIGNAL(triggered()),showSentenceWidget, SLOT(split())); connect(ui->actionAddNote,SIGNAL(triggered()),showSentenceWidget, SLOT(nextClickAddNote())); connect(ui->actionAddSeparator,SIGNAL(triggered()),showSentenceWidget, SLOT(nextClickAddSeparator())); connect(ui->actionSave,SIGNAL(triggered()),this,SLOT(save())); connect(ui->actionSaveAs,SIGNAL(triggered()),this,SLOT(saveAs())); connect(ui->actionNew,SIGNAL(triggered()),this,SLOT(newSong())); connect(ui->actionQuit,SIGNAL(triggered()),this,SLOT(close())); connect(&UInputManager::Instance,SIGNAL(spacePressEvent(void)),this,SLOT(tooglePlay())); connect(_wydget_timeline, SIGNAL(gapModified(double)),this, SLOT(gapModified(double))); connect(ui->actionDeleteNote,SIGNAL(triggered()),showSentenceWidget,SLOT(deleteNotes())); connect(ui->actionPreferences,SIGNAL(triggered()),&USetting::Instance,SLOT(showDialog())); connect(ui->actionMorphe,SIGNAL(triggered()),showSentenceWidget,SLOT(calquer())); connect(ui->actionLockTimings,SIGNAL(toggled(bool)),showSentenceWidget,SLOT(lockTime(bool))); connect(ui->actionCenter,SIGNAL(triggered()),this,SLOT(centerView())); connect(ui->actionHelp,SIGNAL(triggered()),this,SLOT(displayHelpScreen())); connect(ui->actionSendFeedback,SIGNAL(triggered()),this,SLOT(displayFeedback())); onUpdateVScrollAndScale(); changeHScroll(0); // _currentFile = new UFile(this); this->showSentenceWidget->setLyrics(_currentFile->lyrics); _wydget_lyrics->setWidgetWords(showSentenceWidget); _undoAction = _currentFile->lyrics->history().createUndoAction(this->ui->menuEdit, tr("Annuler ")); _undoAction->setShortcut(QKeySequence::Undo); _undoAction->setIcon(QIcon(":/images/undo.png")); this->ui->menuEdit->addAction(_undoAction); this->ui->toolBar->insertAction(this->ui->actionSetNormalNote, _undoAction); _redoAction = _currentFile->lyrics->history().createRedoAction(this->ui->menuEdit, tr("Refaire ")); _redoAction->setShortcut(QKeySequence::Redo); _redoAction->setIcon(QIcon(":/images/redo.png")); this->ui->menuEdit->addAction(_redoAction); this->ui->toolBar->insertAction(this->ui->actionSetNormalNote, _redoAction); readLastFile(); connect(ui->actionRecentFiles,SIGNAL(triggered()),this,SLOT(openLastFile())); readSettings(); _spaceNote = new Recorder(this->showSentenceWidget); _autoSaveTimer = new QTimer(this); connect(_autoSaveTimer, SIGNAL(timeout()), this, SLOT(autoSave())); adaptNewFile(); }