author | tille <tille> | 2002-05-01 22:56:23 (UTC) |
---|---|---|
committer | tille <tille> | 2002-05-01 22:56:23 (UTC) |
commit | a3397118d3c384655bedb40210db96ca34adc0c9 (patch) (side-by-side diff) | |
tree | 3b8d46e0e9d1203801783a7dbf92400a4ed8652a | |
parent | 89b16f3378b783be9058852528e066dcadea953d (diff) | |
download | opie-a3397118d3c384655bedb40210db96ca34adc0c9.zip opie-a3397118d3c384655bedb40210db96ca34adc0c9.tar.gz opie-a3397118d3c384655bedb40210db96ca34adc0c9.tar.bz2 |
fixed close of local & ipkgfind
-rw-r--r-- | noncore/unsupported/oipkg/mainwindow.cpp | 39 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistview.cpp | 36 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistview.h | 7 |
3 files changed, 63 insertions, 19 deletions
diff --git a/noncore/unsupported/oipkg/mainwindow.cpp b/noncore/unsupported/oipkg/mainwindow.cpp index 4865c39..0422d65 100644 --- a/noncore/unsupported/oipkg/mainwindow.cpp +++ b/noncore/unsupported/oipkg/mainwindow.cpp @@ -9,65 +9,66 @@ #include <qpe/config.h> #include <qpe/qpetoolbar.h> #include <qpe/qcopenvelope_qws.h> #include <qaction.h> #include <qmessagebox.h> #include <qpopupmenu.h> #include <qtoolbutton.h> #include <qstring.h> #include <qlabel.h> #include <qfile.h> #include <qlistview.h> #include <qtextview.h> #include <qcheckbox.h> #include <qlineedit.h> #include <qtabwidget.h> #include <qcombobox.h> #include <qmessagebox.h> #include <qpushbutton.h> #include <qlayout.h> #include "pksettingsbase.h" #include "utils.h" #include "packagelistitem.h" MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : QMainWindow( parent, name, f ) { setCaption( tr("Package Manager") ); settings = new PackageManagerSettings(this,0,TRUE); listViewPackages = new PackageListView( this,"listViewPackages",settings ); setCentralWidget( listViewPackages ); - + listViewPackages->addList( tr("local"), &packageList ); + listViewPackages->addList( tr("ipkgfind"), &packageListSearch ); // wait = new QMessageBox(tr("oipkg"),tr("Please wait")//,QMessageBox::Information,QMessageBox::NoButton,QMessageBox::NoButton,QMessageBox::NoButton); // wait = new QMessageBox(this); // wait->setText(tr("Please wait")); ipkg = new PmIpkg( settings, this ); // settings->setIpkg( ipkg ); packageList.setSettings( settings ); packageListSearch.setSettings( settings ); packageList.update(); makeMenu(); makeChannel(); //opie is hardcoded default ;) for (int i=0;i<section->count();i++) if (section->text(i)=="opie") section->setCurrentItem(i); sectionChanged(); connect( section, SIGNAL(activated(int)), SLOT(sectionChanged()) ); connect( subsection, SIGNAL(activated(int)), SLOT(subSectionChanged()) ); connect( settings->removeLinksButton, SIGNAL( clicked()), SLOT(removeLinks()) ); connect( settings->createLinksButton, SIGNAL( clicked()), SLOT(createLinks()) ); displayList(); } void MainWindow::makeMenu() { QPEToolBar *toolBar = new QPEToolBar( this ); QPEMenuBar *menuBar = new QPEMenuBar( toolBar ); @@ -251,84 +252,84 @@ void MainWindow::runIpkg() QCopEnvelope e("QPE/System", "linkChanged(QString)"); QString lf = QString::null; e << lf; displayList(); } void MainWindow::updateList() { // wait->show(); QTimer *t = new QTimer( this ); connect( t, SIGNAL(timeout()), SLOT( rotateUpdateIcon() ) ); t->start( 0, false ); packageList.clear(); ipkg->update(); packageList.update(); t->stop(); // wait->hide(); } void MainWindow::filterList() { // wait->show(); QString f = ""; if ( findAction->isOn() ) f = findEdit->text(); packageList.filterPackages( f ); // wait->hide(); } void MainWindow::displayList() { // wait->hide(); filterList(); - listViewPackages->clear(); - Package *pack = packageList.first(); - PackageListItem *item; - -// if (!rootLocal) + listViewPackages->display(); +//// if (!rootLocal) +//// { +// QCheckListItem *rootLocal = new QCheckListItem(listViewPackages,tr("local")); +// QCheckListItem *rootSearch = new QCheckListItem(listViewPackages,tr("ipkgfind")); +//// } +// listViewPackages->clear(); +// Package *pack = packageList.first(); +// PackageListItem *item; +// while( pack ) // { - QCheckListItem *rootLocal = new QCheckListItem(listViewPackages,tr("local")); - QCheckListItem *rootSearch = new QCheckListItem(listViewPackages,tr("ipkgfind")); +// item = new PackageListItem( rootLocal, pack, settings ); +// pack = packageList.next(); +// } +// pack = packageListSearch.first(); +// while( pack ) +// { +// item = new PackageListItem( rootSearch, pack, settings ); +// pack = packageListSearch.next(); // } - while( pack ) - { - item = new PackageListItem( rootLocal, pack, settings ); - pack = packageList.next(); - } - pack = packageListSearch.first(); - while( pack ) - { - item = new PackageListItem( rootSearch, pack, settings ); - pack = packageListSearch.next(); - } } void MainWindow::sectionChanged() { disconnect( section, SIGNAL( activated(int) ), this, SLOT( sectionChanged() ) ); disconnect( subsection, SIGNAL(activated(int) ), this, SLOT( subSectionChanged() ) ); subsection->clear(); packageList.setSection( section->currentText() ); setSubSections(); connect( section, SIGNAL( activated(int) ), this, SLOT( sectionChanged() ) ); connect( subsection, SIGNAL(activated(int) ), this, SLOT( subSectionChanged() ) ); displayList(); } void MainWindow::subSectionChanged() { disconnect( section, SIGNAL( activated(int) ), this, SLOT( sectionChanged() ) ); disconnect( subsection, SIGNAL(activated(int) ), this, SLOT( subSectionChanged() ) ); packageList.setSubSection( subsection->currentText() ); connect( section, SIGNAL( activated(int) ), this, SLOT( sectionChanged() ) ); connect( subsection, SIGNAL(activated(int) ), this, SLOT( subSectionChanged() ) ); displayList(); } diff --git a/noncore/unsupported/oipkg/packagelistview.cpp b/noncore/unsupported/oipkg/packagelistview.cpp index 26b1ce7..5137c64 100644 --- a/noncore/unsupported/oipkg/packagelistview.cpp +++ b/noncore/unsupported/oipkg/packagelistview.cpp @@ -65,32 +65,68 @@ void PackageListView::showPopup() this, SLOT( changePackageDest( int ) ) ); }else{ popupAction = new QAction( QObject::tr("Remove"),QString::null, 0, this, 0 ); popupAction->addTo( popupMenu ); connect( popupAction, SIGNAL( activated() ), this , SLOT( toggleProcess() ) ); popupAction = new QAction( QObject::tr("Reinstall"),QString::null, 0, this, 0 ); popupAction->addTo( popupMenu ); popupAction->setEnabled( false ); } popupMenu->popup( QCursor::pos() ); } void PackageListView::stopTimer( QListViewItem* ) { popupTimer->stop(); } void PackageListView::changePackageDest( int i ) { activePackage->setDest( destsMenu->text(i) ); activePackage->setOn(); activePackage->setLink( settings->createLinks() ); activePackageListItem->displayDetails(); } void PackageListView::toggleProcess() { activePackage->toggleProcess() ; activePackageListItem->displayDetails(); } + +void PackageListView::display() +{ + QDictIterator<PackageList> list( PackageLists ); + PackageList *packlist; + Package *pack; + PackageListItem *item; + QCheckListItem *rootItem; + QListViewItem* it; + QListViewItem* itdel; + while ( list.current() ) { + packlist = list.current(); + rootItem = rootItems.find( list.currentKey() ); + //rootItem->clear(); + it=rootItem->firstChild(); + while ( it ) + { + itdel = it; + it = it->nextSibling(); + delete itdel; + } + pack = packlist->first(); + while( pack ) + { + item = new PackageListItem( rootItem, pack, settings ); + pack = packlist->next(); + } + ++list; + } +} + +void PackageListView::addList( QString n, PackageList* pl) +{ + PackageLists.insert(n, pl); + rootItems.insert(n, new QCheckListItem(this,n)); +} diff --git a/noncore/unsupported/oipkg/packagelistview.h b/noncore/unsupported/oipkg/packagelistview.h index d371a34..00c0320 100644 --- a/noncore/unsupported/oipkg/packagelistview.h +++ b/noncore/unsupported/oipkg/packagelistview.h @@ -1,54 +1,61 @@ /*************************************************************************** packagelistview.h - description ------------------- begin : Sat Apr 27 2002 copyright : (C) 2002 by tille email : tille@handhelds.org ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #ifndef PACKAGELISTVIEW_H #define PACKAGELISTVIEW_H #include <qlistview.h> #include <qaction.h> +#include <qdict.h> +#include <qstring.h> #include <qtimer.h> #include <qwidget.h> #include <qpopupmenu.h> +#include "packagelist.h" #include "debug.h" class PackageListItem; class Package; class PackageManagerSettings; class PackageListView : public QListView { Q_OBJECT public: PackageListView(QWidget*, const char*, PackageManagerSettings*); + void addList( QString, PackageList* ); // ~PackageListView(); QTimer *popupTimer; private: + QDict<PackageList> PackageLists; + QDict<QCheckListItem> rootItems; PackageManagerSettings *settings; Package *activePackage; PackageListItem *activePackageListItem; QPopupMenu *popupMenu; QPopupMenu *destsMenu; public slots: void showPopup(); void changePackageDest( int ); void setCurrent( QListViewItem* ); void stopTimer( QListViewItem* ); void toggleProcess(); + void display(); }; #endif |