summaryrefslogtreecommitdiff
authortille <tille>2002-05-01 22:56:23 (UTC)
committer tille <tille>2002-05-01 22:56:23 (UTC)
commita3397118d3c384655bedb40210db96ca34adc0c9 (patch) (unidiff)
tree3b8d46e0e9d1203801783a7dbf92400a4ed8652a
parent89b16f3378b783be9058852528e066dcadea953d (diff)
downloadopie-a3397118d3c384655bedb40210db96ca34adc0c9.zip
opie-a3397118d3c384655bedb40210db96ca34adc0c9.tar.gz
opie-a3397118d3c384655bedb40210db96ca34adc0c9.tar.bz2
fixed close of local & ipkgfind
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/mainwindow.cpp41
-rw-r--r--noncore/unsupported/oipkg/packagelistview.cpp36
-rw-r--r--noncore/unsupported/oipkg/packagelistview.h7
3 files changed, 64 insertions, 20 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
@@ -1,89 +1,90 @@
1// adadpted form qpe/qipkg 1// adadpted form qpe/qipkg
2 2
3 3
4#include "mainwindow.h" 4#include "mainwindow.h"
5 5
6#include <qpe/qpemenubar.h> 6#include <qpe/qpemenubar.h>
7#include <qpe/qpemessagebox.h> 7#include <qpe/qpemessagebox.h>
8#include <qpe/resource.h> 8#include <qpe/resource.h>
9#include <qpe/config.h> 9#include <qpe/config.h>
10#include <qpe/qpetoolbar.h> 10#include <qpe/qpetoolbar.h>
11#include <qpe/qcopenvelope_qws.h> 11#include <qpe/qcopenvelope_qws.h>
12#include <qaction.h> 12#include <qaction.h>
13#include <qmessagebox.h> 13#include <qmessagebox.h>
14#include <qpopupmenu.h> 14#include <qpopupmenu.h>
15#include <qtoolbutton.h> 15#include <qtoolbutton.h>
16#include <qstring.h> 16#include <qstring.h>
17#include <qlabel.h> 17#include <qlabel.h>
18#include <qfile.h> 18#include <qfile.h>
19#include <qlistview.h> 19#include <qlistview.h>
20#include <qtextview.h> 20#include <qtextview.h>
21#include <qcheckbox.h> 21#include <qcheckbox.h>
22#include <qlineedit.h> 22#include <qlineedit.h>
23#include <qtabwidget.h> 23#include <qtabwidget.h>
24#include <qcombobox.h> 24#include <qcombobox.h>
25#include <qmessagebox.h> 25#include <qmessagebox.h>
26#include <qpushbutton.h> 26#include <qpushbutton.h>
27#include <qlayout.h> 27#include <qlayout.h>
28 28
29#include "pksettingsbase.h" 29#include "pksettingsbase.h"
30#include "utils.h" 30#include "utils.h"
31#include "packagelistitem.h" 31#include "packagelistitem.h"
32 32
33 33
34MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : 34MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) :
35 QMainWindow( parent, name, f ) 35 QMainWindow( parent, name, f )
36 { 36 {
37 setCaption( tr("Package Manager") ); 37 setCaption( tr("Package Manager") );
38 settings = new PackageManagerSettings(this,0,TRUE); 38 settings = new PackageManagerSettings(this,0,TRUE);
39 listViewPackages = new PackageListView( this,"listViewPackages",settings ); 39 listViewPackages = new PackageListView( this,"listViewPackages",settings );
40 setCentralWidget( listViewPackages ); 40 setCentralWidget( listViewPackages );
41 41 listViewPackages->addList( tr("local"), &packageList );
42 listViewPackages->addList( tr("ipkgfind"), &packageListSearch );
42 //wait = new QMessageBox(tr("oipkg"),tr("Please wait")//,QMessageBox::Information,QMessageBox::NoButton,QMessageBox::NoButton,QMessageBox::NoButton); 43 //wait = new QMessageBox(tr("oipkg"),tr("Please wait")//,QMessageBox::Information,QMessageBox::NoButton,QMessageBox::NoButton,QMessageBox::NoButton);
43 //wait = new QMessageBox(this); 44 //wait = new QMessageBox(this);
44 // wait->setText(tr("Please wait")); 45 // wait->setText(tr("Please wait"));
45 ipkg = new PmIpkg( settings, this ); 46 ipkg = new PmIpkg( settings, this );
46// settings->setIpkg( ipkg ); 47// settings->setIpkg( ipkg );
47 packageList.setSettings( settings ); 48 packageList.setSettings( settings );
48 packageListSearch.setSettings( settings ); 49 packageListSearch.setSettings( settings );
49 packageList.update(); 50 packageList.update();
50 makeMenu(); 51 makeMenu();
51 makeChannel(); 52 makeChannel();
52 //opie is hardcoded default ;) 53 //opie is hardcoded default ;)
53 for (int i=0;i<section->count();i++) 54 for (int i=0;i<section->count();i++)
54 if (section->text(i)=="opie") 55 if (section->text(i)=="opie")
55 section->setCurrentItem(i); 56 section->setCurrentItem(i);
56 sectionChanged(); 57 sectionChanged();
57 58
58 connect( section, SIGNAL(activated(int)), SLOT(sectionChanged()) ); 59 connect( section, SIGNAL(activated(int)), SLOT(sectionChanged()) );
59 connect( subsection, SIGNAL(activated(int)), SLOT(subSectionChanged()) ); 60 connect( subsection, SIGNAL(activated(int)), SLOT(subSectionChanged()) );
60 61
61 connect( settings->removeLinksButton, SIGNAL( clicked()), 62 connect( settings->removeLinksButton, SIGNAL( clicked()),
62 SLOT(removeLinks()) ); 63 SLOT(removeLinks()) );
63 connect( settings->createLinksButton, SIGNAL( clicked()), 64 connect( settings->createLinksButton, SIGNAL( clicked()),
64 SLOT(createLinks()) ); 65 SLOT(createLinks()) );
65 66
66 displayList(); 67 displayList();
67} 68}
68 69
69void MainWindow::makeMenu() 70void MainWindow::makeMenu()
70{ 71{
71 72
72 QPEToolBar *toolBar = new QPEToolBar( this ); 73 QPEToolBar *toolBar = new QPEToolBar( this );
73 QPEMenuBar *menuBar = new QPEMenuBar( toolBar ); 74 QPEMenuBar *menuBar = new QPEMenuBar( toolBar );
74 QPopupMenu *srvMenu = new QPopupMenu( menuBar ); 75 QPopupMenu *srvMenu = new QPopupMenu( menuBar );
75 QPopupMenu *viewMenu = new QPopupMenu( menuBar ); 76 QPopupMenu *viewMenu = new QPopupMenu( menuBar );
76 QPopupMenu *cfgMenu = new QPopupMenu( menuBar ); 77 QPopupMenu *cfgMenu = new QPopupMenu( menuBar );
77 // QPopupMenu *sectMenu = new QPopupMenu( menuBar ); 78 // QPopupMenu *sectMenu = new QPopupMenu( menuBar );
78 79
79 setToolBarsMovable( false ); 80 setToolBarsMovable( false );
80 toolBar->setHorizontalStretchable( true ); 81 toolBar->setHorizontalStretchable( true );
81 menuBar->insertItem( tr( "Package" ), srvMenu ); 82 menuBar->insertItem( tr( "Package" ), srvMenu );
82 menuBar->insertItem( tr( "View" ), viewMenu ); 83 menuBar->insertItem( tr( "View" ), viewMenu );
83 menuBar->insertItem( tr( "Settings" ), cfgMenu ); 84 menuBar->insertItem( tr( "Settings" ), cfgMenu );
84 // menuBar->insertItem( tr( "Sections" ), sectMenu ); 85 // menuBar->insertItem( tr( "Sections" ), sectMenu );
85 86
86 QLabel *spacer = new QLabel( "", toolBar ); 87 QLabel *spacer = new QLabel( "", toolBar );
87 spacer->setBackgroundColor( toolBar->backgroundColor() ); 88 spacer->setBackgroundColor( toolBar->backgroundColor() );
88 toolBar->setStretchableWidget( spacer ); 89 toolBar->setStretchableWidget( spacer );
89 90
@@ -235,116 +236,116 @@ MainWindow::~MainWindow()
235 Config cfg( "oipkg", Config::User ); 236 Config cfg( "oipkg", Config::User );
236 cfg.setGroup( "gui" ); 237 cfg.setGroup( "gui" );
237 cfg.writeEntry( "findBar", !findBar->isHidden() ); 238 cfg.writeEntry( "findBar", !findBar->isHidden() );
238 cfg.writeEntry( "searchBar", !searchBar->isHidden() ); 239 cfg.writeEntry( "searchBar", !searchBar->isHidden() );
239 cfg.writeEntry( "sectionBar", !sectionBar->isHidden() ); 240 cfg.writeEntry( "sectionBar", !sectionBar->isHidden() );
240 cfg.writeEntry( "destBar", !destBar->isHidden() ); 241 cfg.writeEntry( "destBar", !destBar->isHidden() );
241 242
242} 243}
243 244
244void MainWindow::runIpkg() 245void MainWindow::runIpkg()
245{ 246{
246 packageList.allPackages(); 247 packageList.allPackages();
247 ipkg->loadList( packageListSearch ); 248 ipkg->loadList( packageListSearch );
248 ipkg->commit( packageList ); 249 ipkg->commit( packageList );
249 // ##### If we looked in the list of files, we could send out accurate 250 // ##### If we looked in the list of files, we could send out accurate
250 // ##### messages. But we don't bother yet, and just do an "all". 251 // ##### messages. But we don't bother yet, and just do an "all".
251 QCopEnvelope e("QPE/System", "linkChanged(QString)"); 252 QCopEnvelope e("QPE/System", "linkChanged(QString)");
252 QString lf = QString::null; 253 QString lf = QString::null;
253 e << lf; 254 e << lf;
254 displayList(); 255 displayList();
255} 256}
256 257
257void MainWindow::updateList() 258void MainWindow::updateList()
258{ 259{
259 //wait->show(); 260 //wait->show();
260 QTimer *t = new QTimer( this ); 261 QTimer *t = new QTimer( this );
261 connect( t, SIGNAL(timeout()), SLOT( rotateUpdateIcon() ) ); 262 connect( t, SIGNAL(timeout()), SLOT( rotateUpdateIcon() ) );
262 t->start( 0, false ); 263 t->start( 0, false );
263 packageList.clear(); 264 packageList.clear();
264 ipkg->update(); 265 ipkg->update();
265 packageList.update(); 266 packageList.update();
266 t->stop(); 267 t->stop();
267 // wait->hide(); 268 // wait->hide();
268} 269}
269 270
270void MainWindow::filterList() 271void MainWindow::filterList()
271{ 272{
272 //wait->show(); 273 //wait->show();
273 QString f = ""; 274 QString f = "";
274 if ( findAction->isOn() ) f = findEdit->text(); 275 if ( findAction->isOn() ) f = findEdit->text();
275 packageList.filterPackages( f ); 276 packageList.filterPackages( f );
276 //wait->hide(); 277 //wait->hide();
277} 278}
278 279
279void MainWindow::displayList() 280void MainWindow::displayList()
280{ 281{
281 //wait->hide(); 282 //wait->hide();
282 filterList(); 283 filterList();
283 listViewPackages->clear(); 284 listViewPackages->display();
284 Package *pack = packageList.first(); 285//// if (!rootLocal)
285 PackageListItem *item; 286//// {
286 287 //QCheckListItem *rootLocal = new QCheckListItem(listViewPackages,tr("local"));
287// if (!rootLocal) 288 //QCheckListItem *rootSearch = new QCheckListItem(listViewPackages,tr("ipkgfind"));
289//// }
290// listViewPackages->clear();
291// Package *pack = packageList.first();
292// PackageListItem *item;
293// while( pack )
294// {
295 // item = new PackageListItem( rootLocal, pack, settings );
296// pack = packageList.next();
297 // }
298// pack = packageListSearch.first();
299// while( pack )
288// { 300// {
289 QCheckListItem *rootLocal = new QCheckListItem(listViewPackages,tr("local")); 301 // item = new PackageListItem( rootSearch, pack, settings );
290 QCheckListItem *rootSearch = new QCheckListItem(listViewPackages,tr("ipkgfind")); 302// pack = packageListSearch.next();
291// } 303 // }
292 while( pack )
293 {
294 item = new PackageListItem( rootLocal, pack, settings );
295 pack = packageList.next();
296 }
297 pack = packageListSearch.first();
298 while( pack )
299 {
300 item = new PackageListItem( rootSearch, pack, settings );
301 pack = packageListSearch.next();
302 }
303} 304}
304 305
305void MainWindow::sectionChanged() 306void MainWindow::sectionChanged()
306{ 307{
307 disconnect( section, SIGNAL( activated(int) ), 308 disconnect( section, SIGNAL( activated(int) ),
308 this, SLOT( sectionChanged() ) ); 309 this, SLOT( sectionChanged() ) );
309 disconnect( subsection, SIGNAL(activated(int) ), 310 disconnect( subsection, SIGNAL(activated(int) ),
310 this, SLOT( subSectionChanged() ) ); 311 this, SLOT( subSectionChanged() ) );
311 subsection->clear(); 312 subsection->clear();
312 packageList.setSection( section->currentText() ); 313 packageList.setSection( section->currentText() );
313 setSubSections(); 314 setSubSections();
314 connect( section, SIGNAL( activated(int) ), 315 connect( section, SIGNAL( activated(int) ),
315 this, SLOT( sectionChanged() ) ); 316 this, SLOT( sectionChanged() ) );
316 connect( subsection, SIGNAL(activated(int) ), 317 connect( subsection, SIGNAL(activated(int) ),
317 this, SLOT( subSectionChanged() ) ); 318 this, SLOT( subSectionChanged() ) );
318 displayList(); 319 displayList();
319} 320}
320 321
321void MainWindow::subSectionChanged() 322void MainWindow::subSectionChanged()
322{ 323{
323 disconnect( section, SIGNAL( activated(int) ), 324 disconnect( section, SIGNAL( activated(int) ),
324 this, SLOT( sectionChanged() ) ); 325 this, SLOT( sectionChanged() ) );
325 disconnect( subsection, SIGNAL(activated(int) ), 326 disconnect( subsection, SIGNAL(activated(int) ),
326 this, SLOT( subSectionChanged() ) ); 327 this, SLOT( subSectionChanged() ) );
327 packageList.setSubSection( subsection->currentText() ); 328 packageList.setSubSection( subsection->currentText() );
328 connect( section, SIGNAL( activated(int) ), 329 connect( section, SIGNAL( activated(int) ),
329 this, SLOT( sectionChanged() ) ); 330 this, SLOT( sectionChanged() ) );
330 connect( subsection, SIGNAL(activated(int) ), 331 connect( subsection, SIGNAL(activated(int) ),
331 this, SLOT( subSectionChanged() ) ); 332 this, SLOT( subSectionChanged() ) );
332 displayList(); 333 displayList();
333} 334}
334 335
335void MainWindow::setSections() 336void MainWindow::setSections()
336{ 337{
337 section->clear(); 338 section->clear();
338 section->insertStringList( packageList.getSections() ); 339 section->insertStringList( packageList.getSections() );
339} 340}
340 341
341void MainWindow::setSubSections() 342void MainWindow::setSubSections()
342{ 343{
343 subsection->clear(); 344 subsection->clear();
344 subsection->insertStringList( packageList.getSubSections() ); 345 subsection->insertStringList( packageList.getSubSections() );
345} 346}
346 347
347 348
348void MainWindow::showSettings() 349void MainWindow::showSettings()
349{ 350{
350 if ( settings->showDialog( 0 ) ) 351 if ( settings->showDialog( 0 ) )
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
@@ -49,48 +49,84 @@ void PackageListView::showPopup()
49 if ( !activePackage->installed() ) 49 if ( !activePackage->installed() )
50 { 50 {
51 popupMenu->insertItem( QObject::tr("Install to"), destsMenu ); 51 popupMenu->insertItem( QObject::tr("Install to"), destsMenu );
52 QStringList dests = settings->getDestinationNames(); 52 QStringList dests = settings->getDestinationNames();
53 QString ad = settings->getDestinationName(); 53 QString ad = settings->getDestinationName();
54 for (uint i = 0; i < dests.count(); i++ ) 54 for (uint i = 0; i < dests.count(); i++ )
55 { 55 {
56 popupAction = new QAction( dests[i], QString::null, 0, this, 0 ); 56 popupAction = new QAction( dests[i], QString::null, 0, this, 0 );
57 popupAction->addTo( destsMenu ); 57 popupAction->addTo( destsMenu );
58 if ( dests[i] == ad && activePackage->toInstall() ) 58 if ( dests[i] == ad && activePackage->toInstall() )
59 { 59 {
60 popupAction->setToggleAction( true ); 60 popupAction->setToggleAction( true );
61 popupAction->setOn(true); 61 popupAction->setOn(true);
62 }; 62 };
63 } 63 }
64 connect( destsMenu, SIGNAL( activated( int ) ), 64 connect( destsMenu, SIGNAL( activated( int ) ),
65 this, SLOT( changePackageDest( int ) ) ); 65 this, SLOT( changePackageDest( int ) ) );
66 }else{ 66 }else{
67 popupAction = new QAction( QObject::tr("Remove"),QString::null, 0, this, 0 ); 67 popupAction = new QAction( QObject::tr("Remove"),QString::null, 0, this, 0 );
68 popupAction->addTo( popupMenu ); 68 popupAction->addTo( popupMenu );
69 connect( popupAction, SIGNAL( activated() ), 69 connect( popupAction, SIGNAL( activated() ),
70 this , SLOT( toggleProcess() ) ); 70 this , SLOT( toggleProcess() ) );
71 popupAction = new QAction( QObject::tr("Reinstall"),QString::null, 0, this, 0 ); 71 popupAction = new QAction( QObject::tr("Reinstall"),QString::null, 0, this, 0 );
72 popupAction->addTo( popupMenu ); 72 popupAction->addTo( popupMenu );
73 popupAction->setEnabled( false ); 73 popupAction->setEnabled( false );
74 } 74 }
75 popupMenu->popup( QCursor::pos() ); 75 popupMenu->popup( QCursor::pos() );
76} 76}
77 77
78void PackageListView::stopTimer( QListViewItem* ) 78void PackageListView::stopTimer( QListViewItem* )
79{ 79{
80 popupTimer->stop(); 80 popupTimer->stop();
81} 81}
82 82
83 83
84void PackageListView::changePackageDest( int i ) 84void PackageListView::changePackageDest( int i )
85{ 85{
86 activePackage->setDest( destsMenu->text(i) ); 86 activePackage->setDest( destsMenu->text(i) );
87 activePackage->setOn(); 87 activePackage->setOn();
88 activePackage->setLink( settings->createLinks() ); 88 activePackage->setLink( settings->createLinks() );
89 activePackageListItem->displayDetails(); 89 activePackageListItem->displayDetails();
90} 90}
91 91
92void PackageListView::toggleProcess() 92void PackageListView::toggleProcess()
93{ 93{
94 activePackage->toggleProcess() ; 94 activePackage->toggleProcess() ;
95 activePackageListItem->displayDetails(); 95 activePackageListItem->displayDetails();
96} 96}
97
98void PackageListView::display()
99{
100 QDictIterator<PackageList> list( PackageLists );
101 PackageList *packlist;
102 Package *pack;
103 PackageListItem *item;
104 QCheckListItem *rootItem;
105 QListViewItem* it;
106 QListViewItem* itdel;
107 while ( list.current() ) {
108 packlist = list.current();
109 rootItem = rootItems.find( list.currentKey() );
110 //rootItem->clear();
111 it=rootItem->firstChild();
112 while ( it )
113 {
114 itdel = it;
115 it = it->nextSibling();
116 delete itdel;
117 }
118 pack = packlist->first();
119 while( pack )
120 {
121 item = new PackageListItem( rootItem, pack, settings );
122 pack = packlist->next();
123 }
124 ++list;
125 }
126}
127
128void PackageListView::addList( QString n, PackageList* pl)
129{
130 PackageLists.insert(n, pl);
131 rootItems.insert(n, new QCheckListItem(this,n));
132}
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 @@
1/*************************************************************************** 1/***************************************************************************
2 packagelistview.h - description 2 packagelistview.h - description
3 ------------------- 3 -------------------
4 begin : Sat Apr 27 2002 4 begin : Sat Apr 27 2002
5 copyright : (C) 2002 by tille 5 copyright : (C) 2002 by tille
6 email : tille@handhelds.org 6 email : tille@handhelds.org
7 ***************************************************************************/ 7 ***************************************************************************/
8 8
9/*************************************************************************** 9/***************************************************************************
10 * * 10 * *
11 * This program is free software; you can redistribute it and/or modify * 11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by * 12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or * 13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. * 14 * (at your option) any later version. *
15 * * 15 * *
16 ***************************************************************************/ 16 ***************************************************************************/
17 17
18#ifndef PACKAGELISTVIEW_H 18#ifndef PACKAGELISTVIEW_H
19#define PACKAGELISTVIEW_H 19#define PACKAGELISTVIEW_H
20 20
21#include <qlistview.h> 21#include <qlistview.h>
22#include <qaction.h> 22#include <qaction.h>
23#include <qdict.h>
24#include <qstring.h>
23#include <qtimer.h> 25#include <qtimer.h>
24#include <qwidget.h> 26#include <qwidget.h>
25#include <qpopupmenu.h> 27#include <qpopupmenu.h>
28#include "packagelist.h"
26#include "debug.h" 29#include "debug.h"
27 30
28class PackageListItem; 31class PackageListItem;
29class Package; 32class Package;
30class PackageManagerSettings; 33class PackageManagerSettings;
31 34
32class PackageListView : public QListView 35class PackageListView : public QListView
33{ 36{
34 Q_OBJECT 37 Q_OBJECT
35 38
36public: 39public:
37 PackageListView(QWidget*, const char*, PackageManagerSettings*); 40 PackageListView(QWidget*, const char*, PackageManagerSettings*);
41 void addList( QString, PackageList* );
38 //~PackageListView(); 42 //~PackageListView();
39 QTimer *popupTimer; 43 QTimer *popupTimer;
40private: 44private:
45 QDict<PackageList> PackageLists;
46 QDict<QCheckListItem> rootItems;
41 PackageManagerSettings *settings; 47 PackageManagerSettings *settings;
42 Package *activePackage; 48 Package *activePackage;
43 PackageListItem *activePackageListItem; 49 PackageListItem *activePackageListItem;
44 QPopupMenu *popupMenu; 50 QPopupMenu *popupMenu;
45 QPopupMenu *destsMenu; 51 QPopupMenu *destsMenu;
46public slots: 52public slots:
47 void showPopup(); 53 void showPopup();
48 void changePackageDest( int ); 54 void changePackageDest( int );
49 void setCurrent( QListViewItem* ); 55 void setCurrent( QListViewItem* );
50 void stopTimer( QListViewItem* ); 56 void stopTimer( QListViewItem* );
51 void toggleProcess(); 57 void toggleProcess();
58 void display();
52}; 59};
53 60
54#endif 61#endif