summaryrefslogtreecommitdiff
path: root/noncore/unsupported/oipkg
authortille <tille>2002-05-01 14:00:09 (UTC)
committer tille <tille>2002-05-01 14:00:09 (UTC)
commite729a9bdd9f37f4bd610d10122f002a0540c93ed (patch) (unidiff)
treea23696d8742a36b57256281dc7e2f7848407be61 /noncore/unsupported/oipkg
parent7e5615473c1d103db66f42ae60bf9ed57d52566c (diff)
downloadopie-e729a9bdd9f37f4bd610d10122f002a0540c93ed.zip
opie-e729a9bdd9f37f4bd610d10122f002a0540c93ed.tar.gz
opie-e729a9bdd9f37f4bd610d10122f002a0540c93ed.tar.bz2
added ipkgfind remote query
Diffstat (limited to 'noncore/unsupported/oipkg') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/TODO5
-rw-r--r--noncore/unsupported/oipkg/debug.h2
-rw-r--r--noncore/unsupported/oipkg/mainwindow.cpp109
-rw-r--r--noncore/unsupported/oipkg/mainwindow.h22
-rw-r--r--noncore/unsupported/oipkg/oipkg.pro4
-rw-r--r--noncore/unsupported/oipkg/package.cpp24
-rw-r--r--noncore/unsupported/oipkg/package.h10
-rw-r--r--noncore/unsupported/oipkg/packagelist.cpp87
-rw-r--r--noncore/unsupported/oipkg/packagelist.h20
-rw-r--r--noncore/unsupported/oipkg/packagelistitem.cpp11
-rw-r--r--noncore/unsupported/oipkg/packagelistitem.h2
-rw-r--r--noncore/unsupported/oipkg/packagelistlocal.cpp66
-rw-r--r--noncore/unsupported/oipkg/packagelistlocal.h30
-rw-r--r--noncore/unsupported/oipkg/packagelistremote.cpp47
-rw-r--r--noncore/unsupported/oipkg/packagelistremote.h19
-rw-r--r--noncore/unsupported/oipkg/packagelistview.cpp17
-rw-r--r--noncore/unsupported/oipkg/packagelistview.h1
-rw-r--r--noncore/unsupported/oipkg/pkfind.ui51
-rw-r--r--noncore/unsupported/oipkg/pksettings.cpp22
-rw-r--r--noncore/unsupported/oipkg/pksettings.h42
-rw-r--r--noncore/unsupported/oipkg/pksettingsbase.ui137
-rw-r--r--noncore/unsupported/oipkg/pmipkg.cpp52
-rw-r--r--noncore/unsupported/oipkg/pmipkg.h2
-rw-r--r--noncore/unsupported/oipkg/settings.h4
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
6extern int debugLevel; 6extern 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) \
13if ( debugLevel < 3 ) \ 13if ( 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
60void MainWindow::makeMenu() 71void 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
207MainWindow::~MainWindow() 235MainWindow::~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
217void MainWindow::runIpkg() 246void 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()
251void MainWindow::displayList() 281void 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
265void MainWindow::sectionChanged() 304void 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
343void MainWindow::findClose() 382void MainWindow::findClose()
344{ 383{
345 findAction->setOn( false ); 384 findAction->setOn( false );
346} 385}
347 386
387void MainWindow::searchShow(bool b)
388{
389 if (b) searchBar->show();
390 else searchBar->hide();
391 searchAction->setOn( b );
392}
393
394void MainWindow::searchClose()
395{
396 searchAction->setOn( false );
397}
398
399
348void MainWindow::destShow(bool b) 400void 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
477void MainWindow::createLinks()
478{
479 pvDebug(2,"creating links...");
480 ipkg->createLinks( settings->destinationurl->text() );
481}
482
483void MainWindow::removeLinks()
484{
485 pvDebug(2,"removing links...");
486 ipkg->removeLinks( settings->destinationurl->text() );
487}
488
489void 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
14class QComboBox; 16class QComboBox;
15class QPEToolBar; 17class QPEToolBar;
@@ -43,39 +45,51 @@ protected slots:
43 45
44public slots: 46public 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
55private: 62private:
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;
80private slots: 94private 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
22INCLUDEPATH += $(OPIEDIR)/include 26INCLUDEPATH += $(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
36Package::Package( QStringList pack, PackageManagerSettings *s ) 37Package::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
55Package::Package( Package *pi ) 57Package::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
116QString Package::name() 118QString Package::name()
117{ 119{
118 return _name; 120 return _name;
119} 121}
120 122
123
124QString Package::installName()
125{
126 if (_useFileName) return _fileName;
127 else return _name;
128}
129
121bool Package::installed() 130bool Package::installed()
122{ 131{
123 return _status.contains("installed"); 132 return _status.contains("installed");
124} 133}
125 134
126void Package::setDesc( QString s ) 135void 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
334QString Package::getPackageName() 343//QString Package::getPackageName()
344//{
345 //if ( _packageName.isEmpty() ) return _name;
346 //else return _packageName;
347//}
348
349void 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);
48public slots: 50public slots:
49 QString getPackageName(); 51// QString getPackageName();
50 void toggleProcess(); 52 void toggleProcess();
51 53
52private: 54private:
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
11PackageList::PackageList() 10PackageList::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 */
150void 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
163void 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
174void PackageList::readFileEntries( QString filename, QString dest ) 134void 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
204void PackageList::update()
205{
206 pvDebug( 2, "parseStatus");
207 parseStatus();
208 pvDebug( 2, "parseList");
209 parseList();
210 pvDebug( 2, "finished parsing");
211}
212
213void PackageList::setSettings( PackageManagerSettings *s ) 164void PackageList::setSettings( PackageManagerSettings *s )
214{ 165{
215 settings = s; 166 settings = s;
216} 167}
217 168
218Package* PackageList::getByName( QString n ) 169Package* 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
15class PackageList //:QObject 9class PackageList //:QObject
16{ 10{
17 // Q_OBJECT 11 // Q_OBJECT
18public: 12public:
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
37public slots: 31public 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
42private: 36protected:
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;
10static QPixmap *pm_uninstall=0; 10static QPixmap *pm_uninstall=0;
11static QPixmap *pm_install=0; 11static QPixmap *pm_install=0;
12 12
13PackageListItem::PackageListItem(QListView* lv, Package *pi, PackageManagerSettings *s) 13PackageListItem::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
19PackageListItem::PackageListItem(QListViewItem *lvi, Package *pi, PackageManagerSettings *s)
20 :QCheckListItem(lvi,pi->name(),CheckBox)
21{
22 init(pi,s);
23}
24
25void 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
14class PackageListItem 14class PackageListItem
15: public QCheckListItem 15: public QCheckListItem
16{ 16{
17public: 17public:
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
29private: 30private:
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
8PackageListLocal::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
24PackageListLocal::PackageListLocal(PackageManagerSettings* s)
25 : PackageList(s)
26{
27 PackageListLocal();
28}
29
30PackageListLocal::~PackageListLocal()
31{
32}
33
34void 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
47void 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
59void 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
13class PackageListLocal : public PackageList {
14public:
15 PackageListLocal();
16 PackageListLocal( PackageManagerSettings* );
17 virtual ~PackageListLocal();
18
19public slots:
20 void update();
21private:
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
8PackageListRemote::PackageListRemote(PackageManagerSettings* s)
9 : PackageList(s)
10{
11 PackageListRemote();
12}
13
14PackageListRemote::PackageListRemote()
15 : PackageList()
16{
17}
18
19PackageListRemote::~PackageListRemote()
20{
21}
22
23void 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&section=
32 QString server="http://ipkgfind.handhelds.org/";
33 cmd += " \""+server+"/packages.phtml";
34 cmd += "?format=pda&searchtype=package&section=";
35 cmd += "&query="+s;
36 cmd += "\"";
37
38 pvDebug(2,"search :"+cmd);
39 r = system(cmd.latin1());
40 readFileEntries( redirect );
41
42}
43
44void 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
9class PackageListRemote : public PackageList {
10public:
11 PackageListRemote();
12 PackageListRemote( PackageManagerSettings* s);
13 virtual ~PackageListRemote();
14 void query(QString);
15public 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;
46public slots: 46public 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
529void PackageManagerSettings::linkEnabled( bool b ) 531void 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
534void PackageManagerSettings::activeServerChanged() 537void PackageManagerSettings::activeServerChanged()
535{ 538{
536 changed = true; 539 changed = true;
537} 540}
538 541
539QComboBox* PackageManagerSettings::getDestCombo() 542QComboBox* PackageManagerSettings::getDestCombo()
540{ 543{
541 return new QComboBox(activeDestination); 544 return new QComboBox(activeDestination);
542} 545}
546
547void PackageManagerSettings::createLinksToDest()
548{
549 pvDebug(2,"creating links...");
550 // emit doCreateLinks( destinationurl->text() );
551 //ipkg->createLinks( destinationurl );
552}
553
554void 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
8class PackageManagerSettings : private PackageManagerSettingsBase 10class PackageManagerSettings : public PackageManagerSettingsBase
9{ 11{
10 // Q_OBJECT 12 // Q_OBJECT
11public: 13public:
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* );
28private:
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
43public slots: 30public 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();
54signals:
55// void doCreateLinks( QString dest );
56// void doRemoveLinks( QString dest );
57
58private:
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&amp;)</slot> 868 <slot access="public">destNameChanged(const QString&amp;)</slot>
740 <slot access="public">destUrlChanged(const QString&amp;)</slot> 869 <slot access="public">destUrlChanged(const QString&amp;)</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 &amp;)</slot> 873 <slot access="public">installationSettingSetName(const QString &amp;)</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&amp;)</slot> 883 <slot access="public">serverNameChanged(const QString&amp;)</slot>
755 <slot access="public">serverUrlChanged(const QString&amp;)</slot> 884 <slot access="public">serverUrlChanged(const QString&amp;)</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
213void PmIpkg::commit( PackageList pl ) 213void 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
227void 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
243void PmIpkg::startDialog() 240void 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
21public: 21public:
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
41private: 42private:
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();