summaryrefslogtreecommitdiff
authordrw <drw>2004-11-16 17:52:25 (UTC)
committer drw <drw>2004-11-16 17:52:25 (UTC)
commite83f5b12337c22f365323aa00806b638a971e3a2 (patch) (unidiff)
treefc9c4a34ffc7c2400ccd373f6947626cded6075f
parent3ba09273d96a32263bb22bfbc32fcc6290bde6e8 (diff)
downloadopie-e83f5b12337c22f365323aa00806b638a971e3a2.zip
opie-e83f5b12337c22f365323aa00806b638a971e3a2.tar.gz
opie-e83f5b12337c22f365323aa00806b638a971e3a2.tar.bz2
Minor UI tweak - fix double entry in source feed configuration when adding a new feed
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/packagemanager/oipkgconfigdlg.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/settings/packagemanager/oipkgconfigdlg.cpp b/noncore/settings/packagemanager/oipkgconfigdlg.cpp
index ea0aef0..25052f8 100644
--- a/noncore/settings/packagemanager/oipkgconfigdlg.cpp
+++ b/noncore/settings/packagemanager/oipkgconfigdlg.cpp
@@ -34,608 +34,608 @@ _;:, .> :=|. This program is free software; you can
34#include <opie2/ofiledialog.h> 34#include <opie2/ofiledialog.h>
35 35
36#include <qpe/resource.h> 36#include <qpe/resource.h>
37 37
38#include <qcheckbox.h> 38#include <qcheckbox.h>
39#include <qcombobox.h> 39#include <qcombobox.h>
40#include <qgroupbox.h> 40#include <qgroupbox.h>
41#include <qlabel.h> 41#include <qlabel.h>
42#include <qlineedit.h> 42#include <qlineedit.h>
43#include <qlistbox.h> 43#include <qlistbox.h>
44#include <qpushbutton.h> 44#include <qpushbutton.h>
45#include <qscrollview.h> 45#include <qscrollview.h>
46#include <qwhatsthis.h> 46#include <qwhatsthis.h>
47 47
48OIpkgConfigDlg::OIpkgConfigDlg( OIpkg *ipkg, bool installOptions, QWidget *parent ) 48OIpkgConfigDlg::OIpkgConfigDlg( OIpkg *ipkg, bool installOptions, QWidget *parent )
49 : QDialog( parent, QString::null, true, WStyle_ContextHelp ) 49 : QDialog( parent, QString::null, true, WStyle_ContextHelp )
50 , m_ipkg( ipkg ) 50 , m_ipkg( ipkg )
51 , m_configs( 0x0 ) 51 , m_configs( 0x0 )
52 , m_installOptions( installOptions ) 52 , m_installOptions( installOptions )
53 , m_serverNew( false ) 53 , m_serverNew( false )
54 , m_serverCurrent( -1 ) 54 , m_serverCurrent( -1 )
55 , m_destNew( false ) 55 , m_destNew( false )
56 , m_destCurrent( -1 ) 56 , m_destCurrent( -1 )
57 , m_layout( this, 2, 4 ) 57 , m_layout( this, 2, 4 )
58 , m_tabWidget( this ) 58 , m_tabWidget( this )
59{ 59{
60 setCaption( tr( "Configuration" ) ); 60 setCaption( tr( "Configuration" ) );
61 61
62 // Initialize configuration widgets 62 // Initialize configuration widgets
63 if ( !installOptions ) 63 if ( !installOptions )
64 { 64 {
65 initServerWidget(); 65 initServerWidget();
66 initDestinationWidget(); 66 initDestinationWidget();
67 initProxyWidget(); 67 initProxyWidget();
68 } 68 }
69 initOptionsWidget(); 69 initOptionsWidget();
70 70
71 // Load configuration information 71 // Load configuration information
72 initData(); 72 initData();
73 73
74 // Setup tabs for all info 74 // Setup tabs for all info
75 m_layout.addWidget( &m_tabWidget ); 75 m_layout.addWidget( &m_tabWidget );
76 if ( !m_installOptions ) 76 if ( !m_installOptions )
77 { 77 {
78 m_tabWidget.addTab( m_serverWidget, "packagemanager/servertab", tr( "Servers" ) ); 78 m_tabWidget.addTab( m_serverWidget, "packagemanager/servertab", tr( "Servers" ) );
79 m_tabWidget.addTab( m_destWidget, "packagemanager/desttab", tr( "Destinations" ) ); 79 m_tabWidget.addTab( m_destWidget, "packagemanager/desttab", tr( "Destinations" ) );
80 m_tabWidget.addTab( m_proxyWidget, "packagemanager/proxytab", tr( "Proxies" ) ); 80 m_tabWidget.addTab( m_proxyWidget, "packagemanager/proxytab", tr( "Proxies" ) );
81 m_tabWidget.addTab( m_optionsWidget, "exec", tr( "Options" ) ); 81 m_tabWidget.addTab( m_optionsWidget, "exec", tr( "Options" ) );
82 m_tabWidget.setCurrentTab( tr( "Servers" ) ); 82 m_tabWidget.setCurrentTab( tr( "Servers" ) );
83 } 83 }
84 else 84 else
85 { 85 {
86 m_tabWidget.addTab( m_optionsWidget, "exec", tr( "Options" ) ); 86 m_tabWidget.addTab( m_optionsWidget, "exec", tr( "Options" ) );
87 } 87 }
88} 88}
89 89
90void OIpkgConfigDlg::accept() 90void OIpkgConfigDlg::accept()
91{ 91{
92 // Save server, destination and proxy configuration 92 // Save server, destination and proxy configuration
93 if ( !m_installOptions ) 93 if ( !m_installOptions )
94 { 94 {
95 // Update proxy information before saving settings 95 // Update proxy information before saving settings
96 OConfItem *confItem = findConfItem( OConfItem::Option, "http_proxy" ); 96 OConfItem *confItem = findConfItem( OConfItem::Option, "http_proxy" );
97 if ( confItem ) 97 if ( confItem )
98 { 98 {
99 confItem->setValue( m_proxyHttpServer->text() ); 99 confItem->setValue( m_proxyHttpServer->text() );
100 confItem->setActive( m_proxyHttpActive->isChecked() ); 100 confItem->setActive( m_proxyHttpActive->isChecked() );
101 } 101 }
102 else 102 else
103 m_configs->append( new OConfItem( OConfItem::Option, "http_proxy", 103 m_configs->append( new OConfItem( OConfItem::Option, "http_proxy",
104 m_proxyHttpServer->text(), m_proxyHttpActive->isChecked() ) ); 104 m_proxyHttpServer->text(), m_proxyHttpActive->isChecked() ) );
105 105
106 confItem = findConfItem( OConfItem::Option, "ftp_proxy" ); 106 confItem = findConfItem( OConfItem::Option, "ftp_proxy" );
107 if ( confItem ) 107 if ( confItem )
108 { 108 {
109 confItem->setValue( m_proxyFtpServer->text() ); 109 confItem->setValue( m_proxyFtpServer->text() );
110 confItem->setActive( m_proxyFtpActive->isChecked() ); 110 confItem->setActive( m_proxyFtpActive->isChecked() );
111 } 111 }
112 else 112 else
113 m_configs->append( new OConfItem( OConfItem::Option, "ftp_proxy", 113 m_configs->append( new OConfItem( OConfItem::Option, "ftp_proxy",
114 m_proxyFtpServer->text(), m_proxyFtpActive->isChecked() ) ); 114 m_proxyFtpServer->text(), m_proxyFtpActive->isChecked() ) );
115 115
116 confItem = findConfItem( OConfItem::Option, "proxy_username" ); 116 confItem = findConfItem( OConfItem::Option, "proxy_username" );
117 if ( confItem ) 117 if ( confItem )
118 confItem->setValue( m_proxyUsername->text() ); 118 confItem->setValue( m_proxyUsername->text() );
119 else 119 else
120 m_configs->append( new OConfItem( OConfItem::Option, "proxy_username", 120 m_configs->append( new OConfItem( OConfItem::Option, "proxy_username",
121 m_proxyUsername->text() ) ); 121 m_proxyUsername->text() ) );
122 122
123 confItem = findConfItem( OConfItem::Option, "proxy_password" ); 123 confItem = findConfItem( OConfItem::Option, "proxy_password" );
124 if ( confItem ) 124 if ( confItem )
125 confItem->setValue( m_proxyPassword->text() ); 125 confItem->setValue( m_proxyPassword->text() );
126 else 126 else
127 m_configs->append( new OConfItem( OConfItem::Option, "proxy_password", 127 m_configs->append( new OConfItem( OConfItem::Option, "proxy_password",
128 m_proxyPassword->text() ) ); 128 m_proxyPassword->text() ) );
129 129
130 m_ipkg->setConfigItems( m_configs ); 130 m_ipkg->setConfigItems( m_configs );
131 } 131 }
132 132
133 // Save options configuration 133 // Save options configuration
134 int options = 0; 134 int options = 0;
135 if ( m_optForceDepends->isChecked() ) 135 if ( m_optForceDepends->isChecked() )
136 options |= FORCE_DEPENDS; 136 options |= FORCE_DEPENDS;
137 if ( m_optForceReinstall->isChecked() ) 137 if ( m_optForceReinstall->isChecked() )
138 options |= FORCE_REINSTALL; 138 options |= FORCE_REINSTALL;
139 if ( m_optForceRemove->isChecked() ) 139 if ( m_optForceRemove->isChecked() )
140 options |= FORCE_REMOVE; 140 options |= FORCE_REMOVE;
141 if ( m_optForceOverwrite->isChecked() ) 141 if ( m_optForceOverwrite->isChecked() )
142 options |= FORCE_OVERWRITE; 142 options |= FORCE_OVERWRITE;
143 m_ipkg->setIpkgExecOptions( options ); 143 m_ipkg->setIpkgExecOptions( options );
144 m_ipkg->setIpkgExecVerbosity( m_optVerboseIpkg->currentItem() ); 144 m_ipkg->setIpkgExecVerbosity( m_optVerboseIpkg->currentItem() );
145 145
146 QDialog::accept(); 146 QDialog::accept();
147} 147}
148 148
149void OIpkgConfigDlg::reject() 149void OIpkgConfigDlg::reject()
150{ 150{
151 if ( m_configs ) 151 if ( m_configs )
152 delete m_configs; 152 delete m_configs;
153} 153}
154 154
155void OIpkgConfigDlg::initServerWidget() 155void OIpkgConfigDlg::initServerWidget()
156{ 156{
157 m_serverWidget = new QWidget( this ); 157 m_serverWidget = new QWidget( this );
158 158
159 // Initialize UI 159 // Initialize UI
160 QVBoxLayout *vb = new QVBoxLayout( m_serverWidget ); 160 QVBoxLayout *vb = new QVBoxLayout( m_serverWidget );
161 QScrollView *sv = new QScrollView( m_serverWidget ); 161 QScrollView *sv = new QScrollView( m_serverWidget );
162 vb->addWidget( sv, 0, 0 ); 162 vb->addWidget( sv, 0, 0 );
163 sv->setResizePolicy( QScrollView::AutoOneFit ); 163 sv->setResizePolicy( QScrollView::AutoOneFit );
164 sv->setFrameStyle( QFrame::NoFrame ); 164 sv->setFrameStyle( QFrame::NoFrame );
165 QWidget *container = new QWidget( sv->viewport() ); 165 QWidget *container = new QWidget( sv->viewport() );
166 sv->addChild( container ); 166 sv->addChild( container );
167 QGridLayout *layout = new QGridLayout( container, 3, 2, 2, 4 ); 167 QGridLayout *layout = new QGridLayout( container, 3, 2, 2, 4 );
168 168
169 m_serverList = new QListBox( container ); 169 m_serverList = new QListBox( container );
170 QWhatsThis::add( m_serverList, tr( "This is a list of all servers configured. Select one here to edit or delete, or add a new one below." ) ); 170 QWhatsThis::add( m_serverList, tr( "This is a list of all servers configured. Select one here to edit or delete, or add a new one below." ) );
171 m_serverList->setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred ) ); 171 m_serverList->setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred ) );
172 connect( m_serverList, SIGNAL(highlighted(int)), this, SLOT(slotServerEdit(int)) ); 172 connect( m_serverList, SIGNAL(highlighted(int)), this, SLOT(slotServerEdit(int)) );
173 layout->addMultiCellWidget( m_serverList, 0, 0, 0, 1 ); 173 layout->addMultiCellWidget( m_serverList, 0, 0, 0, 1 );
174 174
175 QPushButton *btn = new QPushButton( Resource::loadPixmap( "new" ), tr( "New" ), container ); 175 QPushButton *btn = new QPushButton( Resource::loadPixmap( "new" ), tr( "New" ), container );
176 QWhatsThis::add( btn, tr( "Tap here to create a new entry. Fill in the fields below and then tap on Update." ) ); 176 QWhatsThis::add( btn, tr( "Tap here to create a new entry. Fill in the fields below and then tap on Update." ) );
177 connect( btn, SIGNAL(clicked()), this, SLOT(slotServerNew()) ); 177 connect( btn, SIGNAL(clicked()), this, SLOT(slotServerNew()) );
178 layout->addWidget( btn, 1, 0 ); 178 layout->addWidget( btn, 1, 0 );
179 179
180 btn = new QPushButton( Resource::loadPixmap( "trash" ), tr( "Delete" ), container ); 180 btn = new QPushButton( Resource::loadPixmap( "trash" ), tr( "Delete" ), container );
181 QWhatsThis::add( btn, tr( "Tap here to delete the entry selected above." ) ); 181 QWhatsThis::add( btn, tr( "Tap here to delete the entry selected above." ) );
182 connect( btn, SIGNAL(clicked()), this, SLOT(slotServerDelete()) ); 182 connect( btn, SIGNAL(clicked()), this, SLOT(slotServerDelete()) );
183 layout->addWidget( btn, 1, 1 ); 183 layout->addWidget( btn, 1, 1 );
184 184
185 QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Server" ), container ); 185 QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Server" ), container );
186 grpbox->layout()->setSpacing( 2 ); 186 grpbox->layout()->setSpacing( 2 );
187 grpbox->layout()->setMargin( 4 ); 187 grpbox->layout()->setMargin( 4 );
188 layout->addMultiCellWidget( grpbox, 2, 2, 0, 1 ); 188 layout->addMultiCellWidget( grpbox, 2, 2, 0, 1 );
189 189
190 QGridLayout *grplayout = new QGridLayout( grpbox->layout() ); 190 QGridLayout *grplayout = new QGridLayout( grpbox->layout() );
191 191
192 QLabel *label = new QLabel( tr( "Name:" ), grpbox ); 192 QLabel *label = new QLabel( tr( "Name:" ), grpbox );
193 QWhatsThis::add( label, tr( "Enter the name of this entry here." ) ); 193 QWhatsThis::add( label, tr( "Enter the name of this entry here." ) );
194 grplayout->addWidget( label, 0, 0 ); 194 grplayout->addWidget( label, 0, 0 );
195 m_serverName = new QLineEdit( grpbox ); 195 m_serverName = new QLineEdit( grpbox );
196 QWhatsThis::add( m_serverName, tr( "Enter the name of this entry here." ) ); 196 QWhatsThis::add( m_serverName, tr( "Enter the name of this entry here." ) );
197 grplayout->addWidget( m_serverName, 0, 1 ); 197 grplayout->addWidget( m_serverName, 0, 1 );
198 198
199 label = new QLabel( tr( "Address:" ), grpbox ); 199 label = new QLabel( tr( "Address:" ), grpbox );
200 QWhatsThis::add( label, tr( "Enter the URL address of this entry here." ) ); 200 QWhatsThis::add( label, tr( "Enter the URL address of this entry here." ) );
201 grplayout->addWidget( label, 1, 0 ); 201 grplayout->addWidget( label, 1, 0 );
202 m_serverLocation = new QLineEdit( grpbox ); 202 m_serverLocation = new QLineEdit( grpbox );
203 QWhatsThis::add( m_serverLocation, tr( "Enter the URL address of this entry here." ) ); 203 QWhatsThis::add( m_serverLocation, tr( "Enter the URL address of this entry here." ) );
204 grplayout->addWidget( m_serverLocation, 1, 1 ); 204 grplayout->addWidget( m_serverLocation, 1, 1 );
205 205
206 m_serverActive = new QCheckBox( tr( "Active" ), grpbox ); 206 m_serverActive = new QCheckBox( tr( "Active" ), grpbox );
207 QWhatsThis::add( m_serverActive, tr( "Tap here to indicate whether this entry is active or not." ) ); 207 QWhatsThis::add( m_serverActive, tr( "Tap here to indicate whether this entry is active or not." ) );
208 grplayout->addMultiCellWidget( m_serverActive, 2, 2, 0, 1 ); 208 grplayout->addMultiCellWidget( m_serverActive, 2, 2, 0, 1 );
209 209
210 btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Update" ), grpbox ); 210 btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Update" ), grpbox );
211 QWhatsThis::add( btn, tr( "Tap here to update the entry's information." ) ); 211 QWhatsThis::add( btn, tr( "Tap here to update the entry's information." ) );
212 connect( btn, SIGNAL(clicked()), this, SLOT(slotServerUpdate()) ); 212 connect( btn, SIGNAL(clicked()), this, SLOT(slotServerUpdate()) );
213 grplayout->addMultiCellWidget( btn, 3, 3, 0, 1 ); 213 grplayout->addMultiCellWidget( btn, 3, 3, 0, 1 );
214} 214}
215 215
216void OIpkgConfigDlg::initDestinationWidget() 216void OIpkgConfigDlg::initDestinationWidget()
217{ 217{
218 m_destWidget = new QWidget( this ); 218 m_destWidget = new QWidget( this );
219 219
220 // Initialize UI 220 // Initialize UI
221 QVBoxLayout *vb = new QVBoxLayout( m_destWidget ); 221 QVBoxLayout *vb = new QVBoxLayout( m_destWidget );
222 QScrollView *sv = new QScrollView( m_destWidget ); 222 QScrollView *sv = new QScrollView( m_destWidget );
223 vb->addWidget( sv, 0, 0 ); 223 vb->addWidget( sv, 0, 0 );
224 sv->setResizePolicy( QScrollView::AutoOneFit ); 224 sv->setResizePolicy( QScrollView::AutoOneFit );
225 sv->setFrameStyle( QFrame::NoFrame ); 225 sv->setFrameStyle( QFrame::NoFrame );
226 QWidget *container = new QWidget( sv->viewport() ); 226 QWidget *container = new QWidget( sv->viewport() );
227 sv->addChild( container ); 227 sv->addChild( container );
228 QGridLayout *layout = new QGridLayout( container, 3, 2, 2, 4 ); 228 QGridLayout *layout = new QGridLayout( container, 3, 2, 2, 4 );
229 229
230 m_destList = new QListBox( container ); 230 m_destList = new QListBox( container );
231 QWhatsThis::add( m_destList, tr( "This is a list of all destinations configured for this device. Select one here to edit or delete, or add a new one below." ) ); 231 QWhatsThis::add( m_destList, tr( "This is a list of all destinations configured for this device. Select one here to edit or delete, or add a new one below." ) );
232 m_destList->setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred ) ); 232 m_destList->setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred ) );
233 connect( m_destList, SIGNAL(highlighted(int)), this, SLOT(slotDestEdit(int)) ); 233 connect( m_destList, SIGNAL(highlighted(int)), this, SLOT(slotDestEdit(int)) );
234 layout->addMultiCellWidget( m_destList, 0, 0, 0, 1 ); 234 layout->addMultiCellWidget( m_destList, 0, 0, 0, 1 );
235 235
236 QPushButton *btn = new QPushButton( Resource::loadPixmap( "new" ), tr( "New" ), container ); 236 QPushButton *btn = new QPushButton( Resource::loadPixmap( "new" ), tr( "New" ), container );
237 QWhatsThis::add( btn, tr( "Tap here to create a new entry. Fill in the fields below and then tap on Update." ) ); 237 QWhatsThis::add( btn, tr( "Tap here to create a new entry. Fill in the fields below and then tap on Update." ) );
238 connect( btn, SIGNAL(clicked()), this, SLOT(slotDestNew()) ); 238 connect( btn, SIGNAL(clicked()), this, SLOT(slotDestNew()) );
239 layout->addWidget( btn, 1, 0 ); 239 layout->addWidget( btn, 1, 0 );
240 240
241 btn = new QPushButton( Resource::loadPixmap( "trash" ), tr( "Delete" ), container ); 241 btn = new QPushButton( Resource::loadPixmap( "trash" ), tr( "Delete" ), container );
242 QWhatsThis::add( btn, tr( "Tap here to delete the entry selected above." ) ); 242 QWhatsThis::add( btn, tr( "Tap here to delete the entry selected above." ) );
243 connect( btn, SIGNAL(clicked()), this, SLOT(slotDestDelete()) ); 243 connect( btn, SIGNAL(clicked()), this, SLOT(slotDestDelete()) );
244 layout->addWidget( btn, 1, 1 ); 244 layout->addWidget( btn, 1, 1 );
245 245
246 QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Destination" ), container ); 246 QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Destination" ), container );
247 grpbox->layout()->setSpacing( 2 ); 247 grpbox->layout()->setSpacing( 2 );
248 grpbox->layout()->setMargin( 4 ); 248 grpbox->layout()->setMargin( 4 );
249 layout->addMultiCellWidget( grpbox, 2, 2, 0, 1 ); 249 layout->addMultiCellWidget( grpbox, 2, 2, 0, 1 );
250 250
251 QGridLayout *grplayout = new QGridLayout( grpbox->layout() ); 251 QGridLayout *grplayout = new QGridLayout( grpbox->layout() );
252 252
253 QLabel *label = new QLabel( tr( "Name:" ), grpbox ); 253 QLabel *label = new QLabel( tr( "Name:" ), grpbox );
254 QWhatsThis::add( label, tr( "Enter the name of this entry here." ) ); 254 QWhatsThis::add( label, tr( "Enter the name of this entry here." ) );
255 grplayout->addWidget( label, 0, 0 ); 255 grplayout->addWidget( label, 0, 0 );
256 m_destName = new QLineEdit( grpbox ); 256 m_destName = new QLineEdit( grpbox );
257 QWhatsThis::add( m_destName, tr( "Enter the name of this entry here." ) ); 257 QWhatsThis::add( m_destName, tr( "Enter the name of this entry here." ) );
258 grplayout->addMultiCellWidget( m_destName, 0, 0, 1, 2 ); 258 grplayout->addMultiCellWidget( m_destName, 0, 0, 1, 2 );
259 259
260 label = new QLabel( tr( "Location:" ), grpbox ); 260 label = new QLabel( tr( "Location:" ), grpbox );
261 QWhatsThis::add( label, tr( "Enter the absolute directory path of this entry here." ) ); 261 QWhatsThis::add( label, tr( "Enter the absolute directory path of this entry here." ) );
262 grplayout->addWidget( label, 1, 0 ); 262 grplayout->addWidget( label, 1, 0 );
263 m_destLocation = new QLineEdit( grpbox ); 263 m_destLocation = new QLineEdit( grpbox );
264 QWhatsThis::add( m_destLocation, tr( "Enter the absolute directory path of this entry here." ) ); 264 QWhatsThis::add( m_destLocation, tr( "Enter the absolute directory path of this entry here." ) );
265 grplayout->addWidget( m_destLocation, 1, 1 ); 265 grplayout->addWidget( m_destLocation, 1, 1 );
266 btn = new QPushButton( Resource::loadPixmap( "folder" ), QString::null, grpbox ); 266 btn = new QPushButton( Resource::loadPixmap( "folder" ), QString::null, grpbox );
267 btn->setMaximumWidth( btn->height() ); 267 btn->setMaximumWidth( btn->height() );
268 QWhatsThis::add( btn, tr( "Tap here to select the desired location." ) ); 268 QWhatsThis::add( btn, tr( "Tap here to select the desired location." ) );
269 connect( btn, SIGNAL(clicked()), this, SLOT(slotDestSelectPath()) ); 269 connect( btn, SIGNAL(clicked()), this, SLOT(slotDestSelectPath()) );
270 grplayout->addWidget( btn, 1, 2 ); 270 grplayout->addWidget( btn, 1, 2 );
271 271
272 m_destActive = new QCheckBox( tr( "Active" ), grpbox ); 272 m_destActive = new QCheckBox( tr( "Active" ), grpbox );
273 QWhatsThis::add( m_destActive, tr( "Tap here to indicate whether this entry is active or not." ) ); 273 QWhatsThis::add( m_destActive, tr( "Tap here to indicate whether this entry is active or not." ) );
274 grplayout->addMultiCellWidget( m_destActive, 2, 2, 0, 2 ); 274 grplayout->addMultiCellWidget( m_destActive, 2, 2, 0, 2 );
275 275
276 btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Update" ), grpbox ); 276 btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Update" ), grpbox );
277 QWhatsThis::add( btn, tr( "Tap here to update the entry's information." ) ); 277 QWhatsThis::add( btn, tr( "Tap here to update the entry's information." ) );
278 connect( btn, SIGNAL(clicked()), this, SLOT(slotDestUpdate()) ); 278 connect( btn, SIGNAL(clicked()), this, SLOT(slotDestUpdate()) );
279 grplayout->addMultiCellWidget( btn, 3, 3, 0, 2 ); 279 grplayout->addMultiCellWidget( btn, 3, 3, 0, 2 );
280} 280}
281 281
282void OIpkgConfigDlg::initProxyWidget() 282void OIpkgConfigDlg::initProxyWidget()
283{ 283{
284 m_proxyWidget = new QWidget( this ); 284 m_proxyWidget = new QWidget( this );
285 285
286 // Initialize UI 286 // Initialize UI
287 QVBoxLayout *vb = new QVBoxLayout( m_proxyWidget ); 287 QVBoxLayout *vb = new QVBoxLayout( m_proxyWidget );
288 QScrollView *sv = new QScrollView( m_proxyWidget ); 288 QScrollView *sv = new QScrollView( m_proxyWidget );
289 vb->addWidget( sv, 0, 0 ); 289 vb->addWidget( sv, 0, 0 );
290 sv->setResizePolicy( QScrollView::AutoOneFit ); 290 sv->setResizePolicy( QScrollView::AutoOneFit );
291 sv->setFrameStyle( QFrame::NoFrame ); 291 sv->setFrameStyle( QFrame::NoFrame );
292 QWidget *container = new QWidget( sv->viewport() ); 292 QWidget *container = new QWidget( sv->viewport() );
293 sv->addChild( container ); 293 sv->addChild( container );
294 QGridLayout *layout = new QGridLayout( container, 4, 2, 2, 4 ); 294 QGridLayout *layout = new QGridLayout( container, 4, 2, 2, 4 );
295 295
296 // HTTP proxy server configuration 296 // HTTP proxy server configuration
297 QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "HTTP Proxy" ), container ); 297 QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "HTTP Proxy" ), container );
298 grpbox->layout()->setSpacing( 2 ); 298 grpbox->layout()->setSpacing( 2 );
299 grpbox->layout()->setMargin( 4 ); 299 grpbox->layout()->setMargin( 4 );
300 layout->addMultiCellWidget( grpbox, 0, 0, 0, 1 ); 300 layout->addMultiCellWidget( grpbox, 0, 0, 0, 1 );
301 QVBoxLayout *grplayout = new QVBoxLayout( grpbox->layout() ); 301 QVBoxLayout *grplayout = new QVBoxLayout( grpbox->layout() );
302 m_proxyHttpServer = new QLineEdit( grpbox ); 302 m_proxyHttpServer = new QLineEdit( grpbox );
303 QWhatsThis::add( m_proxyHttpServer, tr( "Enter the URL address of the HTTP proxy server here." ) ); 303 QWhatsThis::add( m_proxyHttpServer, tr( "Enter the URL address of the HTTP proxy server here." ) );
304 grplayout->addWidget( m_proxyHttpServer ); 304 grplayout->addWidget( m_proxyHttpServer );
305 m_proxyHttpActive = new QCheckBox( tr( "Enabled" ), grpbox ); 305 m_proxyHttpActive = new QCheckBox( tr( "Enabled" ), grpbox );
306 QWhatsThis::add( m_proxyHttpActive, tr( "Tap here to enable or disable the HTTP proxy server." ) ); 306 QWhatsThis::add( m_proxyHttpActive, tr( "Tap here to enable or disable the HTTP proxy server." ) );
307 grplayout->addWidget( m_proxyHttpActive ); 307 grplayout->addWidget( m_proxyHttpActive );
308 308
309 // FTP proxy server configuration 309 // FTP proxy server configuration
310 grpbox = new QGroupBox( 0, Qt::Vertical, tr( "FTP Proxy" ), container ); 310 grpbox = new QGroupBox( 0, Qt::Vertical, tr( "FTP Proxy" ), container );
311 grpbox->layout()->setSpacing( 2 ); 311 grpbox->layout()->setSpacing( 2 );
312 grpbox->layout()->setMargin( 4 ); 312 grpbox->layout()->setMargin( 4 );
313 layout->addMultiCellWidget( grpbox, 1, 1, 0, 1 ); 313 layout->addMultiCellWidget( grpbox, 1, 1, 0, 1 );
314 grplayout = new QVBoxLayout( grpbox->layout() ); 314 grplayout = new QVBoxLayout( grpbox->layout() );
315 m_proxyFtpServer = new QLineEdit( grpbox ); 315 m_proxyFtpServer = new QLineEdit( grpbox );
316 QWhatsThis::add( m_proxyFtpServer, tr( "Enter the URL address of the FTP proxy server here." ) ); 316 QWhatsThis::add( m_proxyFtpServer, tr( "Enter the URL address of the FTP proxy server here." ) );
317 grplayout->addWidget( m_proxyFtpServer ); 317 grplayout->addWidget( m_proxyFtpServer );
318 m_proxyFtpActive = new QCheckBox( tr( "Enabled" ), grpbox ); 318 m_proxyFtpActive = new QCheckBox( tr( "Enabled" ), grpbox );
319 QWhatsThis::add( m_proxyFtpActive, tr( "Tap here to enable or disable the FTP proxy server." ) ); 319 QWhatsThis::add( m_proxyFtpActive, tr( "Tap here to enable or disable the FTP proxy server." ) );
320 grplayout->addWidget( m_proxyFtpActive ); 320 grplayout->addWidget( m_proxyFtpActive );
321 321
322 // Proxy server username and password configuration 322 // Proxy server username and password configuration
323 QLabel *label = new QLabel( tr( "Username:" ), container ); 323 QLabel *label = new QLabel( tr( "Username:" ), container );
324 QWhatsThis::add( label, tr( "Enter the username for the proxy servers here." ) ); 324 QWhatsThis::add( label, tr( "Enter the username for the proxy servers here." ) );
325 layout->addWidget( label, 2, 0 ); 325 layout->addWidget( label, 2, 0 );
326 m_proxyUsername = new QLineEdit( container ); 326 m_proxyUsername = new QLineEdit( container );
327 QWhatsThis::add( m_proxyUsername, tr( "Enter the username for the proxy servers here." ) ); 327 QWhatsThis::add( m_proxyUsername, tr( "Enter the username for the proxy servers here." ) );
328 layout->addWidget( m_proxyUsername, 2, 1 ); 328 layout->addWidget( m_proxyUsername, 2, 1 );
329 329
330 label = new QLabel( tr( "Password:" ), container ); 330 label = new QLabel( tr( "Password:" ), container );
331 QWhatsThis::add( label, tr( "Enter the password for the proxy servers here." ) ); 331 QWhatsThis::add( label, tr( "Enter the password for the proxy servers here." ) );
332 layout->addWidget( label, 3, 0 ); 332 layout->addWidget( label, 3, 0 );
333 m_proxyPassword = new QLineEdit( container ); 333 m_proxyPassword = new QLineEdit( container );
334 QWhatsThis::add( m_proxyPassword, tr( "Enter the password for the proxy servers here." ) ); 334 QWhatsThis::add( m_proxyPassword, tr( "Enter the password for the proxy servers here." ) );
335 layout->addWidget( m_proxyPassword, 3, 1 ); 335 layout->addWidget( m_proxyPassword, 3, 1 );
336} 336}
337 337
338void OIpkgConfigDlg::initOptionsWidget() 338void OIpkgConfigDlg::initOptionsWidget()
339{ 339{
340 m_optionsWidget = new QWidget( this ); 340 m_optionsWidget = new QWidget( this );
341 341
342 // Initialize UI 342 // Initialize UI
343 QVBoxLayout *vb = new QVBoxLayout( m_optionsWidget ); 343 QVBoxLayout *vb = new QVBoxLayout( m_optionsWidget );
344 QScrollView *sv = new QScrollView( m_optionsWidget ); 344 QScrollView *sv = new QScrollView( m_optionsWidget );
345 vb->addWidget( sv, 0, 0 ); 345 vb->addWidget( sv, 0, 0 );
346 sv->setResizePolicy( QScrollView::AutoOneFit ); 346 sv->setResizePolicy( QScrollView::AutoOneFit );
347 sv->setFrameStyle( QFrame::NoFrame ); 347 sv->setFrameStyle( QFrame::NoFrame );
348 QWidget *container = new QWidget( sv->viewport() ); 348 QWidget *container = new QWidget( sv->viewport() );
349 sv->addChild( container ); 349 sv->addChild( container );
350 QVBoxLayout *layout = new QVBoxLayout( container, 2, 4 ); 350 QVBoxLayout *layout = new QVBoxLayout( container, 2, 4 );
351 351
352 m_optForceDepends = new QCheckBox( tr( "Force Depends" ), container ); 352 m_optForceDepends = new QCheckBox( tr( "Force Depends" ), container );
353 QWhatsThis::add( m_optForceDepends, tr( "Tap here to enable or disable the '-force-depends' option for Ipkg." ) ); 353 QWhatsThis::add( m_optForceDepends, tr( "Tap here to enable or disable the '-force-depends' option for Ipkg." ) );
354 layout->addWidget( m_optForceDepends ); 354 layout->addWidget( m_optForceDepends );
355 355
356 m_optForceReinstall = new QCheckBox( tr( "Force Reinstall" ), container ); 356 m_optForceReinstall = new QCheckBox( tr( "Force Reinstall" ), container );
357 QWhatsThis::add( m_optForceReinstall, tr( "Tap here to enable or disable the '-force-reinstall' option for Ipkg." ) ); 357 QWhatsThis::add( m_optForceReinstall, tr( "Tap here to enable or disable the '-force-reinstall' option for Ipkg." ) );
358 layout->addWidget( m_optForceReinstall ); 358 layout->addWidget( m_optForceReinstall );
359 359
360 m_optForceRemove = new QCheckBox( tr( "Force Remove" ), container ); 360 m_optForceRemove = new QCheckBox( tr( "Force Remove" ), container );
361 QWhatsThis::add( m_optForceRemove, tr( "Tap here to enable or disable the '-force-removal-of-dependent-packages' option for Ipkg." ) ); 361 QWhatsThis::add( m_optForceRemove, tr( "Tap here to enable or disable the '-force-removal-of-dependent-packages' option for Ipkg." ) );
362 layout->addWidget( m_optForceRemove ); 362 layout->addWidget( m_optForceRemove );
363 363
364 m_optForceOverwrite = new QCheckBox( tr( "Force Overwrite" ), container ); 364 m_optForceOverwrite = new QCheckBox( tr( "Force Overwrite" ), container );
365 QWhatsThis::add( m_optForceOverwrite, tr( "Tap here to enable or disable the '-force-overwrite' option for Ipkg." ) ); 365 QWhatsThis::add( m_optForceOverwrite, tr( "Tap here to enable or disable the '-force-overwrite' option for Ipkg." ) );
366 layout->addWidget( m_optForceOverwrite ); 366 layout->addWidget( m_optForceOverwrite );
367 367
368 QLabel *l = new QLabel( tr( "Information Level" ), container ); 368 QLabel *l = new QLabel( tr( "Information Level" ), container );
369 QWhatsThis::add( l, tr( "Select information level for Ipkg." ) ); 369 QWhatsThis::add( l, tr( "Select information level for Ipkg." ) );
370 layout->addWidget( l ); 370 layout->addWidget( l );
371 371
372 m_optVerboseIpkg = new QComboBox( container ); 372 m_optVerboseIpkg = new QComboBox( container );
373 QWhatsThis::add( m_optVerboseIpkg, tr( "Select information level for Ipkg." ) ); 373 QWhatsThis::add( m_optVerboseIpkg, tr( "Select information level for Ipkg." ) );
374 m_optVerboseIpkg->insertItem( tr( "Errors only" ) ); 374 m_optVerboseIpkg->insertItem( tr( "Errors only" ) );
375 m_optVerboseIpkg->insertItem( tr( "Normal messages" ) ); 375 m_optVerboseIpkg->insertItem( tr( "Normal messages" ) );
376 m_optVerboseIpkg->insertItem( tr( "Informative messages" ) ); 376 m_optVerboseIpkg->insertItem( tr( "Informative messages" ) );
377 m_optVerboseIpkg->insertItem( tr( "Troubleshooting output" ) ); 377 m_optVerboseIpkg->insertItem( tr( "Troubleshooting output" ) );
378 layout->addWidget( m_optVerboseIpkg ); 378 layout->addWidget( m_optVerboseIpkg );
379 379
380 layout->addItem( new QSpacerItem( 1, 1, QSizePolicy::Minimum, QSizePolicy::Expanding ) ); 380 layout->addItem( new QSpacerItem( 1, 1, QSizePolicy::Minimum, QSizePolicy::Expanding ) );
381} 381}
382 382
383void OIpkgConfigDlg::initData() 383void OIpkgConfigDlg::initData()
384{ 384{
385 // Read ipkg configuration (server/destination/proxy) information 385 // Read ipkg configuration (server/destination/proxy) information
386 if ( m_ipkg && !m_installOptions ) 386 if ( m_ipkg && !m_installOptions )
387 { 387 {
388 m_configs = m_ipkg->configItems(); 388 m_configs = m_ipkg->configItems();
389 if ( m_configs ) 389 if ( m_configs )
390 { 390 {
391 for ( OConfItemListIterator configIt( *m_configs ); configIt.current(); ++configIt ) 391 for ( OConfItemListIterator configIt( *m_configs ); configIt.current(); ++configIt )
392 { 392 {
393 OConfItem *config = configIt.current(); 393 OConfItem *config = configIt.current();
394 394
395 // Add configuration item to the appropriate dialog controls 395 // Add configuration item to the appropriate dialog controls
396 if ( config ) 396 if ( config )
397 { 397 {
398 if ( config->type() == OConfItem::Source ) 398 if ( config->type() == OConfItem::Source )
399 { 399 {
400 m_serverList->insertItem( config->name() ); 400 m_serverList->insertItem( config->name() );
401 } 401 }
402 else if ( config->type() == OConfItem::Destination ) 402 else if ( config->type() == OConfItem::Destination )
403 { 403 {
404 m_destList->insertItem( config->name() ); 404 m_destList->insertItem( config->name() );
405 } 405 }
406 else if ( config->type() == OConfItem::Option ) 406 else if ( config->type() == OConfItem::Option )
407 { 407 {
408 if ( config->name() == "http_proxy" ) 408 if ( config->name() == "http_proxy" )
409 { 409 {
410 m_proxyHttpServer->setText( config->value() ); 410 m_proxyHttpServer->setText( config->value() );
411 m_proxyHttpActive->setChecked( config->active() ); 411 m_proxyHttpActive->setChecked( config->active() );
412 } 412 }
413 else if ( config->name() == "ftp_proxy" ) 413 else if ( config->name() == "ftp_proxy" )
414 { 414 {
415 m_proxyFtpServer->setText( config->value() ); 415 m_proxyFtpServer->setText( config->value() );
416 m_proxyFtpActive->setChecked( config->active() ); 416 m_proxyFtpActive->setChecked( config->active() );
417 } 417 }
418 else if ( config->name() == "proxy_username" ) 418 else if ( config->name() == "proxy_username" )
419 { 419 {
420 m_proxyUsername->setText( config->value() ); 420 m_proxyUsername->setText( config->value() );
421 } 421 }
422 else if ( config->name() == "proxy_password" ) 422 else if ( config->name() == "proxy_password" )
423 { 423 {
424 m_proxyPassword->setText( config->value() ); 424 m_proxyPassword->setText( config->value() );
425 } 425 }
426 } 426 }
427 } 427 }
428 } 428 }
429 } 429 }
430 } 430 }
431 431
432 // Get Ipkg execution options 432 // Get Ipkg execution options
433 int options = m_ipkg->ipkgExecOptions(); 433 int options = m_ipkg->ipkgExecOptions();
434 if ( options & FORCE_DEPENDS ) 434 if ( options & FORCE_DEPENDS )
435 m_optForceDepends->setChecked( true ); 435 m_optForceDepends->setChecked( true );
436 if ( options & FORCE_REINSTALL ) 436 if ( options & FORCE_REINSTALL )
437 m_optForceReinstall->setChecked( true ); 437 m_optForceReinstall->setChecked( true );
438 if ( options & FORCE_REMOVE ) 438 if ( options & FORCE_REMOVE )
439 m_optForceRemove->setChecked( true ); 439 m_optForceRemove->setChecked( true );
440 if ( options & FORCE_OVERWRITE ) 440 if ( options & FORCE_OVERWRITE )
441 m_optForceOverwrite->setChecked( true ); 441 m_optForceOverwrite->setChecked( true );
442 442
443 m_optVerboseIpkg->setCurrentItem( m_ipkg->ipkgExecVerbosity() ); 443 m_optVerboseIpkg->setCurrentItem( m_ipkg->ipkgExecVerbosity() );
444} 444}
445 445
446OConfItem *OIpkgConfigDlg::findConfItem( OConfItem::Type type, const QString &name ) 446OConfItem *OIpkgConfigDlg::findConfItem( OConfItem::Type type, const QString &name )
447{ 447{
448 // Find selected server in list 448 // Find selected server in list
449 OConfItemListIterator configIt( *m_configs ); 449 OConfItemListIterator configIt( *m_configs );
450 OConfItem *config = 0x0; 450 OConfItem *config = 0x0;
451 for ( ; configIt.current(); ++configIt ) 451 for ( ; configIt.current(); ++configIt )
452 { 452 {
453 config = configIt.current(); 453 config = configIt.current();
454 if ( config->type() == type && config->name() == name ) 454 if ( config->type() == type && config->name() == name )
455 break; 455 break;
456 } 456 }
457 457
458 if ( config && config->type() == type && config->name() == name ) 458 if ( config && config->type() == type && config->name() == name )
459 return config; 459 return config;
460 460
461 return 0x0; 461 return 0x0;
462} 462}
463 463
464void OIpkgConfigDlg::slotServerEdit( int index ) 464void OIpkgConfigDlg::slotServerEdit( int index )
465{ 465{
466 m_serverNew = false; 466 m_serverNew = false;
467 m_serverCurrent = index; 467 m_serverCurrent = index;
468 468
469 // Find selected server in list 469 // Find selected server in list
470 OConfItem *server = findConfItem( OConfItem::Source, m_serverList->currentText() ); 470 OConfItem *server = findConfItem( OConfItem::Source, m_serverList->currentText() );
471 471
472 // Display server details 472 // Display server details
473 if ( server ) 473 if ( server )
474 { 474 {
475 m_serverCurrName = server->name(); 475 m_serverCurrName = server->name();
476 m_serverName->setText( server->name() ); 476 m_serverName->setText( server->name() );
477 m_serverLocation->setText( server->value() ); 477 m_serverLocation->setText( server->value() );
478 m_serverActive->setChecked( server->active() ); 478 m_serverActive->setChecked( server->active() );
479 m_serverName->setFocus(); 479 m_serverName->setFocus();
480 } 480 }
481} 481}
482 482
483void OIpkgConfigDlg::slotServerNew() 483void OIpkgConfigDlg::slotServerNew()
484{ 484{
485 m_serverNew = true; 485 m_serverNew = true;
486 486
487 m_serverName->setText( QString::null ); 487 m_serverName->setText( QString::null );
488 m_serverLocation->setText( QString::null ); 488 m_serverLocation->setText( QString::null );
489 m_serverActive->setChecked( true ); 489 m_serverActive->setChecked( true );
490 m_serverName->setFocus(); 490 m_serverName->setFocus();
491} 491}
492 492
493void OIpkgConfigDlg::slotServerDelete() 493void OIpkgConfigDlg::slotServerDelete()
494{ 494{
495 // Find selected server in list 495 // Find selected server in list
496 OConfItem *server = findConfItem( OConfItem::Source, m_serverList->currentText() ); 496 OConfItem *server = findConfItem( OConfItem::Source, m_serverList->currentText() );
497 497
498 // Delete server 498 // Delete server
499 if ( server ) 499 if ( server )
500 { 500 {
501 m_configs->removeRef( server ); 501 m_configs->removeRef( server );
502 m_serverList->removeItem( m_serverCurrent ); 502 m_serverList->removeItem( m_serverCurrent );
503 } 503 }
504} 504}
505 505
506void OIpkgConfigDlg::slotServerUpdate() 506void OIpkgConfigDlg::slotServerUpdate()
507{ 507{
508 QString newName = m_serverName->text(); 508 QString newName = m_serverName->text();
509 509
510 // Convert any spaces to underscores 510 // Convert any spaces to underscores
511 newName.replace( QRegExp( " " ), "_" ); 511 newName.replace( QRegExp( " " ), "_" );
512 512
513 if ( !m_serverNew ) 513 if ( !m_serverNew )
514 { 514 {
515 // Find selected server in list 515 // Find selected server in list
516 OConfItem *server = findConfItem( OConfItem::Source, m_serverCurrName ); 516 OConfItem *server = findConfItem( OConfItem::Source, m_serverCurrName );
517 517
518 // Delete server 518 // Delete server
519 if ( server ) 519 if ( server )
520 { 520 {
521 // Update url 521 // Update url
522 server->setValue( m_serverLocation->text() ); 522 server->setValue( m_serverLocation->text() );
523 server->setActive( m_serverActive->isChecked() ); 523 server->setActive( m_serverActive->isChecked() );
524 524
525 // Check if server name has changed, if it has then we need to replace the key in the map 525 // Check if server name has changed, if it has then we need to replace the key in the map
526 if ( m_serverCurrName != newName ) 526 if ( m_serverCurrName != newName )
527 { 527 {
528 // Update server name 528 // Update server name
529 server->setName( newName ); 529 server->setName( newName );
530 530
531 // Update list box 531 // Update list box
532 m_serverList->changeItem( newName, m_serverCurrent ); 532 m_serverList->changeItem( newName, m_serverCurrent );
533 } 533 }
534 } 534 }
535 } 535 }
536 else 536 else
537 { 537 {
538 // Add new destination to configuration list 538 // Add new destination to configuration list
539 m_configs->append( new OConfItem( OConfItem::Source, newName, 539 m_configs->append( new OConfItem( OConfItem::Source, newName,
540 m_serverLocation->text(), m_serverActive->isChecked() ) ); 540 m_serverLocation->text(), m_serverActive->isChecked() ) );
541 m_configs->sort(); 541 m_configs->sort();
542 542
543 m_serverList->insertItem( newName ); 543 m_serverList->insertItem( newName );
544 m_serverList->setCurrentItem( m_serverList->count() ); 544 m_serverList->setCurrentItem( m_serverList->count() );
545 m_serverNew = false; 545 m_serverNew = false;
546 m_serverList->insertItem( newName ); 546// m_serverList->insertItem( newName );
547 } 547 }
548} 548}
549 549
550void OIpkgConfigDlg::slotDestEdit( int index ) 550void OIpkgConfigDlg::slotDestEdit( int index )
551{ 551{
552 m_destNew = false; 552 m_destNew = false;
553 m_destCurrent = index; 553 m_destCurrent = index;
554 554
555 // Find selected destination in list 555 // Find selected destination in list
556 OConfItem *destination = findConfItem( OConfItem::Destination, m_destList->currentText() ); 556 OConfItem *destination = findConfItem( OConfItem::Destination, m_destList->currentText() );
557 557
558 // Display destination details 558 // Display destination details
559 if ( destination ) 559 if ( destination )
560 { 560 {
561 m_destCurrName = destination->name(); 561 m_destCurrName = destination->name();
562 m_destName->setText( destination->name() ); 562 m_destName->setText( destination->name() );
563 m_destLocation->setText( destination->value() ); 563 m_destLocation->setText( destination->value() );
564 m_destActive->setChecked( destination->active() ); 564 m_destActive->setChecked( destination->active() );
565 m_destName->setFocus(); 565 m_destName->setFocus();
566 } 566 }
567} 567}
568 568
569void OIpkgConfigDlg::slotDestNew() 569void OIpkgConfigDlg::slotDestNew()
570{ 570{
571 m_destNew = true; 571 m_destNew = true;
572 572
573 m_destName->setText( QString::null ); 573 m_destName->setText( QString::null );
574 m_destLocation->setText( QString::null ); 574 m_destLocation->setText( QString::null );
575 m_destActive->setChecked( true ); 575 m_destActive->setChecked( true );
576 m_destName->setFocus(); 576 m_destName->setFocus();
577} 577}
578 578
579void OIpkgConfigDlg::slotDestDelete() 579void OIpkgConfigDlg::slotDestDelete()
580{ 580{
581 // Find selected destination in list 581 // Find selected destination in list
582 OConfItem *destination = findConfItem( OConfItem::Destination, m_destList->currentText() ); 582 OConfItem *destination = findConfItem( OConfItem::Destination, m_destList->currentText() );
583 583
584 // Delete destination 584 // Delete destination
585 if ( destination ) 585 if ( destination )
586 { 586 {
587 m_configs->removeRef( destination ); 587 m_configs->removeRef( destination );
588 m_destList->removeItem( m_destCurrent ); 588 m_destList->removeItem( m_destCurrent );
589 } 589 }
590} 590}
591 591
592void OIpkgConfigDlg::slotDestSelectPath() 592void OIpkgConfigDlg::slotDestSelectPath()
593{ 593{
594 QString path = Opie::Ui::OFileDialog::getDirectory( 0, m_destLocation->text() ); 594 QString path = Opie::Ui::OFileDialog::getDirectory( 0, m_destLocation->text() );
595 if ( path.at( path.length() - 1 ) == '/' ) 595 if ( path.at( path.length() - 1 ) == '/' )
596 path.truncate( path.length() - 1 ); 596 path.truncate( path.length() - 1 );
597 m_destLocation->setText( path ); 597 m_destLocation->setText( path );
598} 598}
599 599
600void OIpkgConfigDlg::slotDestUpdate() 600void OIpkgConfigDlg::slotDestUpdate()
601{ 601{
602 QString newName = m_destName->text(); 602 QString newName = m_destName->text();
603 603
604 // Convert any spaces to underscores 604 // Convert any spaces to underscores
605 newName.replace( QRegExp( " " ), "_" ); 605 newName.replace( QRegExp( " " ), "_" );
606 606
607 if ( !m_destNew ) 607 if ( !m_destNew )
608 { 608 {
609 // Find selected destination in list 609 // Find selected destination in list
610 OConfItem *destination = findConfItem( OConfItem::Destination, m_destCurrName ); 610 OConfItem *destination = findConfItem( OConfItem::Destination, m_destCurrName );
611 611
612 // Display destination details 612 // Display destination details
613 if ( destination ) 613 if ( destination )
614 { 614 {
615 // Update url 615 // Update url
616 destination->setValue( m_destLocation->text() ); 616 destination->setValue( m_destLocation->text() );
617 destination->setActive( m_destActive->isChecked() ); 617 destination->setActive( m_destActive->isChecked() );
618 618
619 // Check if destination name has changed, if it has then we need to replace the key in the map 619 // Check if destination name has changed, if it has then we need to replace the key in the map
620 if ( m_destCurrName != newName ) 620 if ( m_destCurrName != newName )
621 { 621 {
622 // Update destination name 622 // Update destination name
623 destination->setName( newName ); 623 destination->setName( newName );
624 624
625 // Update list box 625 // Update list box
626 m_destList->changeItem( newName, m_destCurrent ); 626 m_destList->changeItem( newName, m_destCurrent );
627 } 627 }
628 } 628 }
629 } 629 }
630 else 630 else
631 { 631 {
632 // Add new destination to configuration list 632 // Add new destination to configuration list
633 m_configs->append( new OConfItem( OConfItem::Destination, newName, 633 m_configs->append( new OConfItem( OConfItem::Destination, newName,
634 m_destLocation->text(), m_destActive->isChecked() ) ); 634 m_destLocation->text(), m_destActive->isChecked() ) );
635 m_configs->sort(); 635 m_configs->sort();
636 636
637 m_destList->insertItem( newName ); 637 m_destList->insertItem( newName );
638 m_destList->setCurrentItem( m_destList->count() ); 638 m_destList->setCurrentItem( m_destList->count() );
639 m_destNew = false; 639 m_destNew = false;
640 } 640 }
641} 641}