/* Copyright © 2015 Hasan Yavuz Özderya This file is part of serialplot. serialplot is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. serialplot is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with serialplot. If not, see . */ #include #include "snapshot.h" #include "snapshotview.h" Snapshot::Snapshot(QMainWindow* parent, QString name) : QObject(parent), _showAction(name, this), _deleteAction("Delete", this) { _name = name; view = NULL; mainWindow = parent; connect(&_showAction, &QAction::triggered, this, &Snapshot::show); _deleteAction.setToolTip(QString("Delete ") + _name); connect(&_deleteAction, &QAction::triggered, this, &Snapshot::onDeleteTriggered); } Snapshot::~Snapshot() { if (view != NULL) { delete view; } } QAction* Snapshot::showAction() { return &_showAction; } QAction* Snapshot::deleteAction() { return &_deleteAction; } void Snapshot::show() { if (view == NULL) { view = new SnapshotView(mainWindow, this); connect(view, &SnapshotView::closed, this, &Snapshot::viewClosed); } view->show(); view->activateWindow(); view->raise(); } void Snapshot::viewClosed() { view->deleteLater(); view = NULL; } void Snapshot::onDeleteTriggered() { emit deleteRequested(this); } QString Snapshot::name() { return _name; } void Snapshot::setName(QString name) { _name = name; _showAction.setText(_name); emit nameChanged(this); }