-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 @@ -42,17 +42,18 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : listViewPackages = new PackageListView( this,"listViewPackages",settings ); setCentralWidget( listViewPackages ); listViewPackages->addList( tr("feeds"), &packageListServers ); listViewPackages->addList( tr("ipkgfind"), &packageListSearch ); - listViewPackages->addList( tr("documents"), &packageListDocLnk ); +//listViewPackages->addList( tr("documents"), &packageListDocLnk ); ipkg = new PmIpkg( settings, this ); packageListServers.setSettings( settings ); packageListSearch.setSettings( settings ); packageListDocLnk.setSettings( settings ); pvDebug(9,"packageListServers.update"); packageListServers.update(); pvDebug(9,"packageListDocLnk.update"); - packageListDocLnk.update(); + pvDebug(0,"no UPDATE of DocLnk"); +// packageListDocLnk.update(); pvDebug(9,"makeMenu"); makeMenu(); makeChannel(); //opie is hardcoded default ;) @@ -81,16 +82,16 @@ void MainWindow::makeMenu() QPEMenuBar *menuBar = new QPEMenuBar( toolBar ); QPopupMenu *srvMenu = new QPopupMenu( menuBar ); QPopupMenu *viewMenu = new QPopupMenu( menuBar ); QPopupMenu *cfgMenu = new QPopupMenu( menuBar ); - // QPopupMenu *sectMenu = new QPopupMenu( menuBar ); + QPopupMenu *helpMenu = new QPopupMenu( menuBar ); setToolBarsMovable( false ); toolBar->setHorizontalStretchable( true ); menuBar->insertItem( tr( "Package" ), srvMenu ); menuBar->insertItem( tr( "View" ), viewMenu ); menuBar->insertItem( tr( "Settings" ), cfgMenu ); - // menuBar->insertItem( tr( "Sections" ), sectMenu ); + menuBar->insertItem( tr( "Help" ), helpMenu ); QLabel *spacer; // spacer = new QLabel( "", toolBar ); // spacer->setBackgroundColor( toolBar->backgroundColor() ); @@ -104,9 +105,9 @@ void MainWindow::makeMenu() this, SLOT( runIpkg() ) ); runAction->addTo( toolBar ); runAction->addTo( srvMenu ); - srvMenu->insertSeparator (); + srvMenu->insertSeparator(); updateAction = new QAction( tr( "Update" ), Resource::loadIconSet( "oipkg/update" ), QString::null, 0, this, 0 ); @@ -228,8 +229,45 @@ void MainWindow::makeMenu() destBar->setStretchableWidget( CheckBoxLink ); destAction->setToggleAction( true ); // destAction->addTo( viewMenu ); +// helpMenu + helpMenu->insertSeparator(); + a = new QAction( tr( "Package Actions" ), QString::null, 0, this, 0 ); + a->addTo( helpMenu ); + helpMenu->insertSeparator(); + a = new QAction( tr( "Install" ), + Resource::loadPixmap( "oipkg/install" ), QString::null, 0, this, 0 ); + a->addTo( helpMenu ); + a = new QAction( tr( "Remove" ), + Resource::loadPixmap( "oipkg/uninstall" ), QString::null, 0, this, 0 ); + a->addTo( helpMenu ); + helpMenu->insertSeparator(); + a = new QAction( tr( "Package Status" ), QString::null, 0, this, 0 ); + a->addTo( helpMenu ); + helpMenu->insertSeparator(); + a = new QAction( tr( "New version, installed" ), + Resource::loadPixmap( "oipkg/installed" ), QString::null, 0, this, 0 ); + a->addTo( helpMenu ); + a = new QAction( tr( "New version, not installed" ), + Resource::loadPixmap( "oipkg/uninstalled" ), QString::null, 0, this, 0 ); + a->addTo( helpMenu ); + a = new QAction( tr( "Old version, installed" ), + Resource::loadPixmap( "oipkg/installedOld" ), QString::null, 0, this, 0 ); + a->addTo( helpMenu ); + a = new QAction( tr( "Old version, not installed" ), + Resource::loadPixmap( "oipkg/uninstalledOld" ), QString::null, 0, this, 0 ); + a->addTo( helpMenu ); + a = new QAction( tr( "Old version, new version installed" ), + Resource::loadPixmap( "oipkg/uninstalledOldinstalledNew" ), QString::null, 0, this, 0 ); + a->addTo( helpMenu ); + a = new QAction( tr( "New version, old version installed" ), + Resource::loadPixmap( "oipkg/uninstalledInstalledOld" ), QString::null, 0, this, 0 ); + a->addTo( helpMenu ); +// a = new QAction( tr( "" ), +// Resource::loadPixmap( "oipkg/" ), QString::null, 0, this, 0 ); +// a->addTo( helpMenu ); + // configure the menus Config cfg( "oipkg", Config::User ); cfg.setGroup( "gui" ); @@ -253,9 +291,9 @@ MainWindow::~MainWindow() void MainWindow::runIpkg() { packageListServers.allPackages(); ipkg->loadList( &packageListSearch ); - ipkg->loadList( &packageListDocLnk ); +//ipkg->loadList( &packageListDocLnk ); ipkg->loadList( &packageListServers ); ipkg->commit(); ipkg->clearLists(); // ##### If we looked in the list of files, we could send out accurate @@ -269,13 +307,14 @@ void MainWindow::runIpkg() void MainWindow::updateList() { packageListServers.clear(); packageListSearch.clear(); - packageListDocLnk.clear(); + +// packageListDocLnk.clear(); ipkg->update(); packageListServers.update(); packageListSearch.update(); - packageListDocLnk.update(); +// packageListDocLnk.update(); } void MainWindow::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 @@ -2,11 +2,9 @@ #include "pksettings.h" #include "package.h" #include "packagelistitem.h" -//#infdef OPROCESS #include <opie/oprocess.h> -//#endif #include <qpe/resource.h> #include <qpe/config.h> #include <qpe/stringutil.h> #include <qpe/qpeapplication.h> @@ -28,8 +26,10 @@ #include "mainwindow.h" +//#define OPROCESS + PmIpkg::PmIpkg( PackageManagerSettings* s, QWidget* p, const char * name, WFlags f ) : QObject ( p ) { settings = s; @@ -125,27 +125,26 @@ bool PmIpkg::runIpkg(const QString& args, const QString& dest ) QString lineStr, lineStrOld; sleep(1); cmd +=" 2>&1"; fp = popen( (const char *) cmd, "r"); - if ( !fp ) { + if ( fp == NULL ) { qDebug("Could not execute '" + cmd + "'! err=%d", fp); - pclose(fp); out("\nError while executing "+ cmd+"\n\n"); - return false; + ret = false; } else { - while ( fgets( line, sizeof line, fp)) { + while ( fgets( line, sizeof line, fp) != NULL) + { lineStr = line; lineStr=lineStr.left(lineStr.length()-1); //Configuring opie-oipkg...Done - if (lineStr.contains("Done")) - ret = true; + if (lineStr.contains("Done")) ret = true; if (lineStr!=lineStrOld) out(lineStr); lineStrOld = lineStr; qApp->processEvents(); } - pclose(fp); } + pclose(fp); #endif //out( "Finished!"); pvDebug(2,QString(ret?"success\n":"failure\n")); return ret; @@ -233,17 +232,17 @@ void PmIpkg::processLinkDir( QString file, QString dest ) } } else if ( fileInfo.isFile() ) { - const char *instFile = strdup( (file).ascii() ); - const char *linkFile = strdup( (destFile).ascii()); + const char *instFile = strdup( (file).latin1() ); + const char *linkFile = strdup( (destFile).latin1()); if( linkOpp==createLink ) { pvDebug(4, "linking: "+file+" -> "+destFile ); symlink( instFile, linkFile ); } } else { - const char *linkFile = strdup( (destFile).ascii()); + const char *linkFile = strdup( (destFile).latin1()); if( linkOpp==removeLink ) { QFileInfo toRemoveLink( destFile ); if ( !QFile::exists( file ) && toRemoveLink.isSymLink() ) @@ -352,8 +351,22 @@ void PmIpkg::install() out(tr("Installing")+"\n"+tr("please wait")+"\n"); for (uint i=0; i < to_install.count(); i++) { qDebug("install loop %i of %i installing %s",i,to_install.count(),to_install.at(i)->installName().latin1()); //pvDebug + if (to_install.at(i)->link()) + { + // hack to have package.list + // in "dest"/usr/lib/ipkg/info/ + QString rds = settings->getDestinationUrlByName("root"); + QString lds = settings->getDestinationUrlByName(to_install.at(i)->dest()); + QString listFile = "usr/lib/ipkg/lists/"+to_install.at(i)->name()+".list"; + rds += listFile; + lds += listFile; + const char *rd = rds.latin1(); + const char *ld = lds.latin1(); + pvDebug(4, "linking: "+rds+" -> "+lds ); + symlink( rd, ld ); + } if ( runIpkg("install " + to_install.at(i)->installName(), to_install.at(i)->dest() )) { runwindow->progress->setProgress( to_install.at(i)->size().toInt() + runwindow->progress->progress()); to_install.at(i)->processed(); |