-rw-r--r-- | noncore/unsupported/oipkg/mainwindow.cpp | 41 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistview.cpp | 36 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistview.h | 7 |
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 | |||
@@ -9,65 +9,66 @@ | |||
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 | ||
34 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : | 34 | MainWindow::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 | ||
69 | void MainWindow::makeMenu() | 70 | void 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 ); |
@@ -251,84 +252,84 @@ void MainWindow::runIpkg() | |||
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 | ||
257 | void MainWindow::updateList() | 258 | void 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 | ||
270 | void MainWindow::filterList() | 271 | void 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 | ||
279 | void MainWindow::displayList() | 280 | void 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 | ||
305 | void MainWindow::sectionChanged() | 306 | void 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 | ||
321 | void MainWindow::subSectionChanged() | 322 | void 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 | ||
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() | |||
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 | ||
78 | void PackageListView::stopTimer( QListViewItem* ) | 78 | void PackageListView::stopTimer( QListViewItem* ) |
79 | { | 79 | { |
80 | popupTimer->stop(); | 80 | popupTimer->stop(); |
81 | } | 81 | } |
82 | 82 | ||
83 | 83 | ||
84 | void PackageListView::changePackageDest( int i ) | 84 | void 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 | ||
92 | void PackageListView::toggleProcess() | 92 | void PackageListView::toggleProcess() |
93 | { | 93 | { |
94 | activePackage->toggleProcess() ; | 94 | activePackage->toggleProcess() ; |
95 | activePackageListItem->displayDetails(); | 95 | activePackageListItem->displayDetails(); |
96 | } | 96 | } |
97 | |||
98 | void 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 | |||
128 | void 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 | ||
28 | class PackageListItem; | 31 | class PackageListItem; |
29 | class Package; | 32 | class Package; |
30 | class PackageManagerSettings; | 33 | class PackageManagerSettings; |
31 | 34 | ||
32 | class PackageListView : public QListView | 35 | class PackageListView : public QListView |
33 | { | 36 | { |
34 | Q_OBJECT | 37 | Q_OBJECT |
35 | 38 | ||
36 | public: | 39 | public: |
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; |
40 | private: | 44 | private: |
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; |
46 | public slots: | 52 | public 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 |