Files
        @ 8ef18859c787
    
        
              Branch filter: 
        
    Location: tempo-plotter/src/recordpanel.h - annotation
        
            
            8ef18859c787
            2.9 KiB
            text/plain
        
        
    
    added timing tests
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117  | 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 24c9f6ea4d9d ab6bc6d4e2f6 ab6bc6d4e2f6 4d2ac35fe823 b44879156c7c 44b35d64abfa b44879156c7c 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 44b35d64abfa 44b35d64abfa 4d2ac35fe823 4d2ac35fe823 ab6bc6d4e2f6 ab6bc6d4e2f6 e0c6c43cbcf5 e0c6c43cbcf5 e0c6c43cbcf5 6585bc4c1c6c 6585bc4c1c6c 6585bc4c1c6c 6585bc4c1c6c 6585bc4c1c6c e0c6c43cbcf5 e0c6c43cbcf5 e0c6c43cbcf5 e0c6c43cbcf5 e0c6c43cbcf5 1bdd2654701b 1bdd2654701b 1bdd2654701b 1bdd2654701b 4d2ac35fe823 4d2ac35fe823 ab6bc6d4e2f6 ab6bc6d4e2f6 24c9f6ea4d9d fc149fc9db94 e0c6c43cbcf5 44b35d64abfa 24c9f6ea4d9d 24c9f6ea4d9d 24c9f6ea4d9d 24c9f6ea4d9d 24c9f6ea4d9d 24c9f6ea4d9d fc149fc9db94 fc149fc9db94 24c9f6ea4d9d fc149fc9db94 24c9f6ea4d9d e969f6ecc779 e969f6ecc779 e969f6ecc779 e969f6ecc779 e969f6ecc779 e969f6ecc779 e969f6ecc779 e969f6ecc779 e969f6ecc779 e969f6ecc779 e969f6ecc779 e969f6ecc779 e969f6ecc779 1f31600a1b32 1f31600a1b32 1f31600a1b32 a5247fcab715 a5247fcab715 a5247fcab715 a5247fcab715 24c9f6ea4d9d 24c9f6ea4d9d 24c9f6ea4d9d 24c9f6ea4d9d 24c9f6ea4d9d 24c9f6ea4d9d 24c9f6ea4d9d 24c9f6ea4d9d 24c9f6ea4d9d 24c9f6ea4d9d 24c9f6ea4d9d 1f31600a1b32 24c9f6ea4d9d 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823  | /*
  Copyright © 2017 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 <http://www.gnu.org/licenses/>.
*/
#ifndef RECORDPANEL_H
#define RECORDPANEL_H
#include <QWidget>
#include <QString>
#include <QToolBar>
#include <QAction>
#include "datarecorder.h"
#include "channelmanager.h"
namespace Ui {
class RecordPanel;
}
class RecordPanel : public QWidget
{
    Q_OBJECT
public:
    explicit RecordPanel(DataRecorder* recorder, ChannelManager* channelMan,
                         QWidget* parent = 0);
    ~RecordPanel();
    QToolBar* toolbar();
    bool isRecording();
    bool recordPaused();
    /// Stores settings into a `QSettings`
    void saveSettings(QSettings* settings);
    /// Loads settings from a `QSettings`.
    void loadSettings(QSettings* settings);
signals:
    void recordStarted();
    void recordStopped();
    void recordPausedChanged(bool enabled);
public slots:
    /// Must be called when port is closed
    void onPortClose();
private:
    Ui::RecordPanel *ui;
    QToolBar recordToolBar;
    QAction recordAction;
    QString selectedFile;
    bool overwriteSelected;
    DataRecorder* _recorder;
    ChannelManager* _channelMan;
    /**
     * @brief Increments the file name.
     *
     * If file name doesn't have a number at the end of it, a number is appended
     * with underscore starting from 1.
     *
     * @return false if user cancels
     */
    bool incrementFileName(void);
    /**
     * @brief Used to ask user confirmation if auto generated file
     * name exists.
     *
     * If user confirms overwrite, `selectedFile` is set to
     * `fileName`. User is also given option to select file and is
     * shown a file select dialog in this case.
     *
     * @param fileName auto generated file name.
     * @return false if user cancels
     */
    bool confirmOverwrite(QString fileName);
    void startRecording(void);
    void stopRecording(void);
    /// Returns separator text from ui. "\t" is converted to TAB
    /// character.
    QString getSeparator() const;
private slots:
    /**
     * @brief Opens up the file select dialog
     *
     * If you cancel the selection operation, currently selected file is not
     * changed.
     *
     * @return true if file selected, false if user cancels
     */
    bool selectFile();
    void onRecord(bool start);
};
#endif // RECORDPANEL_H
 |