-rw-r--r-- | noncore/unsupported/oipkg/mainwindow.cpp | 53 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pmipkg.cpp | 37 |
2 files changed, 71 insertions, 19 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 @@ -40,21 +40,22 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : setCaption( tr("Package Manager") ); settings = new PackageManagerSettings(this,0,TRUE); 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 ;) // pvDebug(9,"section->setCurrentItem"); // for (int i=0;i<section->count();i++) @@ -79,20 +80,20 @@ void MainWindow::makeMenu() QPEToolBar *toolBar = new QPEToolBar( this ); 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() ); // toolBar->setStretchableWidget( spacer ); @@ -226,12 +227,49 @@ void MainWindow::makeMenu() connect( a, SIGNAL( activated() ), SLOT( destClose() ) ); a->addTo( destBar ); 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" ); findShow( cfg.readBoolEntry( "findBar", true ) ); searchShow( cfg.readBoolEntry( "searchBar", true ) ); @@ -251,13 +289,13 @@ 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 // ##### messages. But we don't bother yet, and just do an "all". QCopEnvelope e("QPE/System", "linkChanged(QString)"); @@ -267,17 +305,18 @@ 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() { QString f = ""; if ( findAction->isOn() ) f = findEdit->text(); 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,14 +1,12 @@ #include "pmipkg.h" #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> #include <qdir.h> #include <qfile.h> @@ -26,12 +24,14 @@ #include <stdlib.h> #include <unistd.h> #include "mainwindow.h" +//#define OPROCESS + PmIpkg::PmIpkg( PackageManagerSettings* s, QWidget* p, const char * name, WFlags f ) : QObject ( p ) { settings = s; runwindow = new RunWindow( p, name, true, f ); #ifdef OPROCESS @@ -123,31 +123,30 @@ bool PmIpkg::runIpkg(const QString& args, const QString& dest ) FILE *fp; char line[130]; 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; } @@ -231,21 +230,21 @@ void PmIpkg::processLinkDir( QString file, QString dest ) processLinkDir( fi->absFilePath(), dest ); ++it; } } 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() ) { pvDebug(4,"removing "+destFile+" no "+file); @@ -350,12 +349,26 @@ void PmIpkg::install() { if ( to_install.count() == 0 ) return; 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(); linkOpp = createLink; if ( to_install.at(i)->link() ) |