summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/profile/profileedit.cpp
blob: 3f72c5265b37a4d1822707a26246292e652ecf19 (plain)
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
#include <qlabel.h>
#include <qframe.h>
#include <qcheckbox.h>
#include <qmultilineedit.h>
#include <qcheckbox.h>

#include <GUIUtils.h>
#include <asdevice.h>
#include <resources.h>

#include "profileedit.h"

ProfileEdit::ProfileEdit( QWidget * Parent, ANetNodeInstance * TNNI ) : 
      ProfileGUI( Parent ), TrafficRefresh(this) {
      InterfaceInfo * II;

      NNI = TNNI;
      Dev = NNI->runtime()->device();
      if( ( II = Dev->assignedInterface() ) ) {
        Refresh_CB->setEnabled( TRUE );
        Snd_GB->setEnabled( TRUE );
        Rcv_GB->setEnabled( TRUE );
        Collisions_FRM->setEnabled( TRUE );
        // show current content
        SLOT_Refresh();

        // fill in static data
        InterfaceName_LBL->setText( II->Name );
        IPAddress_LBL->setText( II->Address );
        SubnetMask_LBL->setText( II->Netmask );
        Broadcast_LBL->setText( II->BCastAddress );
        MACAddress_LBL->setText( II->MACAddress );
        if( II->IsPointToPoint ) {
          PointToPoint_LBL->setText( II->DstAddress );
        }
        QString S;
        InterfaceName_LBL->setText( II->Name );
        if( II->HasMulticast ) {
          S += "Multicast";
        }
        if( ! S.isEmpty() ) {
          S.prepend( " : " );
        }
        InterfaceOptions_LBL->setText( S  );
      }

      connect( &TrafficRefresh, SIGNAL( timeout() ),
               this, SLOT( SLOT_Refresh() ) );
}

QString ProfileEdit::acceptable( void ) {
    return QString();
}

void ProfileEdit::showData( ProfileData_t & Data ) {
    Description_LE->setText( Data.Description );
    Automatic_CB->setChecked( Data.Automatic );
    Confirm_CB->setChecked( Data.Confirm );
    Disabled_CB->setChecked( Data.Disabled );
}


bool ProfileEdit::commit( ProfileData_t & Data ) {
    bool SM = 0;
    TXTM( Data.Description, Description_LE, SM );

    CBM( Data.Automatic, Automatic_CB, SM );
    CBM( Data.Disabled, Disabled_CB, SM );
    CBM( Data.Confirm, Confirm_CB, SM );

    return SM;
}

void ProfileEdit::SLOT_Refresh( void ) {
    InterfaceInfo * II = Dev->assignedInterface();
    NSResources->system().refreshStatistics( *II );
    RcvBytes_LBL->setText( II->RcvBytes );
    SndBytes_LBL->setText( II->SndBytes );
    RcvErrors_LBL->setText( II->RcvErrors );
    SndErrors_LBL->setText( II->SndErrors );
    RcvDropped_LBL->setText( II->RcvDropped );
    SndDropped_LBL->setText( II->SndDropped );
    Collisions_LBL->setText( II->Collisions );
}

void ProfileEdit::SLOT_AutoRefresh( bool ar ) {
    if( ar ) {
      TrafficRefresh.start( 1000 );
      SLOT_Refresh();
    } else {
      TrafficRefresh.stop();
    }
}