kitchensync

connectionwidgets.cpp
1/*
2 This file is part of KitchenSync.
3
4 Copyright (c) 2005 Tobias Koenig <tokoe@kde.org>
5 Copyright (c) 2006 Daniel Gollub <dgollub@suse.de>
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20*/
21
22#include <kcombobox.h>
23#include <kdialog.h>
24#include <tdeglobal.h>
25#include <kiconloader.h>
26#include <kinputdialog.h>
27#include <klineedit.h>
28#include <tdelocale.h>
29#include <tdemessagebox.h>
30
31#include <tqapplication.h>
32#include <tqeventloop.h>
33#include <tqlabel.h>
34#include <tqlayout.h>
35#include <tqpushbutton.h>
36#include <tqspinbox.h>
37#include <tqtabwidget.h>
38#include <tqtooltip.h>
39#include <tqvbox.h>
40
41#include "connectionwidgets.h"
42
43BluetoothWidget::BluetoothWidget( TQWidget *parent )
44 : TQWidget( parent )
45{
46 TQGridLayout *layout = new TQGridLayout( this );
47
48 mAddress = new KLineEdit( this );
49 mAddress->setInputMask( ">NN:NN:NN:NN:NN:NN;" );
50 layout->addWidget( mAddress, 1, 0 );
51
52 TQLabel *label = new TQLabel( i18n( "Bluetooth address:" ), this );
53 label->setBuddy( mAddress );
54 layout->addWidget( label, 0, 0 );
55
56 mChannel = new KLineEdit( this );
57 layout->addWidget( mChannel, 1, 1 );
58
59 mChannelLabel = new TQLabel( i18n( "Channel:" ), this );
60 mChannelLabel->setBuddy( mChannel );
61 layout->addWidget( mChannelLabel, 0, 1 );
62
63 layout->setRowStretch( 2, 1 );
64}
65
66void BluetoothWidget::hideChannel()
67{
68 mChannelLabel->hide();
69 mChannel->hide();
70}
71
72void BluetoothWidget::showChannel()
73{
74 mChannelLabel->show();
75 mChannel->show();
76}
77
78void BluetoothWidget::setAddress( const TQString address )
79{
80 mAddress->setText( address );
81}
82
83void BluetoothWidget::setChannel( const TQString channel )
84{
85 if ( mChannel )
86 mChannel->setText( channel );
87}
88
89TQString BluetoothWidget::address() const
90{
91 return mAddress->text();
92}
93
94TQString BluetoothWidget::channel() const
95{
96 if ( mChannel->text().isEmpty() )
97 return TQString();
98
99 return mChannel->text();
100}
101
102// FIXME - Only IrMC specific
103IRWidget::IRWidget( TQWidget *parent )
104 : TQWidget( parent )
105{
106 TQGridLayout *layout = new TQGridLayout( this, 3, 3, 11, 3 );
107
108 mDevice = new KLineEdit( this );
109 mSerialNumber = new KLineEdit( this );
110
111 layout->addWidget( mDevice, 1, 0 );
112 layout->addWidget( mSerialNumber, 1, 1 );
113
114 TQLabel *label = new TQLabel( i18n( "Device Name:" ), this );
115 label->setBuddy( mDevice );
116 layout->addWidget( label, 0, 0 );
117
118 label = new TQLabel( i18n( "Serial Number:" ), this );
119 label->setBuddy( mSerialNumber );
120 layout->addWidget( label, 0, 1 );
121
122 layout->setRowStretch( 2, 1 );
123}
124
125void IRWidget::load( const TQDomElement &parent )
126{
127 TQDomNode node;
128 for ( node = parent.firstChild(); !node.isNull(); node = node.nextSibling() ) {
129 TQDomElement element = node.toElement();
130 if ( element.tagName() == "irname" )
131 mDevice->setText( element.text() );
132 else if ( element.tagName() == "irserial" )
133 mSerialNumber->setText( element.text() );
134 }
135}
136
137void IRWidget::save( TQDomDocument &doc, TQDomElement &parent )
138{
139 TQDomElement element = doc.createElement( "irname" );
140 element.appendChild( doc.createTextNode( mDevice->text() ) );
141 parent.appendChild( element );
142
143 element = doc.createElement( "irserial" );
144 element.appendChild( doc.createTextNode( mSerialNumber->text() ) );
145 parent.appendChild( element );
146}
147
148// FIXME - Only IrMC specific
149CableWidget::CableWidget( TQWidget *parent )
150 : TQWidget( parent )
151{
152 TQGridLayout *layout = new TQGridLayout( this, 3, 2, 11, 3 );
153
154 mManufacturer = new KComboBox( this );
155 mDevice = new KComboBox( true, this );
156
157 layout->addWidget( mManufacturer, 0, 1 );
158 layout->addWidget( mDevice, 1, 1 );
159
160 TQLabel *label = new TQLabel( i18n( "Device Manufacturer:" ), this );
161 label->setBuddy( mManufacturer );
162 layout->addWidget( label, 0, 0 );
163
164 label = new TQLabel( i18n( "Device:" ), this );
165 label->setBuddy( mDevice );
166 layout->addWidget( label, 1, 0 );
167
168 layout->setRowStretch( 2, 1 );
169
170 mManufacturer->insertItem( i18n( "SonyEricsson/Ericsson" ) );
171 mManufacturer->insertItem( i18n( "Siemens" ) );
172
173 mDevice->insertItem( "/dev/ttyS0" );
174 mDevice->insertItem( "/dev/ttyS1" );
175 mDevice->insertItem( "/dev/ttyUSB0" );
176 mDevice->insertItem( "/dev/ttyUSB1" );
177}
178
179void CableWidget::load( const TQDomElement &parent )
180{
181 TQDomNode node;
182 for ( node = parent.firstChild(); !node.isNull(); node = node.nextSibling() ) {
183 TQDomElement element = node.toElement();
184 if ( element.tagName() == "cabletype" )
185 mManufacturer->setCurrentItem( element.text().toInt() );
186 else if ( element.tagName() == "cabledev" )
187 mDevice->setCurrentText( element.text() );
188 }
189}
190
191void CableWidget::save( TQDomDocument &doc, TQDomElement &parent )
192{
193 TQDomElement element = doc.createElement( "cabletype" );
194 element.appendChild( doc.createTextNode( TQString::number( mManufacturer->currentItem() ) ) );
195 parent.appendChild( element );
196
197 element = doc.createElement( "cabledev" );
198 element.appendChild( doc.createTextNode( mDevice->currentText() ) );
199 parent.appendChild( element );
200}
201
202UsbWidget::UsbWidget( TQWidget *parent )
203 : TQWidget( parent )
204{
205 TQGridLayout *layout = new TQGridLayout( this, 3, 2, 11, 3);
206
207 mInterface = new TQSpinBox( this );
208 layout->addWidget( mInterface, 0, 1 );
209
210 TQLabel *label = new TQLabel( i18n( "USB Interface:" ), this );
211 label->setBuddy( mInterface );
212 layout->addWidget( label, 0, 0 );
213
214 layout->setRowStretch( 2, 1 );
215}
216
217void UsbWidget::setInterface( int interface )
218{
219 mInterface->setValue( interface );
220}
221
222int UsbWidget::interface() const
223{
224 return mInterface->value();
225}
226
227#include "connectionwidgets.moc"