24 files changed, 552 insertions, 234 deletions
diff --git a/noncore/unsupported/oipkg/TODO b/noncore/unsupported/oipkg/TODO index 790766c..fc2e8a4 100644 --- a/noncore/unsupported/oipkg/TODO +++ b/noncore/unsupported/oipkg/TODO | |||
@@ -4,6 +4,11 @@ | |||
4 | * parse "to install" and "to remove" from status | 4 | * parse "to install" and "to remove" from status |
5 | * install local file dialog | 5 | * install local file dialog |
6 | * qcop | 6 | * qcop |
7 | * error handling | 7 | * error handling |
8 | * manage links | 8 | * manage links |
9 | * dependency checking | 9 | * dependency checking |
10 | * create dest if it does not exist | ||
11 | * allow reinstalling | ||
12 | * handle different versions | ||
13 | * different types of filters and searches | ||
14 | i.e. name, desc, files etc \ No newline at end of file | ||
diff --git a/noncore/unsupported/oipkg/debug.h b/noncore/unsupported/oipkg/debug.h index 206dea5..d20a5eb 100644 --- a/noncore/unsupported/oipkg/debug.h +++ b/noncore/unsupported/oipkg/debug.h | |||
@@ -3,13 +3,13 @@ | |||
3 | 3 | ||
4 | #include <stdio.h> | 4 | #include <stdio.h> |
5 | 5 | ||
6 | extern int debugLevel; | 6 | extern int debugLevel; |
7 | 7 | ||
8 | #define HACK | 8 | #define HACK |
9 | 9 | #define PACKAGELISTLOCAL | |
10 | #define NEWLAYOUT | 10 | #define NEWLAYOUT |
11 | 11 | ||
12 | #define pvDebug(I, S) \ | 12 | #define pvDebug(I, S) \ |
13 | if ( debugLevel < 3 ) \ | 13 | if ( debugLevel < 3 ) \ |
14 | { \ | 14 | { \ |
15 | if ( I <= debugLevel ) qDebug(S);\ | 15 | if ( I <= debugLevel ) qDebug(S);\ |
diff --git a/noncore/unsupported/oipkg/mainwindow.cpp b/noncore/unsupported/oipkg/mainwindow.cpp index ca1e5e8..06828e0 100644 --- a/noncore/unsupported/oipkg/mainwindow.cpp +++ b/noncore/unsupported/oipkg/mainwindow.cpp | |||
@@ -20,12 +20,13 @@ | |||
20 | #include <qtextview.h> | 20 | #include <qtextview.h> |
21 | #include <qcheckbox.h> | 21 | #include <qcheckbox.h> |
22 | #include <qlineedit.h> | 22 | #include <qlineedit.h> |
23 | #include <qtabwidget.h> | 23 | #include <qtabwidget.h> |
24 | #include <qcombobox.h> | 24 | #include <qcombobox.h> |
25 | #include <qmessagebox.h> | 25 | #include <qmessagebox.h> |
26 | #include <qpushbutton.h> | ||
26 | #include <qlayout.h> | 27 | #include <qlayout.h> |
27 | 28 | ||
28 | #include "pksettingsbase.h" | 29 | #include "pksettingsbase.h" |
29 | #include "utils.h" | 30 | #include "utils.h" |
30 | #include "packagelistitem.h" | 31 | #include "packagelistitem.h" |
31 | 32 | ||
@@ -39,24 +40,34 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : | |||
39 | setCentralWidget( listViewPackages ); | 40 | setCentralWidget( listViewPackages ); |
40 | 41 | ||
41 | //wait = new QMessageBox(tr("oipkg"),tr("Please wait")//,QMessageBox::Information,QMessageBox::NoButton,QMessageBox::NoButton,QMessageBox::NoButton); | 42 | //wait = new QMessageBox(tr("oipkg"),tr("Please wait")//,QMessageBox::Information,QMessageBox::NoButton,QMessageBox::NoButton,QMessageBox::NoButton); |
42 | //wait = new QMessageBox(this); | 43 | //wait = new QMessageBox(this); |
43 | // wait->setText(tr("Please wait")); | 44 | // wait->setText(tr("Please wait")); |
44 | ipkg = new PmIpkg( settings, this ); | 45 | ipkg = new PmIpkg( settings, this ); |
46 | // settings->setIpkg( ipkg ); | ||
45 | packageList.setSettings( settings ); | 47 | packageList.setSettings( settings ); |
48 | packageListSearch.setSettings( settings ); | ||
46 | packageList.update(); | 49 | packageList.update(); |
47 | makeMenu(); | 50 | makeMenu(); |
48 | makeChannel(); | 51 | makeChannel(); |
49 | //opie is hardcoded default ;) | 52 | //opie is hardcoded default ;) |
50 | for (int i=0;i<section->count();i++) | 53 | for (int i=0;i<section->count();i++) |
51 | if (section->text(i)=="opie") | 54 | if (section->text(i)=="opie") |
52 | section->setCurrentItem(i); | 55 | section->setCurrentItem(i); |
53 | sectionChanged(); | 56 | sectionChanged(); |
54 | 57 | ||
55 | connect( section, SIGNAL(activated(int)), SLOT(sectionChanged()) ); | 58 | connect( section, SIGNAL(activated(int)), SLOT(sectionChanged()) ); |
56 | connect( subsection, SIGNAL(activated(int)), SLOT(subSectionChanged()) ); | 59 | connect( subsection, SIGNAL(activated(int)), SLOT(subSectionChanged()) ); |
60 | |||
61 | connect( settings->removeLinksButton, SIGNAL( clicked()), | ||
62 | SLOT(removeLinks()) ); | ||
63 | connect( settings->createLinksButton, SIGNAL( clicked()), | ||
64 | SLOT(createLinks()) ); | ||
65 | |||
66 | //rootLocal = new QCheckListItem(listViewPackages,tr("local")); | ||
67 | //rootSearch = new QCheckListItem(listViewPackages,tr("ipkgfind")); | ||
57 | displayList(); | 68 | displayList(); |
58 | } | 69 | } |
59 | 70 | ||
60 | void MainWindow::makeMenu() | 71 | void MainWindow::makeMenu() |
61 | { | 72 | { |
62 | 73 | ||
@@ -94,20 +105,12 @@ void MainWindow::makeMenu() | |||
94 | QString::null, 0, this, 0 ); | 105 | QString::null, 0, this, 0 ); |
95 | connect( updateAction, SIGNAL( activated() ), | 106 | connect( updateAction, SIGNAL( activated() ), |
96 | this , SLOT( updateList() ) ); | 107 | this , SLOT( updateList() ) ); |
97 | updateAction->addTo( toolBar ); | 108 | updateAction->addTo( toolBar ); |
98 | updateAction->addTo( srvMenu ); | 109 | updateAction->addTo( srvMenu ); |
99 | 110 | ||
100 | // could we use for find | ||
101 | // detailsAction = new QAction( tr( "Find" ), | ||
102 | // Resource::loadIconSet( "find" ), | ||
103 | // QString::null, 0, this, 0 ); | ||
104 | // connect( detailsAction, SIGNAL( activated() ), | ||
105 | // this , SLOT( showFind() ) ); | ||
106 | // detailsAction->addTo( toolBar ); | ||
107 | |||
108 | QAction *cfgact; | 111 | QAction *cfgact; |
109 | 112 | ||
110 | cfgact = new QAction( tr( "Setups" ), | 113 | cfgact = new QAction( tr( "Setups" ), |
111 | QString::null, 0, this, 0 ); | 114 | QString::null, 0, this, 0 ); |
112 | connect( cfgact, SIGNAL( activated() ), | 115 | connect( cfgact, SIGNAL( activated() ), |
113 | SLOT( showSettings() ) ); | 116 | SLOT( showSettings() ) ); |
@@ -123,12 +126,13 @@ void MainWindow::makeMenu() | |||
123 | connect( cfgact, SIGNAL( activated() ), | 126 | connect( cfgact, SIGNAL( activated() ), |
124 | SLOT( showSettingsDst() ) ); | 127 | SLOT( showSettingsDst() ) ); |
125 | cfgact->addTo( cfgMenu ); | 128 | cfgact->addTo( cfgMenu ); |
126 | 129 | ||
127 | QAction *a; | 130 | QAction *a; |
128 | 131 | ||
132 | // SECTIONS | ||
129 | sectionBar = new QPEToolBar( this ); | 133 | sectionBar = new QPEToolBar( this ); |
130 | addToolBar( sectionBar, "Section", QMainWindow::Top, TRUE ); | 134 | addToolBar( sectionBar, "Section", QMainWindow::Top, TRUE ); |
131 | sectionBar->setHorizontalStretchable( true ); | 135 | sectionBar->setHorizontalStretchable( true ); |
132 | QLabel *label = new QLabel( tr("Section: "), sectionBar ); | 136 | QLabel *label = new QLabel( tr("Section: "), sectionBar ); |
133 | label->setBackgroundColor( sectionBar->backgroundColor() ); | 137 | label->setBackgroundColor( sectionBar->backgroundColor() ); |
134 | sectionBar->setStretchableWidget( label ); | 138 | sectionBar->setStretchableWidget( label ); |
@@ -136,59 +140,82 @@ void MainWindow::makeMenu() | |||
136 | label = new QLabel( " / ", sectionBar ); | 140 | label = new QLabel( " / ", sectionBar ); |
137 | label->setBackgroundColor( sectionBar->backgroundColor() ); | 141 | label->setBackgroundColor( sectionBar->backgroundColor() ); |
138 | subsection = new QComboBox( false, sectionBar ); | 142 | subsection = new QComboBox( false, sectionBar ); |
139 | a = new QAction( tr( "Close Section" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); | 143 | a = new QAction( tr( "Close Section" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); |
140 | connect( a, SIGNAL( activated() ), this, SLOT( sectionClose() ) ); | 144 | connect( a, SIGNAL( activated() ), this, SLOT( sectionClose() ) ); |
141 | a->addTo( sectionBar ); | 145 | a->addTo( sectionBar ); |
142 | |||
143 | setSections(); | 146 | setSections(); |
144 | setSubSections(); | 147 | setSubSections(); |
145 | |||
146 | sectionAction = new QAction( tr( "Sections" ), QString::null, 0, this, 0 ); | 148 | sectionAction = new QAction( tr( "Sections" ), QString::null, 0, this, 0 ); |
147 | connect( sectionAction, SIGNAL( toggled(bool) ), this, SLOT( sectionShow(bool) ) ); | 149 | connect( sectionAction, SIGNAL( toggled(bool) ), this, SLOT( sectionShow(bool) ) ); |
148 | sectionAction->setToggleAction( true ); | 150 | sectionAction->setToggleAction( true ); |
149 | sectionAction->addTo( viewMenu ); | 151 | sectionAction->addTo( viewMenu ); |
150 | 152 | ||
153 | //FIND | ||
151 | findBar = new QPEToolBar(this); | 154 | findBar = new QPEToolBar(this); |
152 | addToolBar( findBar, "Search", QMainWindow::Top, TRUE ); | 155 | addToolBar( findBar, "Filter", QMainWindow::Top, TRUE ); |
153 | label = new QLabel( tr("Filter: "), findBar ); | 156 | label = new QLabel( tr("Filter: "), findBar ); |
154 | label->setBackgroundColor( findBar->backgroundColor() ); | 157 | label->setBackgroundColor( findBar->backgroundColor() ); |
155 | findBar->setHorizontalStretchable( TRUE ); | 158 | findBar->setHorizontalStretchable( TRUE ); |
156 | findEdit = new QLineEdit( findBar, "findEdit" ); | 159 | findEdit = new QLineEdit( findBar, "findEdit" ); |
157 | findBar->setStretchableWidget( findEdit ); | 160 | findBar->setStretchableWidget( findEdit ); |
158 | connect( findEdit, SIGNAL( textChanged( const QString & ) ), | 161 | connect( findEdit, SIGNAL( textChanged( const QString & ) ), |
159 | this, SLOT( displayList() ) ); | 162 | this, SLOT( displayList() ) ); |
160 | |||
161 | a = new QAction( tr( "Clear Find" ), Resource::loadPixmap( "back" ), QString::null, 0, this, 0 ); | 163 | a = new QAction( tr( "Clear Find" ), Resource::loadPixmap( "back" ), QString::null, 0, this, 0 ); |
162 | connect( a, SIGNAL( activated() ), findEdit, SLOT( clear() ) ); | 164 | connect( a, SIGNAL( activated() ), findEdit, SLOT( clear() ) ); |
163 | a->addTo( findBar ); | 165 | a->addTo( findBar ); |
164 | a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); | 166 | a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); |
165 | connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) ); | 167 | connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) ); |
166 | a->addTo( findBar ); | 168 | a->addTo( findBar ); |
167 | findAction = new QAction( tr( "Find" ), QString::null, 0, this, 0 ); | 169 | findAction = new QAction( tr( "Filter" ), QString::null, 0, this, 0 ); |
168 | connect( findAction, SIGNAL( toggled(bool) ), this, SLOT( findShow(bool) ) ); | 170 | connect( findAction, SIGNAL( toggled(bool) ), this, SLOT( findShow(bool) ) ); |
169 | findAction->setToggleAction( true ); | 171 | findAction->setToggleAction( true ); |
170 | findAction->addTo( viewMenu ); | 172 | findAction->addTo( viewMenu ); |
171 | 173 | ||
174 | //SEARCH | ||
175 | searchBar = new QPEToolBar(this); | ||
176 | addToolBar( searchBar, "Search", QMainWindow::Top, TRUE ); | ||
177 | label = new QLabel( tr("ipkgfind: "), searchBar ); | ||
178 | label->setBackgroundColor( searchBar->backgroundColor() ); | ||
179 | searchBar->setHorizontalStretchable( TRUE ); | ||
180 | searchEdit = new QLineEdit( searchBar, "seachEdit" ); | ||
181 | searchBar->setStretchableWidget( searchEdit ); | ||
182 | // connect( searchEdit, SIGNAL( textChanged( const QString & ) ), | ||
183 | // this, SLOT( displayList() ) ); | ||
184 | a = new QAction( tr( "Clear Search" ), Resource::loadPixmap( "back" ), QString::null, 0, this, 0 ); | ||
185 | connect( a, SIGNAL( activated() ), searchEdit, SLOT( clear() ) ); | ||
186 | a->addTo( searchBar ); | ||
187 | searchCommit = new QAction( tr( "Do Search" ), Resource::loadPixmap( "find" ), QString::null, 0, this, 0 ); | ||
188 | connect( searchCommit, SIGNAL( activated() ), SLOT( remotePackageQuery() ) ); | ||
189 | searchCommit->addTo( searchBar ); | ||
190 | a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); | ||
191 | connect( a, SIGNAL( activated() ), this, SLOT( searchClose() ) ); | ||
192 | a->addTo( searchBar ); | ||
193 | searchAction = new QAction( tr( "Search" ), QString::null, 0, this, 0 ); | ||
194 | connect( searchAction, SIGNAL( toggled(bool) ), this, SLOT( searchShow(bool) ) ); | ||
195 | searchAction->setToggleAction( true ); | ||
196 | searchAction->addTo( viewMenu ); | ||
197 | |||
198 | //DEST | ||
172 | destBar = new QPEToolBar(this); | 199 | destBar = new QPEToolBar(this); |
173 | addToolBar( destBar, "Destination", QMainWindow::Top, TRUE ); | 200 | addToolBar( destBar, "Destination", QMainWindow::Top, TRUE ); |
174 | label = new QLabel( tr("Destination: "), destBar ); | 201 | label = new QLabel( tr("Destination: "), destBar ); |
175 | label->setBackgroundColor( destBar->backgroundColor() ); | 202 | label->setBackgroundColor( destBar->backgroundColor() ); |
176 | destBar->setHorizontalStretchable( TRUE ); | 203 | destBar->setHorizontalStretchable( TRUE ); |
177 | destination = new QComboBox( false, destBar ); | 204 | destination = new QComboBox( false, destBar ); |
178 | destination->insertStringList( settings->getDestinationNames() ); | 205 | destination->insertStringList( settings->getDestinationNames() ); |
179 | setComboName(destination,settings->getDestinationName()); | 206 | setComboName(destination,settings->getDestinationName()); |
180 | // connect( destination, SIGNAL(activated(int)), | 207 | connect( destination, SIGNAL(activated(int)), |
181 | // SLOT(activeDestinationChange(int)) ); | 208 | settings, SLOT(activeDestinationChange(int)) ); |
182 | spacer = new QLabel( " ", destBar ); | 209 | spacer = new QLabel( " ", destBar ); |
183 | spacer->setBackgroundColor( destBar->backgroundColor() ); | 210 | spacer->setBackgroundColor( destBar->backgroundColor() ); |
184 | CheckBoxLink = new QCheckBox( tr("Link"), destBar); | 211 | CheckBoxLink = new QCheckBox( tr("Link"), destBar); |
185 | CheckBoxLink->setBackgroundColor( destBar->backgroundColor() ); | 212 | CheckBoxLink->setBackgroundColor( destBar->backgroundColor() ); |
186 | CheckBoxLink->setChecked( settings->createLinks() ); | 213 | CheckBoxLink->setChecked( settings->createLinks() ); |
187 | // connect( CheckBoxLink, SIGNAL(toggled(bool)), | 214 | connect( CheckBoxLink, SIGNAL(toggled(bool)), |
188 | // settings, SLOT(linkEnabled(bool)) ); | 215 | settings, SLOT(linkEnabled(bool)) ); |
189 | destAction = new QAction( tr( "Destinations" ), QString::null, 0, this, 0 ); | 216 | destAction = new QAction( tr( "Destinations" ), QString::null, 0, this, 0 ); |
190 | connect( destAction, SIGNAL( toggled(bool) ), SLOT( destShow(bool) ) ); | 217 | connect( destAction, SIGNAL( toggled(bool) ), SLOT( destShow(bool) ) ); |
191 | a = new QAction( tr( "Close Destinations" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); | 218 | a = new QAction( tr( "Close Destinations" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); |
192 | connect( a, SIGNAL( activated() ), SLOT( destClose() ) ); | 219 | connect( a, SIGNAL( activated() ), SLOT( destClose() ) ); |
193 | a->addTo( destBar ); | 220 | a->addTo( destBar ); |
194 | destBar->setStretchableWidget( CheckBoxLink ); | 221 | destBar->setStretchableWidget( CheckBoxLink ); |
@@ -197,29 +224,32 @@ void MainWindow::makeMenu() | |||
197 | 224 | ||
198 | // configure the menus | 225 | // configure the menus |
199 | Config cfg( "oipkg", Config::User ); | 226 | Config cfg( "oipkg", Config::User ); |
200 | cfg.setGroup( "gui" ); | 227 | cfg.setGroup( "gui" ); |
201 | 228 | ||
202 | findShow( cfg.readBoolEntry( "findBar", true ) ); | 229 | findShow( cfg.readBoolEntry( "findBar", true ) ); |
230 | searchShow( cfg.readBoolEntry( "searchBar", true ) ); | ||
203 | sectionShow( cfg.readBoolEntry( "sectionBar", true ) ); | 231 | sectionShow( cfg.readBoolEntry( "sectionBar", true ) ); |
204 | destShow( cfg.readBoolEntry( "destBar", false ) ); | 232 | destShow( cfg.readBoolEntry( "destBar", false ) ); |
205 | } | 233 | } |
206 | 234 | ||
207 | MainWindow::~MainWindow() | 235 | MainWindow::~MainWindow() |
208 | { | 236 | { |
209 | Config cfg( "oipkg", Config::User ); | 237 | Config cfg( "oipkg", Config::User ); |
210 | cfg.setGroup( "gui" ); | 238 | cfg.setGroup( "gui" ); |
211 | cfg.writeEntry( "findBar", !findBar->isHidden() ); | 239 | cfg.writeEntry( "findBar", !findBar->isHidden() ); |
240 | cfg.writeEntry( "searchBar", !searchBar->isHidden() ); | ||
212 | cfg.writeEntry( "sectionBar", !sectionBar->isHidden() ); | 241 | cfg.writeEntry( "sectionBar", !sectionBar->isHidden() ); |
213 | cfg.writeEntry( "destBar", !destBar->isHidden() ); | 242 | cfg.writeEntry( "destBar", !destBar->isHidden() ); |
214 | 243 | ||
215 | } | 244 | } |
216 | 245 | ||
217 | void MainWindow::runIpkg() | 246 | void MainWindow::runIpkg() |
218 | { | 247 | { |
219 | packageList.allPackages(); | 248 | packageList.allPackages(); |
249 | ipkg->loadList( packageListSearch ); | ||
220 | ipkg->commit( packageList ); | 250 | ipkg->commit( packageList ); |
221 | // ##### If we looked in the list of files, we could send out accurate | 251 | // ##### If we looked in the list of files, we could send out accurate |
222 | // ##### messages. But we don't bother yet, and just do an "all". | 252 | // ##### messages. But we don't bother yet, and just do an "all". |
223 | QCopEnvelope e("QPE/System", "linkChanged(QString)"); | 253 | QCopEnvelope e("QPE/System", "linkChanged(QString)"); |
224 | QString lf = QString::null; | 254 | QString lf = QString::null; |
225 | e << lf; | 255 | e << lf; |
@@ -251,18 +281,27 @@ void MainWindow::filterList() | |||
251 | void MainWindow::displayList() | 281 | void MainWindow::displayList() |
252 | { | 282 | { |
253 | //wait->hide(); | 283 | //wait->hide(); |
254 | filterList(); | 284 | filterList(); |
255 | listViewPackages->clear(); | 285 | listViewPackages->clear(); |
256 | Package *pack = packageList.first(); | 286 | Package *pack = packageList.first(); |
287 | PackageListItem *item; | ||
288 | |||
289 | QCheckListItem *rootLocal = new QCheckListItem(listViewPackages,tr("local")); | ||
290 | QCheckListItem *rootSearch = new QCheckListItem(listViewPackages,tr("ipkgfind")); | ||
257 | while( pack ) | 291 | while( pack ) |
258 | { | 292 | { |
259 | if ( pack && (pack->name() != "") ) | 293 | item = new PackageListItem( rootLocal, pack, settings ); |
260 | listViewPackages->insertItem( new PackageListItem( listViewPackages, pack, settings ) ); | ||
261 | pack = packageList.next(); | 294 | pack = packageList.next(); |
262 | } | 295 | } |
296 | pack = packageListSearch.first(); | ||
297 | while( pack ) | ||
298 | { | ||
299 | item = new PackageListItem( rootSearch, pack, settings ); | ||
300 | pack = packageListSearch.next(); | ||
301 | } | ||
263 | } | 302 | } |
264 | 303 | ||
265 | void MainWindow::sectionChanged() | 304 | void MainWindow::sectionChanged() |
266 | { | 305 | { |
267 | disconnect( section, SIGNAL( activated(int) ), | 306 | disconnect( section, SIGNAL( activated(int) ), |
268 | this, SLOT( sectionChanged() ) ); | 307 | this, SLOT( sectionChanged() ) ); |
@@ -342,12 +381,25 @@ void MainWindow::findShow(bool b) | |||
342 | 381 | ||
343 | void MainWindow::findClose() | 382 | void MainWindow::findClose() |
344 | { | 383 | { |
345 | findAction->setOn( false ); | 384 | findAction->setOn( false ); |
346 | } | 385 | } |
347 | 386 | ||
387 | void MainWindow::searchShow(bool b) | ||
388 | { | ||
389 | if (b) searchBar->show(); | ||
390 | else searchBar->hide(); | ||
391 | searchAction->setOn( b ); | ||
392 | } | ||
393 | |||
394 | void MainWindow::searchClose() | ||
395 | { | ||
396 | searchAction->setOn( false ); | ||
397 | } | ||
398 | |||
399 | |||
348 | void MainWindow::destShow(bool b) | 400 | void MainWindow::destShow(bool b) |
349 | { | 401 | { |
350 | if (b) destBar->show(); | 402 | if (b) destBar->show(); |
351 | else destBar->hide(); | 403 | else destBar->hide(); |
352 | destAction->setOn( b ); | 404 | destAction->setOn( b ); |
353 | } | 405 | } |
@@ -417,6 +469,25 @@ void MainWindow::receive(const QCString &msg, const QByteArray &arg) | |||
417 | { | 469 | { |
418 | ipkg->removeLinks( QString(arg) ); | 470 | ipkg->removeLinks( QString(arg) ); |
419 | }else{ | 471 | }else{ |
420 | pvDebug(2,"Huh what do ya want") | 472 | pvDebug(2,"Huh what do ya want") |
421 | } | 473 | } |
422 | } | 474 | } |
475 | |||
476 | |||
477 | void MainWindow::createLinks() | ||
478 | { | ||
479 | pvDebug(2,"creating links..."); | ||
480 | ipkg->createLinks( settings->destinationurl->text() ); | ||
481 | } | ||
482 | |||
483 | void MainWindow::removeLinks() | ||
484 | { | ||
485 | pvDebug(2,"removing links..."); | ||
486 | ipkg->removeLinks( settings->destinationurl->text() ); | ||
487 | } | ||
488 | |||
489 | void MainWindow::remotePackageQuery() | ||
490 | { | ||
491 | packageListSearch.query( searchEdit->text() ); | ||
492 | displayList(); | ||
493 | } | ||
diff --git a/noncore/unsupported/oipkg/mainwindow.h b/noncore/unsupported/oipkg/mainwindow.h index 7615b09..4a73b78 100644 --- a/noncore/unsupported/oipkg/mainwindow.h +++ b/noncore/unsupported/oipkg/mainwindow.h | |||
@@ -4,12 +4,14 @@ | |||
4 | #include <qmainwindow.h> | 4 | #include <qmainwindow.h> |
5 | #include <qaction.h> | 5 | #include <qaction.h> |
6 | #include <qtimer.h> | 6 | #include <qtimer.h> |
7 | #include <qpopupmenu.h> | 7 | #include <qpopupmenu.h> |
8 | 8 | ||
9 | #include "packagelist.h" | 9 | #include "packagelist.h" |
10 | #include "packagelistremote.h" | ||
11 | #include "packagelistlocal.h" | ||
10 | #include "pmipkg.h" | 12 | #include "pmipkg.h" |
11 | #include "pksettings.h" | 13 | #include "pksettings.h" |
12 | #include "packagelistview.h" | 14 | #include "packagelistview.h" |
13 | 15 | ||
14 | class QComboBox; | 16 | class QComboBox; |
15 | class QPEToolBar; | 17 | class QPEToolBar; |
@@ -43,39 +45,51 @@ protected slots: | |||
43 | 45 | ||
44 | public slots: | 46 | public slots: |
45 | void sectionClose(); | 47 | void sectionClose(); |
46 | void sectionShow(bool); | 48 | void sectionShow(bool); |
47 | void findClose(); | 49 | void findClose(); |
48 | void findShow(bool); | 50 | void findShow(bool); |
51 | void searchClose(); | ||
52 | void searchShow(bool); | ||
49 | void destClose(); | 53 | void destClose(); |
50 | void destShow(bool); | 54 | void destShow(bool); |
51 | void filterList(); | 55 | void filterList(); |
56 | void createLinks(); | ||
57 | void removeLinks(); | ||
52 | void receive (const QCString &, const QByteArray &); | 58 | void receive (const QCString &, const QByteArray &); |
53 | void setDocument (const QString &); | 59 | void setDocument (const QString &); |
60 | void remotePackageQuery(); | ||
54 | 61 | ||
55 | private: | 62 | private: |
56 | void makeMenu(); | 63 | void makeMenu(); |
57 | void setSections(); | 64 | void setSections(); |
58 | void setSubSections(); | 65 | void setSubSections(); |
59 | void installFile(const QString &); | 66 | void installFile(const QString &); |
60 | bool updateIcon; | 67 | bool updateIcon; |
61 | 68 | ||
62 | PmIpkg* ipkg; | 69 | PmIpkg* ipkg; |
63 | PackageManagerSettings *settings; | 70 | PackageManagerSettings *settings; |
64 | PackageList packageList; | 71 | PackageListLocal packageList; |
72 | PackageListRemote packageListSearch; | ||
73 | PackageListView *listViewPackages; | ||
74 | // QCheckListItem* rootSearch; | ||
75 | // QCheckListItem* rootLocal; | ||
65 | QAction *runAction; | 76 | QAction *runAction; |
66 | QAction *updateAction; | 77 | QAction *updateAction; |
67 | QAction *findAction; | 78 | QAction *findAction; |
68 | QAction *sectionAction; | ||
69 | QAction *destAction; | ||
70 | PackageListView *listViewPackages; | ||
71 | QPEToolBar *findBar; | 79 | QPEToolBar *findBar; |
72 | QLineEdit *findEdit; | 80 | QLineEdit *findEdit; |
81 | QAction *searchAction; | ||
82 | QAction *searchCommit; | ||
83 | QPEToolBar *searchBar; | ||
84 | QLineEdit *searchEdit; | ||
85 | QAction *sectionAction; | ||
73 | QPEToolBar *sectionBar; | 86 | QPEToolBar *sectionBar; |
74 | QComboBox *section; | 87 | QComboBox *section; |
75 | QComboBox *subsection; | 88 | QComboBox *subsection; |
89 | QAction *destAction; | ||
76 | QPEToolBar *destBar; | 90 | QPEToolBar *destBar; |
77 | QComboBox *destination; | 91 | QComboBox *destination; |
78 | QCheckBox* CheckBoxLink; | 92 | QCheckBox* CheckBoxLink; |
79 | // QMessageBox *wait; | 93 | // QMessageBox *wait; |
80 | private slots: | 94 | private slots: |
81 | void rotateUpdateIcon(); | 95 | void rotateUpdateIcon(); |
diff --git a/noncore/unsupported/oipkg/oipkg.pro b/noncore/unsupported/oipkg/oipkg.pro index c5d3b3d..98f92c8 100644 --- a/noncore/unsupported/oipkg/oipkg.pro +++ b/noncore/unsupported/oipkg/oipkg.pro | |||
@@ -4,19 +4,23 @@ TEMPLATE = app | |||
4 | CONFIG = qt warn_on debug | 4 | CONFIG = qt warn_on debug |
5 | HEADERS = mainwindow.h \ | 5 | HEADERS = mainwindow.h \ |
6 | pksettings.h \ | 6 | pksettings.h \ |
7 | pmipkg.h \ | 7 | pmipkg.h \ |
8 | utils.h \ | 8 | utils.h \ |
9 | packagelistitem.h \ | 9 | packagelistitem.h \ |
10 | packagelistremote.h \ | ||
10 | packagelist.h \ | 11 | packagelist.h \ |
12 | packagelistlocal.h \ | ||
11 | packagelistview.h \ | 13 | packagelistview.h \ |
12 | package.h | 14 | package.h |
13 | SOURCES = main.cpp \ | 15 | SOURCES = main.cpp \ |
14 | mainwindow.cpp \ | 16 | mainwindow.cpp \ |
15 | utils.cpp \ | 17 | utils.cpp \ |
16 | packagelistview.cpp \ | 18 | packagelistview.cpp \ |
19 | packagelistremote.cpp \ | ||
20 | packagelistlocal.cpp \ | ||
17 | pksettings.cpp \ | 21 | pksettings.cpp \ |
18 | pmipkg.cpp \ | 22 | pmipkg.cpp \ |
19 | packagelistitem.cpp \ | 23 | packagelistitem.cpp \ |
20 | packagelist.cpp \ | 24 | packagelist.cpp \ |
21 | package.cpp | 25 | package.cpp |
22 | INCLUDEPATH += $(OPIEDIR)/include | 26 | INCLUDEPATH += $(OPIEDIR)/include |
diff --git a/noncore/unsupported/oipkg/package.cpp b/noncore/unsupported/oipkg/package.cpp index 0499e19..6bb53a9 100644 --- a/noncore/unsupported/oipkg/package.cpp +++ b/noncore/unsupported/oipkg/package.cpp | |||
@@ -25,12 +25,13 @@ void Package::init( PackageManagerSettings *s ) | |||
25 | _section = ""; | 25 | _section = ""; |
26 | _subsection = ""; | 26 | _subsection = ""; |
27 | _shortDesc = ""; | 27 | _shortDesc = ""; |
28 | _desc = ""; | 28 | _desc = ""; |
29 | _name = ""; | 29 | _name = ""; |
30 | _toProcess = false; | 30 | _toProcess = false; |
31 | _useFileName = false; | ||
31 | _status = ""; | 32 | _status = ""; |
32 | _dest = settings->getDestinationName(); | 33 | _dest = settings->getDestinationName(); |
33 | _link = settings->createLinks(); | 34 | _link = settings->createLinks(); |
34 | } | 35 | } |
35 | 36 | ||
36 | Package::Package( QStringList pack, PackageManagerSettings *s ) | 37 | Package::Package( QStringList pack, PackageManagerSettings *s ) |
@@ -45,13 +46,14 @@ Package::Package( QString n, PackageManagerSettings *s ) | |||
45 | if ( !QFile::exists( n ) ) | 46 | if ( !QFile::exists( n ) ) |
46 | { | 47 | { |
47 | _name = QString( n ); | 48 | _name = QString( n ); |
48 | }else{ | 49 | }else{ |
49 | parseIpkgFile( n ); | 50 | parseIpkgFile( n ); |
50 | _toProcess = true; | 51 | _toProcess = true; |
51 | _packageName = QString( n ); | 52 | _useFileName = true; |
53 | _fileName = QString( n ); | ||
52 | } | 54 | } |
53 | } | 55 | } |
54 | 56 | ||
55 | Package::Package( Package *pi ) | 57 | Package::Package( Package *pi ) |
56 | { | 58 | { |
57 | init(pi->settings); | 59 | init(pi->settings); |
@@ -87,13 +89,13 @@ void Package::setValue( QString n, QString t ) | |||
87 | 89 | ||
88 | }else if ( n == "Depends") | 90 | }else if ( n == "Depends") |
89 | { | 91 | { |
90 | 92 | ||
91 | }else if ( n == "Filename") | 93 | }else if ( n == "Filename") |
92 | { | 94 | { |
93 | 95 | _fileName = t; | |
94 | }else if ( n == "Size") | 96 | }else if ( n == "Size") |
95 | { | 97 | { |
96 | 98 | ||
97 | }else if ( n == "MD5Sum") | 99 | }else if ( n == "MD5Sum") |
98 | { | 100 | { |
99 | 101 | ||
@@ -115,12 +117,19 @@ void Package::setValue( QString n, QString t ) | |||
115 | 117 | ||
116 | QString Package::name() | 118 | QString Package::name() |
117 | { | 119 | { |
118 | return _name; | 120 | return _name; |
119 | } | 121 | } |
120 | 122 | ||
123 | |||
124 | QString Package::installName() | ||
125 | { | ||
126 | if (_useFileName) return _fileName; | ||
127 | else return _name; | ||
128 | } | ||
129 | |||
121 | bool Package::installed() | 130 | bool Package::installed() |
122 | { | 131 | { |
123 | return _status.contains("installed"); | 132 | return _status.contains("installed"); |
124 | } | 133 | } |
125 | 134 | ||
126 | void Package::setDesc( QString s ) | 135 | void Package::setDesc( QString s ) |
@@ -328,11 +337,16 @@ void Package::parseIpkgFile( QString file) | |||
328 | f.close(); | 337 | f.close(); |
329 | parsePackage( pack ); | 338 | parsePackage( pack ); |
330 | } | 339 | } |
331 | 340 | ||
332 | } | 341 | } |
333 | 342 | ||
334 | QString Package::getPackageName() | 343 | //QString Package::getPackageName() |
344 | //{ | ||
345 | //if ( _packageName.isEmpty() ) return _name; | ||
346 | //else return _packageName; | ||
347 | //} | ||
348 | |||
349 | void Package::instalFromFile(bool iff) | ||
335 | { | 350 | { |
336 | if ( _packageName.isEmpty() ) return _name; | 351 | _useFileName = iff; |
337 | else return _packageName; | ||
338 | } | 352 | } |
diff --git a/noncore/unsupported/oipkg/package.h b/noncore/unsupported/oipkg/package.h index 49bb3bf..4618c3a 100644 --- a/noncore/unsupported/oipkg/package.h +++ b/noncore/unsupported/oipkg/package.h | |||
@@ -21,12 +21,13 @@ class Package //: public QObject | |||
21 | Package( Package* ); | 21 | Package( Package* ); |
22 | 22 | ||
23 | void setValue( QString, QString ); | 23 | void setValue( QString, QString ); |
24 | void copyValues( Package* ); | 24 | void copyValues( Package* ); |
25 | 25 | ||
26 | QString name() ; | 26 | QString name() ; |
27 | QString installName() ; | ||
27 | bool installed(); | 28 | bool installed(); |
28 | 29 | ||
29 | void setDesc( QString ); | 30 | void setDesc( QString ); |
30 | QString shortDesc(); | 31 | QString shortDesc(); |
31 | QString desc(); | 32 | QString desc(); |
32 | QString size(); | 33 | QString size(); |
@@ -41,30 +42,33 @@ class Package //: public QObject | |||
41 | void processed(); | 42 | void processed(); |
42 | QString dest(); | 43 | QString dest(); |
43 | void setDest( QString d ); | 44 | void setDest( QString d ); |
44 | void setOn(); | 45 | void setOn(); |
45 | bool link(); | 46 | bool link(); |
46 | void setLink(bool); | 47 | void setLink(bool); |
47 | void parseIpkgFile( QString );; | 48 | void parseIpkgFile( QString ); |
49 | void instalFromFile(bool iff=true); | ||
48 | public slots: | 50 | public slots: |
49 | QString getPackageName(); | 51 | // QString getPackageName(); |
50 | void toggleProcess(); | 52 | void toggleProcess(); |
51 | 53 | ||
52 | private: | 54 | private: |
53 | PackageManagerSettings *settings; | 55 | PackageManagerSettings *settings; |
54 | QString _packageName; | 56 | // QString _packageName; |
55 | QString _name; | 57 | QString _name; |
58 | QString _fileName; | ||
56 | bool _toProcess; | 59 | bool _toProcess; |
57 | bool _link; | 60 | bool _link; |
58 | QString _status; | 61 | QString _status; |
59 | QString _size; | 62 | QString _size; |
60 | QString _section; | 63 | QString _section; |
61 | QString _subsection; | 64 | QString _subsection; |
62 | QString _shortDesc; | 65 | QString _shortDesc; |
63 | QString _desc; | 66 | QString _desc; |
64 | QString _dest; | 67 | QString _dest; |
68 | bool _useFileName; | ||
65 | void parsePackage( QStringList ); | 69 | void parsePackage( QStringList ); |
66 | void init(PackageManagerSettings *); | 70 | void init(PackageManagerSettings *); |
67 | }; | 71 | }; |
68 | 72 | ||
69 | 73 | ||
70 | #endif | 74 | #endif |
diff --git a/noncore/unsupported/oipkg/packagelist.cpp b/noncore/unsupported/oipkg/packagelist.cpp index 035ec81..b892b30 100644 --- a/noncore/unsupported/oipkg/packagelist.cpp +++ b/noncore/unsupported/oipkg/packagelist.cpp | |||
@@ -1,33 +1,19 @@ | |||
1 | #include "packagelist.h" | 1 | #include "packagelist.h" |
2 | 2 | ||
3 | #include <assert.h> | 3 | #include <assert.h> |
4 | #include <qfile.h> | 4 | #include <qfile.h> |
5 | #include <qfileinfo.h> | 5 | #include <qfileinfo.h> |
6 | #include <qtextstream.h> | 6 | #include <qtextstream.h> |
7 | #include <qpe/config.h> | ||
8 | 7 | ||
9 | #include "debug.h" | 8 | #include "debug.h" |
10 | 9 | ||
11 | PackageList::PackageList() | 10 | PackageList::PackageList() |
12 | : packageIter( packageList ) | 11 | : packageIter( packageList ) |
13 | { | 12 | { |
14 | empty=true; | 13 | empty=true; |
15 | { | ||
16 | Config cfg( "oipkg", Config::User ); | ||
17 | cfg.setGroup( "Common" ); | ||
18 | statusDir = cfg.readEntry( "statusDir", "" ); | ||
19 | listsDir = cfg.readEntry( "listsDir", "" ); | ||
20 | if ( statusDir=="" || ! QFileInfo(statusDir+"/status").isFile() ) | ||
21 | { | ||
22 | statusDir="/usr/lib/ipkg/"; | ||
23 | listsDir="/usr/lib/ipkg/lists/"; | ||
24 | cfg.writeEntry( "statusDir", statusDir ); | ||
25 | cfg.writeEntry( "listsDir", listsDir ); | ||
26 | } | ||
27 | } | ||
28 | sections << "All"; | 14 | sections << "All"; |
29 | subSections.insert("All", new QStringList() ); | 15 | subSections.insert("All", new QStringList() ); |
30 | QStringList *ss = subSections["All"]; | 16 | QStringList *ss = subSections["All"]; |
31 | *ss << "All"; | 17 | *ss << "All"; |
32 | aktSection = "All"; | 18 | aktSection = "All"; |
33 | aktSubSection = "All"; | 19 | aktSubSection = "All"; |
@@ -142,77 +128,42 @@ void PackageList::updateSections( Package* pack ) | |||
142 | if ( !subSections["All"] ) subSections.insert( "All", new QStringList() ); | 128 | if ( !subSections["All"] ) subSections.insert( "All", new QStringList() ); |
143 | subsecs = subSections["All"]; | 129 | subsecs = subSections["All"]; |
144 | *subsecs += ss; | 130 | *subsecs += ss; |
145 | } | 131 | } |
146 | 132 | ||
147 | 133 | ||
148 | |||
149 | /** No descriptions */ | ||
150 | void PackageList::parseStatus() | ||
151 | { | ||
152 | QStringList dests = settings->getDestinationUrls(); | ||
153 | QStringList destnames = settings->getDestinationNames(); | ||
154 | QStringList::Iterator name = destnames.begin(); | ||
155 | for ( QStringList::Iterator dir = dests.begin(); dir != dests.end(); ++dir ) | ||
156 | { | ||
157 | pvDebug( 2,"Status: "+*dir+statusDir+"/status"); | ||
158 | readFileEntries( *dir+statusDir+"/status", *name ); | ||
159 | ++name; | ||
160 | }; | ||
161 | } | ||
162 | |||
163 | void PackageList::parseList() | ||
164 | { | ||
165 | QStringList srvs = settings->getActiveServers(); | ||
166 | |||
167 | for ( QStringList::Iterator it = srvs.begin(); it != srvs.end(); ++it ) | ||
168 | { | ||
169 | pvDebug( 2, "List: "+listsDir+"/"+*it); | ||
170 | readFileEntries( listsDir+"/"+*it, "" ); | ||
171 | } | ||
172 | } | ||
173 | |||
174 | void PackageList::readFileEntries( QString filename, QString dest ) | 134 | void PackageList::readFileEntries( QString filename, QString dest ) |
175 | { | 135 | { |
136 | pvDebug(5,"PackageList::readFileEntries "+filename+" dest "+dest); | ||
176 | QStringList packEntry; | 137 | QStringList packEntry; |
177 | QFile f( filename ); | 138 | QFile f( filename ); |
178 | if ( !f.open(IO_ReadOnly) ) return; | 139 | if ( !f.open(IO_ReadOnly) ) return; |
179 | QTextStream *statusStream = new QTextStream( &f ); | 140 | QTextStream *statusStream = new QTextStream( &f ); |
180 | while ( !statusStream ->eof() ) | 141 | while ( !statusStream ->eof() ) |
181 | { | 142 | { |
182 | QString line = statusStream->readLine(); | 143 | QString line = statusStream->readLine(); |
183 | if ( line.find(QRegExp("[\n\t ]*")) || line == "" ) | 144 | if ( line.find(QRegExp("[\n\t ]*")) || line == "" ) |
184 | { | 145 | { |
185 | //end of package | 146 | //end of package |
186 | if ( ! packEntry.isEmpty() ) | 147 | if ( ! packEntry.isEmpty() ) |
187 | { | 148 | { |
188 | Package *p = new Package( packEntry, settings ); | 149 | Package *p = new Package( packEntry, settings ); |
189 | p->setDest( dest ); | 150 | p->setDest( dest ); |
190 | if ( p ) | 151 | if ( p ) |
191 | { | 152 | { |
192 | insertPackage( p ); | 153 | insertPackage( p ); |
193 | packEntry.clear(); | 154 | packEntry.clear(); |
194 | } | 155 | } |
195 | } | 156 | } |
196 | }else{ | 157 | }else{ |
197 | packEntry << line; | 158 | packEntry << line; |
198 | }; | 159 | }; |
199 | } | 160 | } |
200 | return; | 161 | return; |
201 | } | 162 | } |
202 | 163 | ||
203 | |||
204 | void PackageList::update() | ||
205 | { | ||
206 | pvDebug( 2, "parseStatus"); | ||
207 | parseStatus(); | ||
208 | pvDebug( 2, "parseList"); | ||
209 | parseList(); | ||
210 | pvDebug( 2, "finished parsing"); | ||
211 | } | ||
212 | |||
213 | void PackageList::setSettings( PackageManagerSettings *s ) | 164 | void PackageList::setSettings( PackageManagerSettings *s ) |
214 | { | 165 | { |
215 | settings = s; | 166 | settings = s; |
216 | } | 167 | } |
217 | 168 | ||
218 | Package* PackageList::getByName( QString n ) | 169 | Package* PackageList::getByName( QString n ) |
diff --git a/noncore/unsupported/oipkg/packagelist.h b/noncore/unsupported/oipkg/packagelist.h index 7c326ca..acea3b9 100644 --- a/noncore/unsupported/oipkg/packagelist.h +++ b/noncore/unsupported/oipkg/packagelist.h | |||
@@ -3,27 +3,21 @@ | |||
3 | 3 | ||
4 | #include <qdict.h> | 4 | #include <qdict.h> |
5 | #include "package.h" | 5 | #include "package.h" |
6 | #include "pksettings.h" | 6 | #include "pksettings.h" |
7 | #include "debug.h" | 7 | #include "debug.h" |
8 | 8 | ||
9 | #define HACK | ||
10 | #ifdef HACK | ||
11 | static QString listsDir="/usr/lib/ipkg/"; | ||
12 | static QString statusDir="/usr/lib/ipkg/"; | ||
13 | #endif | ||
14 | |||
15 | class PackageList //:QObject | 9 | class PackageList //:QObject |
16 | { | 10 | { |
17 | // Q_OBJECT | 11 | // Q_OBJECT |
18 | public: | 12 | public: |
19 | //static QString all = QObject::tr("All"); | 13 | //static QString all = QObject::tr("All"); |
20 | 14 | ||
21 | PackageList(); | 15 | PackageList(); |
22 | PackageList( PackageManagerSettings* ); | 16 | PackageList( PackageManagerSettings* ); |
23 | ~PackageList(); | 17 | virtual ~PackageList(); |
24 | void insertPackage( Package* ); | 18 | void insertPackage( Package* ); |
25 | Package* find( QString ); | 19 | Package* find( QString ); |
26 | Package* next(); | 20 | Package* next(); |
27 | Package* first(); | 21 | Package* first(); |
28 | 22 | ||
29 | QStringList getSections(); | 23 | QStringList getSections(); |
@@ -34,37 +28,31 @@ public: | |||
34 | void clear(); | 28 | void clear(); |
35 | void allPackages(); | 29 | void allPackages(); |
36 | 30 | ||
37 | public slots: | 31 | public slots: |
38 | void setSection(QString); | 32 | void setSection(QString); |
39 | void setSubSection(QString); | 33 | void setSubSection(QString); |
40 | void update(); | 34 | // virtual void update(); |
41 | 35 | ||
42 | private: | 36 | protected: |
43 | int currentPackage; | 37 | int currentPackage; |
44 | int packageCount; | 38 | int packageCount; |
45 | 39 | ||
46 | PackageManagerSettings *settings; | 40 | PackageManagerSettings *settings; |
47 | QDict<Package> packageList; | 41 | QDict<Package> packageList; |
48 | QDict<Package> origPackageList; | 42 | QDict<Package> origPackageList; |
49 | QDictIterator<Package> packageIter; | 43 | QDictIterator<Package> packageIter; |
50 | 44 | ||
51 | bool empty; | 45 | bool empty; |
52 | #ifndef HACK | ||
53 | QString listsDir; | ||
54 | QString statusDir; | ||
55 | #endif | ||
56 | QString aktSection; | 46 | QString aktSection; |
57 | QString aktSubSection; | 47 | QString aktSubSection; |
58 | QStringList sections; | 48 | QStringList sections; |
59 | QDict<QStringList> subSections; | 49 | QDict<QStringList> subSections; |
60 | QDict<bool> sectionsDict; | 50 | QDict<bool> sectionsDict; |
61 | 51 | ||
62 | 52 | ||
63 | void updateSections( Package* ); | 53 | void updateSections( Package* ); |
64 | void parseStatus(); | 54 | void readFileEntries( QString file, QString dest="" ); |
65 | void parseList(); | ||
66 | void readFileEntries( QString file, QString dest ); | ||
67 | }; | 55 | }; |
68 | 56 | ||
69 | 57 | ||
70 | #endif | 58 | #endif |
diff --git a/noncore/unsupported/oipkg/packagelistitem.cpp b/noncore/unsupported/oipkg/packagelistitem.cpp index 0c7c928..b7af9a6 100644 --- a/noncore/unsupported/oipkg/packagelistitem.cpp +++ b/noncore/unsupported/oipkg/packagelistitem.cpp | |||
@@ -10,12 +10,23 @@ static QPixmap *pm_installed=0; | |||
10 | static QPixmap *pm_uninstall=0; | 10 | static QPixmap *pm_uninstall=0; |
11 | static QPixmap *pm_install=0; | 11 | static QPixmap *pm_install=0; |
12 | 12 | ||
13 | PackageListItem::PackageListItem(QListView* lv, Package *pi, PackageManagerSettings *s) | 13 | PackageListItem::PackageListItem(QListView* lv, Package *pi, PackageManagerSettings *s) |
14 | :QCheckListItem(lv,pi->name(),CheckBox) | 14 | :QCheckListItem(lv,pi->name(),CheckBox) |
15 | { | 15 | { |
16 | init(pi,s); | ||
17 | } | ||
18 | |||
19 | PackageListItem::PackageListItem(QListViewItem *lvi, Package *pi, PackageManagerSettings *s) | ||
20 | :QCheckListItem(lvi,pi->name(),CheckBox) | ||
21 | { | ||
22 | init(pi,s); | ||
23 | } | ||
24 | |||
25 | void PackageListItem::init( Package *pi, PackageManagerSettings *s) | ||
26 | { | ||
16 | package = pi; | 27 | package = pi; |
17 | settings = s; | 28 | settings = s; |
18 | setExpandable( true ); | 29 | setExpandable( true ); |
19 | QCheckListItem *item; | 30 | QCheckListItem *item; |
20 | nameItem = new QCheckListItem( this, "" ); | 31 | nameItem = new QCheckListItem( this, "" ); |
21 | item = new QCheckListItem( this, QObject::tr("Description: ")+pi->desc() ); | 32 | item = new QCheckListItem( this, QObject::tr("Description: ")+pi->desc() ); |
diff --git a/noncore/unsupported/oipkg/packagelistitem.h b/noncore/unsupported/oipkg/packagelistitem.h index 54d9f9e..b128f0d 100644 --- a/noncore/unsupported/oipkg/packagelistitem.h +++ b/noncore/unsupported/oipkg/packagelistitem.h | |||
@@ -12,24 +12,26 @@ | |||
12 | #include "pksettings.h" | 12 | #include "pksettings.h" |
13 | 13 | ||
14 | class PackageListItem | 14 | class PackageListItem |
15 | : public QCheckListItem | 15 | : public QCheckListItem |
16 | { | 16 | { |
17 | public: | 17 | public: |
18 | PackageListItem(QListViewItem*, Package*, PackageManagerSettings*); | ||
18 | PackageListItem(QListView*, Package*, PackageManagerSettings*); | 19 | PackageListItem(QListView*, Package*, PackageManagerSettings*); |
19 | void paintCell( QPainter*, const QColorGroup&, int, int, int ); | 20 | void paintCell( QPainter*, const QColorGroup&, int, int, int ); |
20 | void paintFocus( QPainter*, const QColorGroup&, const QRect& ); | 21 | void paintFocus( QPainter*, const QColorGroup&, const QRect& ); |
21 | QPixmap statePixmap() const; | 22 | QPixmap statePixmap() const; |
22 | QString key( int, bool ) const; | 23 | QString key( int, bool ) const; |
23 | Package* getPackage() { return package; } ; | 24 | Package* getPackage() { return package; } ; |
24 | QString getName() { return package->name(); } ; | 25 | QString getName() { return package->name(); } ; |
25 | bool isInstalled(){ return package->installed(); }; | 26 | bool isInstalled(){ return package->installed(); }; |
26 | virtual void setOn ( bool ); | 27 | virtual void setOn ( bool ); |
27 | void displayDetails(); | 28 | void displayDetails(); |
28 | 29 | ||
29 | private: | 30 | private: |
31 | void init(Package*, PackageManagerSettings*); | ||
30 | QCheckListItem *nameItem; | 32 | QCheckListItem *nameItem; |
31 | QCheckListItem *destItem; | 33 | QCheckListItem *destItem; |
32 | QCheckListItem *linkItem; | 34 | QCheckListItem *linkItem; |
33 | PackageManagerSettings *settings; | 35 | PackageManagerSettings *settings; |
34 | Package *package; | 36 | Package *package; |
35 | }; | 37 | }; |
diff --git a/noncore/unsupported/oipkg/packagelistlocal.cpp b/noncore/unsupported/oipkg/packagelistlocal.cpp new file mode 100644 index 0000000..6d931c8 --- a/dev/null +++ b/noncore/unsupported/oipkg/packagelistlocal.cpp | |||
@@ -0,0 +1,66 @@ | |||
1 | #include <qpe/config.h> | ||
2 | #include <qfile.h> | ||
3 | #include <qfileinfo.h> | ||
4 | #include <qtextstream.h> | ||
5 | #include <qstringlist.h> | ||
6 | #include "packagelistlocal.h" | ||
7 | |||
8 | PackageListLocal::PackageListLocal() | ||
9 | : PackageList() | ||
10 | { | ||
11 | Config cfg( "oipkg", Config::User ); | ||
12 | cfg.setGroup( "Common" ); | ||
13 | statusDir = cfg.readEntry( "statusDir", "" ); | ||
14 | listsDir = cfg.readEntry( "listsDir", "" ); | ||
15 | if ( statusDir=="" || ! QFileInfo(statusDir+"/status").isFile() ) | ||
16 | { | ||
17 | statusDir="/usr/lib/ipkg/"; | ||
18 | listsDir="/usr/lib/ipkg/lists/"; | ||
19 | cfg.writeEntry( "statusDir", statusDir ); | ||
20 | cfg.writeEntry( "listsDir", listsDir ); | ||
21 | } | ||
22 | } | ||
23 | |||
24 | PackageListLocal::PackageListLocal(PackageManagerSettings* s) | ||
25 | : PackageList(s) | ||
26 | { | ||
27 | PackageListLocal(); | ||
28 | } | ||
29 | |||
30 | PackageListLocal::~PackageListLocal() | ||
31 | { | ||
32 | } | ||
33 | |||
34 | void PackageListLocal::parseStatus() | ||
35 | { | ||
36 | QStringList dests = settings->getDestinationUrls(); | ||
37 | QStringList destnames = settings->getDestinationNames(); | ||
38 | QStringList::Iterator name = destnames.begin(); | ||
39 | for ( QStringList::Iterator dir = dests.begin(); dir != dests.end(); ++dir ) | ||
40 | { | ||
41 | pvDebug( 2,"Status: "+*dir+statusDir+"/status"); | ||
42 | readFileEntries( *dir+statusDir+"/status", *name ); | ||
43 | ++name; | ||
44 | }; | ||
45 | } | ||
46 | |||
47 | void PackageListLocal::parseList() | ||
48 | { | ||
49 | QStringList srvs = settings->getActiveServers(); | ||
50 | |||
51 | for ( QStringList::Iterator it = srvs.begin(); it != srvs.end(); ++it ) | ||
52 | { | ||
53 | pvDebug( 2, "List: "+listsDir+"/"+*it); | ||
54 | readFileEntries( listsDir+"/"+*it ); | ||
55 | } | ||
56 | } | ||
57 | |||
58 | |||
59 | void PackageListLocal::update() | ||
60 | { | ||
61 | pvDebug( 2, "parseStatus"); | ||
62 | parseStatus(); | ||
63 | pvDebug( 2, "parseList"); | ||
64 | parseList(); | ||
65 | pvDebug( 2, "finished parsing"); | ||
66 | } | ||
diff --git a/noncore/unsupported/oipkg/packagelistlocal.h b/noncore/unsupported/oipkg/packagelistlocal.h new file mode 100644 index 0000000..887126b --- a/dev/null +++ b/noncore/unsupported/oipkg/packagelistlocal.h | |||
@@ -0,0 +1,30 @@ | |||
1 | #ifndef PACKAGELISTLOCAL_H | ||
2 | #define PACKAGELISTLOCAL_H | ||
3 | |||
4 | #include "packagelist.h" | ||
5 | |||
6 | |||
7 | #define HACK | ||
8 | #ifdef HACK | ||
9 | static QString listsDir="/usr/lib/ipkg/"; | ||
10 | static QString statusDir="/usr/lib/ipkg/"; | ||
11 | #endif | ||
12 | |||
13 | class PackageListLocal : public PackageList { | ||
14 | public: | ||
15 | PackageListLocal(); | ||
16 | PackageListLocal( PackageManagerSettings* ); | ||
17 | virtual ~PackageListLocal(); | ||
18 | |||
19 | public slots: | ||
20 | void update(); | ||
21 | private: | ||
22 | #ifndef HACK | ||
23 | QString listsDir; | ||
24 | QString statusDir; | ||
25 | #endif | ||
26 | void parseStatus(); | ||
27 | void parseList(); | ||
28 | }; | ||
29 | |||
30 | #endif | ||
diff --git a/noncore/unsupported/oipkg/packagelistremote.cpp b/noncore/unsupported/oipkg/packagelistremote.cpp new file mode 100644 index 0000000..721d4a6 --- a/dev/null +++ b/noncore/unsupported/oipkg/packagelistremote.cpp | |||
@@ -0,0 +1,47 @@ | |||
1 | |||
2 | #include "packagelistremote.h" | ||
3 | |||
4 | #include <qstring.h> | ||
5 | #include <stdlib.h> | ||
6 | #include <unistd.h> | ||
7 | |||
8 | PackageListRemote::PackageListRemote(PackageManagerSettings* s) | ||
9 | : PackageList(s) | ||
10 | { | ||
11 | PackageListRemote(); | ||
12 | } | ||
13 | |||
14 | PackageListRemote::PackageListRemote() | ||
15 | : PackageList() | ||
16 | { | ||
17 | } | ||
18 | |||
19 | PackageListRemote::~PackageListRemote() | ||
20 | { | ||
21 | } | ||
22 | |||
23 | void PackageListRemote::query(QString s) | ||
24 | { | ||
25 | int r=0; | ||
26 | QString cmd = "wget"; | ||
27 | QString redirect = "/tmp/oipkg.query"; | ||
28 | |||
29 | // use file for output | ||
30 | cmd += " --output-document="+redirect; | ||
31 | //http://ipkgfind.handhelds.org/packages.phtml?format=pda&query=ipkg&searchtype=package§ion= | ||
32 | QString server="http://ipkgfind.handhelds.org/"; | ||
33 | cmd += " \""+server+"/packages.phtml"; | ||
34 | cmd += "?format=pda&searchtype=package§ion="; | ||
35 | cmd += "&query="+s; | ||
36 | cmd += "\""; | ||
37 | |||
38 | pvDebug(2,"search :"+cmd); | ||
39 | r = system(cmd.latin1()); | ||
40 | readFileEntries( redirect ); | ||
41 | |||
42 | } | ||
43 | |||
44 | void PackageListRemote::update() | ||
45 | { | ||
46 | pvDebug(2,"PackageListRemote::update\ndoing nothing "); | ||
47 | } | ||
diff --git a/noncore/unsupported/oipkg/packagelistremote.h b/noncore/unsupported/oipkg/packagelistremote.h new file mode 100644 index 0000000..147da1e --- a/dev/null +++ b/noncore/unsupported/oipkg/packagelistremote.h | |||
@@ -0,0 +1,19 @@ | |||
1 | #ifndef PACKAGELISTREMOTE_H | ||
2 | #define PACKAGELISTREMOTE_H | ||
3 | |||
4 | #include "packagelist.h" | ||
5 | #include "package.h" | ||
6 | #include "pksettings.h" | ||
7 | #include "debug.h" | ||
8 | |||
9 | class PackageListRemote : public PackageList { | ||
10 | public: | ||
11 | PackageListRemote(); | ||
12 | PackageListRemote( PackageManagerSettings* s); | ||
13 | virtual ~PackageListRemote(); | ||
14 | void query(QString); | ||
15 | public slots: | ||
16 | void update(); | ||
17 | }; | ||
18 | |||
19 | #endif | ||
diff --git a/noncore/unsupported/oipkg/packagelistview.cpp b/noncore/unsupported/oipkg/packagelistview.cpp index 2915ac6..610a0e1 100644 --- a/noncore/unsupported/oipkg/packagelistview.cpp +++ b/noncore/unsupported/oipkg/packagelistview.cpp | |||
@@ -1,23 +1,6 @@ | |||
1 | /*************************************************************************** | ||
2 | packagelistview.cpp - description | ||
3 | ------------------- | ||
4 | begin : Sat Apr 27 2002 | ||
5 | copyright : (C) 2002 by tille | ||
6 | email : tille@handhelds.org | ||
7 | ***************************************************************************/ | ||
8 | |||
9 | /*************************************************************************** | ||
10 | * * | ||
11 | * This program is free software; you can redistribute it and/or modify * | ||
12 | * it under the terms of the GNU General Public License as published by * | ||
13 | * the Free Software Foundation; either version 2 of the License, or * | ||
14 | * (at your option) any later version. * | ||
15 | * * | ||
16 | ***************************************************************************/ | ||
17 | |||
18 | #include "packagelistview.h" | 1 | #include "packagelistview.h" |
19 | 2 | ||
20 | #include <qpopupmenu.h> | 3 | #include <qpopupmenu.h> |
21 | #include <qaction.h> | 4 | #include <qaction.h> |
22 | 5 | ||
23 | #include "packagelistitem.h" | 6 | #include "packagelistitem.h" |
diff --git a/noncore/unsupported/oipkg/packagelistview.h b/noncore/unsupported/oipkg/packagelistview.h index a3db0d0..d371a34 100644 --- a/noncore/unsupported/oipkg/packagelistview.h +++ b/noncore/unsupported/oipkg/packagelistview.h | |||
@@ -45,11 +45,10 @@ private: | |||
45 | QPopupMenu *destsMenu; | 45 | QPopupMenu *destsMenu; |
46 | public slots: | 46 | public slots: |
47 | void showPopup(); | 47 | void showPopup(); |
48 | void changePackageDest( int ); | 48 | void changePackageDest( int ); |
49 | void setCurrent( QListViewItem* ); | 49 | void setCurrent( QListViewItem* ); |
50 | void stopTimer( QListViewItem* ); | 50 | void stopTimer( QListViewItem* ); |
51 | /** No descriptions */ | ||
52 | void toggleProcess(); | 51 | void toggleProcess(); |
53 | }; | 52 | }; |
54 | 53 | ||
55 | #endif | 54 | #endif |
diff --git a/noncore/unsupported/oipkg/pkfind.ui b/noncore/unsupported/oipkg/pkfind.ui deleted file mode 100644 index 7a24c00..0000000 --- a/noncore/unsupported/oipkg/pkfind.ui +++ b/dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | <!DOCTYPE UI><UI> | ||
2 | <class>Search</class> | ||
3 | <widget> | ||
4 | <class>QDialog</class> | ||
5 | <property stdset="1"> | ||
6 | <name>name</name> | ||
7 | <cstring>Form5</cstring> | ||
8 | </property> | ||
9 | <property stdset="1"> | ||
10 | <name>geometry</name> | ||
11 | <rect> | ||
12 | <x>0</x> | ||
13 | <y>0</y> | ||
14 | <width>196</width> | ||
15 | <height>55</height> | ||
16 | </rect> | ||
17 | </property> | ||
18 | <property stdset="1"> | ||
19 | <name>caption</name> | ||
20 | <string>Search Packages</string> | ||
21 | </property> | ||
22 | <hbox> | ||
23 | <property stdset="1"> | ||
24 | <name>margin</name> | ||
25 | <number>11</number> | ||
26 | </property> | ||
27 | <property stdset="1"> | ||
28 | <name>spacing</name> | ||
29 | <number>6</number> | ||
30 | </property> | ||
31 | <widget> | ||
32 | <class>QLabel</class> | ||
33 | <property stdset="1"> | ||
34 | <name>name</name> | ||
35 | <cstring>TextLabel4</cstring> | ||
36 | </property> | ||
37 | <property stdset="1"> | ||
38 | <name>text</name> | ||
39 | <string>Find:</string> | ||
40 | </property> | ||
41 | </widget> | ||
42 | <widget> | ||
43 | <class>QLineEdit</class> | ||
44 | <property stdset="1"> | ||
45 | <name>name</name> | ||
46 | <cstring>pattern</cstring> | ||
47 | </property> | ||
48 | </widget> | ||
49 | </hbox> | ||
50 | </widget> | ||
51 | </UI> | ||
diff --git a/noncore/unsupported/oipkg/pksettings.cpp b/noncore/unsupported/oipkg/pksettings.cpp index 6c8dc2a..7e2ef10 100644 --- a/noncore/unsupported/oipkg/pksettings.cpp +++ b/noncore/unsupported/oipkg/pksettings.cpp | |||
@@ -131,12 +131,14 @@ void PackageManagerSettings::editDestination(int i) | |||
131 | if ( destinationname->isEnabled() ) { | 131 | if ( destinationname->isEnabled() ) { |
132 | disconnect( destinationname, SIGNAL(textChanged(const QString&)), this, SLOT(destNameChanged(const QString&)) ); | 132 | disconnect( destinationname, SIGNAL(textChanged(const QString&)), this, SLOT(destNameChanged(const QString&)) ); |
133 | disconnect( destinationurl, SIGNAL(textChanged(const QString&)), this, SLOT(destUrlChanged(const QString&)) ); | 133 | disconnect( destinationurl, SIGNAL(textChanged(const QString&)), this, SLOT(destUrlChanged(const QString&)) ); |
134 | } else { | 134 | } else { |
135 | destinationname->setEnabled(TRUE); | 135 | destinationname->setEnabled(TRUE); |
136 | destinationurl->setEnabled(TRUE); | 136 | destinationurl->setEnabled(TRUE); |
137 | createLinksButton->setEnabled(TRUE); | ||
138 | removeLinksButton->setEnabled(TRUE); | ||
137 | } | 139 | } |
138 | 140 | ||
139 | destinationname->setText( destinations->text(i) ); | 141 | destinationname->setText( destinations->text(i) ); |
140 | destinationurl->setText( *destinationurlDic[i] ); | 142 | destinationurl->setText( *destinationurlDic[i] ); |
141 | 143 | ||
142 | editeddestination = i; | 144 | editeddestination = i; |
@@ -525,18 +527,38 @@ QStringList PackageManagerSettings::getDestinationNames() | |||
525 | return sl; | 527 | return sl; |
526 | } | 528 | } |
527 | 529 | ||
528 | 530 | ||
529 | void PackageManagerSettings::linkEnabled( bool b ) | 531 | void PackageManagerSettings::linkEnabled( bool b ) |
530 | { | 532 | { |
533 | pvDebug(2,"PackageManagerSettings::linkEnabled "+QString(b?"yes":"no")); | ||
531 | activeLinkDestination->setEnabled( b ); | 534 | activeLinkDestination->setEnabled( b ); |
532 | } | 535 | } |
533 | 536 | ||
534 | void PackageManagerSettings::activeServerChanged() | 537 | void PackageManagerSettings::activeServerChanged() |
535 | { | 538 | { |
536 | changed = true; | 539 | changed = true; |
537 | } | 540 | } |
538 | 541 | ||
539 | QComboBox* PackageManagerSettings::getDestCombo() | 542 | QComboBox* PackageManagerSettings::getDestCombo() |
540 | { | 543 | { |
541 | return new QComboBox(activeDestination); | 544 | return new QComboBox(activeDestination); |
542 | } | 545 | } |
546 | |||
547 | void PackageManagerSettings::createLinksToDest() | ||
548 | { | ||
549 | pvDebug(2,"creating links..."); | ||
550 | // emit doCreateLinks( destinationurl->text() ); | ||
551 | //ipkg->createLinks( destinationurl ); | ||
552 | } | ||
553 | |||
554 | void PackageManagerSettings::removeLinksToDest() | ||
555 | { | ||
556 | pvDebug(2,"removing links..."); | ||
557 | // emit doRemoveLinks( destinationurl->text() ); | ||
558 | //ipkg->removeLinks( destinationurl ); | ||
559 | } | ||
560 | |||
561 | //void PackageManagerSettings::setIpkg( PmIpkg* i ) | ||
562 | //{ | ||
563 | //ipkg = i; | ||
564 | //} | ||
diff --git a/noncore/unsupported/oipkg/pksettings.h b/noncore/unsupported/oipkg/pksettings.h index fbb3b99..1632d4a 100644 --- a/noncore/unsupported/oipkg/pksettings.h +++ b/noncore/unsupported/oipkg/pksettings.h | |||
@@ -1,14 +1,16 @@ | |||
1 | #ifndef PACKAGEMANAGERSETTINGS_H | 1 | #ifndef PACKAGEMANAGERSETTINGS_H |
2 | #define PACKAGEMANAGERSETTINGS_H | 2 | #define PACKAGEMANAGERSETTINGS_H |
3 | 3 | ||
4 | #include "pksettingsbase.h" | 4 | #include "pksettingsbase.h" |
5 | //#include "pmipkg.h" | ||
5 | #include <qintdict.h> | 6 | #include <qintdict.h> |
7 | #include <qobject.h> | ||
6 | 8 | ||
7 | 9 | ||
8 | class PackageManagerSettings : private PackageManagerSettingsBase | 10 | class PackageManagerSettings : public PackageManagerSettingsBase |
9 | { | 11 | { |
10 | // Q_OBJECT | 12 | // Q_OBJECT |
11 | public: | 13 | public: |
12 | PackageManagerSettings( QWidget* , const char* , WFlags ); | 14 | PackageManagerSettings( QWidget* , const char* , WFlags ); |
13 | ~PackageManagerSettings(); | 15 | ~PackageManagerSettings(); |
14 | 16 | ||
@@ -19,37 +21,23 @@ public: | |||
19 | bool createLinks(); | 21 | bool createLinks(); |
20 | QStringList getServers(); | 22 | QStringList getServers(); |
21 | QStringList getActiveServers(); | 23 | QStringList getActiveServers(); |
22 | QStringList getDestinationUrls(); | 24 | QStringList getDestinationUrls(); |
23 | QStringList getDestinationNames(); | 25 | QStringList getDestinationNames(); |
24 | QString getDestinationUrlByName(QString); | 26 | QString getDestinationUrlByName(QString); |
25 | /** No descriptions */ | ||
26 | QComboBox* getDestCombo(); | 27 | QComboBox* getDestCombo(); |
27 | 28 | // void setIpkg( PmIpkg* ); | |
28 | private: | ||
29 | QIntDict<QString> serverurlDic; | ||
30 | QIntDict<QString> destinationurlDic; | ||
31 | int ipkg_old; | ||
32 | int editedserver; | ||
33 | int editeddestination; | ||
34 | int currentSetting; | ||
35 | int installationSettingsCount; | ||
36 | bool changed; | ||
37 | |||
38 | bool readIpkgConfig(const QString&); | ||
39 | void writeIpkgConfig(const QString&); | ||
40 | void writeSettings(); | ||
41 | void readSettings(); | ||
42 | 29 | ||
43 | public slots: | 30 | public slots: |
44 | void writeInstallationSettings(); | 31 | void writeInstallationSettings(); |
45 | void readInstallationSettings(); | 32 | void readInstallationSettings(); |
46 | void writeCurrentInstallationSetting(); | 33 | void writeCurrentInstallationSetting(); |
47 | void readInstallationSetting(int); | 34 | void readInstallationSetting(int); |
48 | void installationSettingSetName(const QString &); | 35 | void installationSettingSetName(const QString &); |
49 | 36 | void removeLinksToDest(); | |
37 | void createLinksToDest(); | ||
50 | void newServer(); | 38 | void newServer(); |
51 | void editServer(int); | 39 | void editServer(int); |
52 | void removeDestination(); | 40 | void removeDestination(); |
53 | void newDestination(); | 41 | void newDestination(); |
54 | void editDestination(int); | 42 | void editDestination(int); |
55 | void linkEnabled(bool); | 43 | void linkEnabled(bool); |
@@ -60,9 +48,27 @@ public slots: | |||
60 | void destUrlChanged(const QString&); | 48 | void destUrlChanged(const QString&); |
61 | void installationSettingChange(int); | 49 | void installationSettingChange(int); |
62 | void newInstallationSetting(); | 50 | void newInstallationSetting(); |
63 | void removeInstallationSetting(); | 51 | void removeInstallationSetting(); |
64 | void renameInstallationSetting(); | 52 | void renameInstallationSetting(); |
65 | void activeServerChanged(); | 53 | void activeServerChanged(); |
54 | signals: | ||
55 | // void doCreateLinks( QString dest ); | ||
56 | // void doRemoveLinks( QString dest ); | ||
57 | |||
58 | private: | ||
59 | QIntDict<QString> serverurlDic; | ||
60 | QIntDict<QString> destinationurlDic; | ||
61 | int ipkg_old; | ||
62 | int editedserver; | ||
63 | int editeddestination; | ||
64 | int currentSetting; | ||
65 | int installationSettingsCount; | ||
66 | bool changed; | ||
67 | |||
68 | bool readIpkgConfig(const QString&); | ||
69 | void writeIpkgConfig(const QString&); | ||
70 | void writeSettings(); | ||
71 | void readSettings(); | ||
66 | }; | 72 | }; |
67 | 73 | ||
68 | #endif | 74 | #endif |
diff --git a/noncore/unsupported/oipkg/pksettingsbase.ui b/noncore/unsupported/oipkg/pksettingsbase.ui index fd6d208..5b83248 100644 --- a/noncore/unsupported/oipkg/pksettingsbase.ui +++ b/noncore/unsupported/oipkg/pksettingsbase.ui | |||
@@ -8,13 +8,13 @@ | |||
8 | </property> | 8 | </property> |
9 | <property stdset="1"> | 9 | <property stdset="1"> |
10 | <name>geometry</name> | 10 | <name>geometry</name> |
11 | <rect> | 11 | <rect> |
12 | <x>0</x> | 12 | <x>0</x> |
13 | <y>0</y> | 13 | <y>0</y> |
14 | <width>345</width> | 14 | <width>337</width> |
15 | <height>454</height> | 15 | <height>454</height> |
16 | </rect> | 16 | </rect> |
17 | </property> | 17 | </property> |
18 | <property stdset="1"> | 18 | <property stdset="1"> |
19 | <name>caption</name> | 19 | <name>caption</name> |
20 | <string>Package Servers</string> | 20 | <string>Package Servers</string> |
@@ -529,17 +529,17 @@ | |||
529 | <name>title</name> | 529 | <name>title</name> |
530 | <string>Destinations</string> | 530 | <string>Destinations</string> |
531 | </attribute> | 531 | </attribute> |
532 | <grid> | 532 | <grid> |
533 | <property stdset="1"> | 533 | <property stdset="1"> |
534 | <name>margin</name> | 534 | <name>margin</name> |
535 | <number>3</number> | 535 | <number>2</number> |
536 | </property> | 536 | </property> |
537 | <property stdset="1"> | 537 | <property stdset="1"> |
538 | <name>spacing</name> | 538 | <name>spacing</name> |
539 | <number>3</number> | 539 | <number>2</number> |
540 | </property> | 540 | </property> |
541 | <widget row="0" column="0" > | 541 | <widget row="0" column="0" > |
542 | <class>QLayoutWidget</class> | 542 | <class>QLayoutWidget</class> |
543 | <property stdset="1"> | 543 | <property stdset="1"> |
544 | <name>name</name> | 544 | <name>name</name> |
545 | <cstring>Layout3</cstring> | 545 | <cstring>Layout3</cstring> |
@@ -709,12 +709,127 @@ | |||
709 | <name>text</name> | 709 | <name>text</name> |
710 | <string>Name:</string> | 710 | <string>Name:</string> |
711 | </property> | 711 | </property> |
712 | </widget> | 712 | </widget> |
713 | </grid> | 713 | </grid> |
714 | </widget> | 714 | </widget> |
715 | <widget row="4" column="0" > | ||
716 | <class>QLayoutWidget</class> | ||
717 | <property stdset="1"> | ||
718 | <name>name</name> | ||
719 | <cstring>Layout11</cstring> | ||
720 | </property> | ||
721 | <hbox> | ||
722 | <property stdset="1"> | ||
723 | <name>margin</name> | ||
724 | <number>0</number> | ||
725 | </property> | ||
726 | <property stdset="1"> | ||
727 | <name>spacing</name> | ||
728 | <number>6</number> | ||
729 | </property> | ||
730 | <widget> | ||
731 | <class>QPushButton</class> | ||
732 | <property stdset="1"> | ||
733 | <name>name</name> | ||
734 | <cstring>createLinksButton</cstring> | ||
735 | </property> | ||
736 | <property stdset="1"> | ||
737 | <name>enabled</name> | ||
738 | <bool>false</bool> | ||
739 | </property> | ||
740 | <property stdset="1"> | ||
741 | <name>text</name> | ||
742 | <string>link to /</string> | ||
743 | </property> | ||
744 | </widget> | ||
745 | <widget> | ||
746 | <class>QPushButton</class> | ||
747 | <property stdset="1"> | ||
748 | <name>name</name> | ||
749 | <cstring>removeLinksButton</cstring> | ||
750 | </property> | ||
751 | <property stdset="1"> | ||
752 | <name>enabled</name> | ||
753 | <bool>false</bool> | ||
754 | </property> | ||
755 | <property stdset="1"> | ||
756 | <name>text</name> | ||
757 | <string>Remove links</string> | ||
758 | </property> | ||
759 | </widget> | ||
760 | </hbox> | ||
761 | </widget> | ||
762 | <widget row="5" column="0" > | ||
763 | <class>QGroupBox</class> | ||
764 | <property stdset="1"> | ||
765 | <name>name</name> | ||
766 | <cstring>GroupBox1</cstring> | ||
767 | </property> | ||
768 | <property stdset="1"> | ||
769 | <name>title</name> | ||
770 | <string></string> | ||
771 | </property> | ||
772 | <grid> | ||
773 | <property stdset="1"> | ||
774 | <name>margin</name> | ||
775 | <number>11</number> | ||
776 | </property> | ||
777 | <property stdset="1"> | ||
778 | <name>spacing</name> | ||
779 | <number>6</number> | ||
780 | </property> | ||
781 | <widget row="0" column="0" > | ||
782 | <class>QLayoutWidget</class> | ||
783 | <property stdset="1"> | ||
784 | <name>name</name> | ||
785 | <cstring>Layout12</cstring> | ||
786 | </property> | ||
787 | <hbox> | ||
788 | <property stdset="1"> | ||
789 | <name>margin</name> | ||
790 | <number>0</number> | ||
791 | </property> | ||
792 | <property stdset="1"> | ||
793 | <name>spacing</name> | ||
794 | <number>6</number> | ||
795 | </property> | ||
796 | <widget> | ||
797 | <class>QCheckBox</class> | ||
798 | <property stdset="1"> | ||
799 | <name>name</name> | ||
800 | <cstring>CheckBoxvolatile</cstring> | ||
801 | </property> | ||
802 | <property stdset="1"> | ||
803 | <name>enabled</name> | ||
804 | <bool>false</bool> | ||
805 | </property> | ||
806 | <property stdset="1"> | ||
807 | <name>text</name> | ||
808 | <string>volatile</string> | ||
809 | </property> | ||
810 | </widget> | ||
811 | <widget> | ||
812 | <class>QCheckBox</class> | ||
813 | <property stdset="1"> | ||
814 | <name>name</name> | ||
815 | <cstring>removeable</cstring> | ||
816 | </property> | ||
817 | <property stdset="1"> | ||
818 | <name>enabled</name> | ||
819 | <bool>false</bool> | ||
820 | </property> | ||
821 | <property stdset="1"> | ||
822 | <name>text</name> | ||
823 | <string>removeable</string> | ||
824 | </property> | ||
825 | </widget> | ||
826 | </hbox> | ||
827 | </widget> | ||
828 | </grid> | ||
829 | </widget> | ||
715 | </grid> | 830 | </grid> |
716 | </widget> | 831 | </widget> |
717 | </widget> | 832 | </widget> |
718 | </grid> | 833 | </grid> |
719 | </widget> | 834 | </widget> |
720 | <connections> | 835 | <connections> |
@@ -733,25 +848,39 @@ | |||
733 | <connection> | 848 | <connection> |
734 | <sender>activeServers</sender> | 849 | <sender>activeServers</sender> |
735 | <signal>pressed(QListBoxItem*)</signal> | 850 | <signal>pressed(QListBoxItem*)</signal> |
736 | <receiver>Form4</receiver> | 851 | <receiver>Form4</receiver> |
737 | <slot>activeServerChanged()</slot> | 852 | <slot>activeServerChanged()</slot> |
738 | </connection> | 853 | </connection> |
854 | <connection> | ||
855 | <sender>createLinksButton</sender> | ||
856 | <signal>clicked()</signal> | ||
857 | <receiver>Form4</receiver> | ||
858 | <slot>createLinksToDest()</slot> | ||
859 | </connection> | ||
860 | <connection> | ||
861 | <sender>removeLinksButton</sender> | ||
862 | <signal>clicked()</signal> | ||
863 | <receiver>Form4</receiver> | ||
864 | <slot>removeLinksToDest()</slot> | ||
865 | </connection> | ||
866 | <slot access="public">activeServerChanged()</slot> | ||
867 | <slot access="public">createLinksToDest()</slot> | ||
739 | <slot access="public">destNameChanged(const QString&)</slot> | 868 | <slot access="public">destNameChanged(const QString&)</slot> |
740 | <slot access="public">destUrlChanged(const QString&)</slot> | 869 | <slot access="public">destUrlChanged(const QString&)</slot> |
741 | <slot access="public">editDestination(int)</slot> | 870 | <slot access="public">editDestination(int)</slot> |
742 | <slot access="public">editServer(int)</slot> | 871 | <slot access="public">editServer(int)</slot> |
743 | <slot access="public">installationSettingChange(int)</slot> | 872 | <slot access="public">installationSettingChange(int)</slot> |
744 | <slot access="public">installationSettingSetName(const QString &)</slot> | 873 | <slot access="public">installationSettingSetName(const QString &)</slot> |
745 | <slot access="public">linkEnabled(bool)</slot> | 874 | <slot access="public">linkEnabled(bool)</slot> |
746 | <slot access="public">newDestination()</slot> | 875 | <slot access="public">newDestination()</slot> |
747 | <slot access="public">newInstallationSetting()</slot> | 876 | <slot access="public">newInstallationSetting()</slot> |
748 | <slot access="public">newServer()</slot> | 877 | <slot access="public">newServer()</slot> |
749 | <slot access="public">activeServerChanged()</slot> | ||
750 | <slot access="public">removeDestination()</slot> | 878 | <slot access="public">removeDestination()</slot> |
751 | <slot access="public">removeInstallationSetting()</slot> | 879 | <slot access="public">removeInstallationSetting()</slot> |
880 | <slot access="public">removeLinksToDest()</slot> | ||
752 | <slot access="public">removeServer()</slot> | 881 | <slot access="public">removeServer()</slot> |
753 | <slot access="public">renameInstallationSetting()</slot> | 882 | <slot access="public">renameInstallationSetting()</slot> |
754 | <slot access="public">serverNameChanged(const QString&)</slot> | 883 | <slot access="public">serverNameChanged(const QString&)</slot> |
755 | <slot access="public">serverUrlChanged(const QString&)</slot> | 884 | <slot access="public">serverUrlChanged(const QString&)</slot> |
756 | </connections> | 885 | </connections> |
757 | </UI> | 886 | </UI> |
diff --git a/noncore/unsupported/oipkg/pmipkg.cpp b/noncore/unsupported/oipkg/pmipkg.cpp index 9f6429a..fe200f5 100644 --- a/noncore/unsupported/oipkg/pmipkg.cpp +++ b/noncore/unsupported/oipkg/pmipkg.cpp | |||
@@ -207,40 +207,37 @@ void PmIpkg::processLinkDir( QString file, QString dest ) | |||
207 | if ( !QFile::exists( file ) && toRemoveLink.isSymLink() ) | 207 | if ( !QFile::exists( file ) && toRemoveLink.isSymLink() ) |
208 | unlink( linkFile ); | 208 | unlink( linkFile ); |
209 | } | 209 | } |
210 | } | 210 | } |
211 | } | 211 | } |
212 | 212 | ||
213 | void PmIpkg::commit( PackageList pl ) | 213 | void PmIpkg::loadList( PackageList pl ) |
214 | { | 214 | { |
215 | int sizecount = 0; | ||
216 | to_install.clear(); | ||
217 | to_remove.clear(); | ||
218 | QString rem="<b>"+tr("To remove:")+"</b><br>\n"; | ||
219 | QString inst="<b>"+tr("To install:")+"</b><br>\n"; | ||
220 | for( Package *pack = pl.first();pack ; (pack = pl.next()) ) | 215 | for( Package *pack = pl.first();pack ; (pack = pl.next()) ) |
221 | { | 216 | { |
222 | if ( pack && (pack->name() != "") && pack) | 217 | if ( pack && (pack->name() != "") && pack) |
223 | { | 218 | { |
224 | if ( pack->toInstall() ) | 219 | if ( pack->toInstall() ) |
225 | { | ||
226 | to_install.append( pack ); | 220 | to_install.append( pack ); |
227 | sizecount += pack->size().toInt(); | 221 | if ( pack->toRemove() ) |
228 | inst += pack->name()+"\t("+tr("on ")+pack->dest()+")<br>"; | ||
229 | } | ||
230 | if ( pack->toRemove() ) | ||
231 | { | ||
232 | to_remove.append( pack ); | 222 | to_remove.append( pack ); |
233 | sizecount += 1; | 223 | } |
234 | rem += pack->name()+"<br>"; | 224 | } |
235 | } | 225 | } |
236 | } | ||
237 | } | ||
238 | 226 | ||
227 | void PmIpkg::commit( PackageList pl ) | ||
228 | { | ||
229 | sizecount = 0; | ||
230 | QString rem="<b>"+tr("To remove:")+"</b><br>\n"; | ||
231 | QString inst="<b>"+tr("To install:")+"</b><br>\n"; | ||
232 | loadList(pl); | ||
233 | for (uint i=0; i < to_remove.count(); i++) | ||
234 | sizecount += 1; | ||
235 | for (uint i=0; i < to_install.count(); i++) | ||
236 | sizecount += to_install.at(i)->size().toInt(); | ||
239 | startDialog(); | 237 | startDialog(); |
240 | |||
241 | } | 238 | } |
242 | 239 | ||
243 | void PmIpkg::startDialog() | 240 | void PmIpkg::startDialog() |
244 | { | 241 | { |
245 | installDialog = new QDialog(0,0,true); | 242 | installDialog = new QDialog(0,0,true); |
246 | QGridLayout *RunWindowLayout = new QGridLayout( installDialog ); | 243 | QGridLayout *RunWindowLayout = new QGridLayout( installDialog ); |
@@ -263,25 +260,25 @@ void PmIpkg::startDialog() | |||
263 | for (Package *it=to_install.first(); it != 0; it=to_install.next() ) | 260 | for (Package *it=to_install.first(); it != 0; it=to_install.next() ) |
264 | { | 261 | { |
265 | toInstallItem->insertItem( new PackageListItem(plv, it,settings) ); | 262 | toInstallItem->insertItem( new PackageListItem(plv, it,settings) ); |
266 | } | 263 | } |
267 | 264 | ||
268 | QGroupBox *GroupBox1 = new QGroupBox( installDialog, "Ipkg" ); | 265 | QGroupBox *GroupBox1 = new QGroupBox( installDialog, "Ipkg" ); |
269 | GroupBox1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)3, (QSizePolicy::SizeType)3, GroupBox1->sizePolicy().hasHeightForWidth() ) ); | 266 | GroupBox1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)3, (QSizePolicy::SizeType)3, GroupBox1->sizePolicy().mayShrinkVertically() ) ); |
270 | GroupBox1->setTitle( tr( "Ipkg options" ) ); | 267 | GroupBox1->setTitle( tr( "Ipkg options" ) ); |
271 | GroupBox1->setColumnLayout(0, Qt::Vertical ); | 268 | GroupBox1->setColumnLayout(0, Qt::Vertical ); |
272 | GroupBox1->layout()->setSpacing( 0 ); | 269 | GroupBox1->layout()->setSpacing( 0 ); |
273 | GroupBox1->layout()->setMargin( 0 ); | 270 | GroupBox1->layout()->setMargin( 0 ); |
274 | QGridLayout *GroupBox1Layout = new QGridLayout( GroupBox1->layout() ); | 271 | QGridLayout *GroupBox1Layout = new QGridLayout( GroupBox1->layout() ); |
275 | GroupBox1Layout->setAlignment( Qt::AlignTop ); | 272 | GroupBox1Layout->setAlignment( Qt::AlignTop ); |
276 | GroupBox1Layout->setSpacing( 3 ); | 273 | GroupBox1Layout->setSpacing( 3 ); |
277 | GroupBox1Layout->setMargin( 3 ); | 274 | GroupBox1Layout->setMargin( 3 ); |
278 | |||
279 | _force_depends = new QCheckBox( GroupBox1, "_force_depends" ); | 275 | _force_depends = new QCheckBox( GroupBox1, "_force_depends" ); |
280 | _force_depends->setText( tr( "-force-depends" ) ); | 276 | _force_depends->setText( tr( "-force-depends" ) ); |
281 | _force_depends->setAutoResize( TRUE ); | 277 | _force_depends->setAutoResize( TRUE ); |
278 | _force_depends->setChecked(true); | ||
282 | GroupBox1Layout->addWidget( _force_depends, 0, 0 ); | 279 | GroupBox1Layout->addWidget( _force_depends, 0, 0 ); |
283 | _force_reinstall = new QCheckBox( GroupBox1, "_force_reinstall" ); | 280 | _force_reinstall = new QCheckBox( GroupBox1, "_force_reinstall" ); |
284 | _force_reinstall->setText( tr( "-force-reinstall" ) ); | 281 | _force_reinstall->setText( tr( "-force-reinstall" ) ); |
285 | _force_reinstall->setAutoResize( TRUE ); | 282 | _force_reinstall->setAutoResize( TRUE ); |
286 | GroupBox1Layout->addWidget( _force_reinstall, 1, 0 ); | 283 | GroupBox1Layout->addWidget( _force_reinstall, 1, 0 ); |
287 | _force_remove = new QCheckBox( GroupBox1, "_force_remove" ); | 284 | _force_remove = new QCheckBox( GroupBox1, "_force_remove" ); |
@@ -316,26 +313,27 @@ void PmIpkg::remove() | |||
316 | { | 313 | { |
317 | if ( to_remove.count() == 0 ) return; | 314 | if ( to_remove.count() == 0 ) return; |
318 | 315 | ||
319 | out("<b>"+tr("Removing")+"<br>"+tr("please wait")+"</b><br><hr>"); | 316 | out("<b>"+tr("Removing")+"<br>"+tr("please wait")+"</b><br><hr>"); |
320 | 317 | ||
321 | QStringList *fileList; | 318 | QStringList *fileList; |
322 | for (Package *it=to_remove.first(); it != 0; it=to_remove.next() ) | 319 | for (Package *it=to_remove.first(); it != 0; it=to_remove.next() ) |
323 | { | 320 | { |
324 | if ( it->link() )fileList = getList( it->name(), it->dest() ); | 321 | if ( it->link() )fileList = getList( it->name(), it->dest() ); |
325 | if ( runIpkg("remove " + it->name()) == 0) | 322 | if ( runIpkg("remove " + it->name()) == 0) |
326 | { | 323 | { |
327 | runwindow->progress->setProgress( 1 + runwindow->progress->progress() ); | 324 | runwindow->progress->setProgress( 1 + runwindow->progress->progress() ); |
328 | linkOpp = removeLink; | 325 | linkOpp = removeLink; |
329 | if ( it->link() ) | 326 | if ( it->link() ) |
330 | { | 327 | { |
331 | out( "<br>removing links<br>" ); | 328 | out( "<br>removing links<br>" ); |
332 | out( "for package "+it->name()+" in "+it->dest()+"<br>" ); | 329 | out( "for package "+it->name()+" in "+it->dest()+"<br>" ); |
333 | processFileList( fileList, it->dest() ); | 330 | processFileList( fileList, it->dest() ); |
334 | } | 331 | } |
335 | it->processed(); | 332 | it->processed(); |
333 | |||
336 | out("<br><hr>"); | 334 | out("<br><hr>"); |
337 | }else{ | 335 | }else{ |
338 | out("<b>"+tr("Error while removing")+"</b><hr>"+it->name()); | 336 | out("<b>"+tr("Error while removing")+"</b><hr>"+it->name()); |
339 | } | 337 | } |
340 | pvDebug(2,"delete File List"); | 338 | pvDebug(2,"delete File List"); |
341 | if ( it->link() )delete fileList; | 339 | if ( it->link() )delete fileList; |
@@ -348,13 +346,13 @@ void PmIpkg::install() | |||
348 | { | 346 | { |
349 | if ( to_install.count() == 0 ) return; | 347 | if ( to_install.count() == 0 ) return; |
350 | out("<b>"+tr("Installing")+"<br>"+tr("please wait")+"</b><br>"); | 348 | out("<b>"+tr("Installing")+"<br>"+tr("please wait")+"</b><br>"); |
351 | for (Package *it=to_install.first(); it != 0; it=to_install.next() ) | 349 | for (Package *it=to_install.first(); it != 0; it=to_install.next() ) |
352 | { | 350 | { |
353 | 351 | ||
354 | if ( runIpkg("install " + it->getPackageName(), it->dest() ) == 0 ) | 352 | if ( runIpkg("install " + it->installName(), it->dest() ) == 0 ) |
355 | { | 353 | { |
356 | runwindow->progress->setProgress( it->size().toInt() + runwindow->progress->progress()); | 354 | runwindow->progress->setProgress( it->size().toInt() + runwindow->progress->progress()); |
357 | linkOpp = createLink; | 355 | linkOpp = createLink; |
358 | if ( it->link() ) | 356 | if ( it->link() ) |
359 | { | 357 | { |
360 | out( "<br>creating links<br>" ); | 358 | out( "<br>creating links<br>" ); |
diff --git a/noncore/unsupported/oipkg/pmipkg.h b/noncore/unsupported/oipkg/pmipkg.h index 0625032..2b89023 100644 --- a/noncore/unsupported/oipkg/pmipkg.h +++ b/noncore/unsupported/oipkg/pmipkg.h | |||
@@ -20,12 +20,13 @@ class PmIpkg : public QObject | |||
20 | Q_OBJECT | 20 | Q_OBJECT |
21 | public: | 21 | public: |
22 | PmIpkg( PackageManagerSettings* , QWidget* p=0, const char * name=0, WFlags f=0 ); | 22 | PmIpkg( PackageManagerSettings* , QWidget* p=0, const char * name=0, WFlags f=0 ); |
23 | ~PmIpkg(); | 23 | ~PmIpkg(); |
24 | 24 | ||
25 | int linkOpp; | 25 | int linkOpp; |
26 | void loadList( PackageList ); | ||
26 | void commit( PackageList ); | 27 | void commit( PackageList ); |
27 | void update(); | 28 | void update(); |
28 | // PackageList* getPackageList(); | 29 | // PackageList* getPackageList(); |
29 | void showButtons(bool b=true); | 30 | void showButtons(bool b=true); |
30 | void show( bool buttons=true ); | 31 | void show( bool buttons=true ); |
31 | 32 | ||
@@ -36,12 +37,13 @@ public slots: | |||
36 | void installFile(const QString &fileName, const QString &dest=""); | 37 | void installFile(const QString &fileName, const QString &dest=""); |
37 | void removeFile(const QString &fileName, const QString &dest=""); | 38 | void removeFile(const QString &fileName, const QString &dest=""); |
38 | void createLinks( const QString &dest ); | 39 | void createLinks( const QString &dest ); |
39 | void removeLinks( const QString &dest ); | 40 | void removeLinks( const QString &dest ); |
40 | 41 | ||
41 | private: | 42 | private: |
43 | int sizecount; | ||
42 | PackageManagerSettings* settings; | 44 | PackageManagerSettings* settings; |
43 | RunWindow *runwindow; | 45 | RunWindow *runwindow; |
44 | QDialog *installDialog; | 46 | QDialog *installDialog; |
45 | QList<Package> to_remove; | 47 | QList<Package> to_remove; |
46 | QList<Package> to_install; | 48 | QList<Package> to_install; |
47 | bool runwindowopen; | 49 | bool runwindowopen; |
diff --git a/noncore/unsupported/oipkg/settings.h b/noncore/unsupported/oipkg/settings.h index e2072f1..3be4334 100644 --- a/noncore/unsupported/oipkg/settings.h +++ b/noncore/unsupported/oipkg/settings.h | |||
@@ -58,6 +58,10 @@ private: | |||
58 | void writeIpkgConfig(const QString&); | 58 | void writeIpkgConfig(const QString&); |
59 | void writeSettings(); | 59 | void writeSettings(); |
60 | void readSettings(); | 60 | void readSettings(); |
61 | }; | 61 | }; |
62 | 62 | ||
63 | #endif | 63 | #endif |
64 | /** No descriptions */ | ||
65 | void createLinks(); | ||
66 | /** No descriptions */ | ||
67 | void removeLinks(); | ||