aboutsummaryrefslogtreecommitdiff
path: root/cutecom-0.22.0/qcppdialogimpl.h
diff options
context:
space:
mode:
Diffstat (limited to 'cutecom-0.22.0/qcppdialogimpl.h')
-rw-r--r--cutecom-0.22.0/qcppdialogimpl.h108
1 files changed, 108 insertions, 0 deletions
diff --git a/cutecom-0.22.0/qcppdialogimpl.h b/cutecom-0.22.0/qcppdialogimpl.h
new file mode 100644
index 0000000..a70c506
--- /dev/null
+++ b/cutecom-0.22.0/qcppdialogimpl.h
@@ -0,0 +1,108 @@
+/* Copyright (C) 2004-2005 Alexander Neundorf <neundorf@kde.org>
+
+ This program 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 2 of the License, or
+ (at your option) any later version.
+
+ This program 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 this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+*/
+
+#ifndef QCPPIALOGIMPL_H
+#define QCPPIALOGIMPL_H
+
+#include "ui_cutecommdlg.h"
+
+#include <termios.h>
+
+#include <qsocketnotifier.h>
+#include <qtimer.h>
+#include <qdatetime.h>
+#include <qfile.h>
+//Added by qt3to4:
+#include <QResizeEvent>
+#include <QEvent>
+#include <QWidget>
+
+#define CUTECOMM_BUFSIZE (4096)
+
+class QListWidgetItem;
+class QResizeEvent;
+class Q3Process;
+class QProgressDialog;
+class QFileDialog;
+
+class QCPPDialogImpl:public QWidget, public Ui::CuteCommDlg
+{
+ Q_OBJECT
+ public:
+ QCPPDialogImpl(QWidget* parent);
+ virtual bool eventFilter(QObject* watched, QEvent *e);
+ protected slots:
+ void execCmd();
+ void readData(int fd);
+ void sendFile();
+ void showAboutMsg();
+
+ void oldCmdClicked(QListWidgetItem* item);
+ void saveSettings();
+ void readFromStdout();
+ void readFromStderr();
+ void sendDone();
+ void connectTTY();
+ void disconnectTTY();
+ void killSz();
+ void enableSettingWidgets(bool enable);
+ void doOutput();
+ void sendKey();
+ void hexOutputClicked(bool on);
+ void enableLogging(bool on);
+ void chooseLogFile();
+ void clearOutput();
+ protected:
+ void fillBaudCb();
+ void addOutput(const QString& text);
+ bool sendByte(char c, unsigned int delay);
+ void disconnectTTYRestore(bool restore);
+ void readSettings();
+ void prevCmd();
+ void nextCmd();
+ bool sendString(const QString& s);
+ void setNewOptions(int baudrate, int databits, const QString& parity, const QString& stop, bool softwareHandshake, bool hardwareHandshake);
+ virtual void resizeEvent(QResizeEvent *e);
+
+ bool m_isConnected;
+ int m_fd;
+ struct termios m_oldtio;
+ unsigned int m_cmdBufIndex;
+ QSocketNotifier *m_notifier;
+ char m_buf[CUTECOMM_BUFSIZE];
+ Q3Process *m_sz;
+ QProgressDialog *m_progress;
+ int m_progressStepSize;
+
+ QFileDialog *m_fileDlg;
+ QString m_sendFileDialogStartDir;
+
+ QTimer m_outputTimer;
+ QTime m_outputTimerStart;
+ QString m_outputBuffer;
+
+ QTimer m_keyRepeatTimer;
+ char m_keyCode;
+ unsigned int m_hexBytes;
+ char m_previousChar;
+
+ QFile m_logFile;
+
+};
+
+#endif