Files
        @ d19fdcb6a391
    
        
              Branch filter: 
        
    Location: tempo-plotter/src/recordpanel.h - annotation
        
            
            d19fdcb6a391
            2.8 KiB
            text/plain
        
        
    
    correctly remember record and log tabs focus
    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  | 4d2ac35fe823 8a491cad75a7 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 8a491cad75a7 b44879156c7c 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 4d2ac35fe823 8a491cad75a7 4d2ac35fe823 4d2ac35fe823 ab6bc6d4e2f6 ab6bc6d4e2f6 e0c6c43cbcf5 e0c6c43cbcf5 6585bc4c1c6c 6585bc4c1c6c 6585bc4c1c6c 6585bc4c1c6c 6585bc4c1c6c e0c6c43cbcf5 e0c6c43cbcf5 e0c6c43cbcf5 e0c6c43cbcf5 e0c6c43cbcf5 1bdd2654701b 1bdd2654701b 1bdd2654701b 1bdd2654701b 4d2ac35fe823 4d2ac35fe823 ab6bc6d4e2f6 ab6bc6d4e2f6 24c9f6ea4d9d fc149fc9db94 8a491cad75a7 8a491cad75a7 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 © 2018 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 "stream.h"
namespace Ui {
class RecordPanel;
}
class RecordPanel : public QWidget
{
    Q_OBJECT
public:
    explicit RecordPanel(Stream* stream, QWidget* parent = 0);
    ~RecordPanel();
    QToolBar* toolbar();
    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;
    Stream* _stream;
    /**
     * @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
 |