author | tille <tille> | 2002-06-21 12:44:34 (UTC) |
---|---|---|
committer | tille <tille> | 2002-06-21 12:44:34 (UTC) |
commit | e6834009bf23492e009258e3881ce183cf9e27a0 (patch) (unidiff) | |
tree | ba5fb74b2ee5e70b5157cd5eb935f8760c5b208d | |
parent | 3be39e6c8af27a43d4b09bf08b4c739c342b5de3 (diff) | |
download | opie-e6834009bf23492e009258e3881ce183cf9e27a0.zip opie-e6834009bf23492e009258e3881ce183cf9e27a0.tar.gz opie-e6834009bf23492e009258e3881ce183cf9e27a0.tar.bz2 |
fixes
-rw-r--r-- | noncore/unsupported/oipkg/mainwindow.cpp | 55 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pmipkg.cpp | 37 |
2 files changed, 72 insertions, 20 deletions
diff --git a/noncore/unsupported/oipkg/mainwindow.cpp b/noncore/unsupported/oipkg/mainwindow.cpp index 233eae6..7df1d6b 100644 --- a/noncore/unsupported/oipkg/mainwindow.cpp +++ b/noncore/unsupported/oipkg/mainwindow.cpp | |||
@@ -34,33 +34,34 @@ | |||
34 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : | 34 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : |
35 | QMainWindow( parent, name, f ) | 35 | QMainWindow( parent, name, f ) |
36 | // packageListServers( QObject(parent), name ), | 36 | // packageListServers( QObject(parent), name ), |
37 | // packageListSearch( parent, name ), | 37 | // packageListSearch( parent, name ), |
38 | // packageListDocLnk( parent, name ) | 38 | // packageListDocLnk( parent, name ) |
39 | { | 39 | { |
40 | setCaption( tr("Package Manager") ); | 40 | setCaption( tr("Package Manager") ); |
41 | settings = new PackageManagerSettings(this,0,TRUE); | 41 | settings = new PackageManagerSettings(this,0,TRUE); |
42 | listViewPackages = new PackageListView( this,"listViewPackages",settings ); | 42 | listViewPackages = new PackageListView( this,"listViewPackages",settings ); |
43 | setCentralWidget( listViewPackages ); | 43 | setCentralWidget( listViewPackages ); |
44 | listViewPackages->addList( tr("feeds"), &packageListServers ); | 44 | listViewPackages->addList( tr("feeds"), &packageListServers ); |
45 | listViewPackages->addList( tr("ipkgfind"), &packageListSearch ); | 45 | listViewPackages->addList( tr("ipkgfind"), &packageListSearch ); |
46 | listViewPackages->addList( tr("documents"), &packageListDocLnk ); | 46 | //listViewPackages->addList( tr("documents"), &packageListDocLnk ); |
47 | ipkg = new PmIpkg( settings, this ); | 47 | ipkg = new PmIpkg( settings, this ); |
48 | packageListServers.setSettings( settings ); | 48 | packageListServers.setSettings( settings ); |
49 | packageListSearch.setSettings( settings ); | 49 | packageListSearch.setSettings( settings ); |
50 | packageListDocLnk.setSettings( settings ); | 50 | packageListDocLnk.setSettings( settings ); |
51 | pvDebug(9,"packageListServers.update"); | 51 | pvDebug(9,"packageListServers.update"); |
52 | packageListServers.update(); | 52 | packageListServers.update(); |
53 | pvDebug(9,"packageListDocLnk.update"); | 53 | pvDebug(9,"packageListDocLnk.update"); |
54 | packageListDocLnk.update(); | 54 | pvDebug(0,"no UPDATE of DocLnk"); |
55 | // packageListDocLnk.update(); | ||
55 | pvDebug(9,"makeMenu"); | 56 | pvDebug(9,"makeMenu"); |
56 | makeMenu(); | 57 | makeMenu(); |
57 | makeChannel(); | 58 | makeChannel(); |
58 | //opie is hardcoded default ;) | 59 | //opie is hardcoded default ;) |
59 | //pvDebug(9,"section->setCurrentItem"); | 60 | //pvDebug(9,"section->setCurrentItem"); |
60 | // for (int i=0;i<section->count();i++) | 61 | // for (int i=0;i<section->count();i++) |
61 | // if (section->text(i)=="opie") | 62 | // if (section->text(i)=="opie") |
62 | // section->setCurrentItem(i); | 63 | // section->setCurrentItem(i); |
63 | // sectionChanged(); | 64 | // sectionChanged(); |
64 | 65 | ||
65 | connect( section, SIGNAL(activated(int)), SLOT(sectionChanged()) ); | 66 | connect( section, SIGNAL(activated(int)), SLOT(sectionChanged()) ); |
66 | connect( subsection, SIGNAL(activated(int)), SLOT(subSectionChanged()) ); | 67 | connect( subsection, SIGNAL(activated(int)), SLOT(subSectionChanged()) ); |
@@ -73,48 +74,48 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : | |||
73 | pvDebug(9,"displayList"); | 74 | pvDebug(9,"displayList"); |
74 | displayList(); | 75 | displayList(); |
75 | } | 76 | } |
76 | 77 | ||
77 | void MainWindow::makeMenu() | 78 | void MainWindow::makeMenu() |
78 | { | 79 | { |
79 | 80 | ||
80 | QPEToolBar *toolBar = new QPEToolBar( this ); | 81 | QPEToolBar *toolBar = new QPEToolBar( this ); |
81 | QPEMenuBar *menuBar = new QPEMenuBar( toolBar ); | 82 | QPEMenuBar *menuBar = new QPEMenuBar( toolBar ); |
82 | QPopupMenu *srvMenu = new QPopupMenu( menuBar ); | 83 | QPopupMenu *srvMenu = new QPopupMenu( menuBar ); |
83 | QPopupMenu *viewMenu = new QPopupMenu( menuBar ); | 84 | QPopupMenu *viewMenu = new QPopupMenu( menuBar ); |
84 | QPopupMenu *cfgMenu = new QPopupMenu( menuBar ); | 85 | QPopupMenu *cfgMenu = new QPopupMenu( menuBar ); |
85 | // QPopupMenu *sectMenu = new QPopupMenu( menuBar ); | 86 | QPopupMenu *helpMenu = new QPopupMenu( menuBar ); |
86 | 87 | ||
87 | setToolBarsMovable( false ); | 88 | setToolBarsMovable( false ); |
88 | toolBar->setHorizontalStretchable( true ); | 89 | toolBar->setHorizontalStretchable( true ); |
89 | menuBar->insertItem( tr( "Package" ), srvMenu ); | 90 | menuBar->insertItem( tr( "Package" ), srvMenu ); |
90 | menuBar->insertItem( tr( "View" ), viewMenu ); | 91 | menuBar->insertItem( tr( "View" ), viewMenu ); |
91 | menuBar->insertItem( tr( "Settings" ), cfgMenu ); | 92 | menuBar->insertItem( tr( "Settings" ), cfgMenu ); |
92 | // menuBar->insertItem( tr( "Sections" ), sectMenu ); | 93 | menuBar->insertItem( tr( "Help" ), helpMenu ); |
93 | 94 | ||
94 | QLabel *spacer; | 95 | QLabel *spacer; |
95 | // spacer = new QLabel( "", toolBar ); | 96 | // spacer = new QLabel( "", toolBar ); |
96 | // spacer->setBackgroundColor( toolBar->backgroundColor() ); | 97 | // spacer->setBackgroundColor( toolBar->backgroundColor() ); |
97 | // toolBar->setStretchableWidget( spacer ); | 98 | // toolBar->setStretchableWidget( spacer ); |
98 | 99 | ||
99 | 100 | ||
100 | runAction = new QAction( tr( "Apply" ), | 101 | runAction = new QAction( tr( "Apply" ), |
101 | Resource::loadPixmap( "oipkg/install" ), | 102 | Resource::loadPixmap( "oipkg/install" ), |
102 | QString::null, 0, this, 0 ); | 103 | QString::null, 0, this, 0 ); |
103 | connect( runAction, SIGNAL( activated() ), | 104 | connect( runAction, SIGNAL( activated() ), |
104 | this, SLOT( runIpkg() ) ); | 105 | this, SLOT( runIpkg() ) ); |
105 | runAction->addTo( toolBar ); | 106 | runAction->addTo( toolBar ); |
106 | runAction->addTo( srvMenu ); | 107 | runAction->addTo( srvMenu ); |
107 | 108 | ||
108 | srvMenu->insertSeparator (); | 109 | srvMenu->insertSeparator(); |
109 | 110 | ||
110 | updateAction = new QAction( tr( "Update" ), | 111 | updateAction = new QAction( tr( "Update" ), |
111 | Resource::loadIconSet( "oipkg/update" ), | 112 | Resource::loadIconSet( "oipkg/update" ), |
112 | QString::null, 0, this, 0 ); | 113 | QString::null, 0, this, 0 ); |
113 | connect( updateAction, SIGNAL( activated() ), | 114 | connect( updateAction, SIGNAL( activated() ), |
114 | this , SLOT( updateList() ) ); | 115 | this , SLOT( updateList() ) ); |
115 | updateAction->addTo( toolBar ); | 116 | updateAction->addTo( toolBar ); |
116 | updateAction->addTo( srvMenu ); | 117 | updateAction->addTo( srvMenu ); |
117 | 118 | ||
118 | QAction *cfgact; | 119 | QAction *cfgact; |
119 | 120 | ||
120 | cfgact = new QAction( tr( "Setups" ), | 121 | cfgact = new QAction( tr( "Setups" ), |
@@ -220,24 +221,61 @@ void MainWindow::makeMenu() | |||
220 | CheckBoxLink->setChecked( settings->createLinks() ); | 221 | CheckBoxLink->setChecked( settings->createLinks() ); |
221 | connect( CheckBoxLink, SIGNAL(toggled(bool)), | 222 | connect( CheckBoxLink, SIGNAL(toggled(bool)), |
222 | settings, SLOT(linkEnabled(bool)) ); | 223 | settings, SLOT(linkEnabled(bool)) ); |
223 | destAction = new QAction( tr( "Destinations" ), QString::null, 0, this, 0 ); | 224 | destAction = new QAction( tr( "Destinations" ), QString::null, 0, this, 0 ); |
224 | connect( destAction, SIGNAL( toggled(bool) ), SLOT( destShow(bool) ) ); | 225 | connect( destAction, SIGNAL( toggled(bool) ), SLOT( destShow(bool) ) ); |
225 | a = new QAction( tr( "Close Destinations" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); | 226 | a = new QAction( tr( "Close Destinations" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); |
226 | connect( a, SIGNAL( activated() ), SLOT( destClose() ) ); | 227 | connect( a, SIGNAL( activated() ), SLOT( destClose() ) ); |
227 | a->addTo( destBar ); | 228 | a->addTo( destBar ); |
228 | destBar->setStretchableWidget( CheckBoxLink ); | 229 | destBar->setStretchableWidget( CheckBoxLink ); |
229 | destAction->setToggleAction( true ); | 230 | destAction->setToggleAction( true ); |
230 | // destAction->addTo( viewMenu ); | 231 | // destAction->addTo( viewMenu ); |
231 | 232 | ||
233 | // helpMenu | ||
234 | helpMenu->insertSeparator(); | ||
235 | a = new QAction( tr( "Package Actions" ), QString::null, 0, this, 0 ); | ||
236 | a->addTo( helpMenu ); | ||
237 | helpMenu->insertSeparator(); | ||
238 | a = new QAction( tr( "Install" ), | ||
239 | Resource::loadPixmap( "oipkg/install" ), QString::null, 0, this, 0 ); | ||
240 | a->addTo( helpMenu ); | ||
241 | a = new QAction( tr( "Remove" ), | ||
242 | Resource::loadPixmap( "oipkg/uninstall" ), QString::null, 0, this, 0 ); | ||
243 | a->addTo( helpMenu ); | ||
244 | helpMenu->insertSeparator(); | ||
245 | a = new QAction( tr( "Package Status" ), QString::null, 0, this, 0 ); | ||
246 | a->addTo( helpMenu ); | ||
247 | helpMenu->insertSeparator(); | ||
248 | a = new QAction( tr( "New version, installed" ), | ||
249 | Resource::loadPixmap( "oipkg/installed" ), QString::null, 0, this, 0 ); | ||
250 | a->addTo( helpMenu ); | ||
251 | a = new QAction( tr( "New version, not installed" ), | ||
252 | Resource::loadPixmap( "oipkg/uninstalled" ), QString::null, 0, this, 0 ); | ||
253 | a->addTo( helpMenu ); | ||
254 | a = new QAction( tr( "Old version, installed" ), | ||
255 | Resource::loadPixmap( "oipkg/installedOld" ), QString::null, 0, this, 0 ); | ||
256 | a->addTo( helpMenu ); | ||
257 | a = new QAction( tr( "Old version, not installed" ), | ||
258 | Resource::loadPixmap( "oipkg/uninstalledOld" ), QString::null, 0, this, 0 ); | ||
259 | a->addTo( helpMenu ); | ||
260 | a = new QAction( tr( "Old version, new version installed" ), | ||
261 | Resource::loadPixmap( "oipkg/uninstalledOldinstalledNew" ), QString::null, 0, this, 0 ); | ||
262 | a->addTo( helpMenu ); | ||
263 | a = new QAction( tr( "New version, old version installed" ), | ||
264 | Resource::loadPixmap( "oipkg/uninstalledInstalledOld" ), QString::null, 0, this, 0 ); | ||
265 | a->addTo( helpMenu ); | ||
266 | //a = new QAction( tr( "" ), | ||
267 | // Resource::loadPixmap( "oipkg/" ), QString::null, 0, this, 0 ); | ||
268 | // a->addTo( helpMenu ); | ||
269 | |||
232 | // configure the menus | 270 | // configure the menus |
233 | Config cfg( "oipkg", Config::User ); | 271 | Config cfg( "oipkg", Config::User ); |
234 | cfg.setGroup( "gui" ); | 272 | cfg.setGroup( "gui" ); |
235 | 273 | ||
236 | findShow( cfg.readBoolEntry( "findBar", true ) ); | 274 | findShow( cfg.readBoolEntry( "findBar", true ) ); |
237 | searchShow( cfg.readBoolEntry( "searchBar", true ) ); | 275 | searchShow( cfg.readBoolEntry( "searchBar", true ) ); |
238 | sectionShow( cfg.readBoolEntry( "sectionBar", true ) ); | 276 | sectionShow( cfg.readBoolEntry( "sectionBar", true ) ); |
239 | destShow( cfg.readBoolEntry( "destBar", false ) ); | 277 | destShow( cfg.readBoolEntry( "destBar", false ) ); |
240 | } | 278 | } |
241 | 279 | ||
242 | MainWindow::~MainWindow() | 280 | MainWindow::~MainWindow() |
243 | { | 281 | { |
@@ -245,45 +283,46 @@ MainWindow::~MainWindow() | |||
245 | cfg.setGroup( "gui" ); | 283 | cfg.setGroup( "gui" ); |
246 | cfg.writeEntry( "findBar", !findBar->isHidden() ); | 284 | cfg.writeEntry( "findBar", !findBar->isHidden() ); |
247 | cfg.writeEntry( "searchBar", !searchBar->isHidden() ); | 285 | cfg.writeEntry( "searchBar", !searchBar->isHidden() ); |
248 | cfg.writeEntry( "sectionBar", !sectionBar->isHidden() ); | 286 | cfg.writeEntry( "sectionBar", !sectionBar->isHidden() ); |
249 | cfg.writeEntry( "destBar", !destBar->isHidden() ); | 287 | cfg.writeEntry( "destBar", !destBar->isHidden() ); |
250 | 288 | ||
251 | } | 289 | } |
252 | 290 | ||
253 | void MainWindow::runIpkg() | 291 | void MainWindow::runIpkg() |
254 | { | 292 | { |
255 | packageListServers.allPackages(); | 293 | packageListServers.allPackages(); |
256 | ipkg->loadList( &packageListSearch ); | 294 | ipkg->loadList( &packageListSearch ); |
257 | ipkg->loadList( &packageListDocLnk ); | 295 | //ipkg->loadList( &packageListDocLnk ); |
258 | ipkg->loadList( &packageListServers ); | 296 | ipkg->loadList( &packageListServers ); |
259 | ipkg->commit(); | 297 | ipkg->commit(); |
260 | ipkg->clearLists(); | 298 | ipkg->clearLists(); |
261 | // ##### If we looked in the list of files, we could send out accurate | 299 | // ##### If we looked in the list of files, we could send out accurate |
262 | // ##### messages. But we don't bother yet, and just do an "all". | 300 | // ##### messages. But we don't bother yet, and just do an "all". |
263 | QCopEnvelope e("QPE/System", "linkChanged(QString)"); | 301 | QCopEnvelope e("QPE/System", "linkChanged(QString)"); |
264 | QString lf = QString::null; | 302 | QString lf = QString::null; |
265 | e << lf; | 303 | e << lf; |
266 | displayList(); | 304 | displayList(); |
267 | } | 305 | } |
268 | 306 | ||
269 | void MainWindow::updateList() | 307 | void MainWindow::updateList() |
270 | { | 308 | { |
271 | packageListServers.clear(); | 309 | packageListServers.clear(); |
272 | packageListSearch.clear(); | 310 | packageListSearch.clear(); |
273 | packageListDocLnk.clear(); | 311 | |
312 | // packageListDocLnk.clear(); | ||
274 | ipkg->update(); | 313 | ipkg->update(); |
275 | packageListServers.update(); | 314 | packageListServers.update(); |
276 | packageListSearch.update(); | 315 | packageListSearch.update(); |
277 | packageListDocLnk.update(); | 316 | // packageListDocLnk.update(); |
278 | } | 317 | } |
279 | 318 | ||
280 | void MainWindow::filterList() | 319 | void MainWindow::filterList() |
281 | { | 320 | { |
282 | QString f = ""; | 321 | QString f = ""; |
283 | if ( findAction->isOn() ) f = findEdit->text(); | 322 | if ( findAction->isOn() ) f = findEdit->text(); |
284 | packageListServers.filterPackages( f ); | 323 | packageListServers.filterPackages( f ); |
285 | } | 324 | } |
286 | 325 | ||
287 | void MainWindow::displayList() | 326 | void MainWindow::displayList() |
288 | { | 327 | { |
289 | filterList(); | 328 | filterList(); |
diff --git a/noncore/unsupported/oipkg/pmipkg.cpp b/noncore/unsupported/oipkg/pmipkg.cpp index 0817247..7d0e246 100644 --- a/noncore/unsupported/oipkg/pmipkg.cpp +++ b/noncore/unsupported/oipkg/pmipkg.cpp | |||
@@ -1,43 +1,43 @@ | |||
1 | #include "pmipkg.h" | 1 | #include "pmipkg.h" |
2 | #include "pksettings.h" | 2 | #include "pksettings.h" |
3 | #include "package.h" | 3 | #include "package.h" |
4 | #include "packagelistitem.h" | 4 | #include "packagelistitem.h" |
5 | 5 | ||
6 | //#infdef OPROCESS | ||
7 | #include <opie/oprocess.h> | 6 | #include <opie/oprocess.h> |
8 | //#endif | ||
9 | #include <qpe/resource.h> | 7 | #include <qpe/resource.h> |
10 | #include <qpe/config.h> | 8 | #include <qpe/config.h> |
11 | #include <qpe/stringutil.h> | 9 | #include <qpe/stringutil.h> |
12 | #include <qpe/qpeapplication.h> | 10 | #include <qpe/qpeapplication.h> |
13 | #include <qdir.h> | 11 | #include <qdir.h> |
14 | #include <qfile.h> | 12 | #include <qfile.h> |
15 | #include <qgroupbox.h> | 13 | #include <qgroupbox.h> |
16 | #include <qmultilineedit.h> | 14 | #include <qmultilineedit.h> |
17 | #include <qstring.h> | 15 | #include <qstring.h> |
18 | #include <qcheckbox.h> | 16 | #include <qcheckbox.h> |
19 | #include <qtextstream.h> | 17 | #include <qtextstream.h> |
20 | #include <qtextview.h> | 18 | #include <qtextview.h> |
21 | 19 | ||
22 | #include <qprogressbar.h> | 20 | #include <qprogressbar.h> |
23 | #include <qpushbutton.h> | 21 | #include <qpushbutton.h> |
24 | #include <qlayout.h> | 22 | #include <qlayout.h> |
25 | 23 | ||
26 | #include <stdlib.h> | 24 | #include <stdlib.h> |
27 | #include <unistd.h> | 25 | #include <unistd.h> |
28 | 26 | ||
29 | #include "mainwindow.h" | 27 | #include "mainwindow.h" |
30 | 28 | ||
31 | 29 | ||
30 | //#define OPROCESS | ||
31 | |||
32 | PmIpkg::PmIpkg( PackageManagerSettings* s, QWidget* p, const char * name, WFlags f ) | 32 | PmIpkg::PmIpkg( PackageManagerSettings* s, QWidget* p, const char * name, WFlags f ) |
33 | : QObject ( p ) | 33 | : QObject ( p ) |
34 | { | 34 | { |
35 | settings = s; | 35 | settings = s; |
36 | runwindow = new RunWindow( p, name, true, f ); | 36 | runwindow = new RunWindow( p, name, true, f ); |
37 | #ifdef OPROCESS | 37 | #ifdef OPROCESS |
38 | ipkgProcess = new OProcess(); | 38 | ipkgProcess = new OProcess(); |
39 | connect ( ipkgProcess, SIGNAL(receivedStdout(OProcess*,char*,int)), | 39 | connect ( ipkgProcess, SIGNAL(receivedStdout(OProcess*,char*,int)), |
40 | this, SLOT(getIpkgOutput(OProcess*,char*,int))); | 40 | this, SLOT(getIpkgOutput(OProcess*,char*,int))); |
41 | 41 | ||
42 | connect ( ipkgProcess, SIGNAL(receivedStderr(OProcess*,char*,int)), | 42 | connect ( ipkgProcess, SIGNAL(receivedStderr(OProcess*,char*,int)), |
43 | this, SLOT(getIpkgOutput(OProcess*,char*,int))); | 43 | this, SLOT(getIpkgOutput(OProcess*,char*,int))); |
@@ -117,43 +117,42 @@ bool PmIpkg::runIpkg(const QString& args, const QString& dest ) | |||
117 | out("."); | 117 | out("."); |
118 | pvDebug(7,"wait for oprocess to terminate"); | 118 | pvDebug(7,"wait for oprocess to terminate"); |
119 | qApp->processEvents(); | 119 | qApp->processEvents(); |
120 | }; | 120 | }; |
121 | #else | 121 | #else |
122 | qApp->processEvents(); | 122 | qApp->processEvents(); |
123 | FILE *fp; | 123 | FILE *fp; |
124 | char line[130]; | 124 | char line[130]; |
125 | QString lineStr, lineStrOld; | 125 | QString lineStr, lineStrOld; |
126 | sleep(1); | 126 | sleep(1); |
127 | cmd +=" 2>&1"; | 127 | cmd +=" 2>&1"; |
128 | fp = popen( (const char *) cmd, "r"); | 128 | fp = popen( (const char *) cmd, "r"); |
129 | if ( !fp ) { | 129 | if ( fp == NULL ) { |
130 | qDebug("Could not execute '" + cmd + "'! err=%d", fp); | 130 | qDebug("Could not execute '" + cmd + "'! err=%d", fp); |
131 | pclose(fp); | ||
132 | out("\nError while executing "+ cmd+"\n\n"); | 131 | out("\nError while executing "+ cmd+"\n\n"); |
133 | return false; | 132 | ret = false; |
134 | } else { | 133 | } else { |
135 | while ( fgets( line, sizeof line, fp)) { | 134 | while ( fgets( line, sizeof line, fp) != NULL) |
135 | { | ||
136 | lineStr = line; | 136 | lineStr = line; |
137 | lineStr=lineStr.left(lineStr.length()-1); | 137 | lineStr=lineStr.left(lineStr.length()-1); |
138 | //Configuring opie-oipkg...Done | 138 | //Configuring opie-oipkg...Done |
139 | if (lineStr.contains("Done")) | 139 | if (lineStr.contains("Done")) ret = true; |
140 | ret = true; | ||
141 | if (lineStr!=lineStrOld) | 140 | if (lineStr!=lineStrOld) |
142 | out(lineStr); | 141 | out(lineStr); |
143 | lineStrOld = lineStr; | 142 | lineStrOld = lineStr; |
144 | qApp->processEvents(); | 143 | qApp->processEvents(); |
145 | } | 144 | } |
146 | pclose(fp); | ||
147 | } | 145 | } |
146 | pclose(fp); | ||
148 | #endif | 147 | #endif |
149 | //out( "Finished!"); | 148 | //out( "Finished!"); |
150 | pvDebug(2,QString(ret?"success\n":"failure\n")); | 149 | pvDebug(2,QString(ret?"success\n":"failure\n")); |
151 | return ret; | 150 | return ret; |
152 | } | 151 | } |
153 | 152 | ||
154 | void PmIpkg::makeLinks(Package *pack) | 153 | void PmIpkg::makeLinks(Package *pack) |
155 | { | 154 | { |
156 | pvDebug( 2, "PmIpkg::makeLinks "+ pack->name()); | 155 | pvDebug( 2, "PmIpkg::makeLinks "+ pack->name()); |
157 | linkPackage( pack->name(), pack->dest() ); | 156 | linkPackage( pack->name(), pack->dest() ); |
158 | } | 157 | } |
159 | 158 | ||
@@ -225,33 +224,33 @@ void PmIpkg::processLinkDir( QString file, QString dest ) | |||
225 | const QFileInfoList *list = d.entryInfoList(); | 224 | const QFileInfoList *list = d.entryInfoList(); |
226 | QFileInfoListIterator it( *list ); | 225 | QFileInfoListIterator it( *list ); |
227 | QFileInfo *fi; | 226 | QFileInfo *fi; |
228 | while ( (fi=it.current()) ) | 227 | while ( (fi=it.current()) ) |
229 | { | 228 | { |
230 | pvDebug(4, "processLinkDir "+fi->absFilePath()); | 229 | pvDebug(4, "processLinkDir "+fi->absFilePath()); |
231 | processLinkDir( fi->absFilePath(), dest ); | 230 | processLinkDir( fi->absFilePath(), dest ); |
232 | ++it; | 231 | ++it; |
233 | } | 232 | } |
234 | } else | 233 | } else |
235 | if ( fileInfo.isFile() ) | 234 | if ( fileInfo.isFile() ) |
236 | { | 235 | { |
237 | const char *instFile = strdup( (file).ascii() ); | 236 | const char *instFile = strdup( (file).latin1() ); |
238 | const char *linkFile = strdup( (destFile).ascii()); | 237 | const char *linkFile = strdup( (destFile).latin1()); |
239 | if( linkOpp==createLink ) | 238 | if( linkOpp==createLink ) |
240 | { | 239 | { |
241 | pvDebug(4, "linking: "+file+" -> "+destFile ); | 240 | pvDebug(4, "linking: "+file+" -> "+destFile ); |
242 | symlink( instFile, linkFile ); | 241 | symlink( instFile, linkFile ); |
243 | } | 242 | } |
244 | } else { | 243 | } else { |
245 | const char *linkFile = strdup( (destFile).ascii()); | 244 | const char *linkFile = strdup( (destFile).latin1()); |
246 | if( linkOpp==removeLink ) | 245 | if( linkOpp==removeLink ) |
247 | { | 246 | { |
248 | QFileInfo toRemoveLink( destFile ); | 247 | QFileInfo toRemoveLink( destFile ); |
249 | if ( !QFile::exists( file ) && toRemoveLink.isSymLink() ) | 248 | if ( !QFile::exists( file ) && toRemoveLink.isSymLink() ) |
250 | { | 249 | { |
251 | pvDebug(4,"removing "+destFile+" no "+file); | 250 | pvDebug(4,"removing "+destFile+" no "+file); |
252 | unlink( linkFile ); | 251 | unlink( linkFile ); |
253 | } | 252 | } |
254 | } | 253 | } |
255 | } | 254 | } |
256 | } | 255 | } |
257 | 256 | ||
@@ -344,24 +343,38 @@ void PmIpkg::remove() | |||
344 | to_remove.clear(); | 343 | to_remove.clear(); |
345 | out("\n"); | 344 | out("\n"); |
346 | } | 345 | } |
347 | 346 | ||
348 | 347 | ||
349 | void PmIpkg::install() | 348 | void PmIpkg::install() |
350 | { | 349 | { |
351 | if ( to_install.count() == 0 ) return; | 350 | if ( to_install.count() == 0 ) return; |
352 | out(tr("Installing")+"\n"+tr("please wait")+"\n"); | 351 | out(tr("Installing")+"\n"+tr("please wait")+"\n"); |
353 | for (uint i=0; i < to_install.count(); i++) | 352 | for (uint i=0; i < to_install.count(); i++) |
354 | { | 353 | { |
355 | qDebug("install loop %i of %i installing %s",i,to_install.count(),to_install.at(i)->installName().latin1()); //pvDebug | 354 | qDebug("install loop %i of %i installing %s",i,to_install.count(),to_install.at(i)->installName().latin1()); //pvDebug |
355 | if (to_install.at(i)->link()) | ||
356 | { | ||
357 | // hack to have package.list | ||
358 | // in "dest"/usr/lib/ipkg/info/ | ||
359 | QString rds = settings->getDestinationUrlByName("root"); | ||
360 | QString lds = settings->getDestinationUrlByName(to_install.at(i)->dest()); | ||
361 | QString listFile = "usr/lib/ipkg/lists/"+to_install.at(i)->name()+".list"; | ||
362 | rds += listFile; | ||
363 | lds += listFile; | ||
364 | const char *rd = rds.latin1(); | ||
365 | const char *ld = lds.latin1(); | ||
366 | pvDebug(4, "linking: "+rds+" -> "+lds ); | ||
367 | symlink( rd, ld ); | ||
368 | } | ||
356 | if ( runIpkg("install " + to_install.at(i)->installName(), to_install.at(i)->dest() )) | 369 | if ( runIpkg("install " + to_install.at(i)->installName(), to_install.at(i)->dest() )) |
357 | { | 370 | { |
358 | runwindow->progress->setProgress( to_install.at(i)->size().toInt() + runwindow->progress->progress()); | 371 | runwindow->progress->setProgress( to_install.at(i)->size().toInt() + runwindow->progress->progress()); |
359 | to_install.at(i)->processed(); | 372 | to_install.at(i)->processed(); |
360 | linkOpp = createLink; | 373 | linkOpp = createLink; |
361 | if ( to_install.at(i)->link() ) | 374 | if ( to_install.at(i)->link() ) |
362 | makeLinks( to_install.at(i) ); | 375 | makeLinks( to_install.at(i) ); |
363 | // to_install.take( i ); | 376 | // to_install.take( i ); |
364 | out("\n"); | 377 | out("\n"); |
365 | }else{ | 378 | }else{ |
366 | out(tr("Error while installing")+to_install.at(i)->name()+"\n"); | 379 | out(tr("Error while installing")+to_install.at(i)->name()+"\n"); |
367 | linkOpp = createLink; | 380 | linkOpp = createLink; |