summaryrefslogtreecommitdiff
authortille <tille>2002-05-01 22:56:23 (UTC)
committer tille <tille>2002-05-01 22:56:23 (UTC)
commita3397118d3c384655bedb40210db96ca34adc0c9 (patch) (side-by-side diff)
tree3b8d46e0e9d1203801783a7dbf92400a4ed8652a
parent89b16f3378b783be9058852528e066dcadea953d (diff)
downloadopie-a3397118d3c384655bedb40210db96ca34adc0c9.zip
opie-a3397118d3c384655bedb40210db96ca34adc0c9.tar.gz
opie-a3397118d3c384655bedb40210db96ca34adc0c9.tar.bz2
fixed close of local & ipkgfind
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/mainwindow.cpp39
-rw-r--r--noncore/unsupported/oipkg/packagelistview.cpp36
-rw-r--r--noncore/unsupported/oipkg/packagelistview.h7
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