summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/cable/cableedit.cpp
Unidiff
Diffstat (limited to 'noncore/settings/networksettings2/cable/cableedit.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/networksettings2/cable/cableedit.cpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/noncore/settings/networksettings2/cable/cableedit.cpp b/noncore/settings/networksettings2/cable/cableedit.cpp
new file mode 100644
index 0000000..6e1a13b
--- a/dev/null
+++ b/noncore/settings/networksettings2/cable/cableedit.cpp
@@ -0,0 +1,68 @@
1#include <GUIUtils.h>
2#include <stdio.h>
3#include <qlineedit.h>
4#include <qcombobox.h>
5#include <qspinbox.h>
6#include <qcheckbox.h>
7#include "cabledata.h"
8#include "cableedit.h"
9
10static long SpeedTable[] = {
11 2400, 9600, 19200, 38400, 57600, 115200,
12 230400, 460800, 500000, 921600, 1000000,
13 1152000, 1500000, 2000000, 2500000, 3000000,
14 3500000, 4000000, -1
15};
16
17CableEdit::CableEdit( QWidget * Parent ) : CableGUI( Parent ) {
18}
19
20void CableEdit::showData( CableData_t & D ) {
21 DeviceFile_LE->setText( D.Device );
22 LockFile_LE->setText( D.LockFile );
23 for( long * Run = SpeedTable; *Run != -1; *Run ++ ) {
24 if( *Run == D.Speed ) {
25 Speed_CB->setCurrentItem(
26 ((long)(Run)-(long)(SpeedTable))/sizeof(long) );
27 break;
28 }
29 }
30 Parity_CB->setCurrentItem( D.Parity );
31 DataBits_SB->setValue( D.DataBits );
32 StopBits_CB->setCurrentItem( D.StopBits );
33 HardwareFC_CB->setChecked( D.HardwareControl );
34 SoftwareFC_CB->setChecked( D.SoftwareControl );
35}
36
37QString CableEdit::acceptable( void ) {
38 if( DeviceFile_LE->text().isEmpty() )
39 return tr("Device filename needed");
40 return QString();
41}
42
43bool CableEdit::commit( CableData_t & D ) {
44 bool SM = 0;
45
46 TXTM( D.Device, DeviceFile_LE, SM );
47 TXTM( D.LockFile, LockFile_LE, SM );
48
49 for( long * Run = SpeedTable; *Run != -1; *Run ++ ) {
50 if( *Run == D.Speed ) {
51 if( D.Speed != Speed_CB->currentText().toLong() ) {
52 SM = 1;
53 D.Speed = Speed_CB->currentText().toLong();
54 }
55 break;
56 }
57 }
58
59 CIM(D.Parity, Parity_CB, SM );
60
61 SBM(D.DataBits, DataBits_SB, SM );
62 CIM(D.StopBits, StopBits_CB, SM );
63
64 CBM( D.HardwareControl, HardwareFC_CB, SM );
65 CBM( D.SoftwareControl, SoftwareFC_CB, SM );
66
67 return SM;
68}