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 
43 BluetoothWidget::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 
66 void BluetoothWidget::hideChannel()
67 {
68  mChannelLabel->hide();
69  mChannel->hide();
70 }
71 
72 void BluetoothWidget::showChannel()
73 {
74  mChannelLabel->show();
75  mChannel->show();
76 }
77 
78 void BluetoothWidget::setAddress( const TQString address )
79 {
80  mAddress->setText( address );
81 }
82 
83 void BluetoothWidget::setChannel( const TQString channel )
84 {
85  if ( mChannel )
86  mChannel->setText( channel );
87 }
88 
89 TQString BluetoothWidget::address() const
90 {
91  return mAddress->text();
92 }
93 
94 TQString BluetoothWidget::channel() const
95 {
96  if ( mChannel->text().isEmpty() )
97  return TQString();
98 
99  return mChannel->text();
100 }
101 
102 // FIXME - Only IrMC specific
103 IRWidget::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 
125 void 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 
137 void 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
149 CableWidget::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 
179 void 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 
191 void 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 
202 UsbWidget::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 
217 void UsbWidget::setInterface( int interface )
218 {
219  mInterface->setValue( interface );
220 }
221 
222 int UsbWidget::interface() const
223 {
224  return mInterface->value();
225 }
226 
227 #include "connectionwidgets.moc"