connectionwidgets.cpp
00001 /* 00002 This file is part of KitchenSync. 00003 00004 Copyright (c) 2005 Tobias Koenig <tokoe@kde.org> 00005 Copyright (c) 2006 Daniel Gollub <dgollub@suse.de> 00006 00007 This program is free software; you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation; either version 2 of the License, or 00010 (at your option) any later version. 00011 00012 This program is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with this program; if not, write to the Free Software 00019 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00020 */ 00021 00022 #include <kcombobox.h> 00023 #include <kdialog.h> 00024 #include <kglobal.h> 00025 #include <kiconloader.h> 00026 #include <kinputdialog.h> 00027 #include <klineedit.h> 00028 #include <klocale.h> 00029 #include <kmessagebox.h> 00030 00031 #include <tqapplication.h> 00032 #include <tqeventloop.h> 00033 #include <tqlabel.h> 00034 #include <tqlayout.h> 00035 #include <tqpushbutton.h> 00036 #include <tqspinbox.h> 00037 #include <tqtabwidget.h> 00038 #include <tqtooltip.h> 00039 #include <tqvbox.h> 00040 00041 #include "connectionwidgets.h" 00042 00043 BluetoothWidget::BluetoothWidget( TQWidget *parent ) 00044 : TQWidget( parent ) 00045 { 00046 TQGridLayout *layout = new TQGridLayout( this ); 00047 00048 mAddress = new KLineEdit( this ); 00049 mAddress->setInputMask( ">NN:NN:NN:NN:NN:NN;" ); 00050 layout->addWidget( mAddress, 1, 0 ); 00051 00052 TQLabel *label = new TQLabel( i18n( "Bluetooth address:" ), this ); 00053 label->setBuddy( mAddress ); 00054 layout->addWidget( label, 0, 0 ); 00055 00056 mChannel = new KLineEdit( this ); 00057 layout->addWidget( mChannel, 1, 1 ); 00058 00059 mChannelLabel = new TQLabel( i18n( "Channel:" ), this ); 00060 mChannelLabel->setBuddy( mChannel ); 00061 layout->addWidget( mChannelLabel, 0, 1 ); 00062 00063 layout->setRowStretch( 2, 1 ); 00064 } 00065 00066 void BluetoothWidget::hideChannel() 00067 { 00068 mChannelLabel->hide(); 00069 mChannel->hide(); 00070 } 00071 00072 void BluetoothWidget::showChannel() 00073 { 00074 mChannelLabel->show(); 00075 mChannel->show(); 00076 } 00077 00078 void BluetoothWidget::setAddress( const TQString address ) 00079 { 00080 mAddress->setText( address ); 00081 } 00082 00083 void BluetoothWidget::setChannel( const TQString channel ) 00084 { 00085 if ( mChannel ) 00086 mChannel->setText( channel ); 00087 } 00088 00089 TQString BluetoothWidget::address() const 00090 { 00091 return mAddress->text(); 00092 } 00093 00094 TQString BluetoothWidget::channel() const 00095 { 00096 if ( mChannel->text().isEmpty() ) 00097 return TQString(); 00098 00099 return mChannel->text(); 00100 } 00101 00102 // FIXME - Only IrMC specific 00103 IRWidget::IRWidget( TQWidget *parent ) 00104 : TQWidget( parent ) 00105 { 00106 TQGridLayout *layout = new TQGridLayout( this, 3, 3, 11, 3 ); 00107 00108 mDevice = new KLineEdit( this ); 00109 mSerialNumber = new KLineEdit( this ); 00110 00111 layout->addWidget( mDevice, 1, 0 ); 00112 layout->addWidget( mSerialNumber, 1, 1 ); 00113 00114 TQLabel *label = new TQLabel( i18n( "Device Name:" ), this ); 00115 label->setBuddy( mDevice ); 00116 layout->addWidget( label, 0, 0 ); 00117 00118 label = new TQLabel( i18n( "Serial Number:" ), this ); 00119 label->setBuddy( mSerialNumber ); 00120 layout->addWidget( label, 0, 1 ); 00121 00122 layout->setRowStretch( 2, 1 ); 00123 } 00124 00125 void IRWidget::load( const TQDomElement &parent ) 00126 { 00127 TQDomNode node; 00128 for ( node = parent.firstChild(); !node.isNull(); node = node.nextSibling() ) { 00129 TQDomElement element = node.toElement(); 00130 if ( element.tagName() == "irname" ) 00131 mDevice->setText( element.text() ); 00132 else if ( element.tagName() == "irserial" ) 00133 mSerialNumber->setText( element.text() ); 00134 } 00135 } 00136 00137 void IRWidget::save( TQDomDocument &doc, TQDomElement &parent ) 00138 { 00139 TQDomElement element = doc.createElement( "irname" ); 00140 element.appendChild( doc.createTextNode( mDevice->text() ) ); 00141 parent.appendChild( element ); 00142 00143 element = doc.createElement( "irserial" ); 00144 element.appendChild( doc.createTextNode( mSerialNumber->text() ) ); 00145 parent.appendChild( element ); 00146 } 00147 00148 // FIXME - Only IrMC specific 00149 CableWidget::CableWidget( TQWidget *parent ) 00150 : TQWidget( parent ) 00151 { 00152 TQGridLayout *layout = new TQGridLayout( this, 3, 2, 11, 3 ); 00153 00154 mManufacturer = new KComboBox( this ); 00155 mDevice = new KComboBox( true, this ); 00156 00157 layout->addWidget( mManufacturer, 0, 1 ); 00158 layout->addWidget( mDevice, 1, 1 ); 00159 00160 TQLabel *label = new TQLabel( i18n( "Device Manufacturer:" ), this ); 00161 label->setBuddy( mManufacturer ); 00162 layout->addWidget( label, 0, 0 ); 00163 00164 label = new TQLabel( i18n( "Device:" ), this ); 00165 label->setBuddy( mDevice ); 00166 layout->addWidget( label, 1, 0 ); 00167 00168 layout->setRowStretch( 2, 1 ); 00169 00170 mManufacturer->insertItem( i18n( "SonyEricsson/Ericsson" ) ); 00171 mManufacturer->insertItem( i18n( "Siemens" ) ); 00172 00173 mDevice->insertItem( "/dev/ttyS0" ); 00174 mDevice->insertItem( "/dev/ttyS1" ); 00175 mDevice->insertItem( "/dev/ttyUSB0" ); 00176 mDevice->insertItem( "/dev/ttyUSB1" ); 00177 } 00178 00179 void CableWidget::load( const TQDomElement &parent ) 00180 { 00181 TQDomNode node; 00182 for ( node = parent.firstChild(); !node.isNull(); node = node.nextSibling() ) { 00183 TQDomElement element = node.toElement(); 00184 if ( element.tagName() == "cabletype" ) 00185 mManufacturer->setCurrentItem( element.text().toInt() ); 00186 else if ( element.tagName() == "cabledev" ) 00187 mDevice->setCurrentText( element.text() ); 00188 } 00189 } 00190 00191 void CableWidget::save( TQDomDocument &doc, TQDomElement &parent ) 00192 { 00193 TQDomElement element = doc.createElement( "cabletype" ); 00194 element.appendChild( doc.createTextNode( TQString::number( mManufacturer->currentItem() ) ) ); 00195 parent.appendChild( element ); 00196 00197 element = doc.createElement( "cabledev" ); 00198 element.appendChild( doc.createTextNode( mDevice->currentText() ) ); 00199 parent.appendChild( element ); 00200 } 00201 00202 UsbWidget::UsbWidget( TQWidget *parent ) 00203 : TQWidget( parent ) 00204 { 00205 TQGridLayout *layout = new TQGridLayout( this, 3, 2, 11, 3); 00206 00207 mInterface = new TQSpinBox( this ); 00208 layout->addWidget( mInterface, 0, 1 ); 00209 00210 TQLabel *label = new TQLabel( i18n( "USB Interface:" ), this ); 00211 label->setBuddy( mInterface ); 00212 layout->addWidget( label, 0, 0 ); 00213 00214 layout->setRowStretch( 2, 1 ); 00215 } 00216 00217 void UsbWidget::setInterface( int interface ) 00218 { 00219 mInterface->setValue( interface ); 00220 } 00221 00222 int UsbWidget::interface() const 00223 { 00224 return mInterface->value(); 00225 } 00226 00227 #include "connectionwidgets.moc"