-rw-r--r-- | noncore/unsupported/oipkg/listviewitemoipkg.cpp | 38 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/listviewitemoipkg.h | 33 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/mainwindow.h | 1 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/oipkg.pro | 4 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/package.cpp | 100 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/package.h | 22 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelist.cpp | 34 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelist.h | 20 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistdoclnk.cpp | 2 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistitem.cpp | 159 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistitem.h | 32 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistlocal.cpp | 2 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistview.cpp | 141 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistview.h | 17 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pmipkg.cpp | 10 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pmipkg.h | 8 |
16 files changed, 370 insertions, 253 deletions
diff --git a/noncore/unsupported/oipkg/listviewitemoipkg.cpp b/noncore/unsupported/oipkg/listviewitemoipkg.cpp new file mode 100644 index 0000000..30b5a5e --- a/dev/null +++ b/noncore/unsupported/oipkg/listviewitemoipkg.cpp | |||
@@ -0,0 +1,38 @@ | |||
1 | #include "listviewitemoipkg.h" | ||
2 | #include "packagelistview.h" | ||
3 | |||
4 | #include <qlistview.h> | ||
5 | |||
6 | ListViewItemOipkg::ListViewItemOipkg(QListView *parent, QString name, QCheckListItem::Type qct, Type type) | ||
7 | : QCheckListItem(parent,name,qct) | ||
8 | { | ||
9 | _type = type; | ||
10 | } | ||
11 | ListViewItemOipkg::ListViewItemOipkg(QListView *parent, QString name, Type type) | ||
12 | : QCheckListItem(parent,name,CheckBox) | ||
13 | { | ||
14 | _type = type; | ||
15 | } | ||
16 | |||
17 | ListViewItemOipkg::ListViewItemOipkg(ListViewItemOipkg *parent, QString name, Type type) | ||
18 | : QCheckListItem(parent,name,CheckBox) | ||
19 | { | ||
20 | _type = type; | ||
21 | } | ||
22 | |||
23 | ListViewItemOipkg::ListViewItemOipkg(PackageListView *parent, QString name, Type type) | ||
24 | : QCheckListItem(parent,name,Controller) | ||
25 | { | ||
26 | _type = type; | ||
27 | } | ||
28 | |||
29 | ListViewItemOipkg::ListViewItemOipkg(ListViewItemOipkg *parent, Type type, QString name) | ||
30 | : QCheckListItem(parent,name,Controller) | ||
31 | { | ||
32 | _type = type; | ||
33 | } | ||
34 | |||
35 | ListViewItemOipkg::~ListViewItemOipkg() | ||
36 | { | ||
37 | // delete _popupMenu; | ||
38 | } | ||
diff --git a/noncore/unsupported/oipkg/listviewitemoipkg.h b/noncore/unsupported/oipkg/listviewitemoipkg.h new file mode 100644 index 0000000..4f7d2d7 --- a/dev/null +++ b/noncore/unsupported/oipkg/listviewitemoipkg.h | |||
@@ -0,0 +1,33 @@ | |||
1 | #ifndef LISTVIEWITEMOIPKG_H | ||
2 | #define LISTVIEWITEMOIPKG_H | ||
3 | |||
4 | #include <qpopupmenu.h> | ||
5 | #include <qstring.h> | ||
6 | #include <qlistview.h> | ||
7 | #include <qcheckbox.h> | ||
8 | |||
9 | class PackageListItem; | ||
10 | class PackageListView; | ||
11 | |||
12 | class ListViewItemOipkg : public QObject, public QCheckListItem | ||
13 | { | ||
14 | Q_OBJECT | ||
15 | public: | ||
16 | enum Type {Package, Feed, Attribute}; | ||
17 | |||
18 | ListViewItemOipkg(QListView *parent, QString name, QCheckListItem::Type qct, Type type);ListViewItemOipkg(QListView *parent, QString name, Type type); | ||
19 | ListViewItemOipkg(ListViewItemOipkg *parent, QString name, Type type); | ||
20 | ListViewItemOipkg(PackageListView *parent, QString name, Type type); | ||
21 | ListViewItemOipkg(ListViewItemOipkg *parent, Type type, QString name); | ||
22 | ~ListViewItemOipkg(); | ||
23 | |||
24 | int getType() {return _type;}; | ||
25 | virtual QPopupMenu* getPopupMenu() {return 0;}; | ||
26 | protected slots: | ||
27 | virtual void menuAction(int ) {}; | ||
28 | protected: | ||
29 | int _type; | ||
30 | static QPopupMenu* _popupMenu; | ||
31 | }; | ||
32 | |||
33 | #endif | ||
diff --git a/noncore/unsupported/oipkg/mainwindow.h b/noncore/unsupported/oipkg/mainwindow.h index 354c585..f32352b 100644 --- a/noncore/unsupported/oipkg/mainwindow.h +++ b/noncore/unsupported/oipkg/mainwindow.h | |||
@@ -1,107 +1,108 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * This program is free software; you can redistribute it and/or modify * | 3 | * This program is free software; you can redistribute it and/or modify * |
4 | * it under the terms of the GNU General Public License as published by * | 4 | * it under the terms of the GNU General Public License as published by * |
5 | * the Free Software Foundation; either version 2 of the License, or * | 5 | * the Free Software Foundation; either version 2 of the License, or * |
6 | * (at your option) any later version. * | 6 | * (at your option) any later version. * |
7 | * * | 7 | * * |
8 | ***************************************************************************/ | 8 | ***************************************************************************/ |
9 | // Copyright (C) 2000 Trolltech AS. | 9 | // Copyright (C) 2000 Trolltech AS. |
10 | // adadpted form qpe/qipkg | 10 | // adadpted form qpe/qipkg |
11 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> | 11 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> |
12 | 12 | ||
13 | #ifndef MAINWINDOW_H | 13 | #ifndef MAINWINDOW_H |
14 | #define MAINWINDOW_H | 14 | #define MAINWINDOW_H |
15 | 15 | ||
16 | #include <qmainwindow.h> | 16 | #include <qmainwindow.h> |
17 | #include <qaction.h> | 17 | #include <qaction.h> |
18 | #include <qtimer.h> | 18 | #include <qtimer.h> |
19 | #include <qpopupmenu.h> | 19 | #include <qpopupmenu.h> |
20 | 20 | ||
21 | #include "package.h" | ||
21 | #include "packagelist.h" | 22 | #include "packagelist.h" |
22 | #include "packagelistremote.h" | 23 | #include "packagelistremote.h" |
23 | #include "packagelistlocal.h" | 24 | #include "packagelistlocal.h" |
24 | #include "packagelistdoclnk.h" | 25 | #include "packagelistdoclnk.h" |
25 | #include "pmipkg.h" | 26 | #include "pmipkg.h" |
26 | #include "pksettings.h" | 27 | #include "pksettings.h" |
27 | #include "packagelistview.h" | 28 | #include "packagelistview.h" |
28 | 29 | ||
29 | class QComboBox; | 30 | class QComboBox; |
30 | class QPEToolBar; | 31 | class QPEToolBar; |
31 | class QLineEdit; | 32 | class QLineEdit; |
32 | class PackageListItem; | 33 | class PackageListItem; |
33 | class QCopChannel; | 34 | class QCopChannel; |
34 | class QMessageBox; | 35 | class QMessageBox; |
35 | class QCheckBox; | 36 | class QCheckBox; |
36 | 37 | ||
37 | class MainWindow : public QMainWindow | 38 | class MainWindow : public QMainWindow |
38 | { | 39 | { |
39 | Q_OBJECT | 40 | Q_OBJECT |
40 | 41 | ||
41 | 42 | ||
42 | public: | 43 | public: |
43 | MainWindow( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); | 44 | MainWindow( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); |
44 | ~MainWindow(); | 45 | ~MainWindow(); |
45 | void makeChannel(); | 46 | void makeChannel(); |
46 | 47 | ||
47 | QCopChannel *channel; | 48 | QCopChannel *channel; |
48 | 49 | ||
49 | protected slots: | 50 | protected slots: |
50 | void runIpkg(); | 51 | void runIpkg(); |
51 | void updateList(); | 52 | void updateList(); |
52 | void displayList(); | 53 | void displayList(); |
53 | void subSectionChanged(); | 54 | void subSectionChanged(); |
54 | void sectionChanged(); | 55 | void sectionChanged(); |
55 | void showSettings(int); | 56 | void showSettings(int); |
56 | void showSettingsSetup(); | 57 | void showSettingsSetup(); |
57 | void showSettingsSrv(); | 58 | void showSettingsSrv(); |
58 | void showSettingsDst(); | 59 | void showSettingsDst(); |
59 | 60 | ||
60 | public slots: | 61 | public slots: |
61 | void sectionClose(); | 62 | void sectionClose(); |
62 | void sectionShow(bool); | 63 | void sectionShow(bool); |
63 | void findClose(); | 64 | void findClose(); |
64 | void findShow(bool); | 65 | void findShow(bool); |
65 | void searchClose(); | 66 | void searchClose(); |
66 | void searchShow(bool); | 67 | void searchShow(bool); |
67 | void destClose(); | 68 | void destClose(); |
68 | void destShow(bool); | 69 | void destShow(bool); |
69 | void filterList(); | 70 | void filterList(); |
70 | void createLinks(); | 71 | void createLinks(); |
71 | void removeLinks(); | 72 | void removeLinks(); |
72 | void receive (const QCString &, const QByteArray &); | 73 | void receive (const QCString &, const QByteArray &); |
73 | void setDocument (const QString &); | 74 | void setDocument (const QString &); |
74 | void remotePackageQuery(); | 75 | void remotePackageQuery(); |
75 | 76 | ||
76 | private: | 77 | private: |
77 | void makeMenu(); | 78 | void makeMenu(); |
78 | void setSections(); | 79 | void setSections(); |
79 | void setSubSections(); | 80 | void setSubSections(); |
80 | bool updateIcon; | 81 | bool updateIcon; |
81 | 82 | ||
82 | PmIpkg* ipkg; | 83 | PmIpkg* ipkg; |
83 | PackageManagerSettings *settings; | 84 | PackageManagerSettings *settings; |
84 | PackageListLocal packageListServers; | 85 | PackageListLocal packageListServers; |
85 | PackageListRemote packageListSearch; | 86 | PackageListRemote packageListSearch; |
86 | PackageListDocLnk packageListDocLnk; | 87 | PackageListDocLnk packageListDocLnk; |
87 | PackageListView *listViewPackages; | 88 | PackageListView *listViewPackages; |
88 | QAction *runAction; | 89 | QAction *runAction; |
89 | QAction *updateAction; | 90 | QAction *updateAction; |
90 | QAction *findAction; | 91 | QAction *findAction; |
91 | QPEToolBar *findBar; | 92 | QPEToolBar *findBar; |
92 | QLineEdit *findEdit; | 93 | QLineEdit *findEdit; |
93 | QAction *searchAction; | 94 | QAction *searchAction; |
94 | QAction *searchCommit; | 95 | QAction *searchCommit; |
95 | QPEToolBar *searchBar; | 96 | QPEToolBar *searchBar; |
96 | QLineEdit *searchEdit; | 97 | QLineEdit *searchEdit; |
97 | QAction *sectionAction; | 98 | QAction *sectionAction; |
98 | QPEToolBar *sectionBar; | 99 | QPEToolBar *sectionBar; |
99 | QComboBox *section; | 100 | QComboBox *section; |
100 | QComboBox *subsection; | 101 | QComboBox *subsection; |
101 | QAction *destAction; | 102 | QAction *destAction; |
102 | QPEToolBar *destBar; | 103 | QPEToolBar *destBar; |
103 | QComboBox *destination; | 104 | QComboBox *destination; |
104 | QCheckBox* CheckBoxLink; | 105 | QCheckBox* CheckBoxLink; |
105 | }; | 106 | }; |
106 | 107 | ||
107 | #endif | 108 | #endif |
diff --git a/noncore/unsupported/oipkg/oipkg.pro b/noncore/unsupported/oipkg/oipkg.pro index 986cbcd..230df2c 100644 --- a/noncore/unsupported/oipkg/oipkg.pro +++ b/noncore/unsupported/oipkg/oipkg.pro | |||
@@ -1,51 +1,53 @@ | |||
1 | DESTDIR = $(OPIEDIR)/bin | 1 | DESTDIR = $(OPIEDIR)/bin |
2 | TEMPLATE= app | 2 | TEMPLATE= app |
3 | #CONFIG = qt warn_on release | 3 | #CONFIG = qt warn_on release |
4 | CONFIG = qt warn_on debug | 4 | CONFIG = qt warn_on debug |
5 | HEADERS = mainwindow.h \ | 5 | HEADERS = mainwindow.h \ |
6 | pksettings.h \ | 6 | pksettings.h \ |
7 | pmipkg.h \ | 7 | pmipkg.h \ |
8 | packagelistdoclnk.h \ | 8 | packagelistdoclnk.h \ |
9 | installdialog.h \ | 9 | installdialog.h \ |
10 | utils.h \ | 10 | utils.h \ |
11 | listviewitemoipkg.h \ | ||
11 | packagelistitem.h \ | 12 | packagelistitem.h \ |
12 | packagelistremote.h \ | 13 | packagelistremote.h \ |
13 | packagelist.h \ | 14 | packagelist.h \ |
14 | packagelistlocal.h \ | 15 | packagelistlocal.h \ |
15 | packagelistview.h \ | 16 | packagelistview.h \ |
16 | package.h | 17 | package.h |
17 | SOURCES = main.cpp \ | 18 | SOURCES = main.cpp \ |
18 | mainwindow.cpp \ | 19 | mainwindow.cpp \ |
19 | utils.cpp \ | 20 | utils.cpp \ |
20 | packagelistdoclnk.cpp \ | 21 | packagelistdoclnk.cpp \ |
21 | packagelistview.cpp \ | 22 | packagelistview.cpp \ |
22 | installdialog.cpp \ | 23 | installdialog.cpp \ |
24 | listviewitemoipkg.cpp \ | ||
23 | packagelistremote.cpp \ | 25 | packagelistremote.cpp \ |
24 | packagelistlocal.cpp \ | 26 | packagelistlocal.cpp \ |
25 | pksettings.cpp \ | 27 | pksettings.cpp \ |
26 | pmipkg.cpp \ | 28 | pmipkg.cpp \ |
27 | packagelistitem.cpp \ | 29 | packagelistitem.cpp \ |
28 | packagelist.cpp \ | 30 | packagelist.cpp \ |
29 | package.cpp | 31 | package.cpp |
30 | INCLUDEPATH += $(OPIEDIR)/include | 32 | INCLUDEPATH += $(OPIEDIR)/include |
31 | DEPENDPATH+= $(OPIEDIR)/ioclude | 33 | DEPENDPATH+= $(OPIEDIR)/ioclude |
32 | LIBS += -lqpe | 34 | LIBS += -lqpe |
33 | LIBS += -lopie | 35 | LIBS += -lopie |
34 | INTERFACES= runwindow.ui \ | 36 | INTERFACES= runwindow.ui \ |
35 | pksettingsbase.ui | 37 | pksettingsbase.ui |
36 | TARGET = oipkg | 38 | TARGET = oipkg |
37 | 39 | ||
38 | TRANSLATIONS = ../../../i18n/de/oipkg.ts \ | 40 | TRANSLATIONS = ../../../i18n/de/oipkg.ts \ |
39 | ../../../i18n/en/oipkg.ts \ | 41 | ../../../i18n/en/oipkg.ts \ |
40 | ../../../i18n/es/oipkg.ts \ | 42 | ../../../i18n/es/oipkg.ts \ |
41 | ../../../i18n/fr/oipkg.ts \ | 43 | ../../../i18n/fr/oipkg.ts \ |
42 | ../../../i18n/hu/oipkg.ts \ | 44 | ../../../i18n/hu/oipkg.ts \ |
43 | ../../../i18n/ja/oipkg.ts \ | 45 | ../../../i18n/ja/oipkg.ts \ |
44 | ../../../i18n/ko/oipkg.ts \ | 46 | ../../../i18n/ko/oipkg.ts \ |
45 | ../../../i18n/no/oipkg.ts \ | 47 | ../../../i18n/no/oipkg.ts \ |
46 | ../../../i18n/pl/oipkg.ts \ | 48 | ../../../i18n/pl/oipkg.ts \ |
47 | ../../../i18n/pt/oipkg.ts \ | 49 | ../../../i18n/pt/oipkg.ts \ |
48 | ../../../i18n/pt_BR/oipkg.ts \ | 50 | ../../../i18n/pt_BR/oipkg.ts \ |
49 | ../../../i18n/sl/oipkg.ts \ | 51 | ../../../i18n/sl/oipkg.ts \ |
50 | ../../../i18n/zh_CN/oipkg.ts \ | 52 | ../../../i18n/zh_CN/oipkg.ts \ |
51 | ../../../i18n/zh_TW/oipkg.ts | 53 | ../../../i18n/zh_TW/oipkg.ts |
diff --git a/noncore/unsupported/oipkg/package.cpp b/noncore/unsupported/oipkg/package.cpp index 3effb73..e020601 100644 --- a/noncore/unsupported/oipkg/package.cpp +++ b/noncore/unsupported/oipkg/package.cpp | |||
@@ -1,479 +1,477 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * This program is free software; you can redistribute it and/or modify * | 3 | * This program is free software; you can redistribute it and/or modify * |
4 | * it under the terms of the GNU General Public License as published by * | 4 | * it under the terms of the GNU General Public License as published by * |
5 | * the Free Software Foundation; either version 2 of the License, or * | 5 | * the Free Software Foundation; either version 2 of the License, or * |
6 | * (at your option) any later version. * | 6 | * (at your option) any later version. * |
7 | * * | 7 | * * |
8 | ***************************************************************************/ | 8 | ***************************************************************************/ |
9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> | 9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> |
10 | #include "package.h" | 10 | #include "package.h" |
11 | 11 | ||
12 | #include <qpe/process.h> | 12 | #include <qpe/process.h> |
13 | #include <qpe/stringutil.h> | 13 | #include <qpe/stringutil.h> |
14 | #include <qfile.h> | 14 | #include <qfile.h> |
15 | #include <qtextstream.h> | 15 | #include <qtextstream.h> |
16 | #include <stdlib.h> | 16 | #include <stdlib.h> |
17 | #include <unistd.h> | 17 | #include <unistd.h> |
18 | 18 | ||
19 | #include "debug.h" | 19 | #include "debug.h" |
20 | 20 | ||
21 | Package::Package( QObject *parent, const char *name ) | 21 | OipkgPackage::OipkgPackage( QObject *parent, const char *name ) |
22 | : QObject(parent,name) | 22 | : QObject(parent,name) |
23 | { | 23 | { |
24 | 24 | ||
25 | } | 25 | } |
26 | 26 | ||
27 | Package::~Package() | 27 | OipkgPackage::~OipkgPackage() |
28 | { | 28 | { |
29 | } | 29 | } |
30 | 30 | ||
31 | Package::Package( PackageManagerSettings *s, QObject *parent, const char *name ) | 31 | OipkgPackage::OipkgPackage( PackageManagerSettings *s, QObject *parent, const char *name ) |
32 | : QObject(parent,name) | 32 | : QObject(parent,name) |
33 | { | 33 | { |
34 | Package(parent,name); | ||
35 | init(s); | 34 | init(s); |
36 | } | 35 | } |
37 | 36 | ||
38 | void Package::init( PackageManagerSettings *s ) | 37 | void OipkgPackage::init( PackageManagerSettings *s ) |
39 | { | 38 | { |
40 | settings = s; | 39 | settings = s; |
41 | _size = ""; | 40 | _size = ""; |
42 | _section = ""; | 41 | _section = ""; |
43 | _subsection = ""; | 42 | _subsection = ""; |
44 | _shortDesc = ""; | 43 | _shortDesc = ""; |
45 | _desc = ""; | 44 | _desc = ""; |
46 | _name = ""; | 45 | _name = ""; |
47 | _toProcess = false; | 46 | _toProcess = false; |
48 | _useFileName = false; | 47 | _useFileName = false; |
49 | _old = false; | 48 | _old = false; |
50 | _status = ""; | 49 | _status = ""; |
51 | _dest = settings->getDestinationName(); | 50 | _dest = settings->getDestinationName(); |
52 | _link = settings->createLinks(); | 51 | _link = settings->createLinks(); |
53 | _versions=0; | 52 | _versions=0; |
54 | _version=""; | 53 | _version=""; |
55 | } | 54 | } |
56 | 55 | ||
57 | Package::Package( QStringList pack, PackageManagerSettings *s , QObject *parent, const char *name ) | 56 | OipkgPackage::OipkgPackage( QStringList pack, PackageManagerSettings *s , QObject *parent, const char *name ) |
58 | : QObject(parent,name) | 57 | : QObject(parent,name) |
59 | { | 58 | { |
60 | init(s); | 59 | init(s); |
61 | parsePackage( pack ); | 60 | parsePackage( pack ); |
62 | } | 61 | } |
63 | 62 | ||
64 | Package::Package( QString n, PackageManagerSettings *s, QObject *parent, const char *name ) | 63 | OipkgPackage::OipkgPackage( QString n, PackageManagerSettings *s, QObject *parent, const char *name ) |
65 | : QObject(parent,name) | 64 | : QObject(parent,name) |
66 | { | 65 | { |
67 | init(s); | 66 | init(s); |
68 | if ( !QFile::exists( n ) ) | 67 | if ( !QFile::exists( n ) ) |
69 | { | 68 | { |
70 | _name = QString( n ); | 69 | _name = QString( n ); |
71 | }else{ | 70 | }else{ |
72 | pvDebug(4,"remote file: "+n); | 71 | pvDebug(4,"remote file: "+n); |
73 | parseIpkgFile( n ); | 72 | parseIpkgFile( n ); |
74 | _useFileName = true; | 73 | _useFileName = true; |
75 | _fileName = QString( n ); | 74 | _fileName = QString( n ); |
76 | } | 75 | } |
77 | } | 76 | } |
78 | 77 | ||
79 | Package::Package( Package *pi, QObject *parent, const char *name ) | 78 | OipkgPackage::OipkgPackage( OipkgPackage *pi, QObject *parent, const char *name ) |
80 | : QObject(parent,name) | 79 | : QObject(parent,name) |
81 | { | 80 | { |
82 | init(pi->settings); | 81 | init(pi->settings); |
83 | copyValues( pi ); | 82 | copyValues( pi ); |
84 | } | 83 | } |
85 | 84 | ||
86 | 85 | ||
87 | void Package::setValue( QString n, QString t ) | 86 | void OipkgPackage::setValue( QString n, QString t ) |
88 | { | 87 | { |
89 | if ( n == "Package" ) | 88 | if ( n == "Package" ) |
90 | { | 89 | { |
91 | _name = QString( t ); | 90 | _name = QString( t ); |
92 | }else if ( n == "Installed-Size" ) | 91 | }else if ( n == "Installed-Size" ) |
93 | { | 92 | { |
94 | _size = t; | 93 | _size = t; |
95 | // }else if ( n == "Priority") | 94 | // }else if ( n == "Priority") |
96 | // { | 95 | // { |
97 | 96 | ||
98 | }else if ( n == "Section") | 97 | }else if ( n == "Section") |
99 | { | 98 | { |
100 | setSection( t ); | 99 | setSection( t ); |
101 | // }else if ( n == "Maintainer") | 100 | // }else if ( n == "Maintainer") |
102 | // { | 101 | // { |
103 | // | 102 | // |
104 | // }else if ( n == "Architecture") | 103 | // }else if ( n == "Architecture") |
105 | // { | 104 | // { |
106 | 105 | ||
107 | }else if ( n == "Version") | 106 | }else if ( n == "Version") |
108 | { | 107 | { |
109 | _version = t; | 108 | _version = t; |
110 | // }else if ( n == "Pre-Depends") | 109 | // }else if ( n == "Pre-Depends") |
111 | // { | 110 | // { |
112 | // | 111 | // |
113 | // }else if ( n == "Depends") | 112 | // }else if ( n == "Depends") |
114 | // { | 113 | // { |
115 | 114 | ||
116 | }else if ( n == "Filename") | 115 | }else if ( n == "Filename") |
117 | { | 116 | { |
118 | _fileName = t; | 117 | _fileName = t; |
119 | // }else if ( n == "Size") | 118 | // }else if ( n == "Size") |
120 | // { | 119 | // { |
121 | // | 120 | // |
122 | //}else if ( n == "MD5Sum") | 121 | //}else if ( n == "MD5Sum") |
123 | //{ | 122 | //{ |
124 | 123 | ||
125 | }else if ( n == "Description") | 124 | }else if ( n == "Description") |
126 | { | 125 | { |
127 | setDesc( t ); | 126 | setDesc( t ); |
128 | }else if ( n == "Status") | 127 | }else if ( n == "Status") |
129 | { | 128 | { |
130 | if ( installed() ) return; | 129 | if ( installed() ) return; |
131 | _status = t; | 130 | _status = t; |
132 | // }else if ( n == "Essential") | 131 | // }else if ( n == "Essential") |
133 | // { | 132 | // { |
134 | 133 | ||
135 | }else{ | 134 | }else{ |
136 | _values.insert(n,new QString(t)); | 135 | _values.insert(n,new QString(t)); |
137 | } | 136 | } |
138 | } | 137 | } |
139 | 138 | ||
140 | QString Package::name() | 139 | QString OipkgPackage::name() |
141 | { | 140 | { |
142 | if (_displayName.isEmpty() ) return _name; | 141 | if (_displayName.isEmpty() ) return _name; |
143 | else return _displayName; | 142 | else return _displayName; |
144 | } | 143 | } |
145 | 144 | ||
146 | 145 | ||
147 | QString Package::installName() | 146 | QString OipkgPackage::installName() |
148 | { | 147 | { |
149 | if (_useFileName) return _fileName; | 148 | if (_useFileName) return _fileName; |
150 | else return _name; | 149 | else return _name; |
151 | } | 150 | } |
152 | 151 | ||
153 | QString Package::packageName() | 152 | QString OipkgPackage::packageName() |
154 | { | 153 | { |
155 | QString pn = installName(); | 154 | QString pn = installName(); |
156 | pn = pn.right(pn.length()-pn.findRev("/")); | 155 | pn = pn.right(pn.length()-pn.findRev("/")); |
157 | pn = pn.left(pn.find("_")); | 156 | pn = pn.left(pn.find("_")); |
158 | return pn; | 157 | return pn; |
159 | } | 158 | } |
160 | 159 | ||
161 | bool Package::installed() | 160 | bool OipkgPackage::installed() |
162 | { | 161 | { |
163 | if (_status.contains("installed")) | 162 | if (_status.contains("installed")) |
164 | { | 163 | { |
165 | if (_status.contains("not-installed")) | 164 | if (_status.contains("not-installed")) |
166 | { | 165 | { |
167 | _toProcess = true; | 166 | _toProcess = true; |
168 | return false; | 167 | return false; |
169 | } | 168 | } |
170 | else return true; | 169 | else return true; |
171 | } | 170 | } |
172 | else | 171 | else |
173 | if (_versions) | 172 | if (_versions) |
174 | { | 173 | { |
175 | QDictIterator<Package> other( *_versions ); | 174 | QDictIterator<OipkgPackage> other( *_versions ); |
176 | while ( other.current() ) | 175 | while ( other.current() ) |
177 | { | 176 | { |
178 | if (other.current()->status().contains("installed") | 177 | if (other.current()->status().contains("installed") |
179 | && other.current()->version() == version()) | 178 | && other.current()->version() == version()) |
180 | return true; | 179 | return true; |
181 | ++other; | 180 | ++other; |
182 | } | 181 | } |
183 | } | 182 | } |
184 | return false; | 183 | return false; |
185 | } | 184 | } |
186 | 185 | ||
187 | bool Package::otherInstalled() | 186 | bool OipkgPackage::otherInstalled() |
188 | { | 187 | { |
189 | if (_versions) | 188 | if (_versions) |
190 | { | 189 | { |
191 | QDictIterator<Package> other( *_versions ); | 190 | QDictIterator<OipkgPackage> other( *_versions ); |
192 | while ( other.current() ) | 191 | while ( other.current() ) |
193 | { | 192 | { |
194 | if (other.current()->installed()) return true; | 193 | if (other.current()->installed()) return true; |
195 | ++other; | 194 | ++other; |
196 | } | 195 | } |
197 | } | 196 | } |
198 | return false; | 197 | return false; |
199 | } | 198 | } |
200 | 199 | ||
201 | void Package::setDesc( QString s ) | 200 | void OipkgPackage::setDesc( QString s ) |
202 | { | 201 | { |
203 | _desc = s; | 202 | _desc = s; |
204 | _shortDesc = s.left( s.find("\n") ); | 203 | _shortDesc = s.left( s.find("\n") ); |
205 | } | 204 | } |
206 | 205 | ||
207 | QString Package::desc() | 206 | QString OipkgPackage::desc() |
208 | { | 207 | { |
209 | return _desc; | 208 | return _desc; |
210 | } | 209 | } |
211 | 210 | ||
212 | QString Package::shortDesc() | 211 | QString OipkgPackage::shortDesc() |
213 | { | 212 | { |
214 | return _shortDesc; | 213 | return _shortDesc; |
215 | } | 214 | } |
216 | 215 | ||
217 | QString Package::size() | 216 | QString OipkgPackage::size() |
218 | { | 217 | { |
219 | return _size; | 218 | return _size; |
220 | } | 219 | } |
221 | 220 | ||
222 | 221 | ||
223 | QString Package::version() | 222 | QString OipkgPackage::version() |
224 | { | 223 | { |
225 | return _version; | 224 | return _version; |
226 | } | 225 | } |
227 | 226 | ||
228 | QString Package::sizeUnits() | 227 | QString OipkgPackage::sizeUnits() |
229 | { | 228 | { |
230 | int i = _size.toInt(); | 229 | int i = _size.toInt(); |
231 | int c = 0; | 230 | int c = 0; |
232 | QString ret; | 231 | QString ret; |
233 | QStringList unit; | 232 | QStringList unit; |
234 | unit << "B" << "KB" << "MB" << "GB" << "TB"; //prepair for the future ;) | 233 | unit << "B" << "KB" << "MB" << "GB" << "TB"; //prepair for the future ;) |
235 | while (i > 1) | 234 | while (i > 1) |
236 | { | 235 | { |
237 | ret=QString::number(i)+" "+unit[c]; | 236 | ret=QString::number(i)+" "+unit[c]; |
238 | c++; | 237 | c++; |
239 | i /= 1024; | 238 | i /= 1024; |
240 | } | 239 | } |
241 | return ret; | 240 | return ret; |
242 | } | 241 | } |
243 | 242 | ||
244 | bool Package::toProcess() | 243 | bool OipkgPackage::toProcess() |
245 | { | 244 | { |
246 | return _toProcess; | 245 | return _toProcess; |
247 | } | 246 | } |
248 | 247 | ||
249 | bool Package::toRemove() | 248 | bool OipkgPackage::toRemove() |
250 | { | 249 | { |
251 | if ( _toProcess && installed() ) return true; | 250 | if ( _toProcess && installed() ) return true; |
252 | else return false; | 251 | else return false; |
253 | } | 252 | } |
254 | 253 | ||
255 | bool Package::toInstall() | 254 | bool OipkgPackage::toInstall() |
256 | { | 255 | { |
257 | if ( _toProcess && !installed() ) return true; | 256 | if ( _toProcess && !installed() ) return true; |
258 | else return false; | 257 | else return false; |
259 | } | 258 | } |
260 | 259 | ||
261 | void Package::toggleProcess() | 260 | void OipkgPackage::toggleProcess() |
262 | { | 261 | { |
263 | _toProcess = ! _toProcess; | 262 | _toProcess = ! _toProcess; |
264 | } | 263 | } |
265 | 264 | ||
266 | 265 | ||
267 | 266 | void OipkgPackage::copyValues( OipkgPackage* pack ) | |
268 | void Package::copyValues( Package* pack ) | ||
269 | { | 267 | { |
270 | if (_size.isEmpty() && !pack->_size.isEmpty()) _size = QString( pack->_size ); | 268 | if (_size.isEmpty() && !pack->_size.isEmpty()) _size = QString( pack->_size ); |
271 | if (_section.isEmpty() && !pack->_section.isEmpty()) _section = QString( pack->_section ); | 269 | if (_section.isEmpty() && !pack->_section.isEmpty()) _section = QString( pack->_section ); |
272 | if (_subsection.isEmpty()&& !pack->_subsection.isEmpty()) _subsection = QString( pack->_subsection ); | 270 | if (_subsection.isEmpty()&& !pack->_subsection.isEmpty()) _subsection = QString( pack->_subsection ); |
273 | if (_shortDesc.isEmpty() && !pack->_shortDesc.isEmpty()) _shortDesc = QString( pack->_shortDesc ); | 271 | if (_shortDesc.isEmpty() && !pack->_shortDesc.isEmpty()) _shortDesc = QString( pack->_shortDesc ); |
274 | if (_desc.isEmpty() && !pack->_desc.isEmpty()) _desc = QString( pack->_desc ); | 272 | if (_desc.isEmpty() && !pack->_desc.isEmpty()) _desc = QString( pack->_desc ); |
275 | if (_name.isEmpty() && !pack->_name.isEmpty()) _name = QString( pack->_name ); | 273 | if (_name.isEmpty() && !pack->_name.isEmpty()) _name = QString( pack->_name ); |
276 | if (_dest.isEmpty() && !pack->_dest.isEmpty()) _dest= QString( pack->_dest ); | 274 | if (_dest.isEmpty() && !pack->_dest.isEmpty()) _dest= QString( pack->_dest ); |
277 | if (_displayName.isEmpty()&& !pack->_displayName.isEmpty()) _displayName = QString( pack->_displayName ); | 275 | if (_displayName.isEmpty()&& !pack->_displayName.isEmpty()) _displayName = QString( pack->_displayName ); |
278 | if (_fileName.isEmpty() && !pack->_fileName.isEmpty()) _fileName = QString( pack->_fileName ); | 276 | if (_fileName.isEmpty() && !pack->_fileName.isEmpty()) _fileName = QString( pack->_fileName ); |
279 | if (_version.isEmpty() && !pack->_version.isEmpty()) _version = QString( pack->_version ); | 277 | if (_version.isEmpty() && !pack->_version.isEmpty()) _version = QString( pack->_version ); |
280 | if (_values.isEmpty() && !pack->_values.isEmpty())_values = QDict<QString>( pack->_values ); | 278 | if (_values.isEmpty() && !pack->_values.isEmpty())_values = QDict<QString>( pack->_values ); |
281 | if (!installed() && _status.isEmpty() && !pack->_status.isEmpty()) _status = QString( pack->_status ); | 279 | if (!installed() && _status.isEmpty() && !pack->_status.isEmpty()) _status = QString( pack->_status ); |
282 | } | 280 | } |
283 | 281 | ||
284 | QString Package::section() | 282 | QString OipkgPackage::section() |
285 | { | 283 | { |
286 | return _section; | 284 | return _section; |
287 | } | 285 | } |
288 | 286 | ||
289 | void Package::setSection( QString s) | 287 | void OipkgPackage::setSection( QString s) |
290 | { | 288 | { |
291 | int i = s.find("/"); | 289 | int i = s.find("/"); |
292 | if ( i > 0 ) | 290 | if ( i > 0 ) |
293 | { | 291 | { |
294 | _section = s.left(i); | 292 | _section = s.left(i); |
295 | _subsection = s.mid(i+1); | 293 | _subsection = s.mid(i+1); |
296 | }else{ | 294 | }else{ |
297 | _section = s; | 295 | _section = s; |
298 | _subsection = ""; | 296 | _subsection = ""; |
299 | } | 297 | } |
300 | } | 298 | } |
301 | 299 | ||
302 | QString Package::subSection() | 300 | QString OipkgPackage::subSection() |
303 | { | 301 | { |
304 | return _subsection; | 302 | return _subsection; |
305 | } | 303 | } |
306 | 304 | ||
307 | void Package::parsePackage( QStringList pack ) | 305 | void OipkgPackage::parsePackage( QStringList pack ) |
308 | { | 306 | { |
309 | if ( pack.isEmpty() ) return; | 307 | if ( pack.isEmpty() ) return; |
310 | int count = pack.count(); | 308 | int count = pack.count(); |
311 | for( int i = 0; i < count; i++ ) | 309 | for( int i = 0; i < count; i++ ) |
312 | { | 310 | { |
313 | QString line = pack[i]; | 311 | QString line = pack[i]; |
314 | int sep = line.find( QRegExp(":[\t ]+") ); | 312 | int sep = line.find( QRegExp(":[\t ]+") ); |
315 | if ( sep >= 0 ) | 313 | if ( sep >= 0 ) |
316 | { | 314 | { |
317 | QString tag = line.left(sep); | 315 | QString tag = line.left(sep); |
318 | QString value = line.mid(sep+2).simplifyWhiteSpace(); | 316 | QString value = line.mid(sep+2).simplifyWhiteSpace(); |
319 | setValue( tag, value ); | 317 | setValue( tag, value ); |
320 | }else{ | 318 | }else{ |
321 | } | 319 | } |
322 | } | 320 | } |
323 | return; | 321 | return; |
324 | } | 322 | } |
325 | 323 | ||
326 | QString Package::details() | 324 | QString OipkgPackage::details() |
327 | { | 325 | { |
328 | QString status; | 326 | QString status; |
329 | Process ipkg_status(QStringList() << "ipkg" << "info" << name() ); | 327 | Process ipkg_status(QStringList() << "ipkg" << "info" << name() ); |
330 | QString description; | 328 | QString description; |
331 | if ( ipkg_status.exec("",status) ) | 329 | if ( ipkg_status.exec("",status) ) |
332 | { | 330 | { |
333 | QStringList lines = QStringList::split('\n',status,TRUE); | 331 | QStringList lines = QStringList::split('\n',status,TRUE); |
334 | for (QStringList::Iterator it = lines.begin(); it!=lines.end(); ++it) { | 332 | for (QStringList::Iterator it = lines.begin(); it!=lines.end(); ++it) { |
335 | QString line = *it; | 333 | QString line = *it; |
336 | if ( line == " ." ) | 334 | if ( line == " ." ) |
337 | { | 335 | { |
338 | description.append("<p>"); | 336 | description.append("<p>"); |
339 | } else | 337 | } else |
340 | if ( line[0] == ' ' || line[0] == '\t' ) | 338 | if ( line[0] == ' ' || line[0] == '\t' ) |
341 | { | 339 | { |
342 | // continuation | 340 | // continuation |
343 | description.append(" "); | 341 | description.append(" "); |
344 | description.append(Qtopia::escapeString(line)); | 342 | description.append(Qtopia::escapeString(line)); |
345 | } else { | 343 | } else { |
346 | int sep = line.find(QRegExp(":[\t ]+")); | 344 | int sep = line.find(QRegExp(":[\t ]+")); |
347 | if ( sep >= 0 ) | 345 | if ( sep >= 0 ) |
348 | { | 346 | { |
349 | QString tag = line.left(sep); | 347 | QString tag = line.left(sep); |
350 | description.append("<br>"); | 348 | description.append("<br>"); |
351 | description.append("<b>"); | 349 | description.append("<b>"); |
352 | description.append(Qtopia::escapeString(tag)); | 350 | description.append(Qtopia::escapeString(tag)); |
353 | description.append(":</b> "); | 351 | description.append(":</b> "); |
354 | description.append(Qtopia::escapeString(line.mid(sep+2))); | 352 | description.append(Qtopia::escapeString(line.mid(sep+2))); |
355 | } else { | 353 | } else { |
356 | description.append(" "); | 354 | description.append(" "); |
357 | description.append(Qtopia::escapeString(line)); | 355 | description.append(Qtopia::escapeString(line)); |
358 | } | 356 | } |
359 | } | 357 | } |
360 | } | 358 | } |
361 | } | 359 | } |
362 | return description; | 360 | return description; |
363 | } | 361 | } |
364 | 362 | ||
365 | void Package::processed() | 363 | void OipkgPackage::processed() |
366 | { | 364 | { |
367 | _toProcess = false; | 365 | _toProcess = false; |
368 | //hack, but we're not writing status anyway... | 366 | //hack, but we're not writing status anyway... |
369 | if ( installed() ) _status = "install"; | 367 | if ( installed() ) _status = "install"; |
370 | else _status = "installed"; | 368 | else _status = "installed"; |
371 | } | 369 | } |
372 | 370 | ||
373 | QString Package::dest() | 371 | QString OipkgPackage::dest() |
374 | { | 372 | { |
375 | if ( installed()||(!installed() && _toProcess) ) | 373 | if ( installed()||(!installed() && _toProcess) ) |
376 | return _dest!=""?_dest:settings->getDestinationName(); | 374 | return _dest!=""?_dest:settings->getDestinationName(); |
377 | else return ""; | 375 | else return ""; |
378 | } | 376 | } |
379 | 377 | ||
380 | void Package::setDest( QString d ) | 378 | void OipkgPackage::setDest( QString d ) |
381 | { | 379 | { |
382 | if ( d == "remote") _useFileName = true; | 380 | if ( d == "remote") _useFileName = true; |
383 | else _dest = d; | 381 | else _dest = d; |
384 | } | 382 | } |
385 | 383 | ||
386 | void Package::setOn() | 384 | void OipkgPackage::setOn() |
387 | { | 385 | { |
388 | _toProcess = true; | 386 | _toProcess = true; |
389 | } | 387 | } |
390 | 388 | ||
391 | bool Package::link() | 389 | bool OipkgPackage::link() |
392 | { | 390 | { |
393 | if ( _dest == "root" || (!installed() && !_toProcess) ) return false; | 391 | if ( _dest == "root" || (!installed() && !_toProcess) ) return false; |
394 | return _link; | 392 | return _link; |
395 | } | 393 | } |
396 | 394 | ||
397 | void Package::setLink(bool b) | 395 | void OipkgPackage::setLink(bool b) |
398 | { | 396 | { |
399 | _link = b; | 397 | _link = b; |
400 | } | 398 | } |
401 | 399 | ||
402 | void Package::parseIpkgFile( QString file) | 400 | void OipkgPackage::parseIpkgFile( QString file) |
403 | { | 401 | { |
404 | // 20020830 | 402 | // 20020830 |
405 | // a quick hack to make oipkg understand the new ipk format | 403 | // a quick hack to make oipkg understand the new ipk format |
406 | // neu: ar pf PACKAGE control.tar.gz | tar xfOz - ./control > /tmp/control | 404 | // neu: ar pf PACKAGE control.tar.gz | tar xfOz - ./control > /tmp/control |
407 | if (system("ar pf "+file+" control.tar.gz | tar xfOz - ./control > /tmp/control") != 0) | 405 | if (system("ar pf "+file+" control.tar.gz | tar xfOz - ./control > /tmp/control") != 0) |
408 | { | 406 | { |
409 | //#old tar ipk format | 407 | //#old tar ipk format |
410 | system("tar xzf "+file+" -C /tmp"); | 408 | system("tar xzf "+file+" -C /tmp"); |
411 | system("tar xzf /tmp/control.tar.gz -C /tmp"); | 409 | system("tar xzf /tmp/control.tar.gz -C /tmp"); |
412 | } | 410 | } |
413 | QFile f("/tmp/control"); | 411 | QFile f("/tmp/control"); |
414 | if ( f.open(IO_ReadOnly) ) | 412 | if ( f.open(IO_ReadOnly) ) |
415 | { | 413 | { |
416 | QTextStream t( &f ); | 414 | QTextStream t( &f ); |
417 | QStringList pack; | 415 | QStringList pack; |
418 | while ( !t.eof() ) | 416 | while ( !t.eof() ) |
419 | { | 417 | { |
420 | pack << t.readLine(); | 418 | pack << t.readLine(); |
421 | } | 419 | } |
422 | f.close(); | 420 | f.close(); |
423 | parsePackage( pack ); | 421 | parsePackage( pack ); |
424 | } | 422 | } |
425 | 423 | ||
426 | } | 424 | } |
427 | 425 | ||
428 | //QString Package::getPackageName() | 426 | //QString OipkgPackage::getPackageName() |
429 | //{ | 427 | //{ |
430 | //if ( _packageName.isEmpty() ) return _name; | 428 | //if ( _packageName.isEmpty() ) return _name; |
431 | //else return _packageName; | 429 | //else return _packageName; |
432 | //} | 430 | //} |
433 | 431 | ||
434 | void Package::instalFromFile(bool iff) | 432 | void OipkgPackage::instalFromFile(bool iff) |
435 | { | 433 | { |
436 | _useFileName = iff; | 434 | _useFileName = iff; |
437 | } | 435 | } |
438 | 436 | ||
439 | void Package::setName(QString n) | 437 | void OipkgPackage::setName(QString n) |
440 | { | 438 | { |
441 | _displayName = n; | 439 | _displayName = n; |
442 | } | 440 | } |
443 | 441 | ||
444 | QDict<QString>* Package::getFields() | 442 | QDict<QString>* OipkgPackage::getFields() |
445 | { | 443 | { |
446 | return &_values; | 444 | return &_values; |
447 | } | 445 | } |
448 | 446 | ||
449 | QString Package::status() | 447 | QString OipkgPackage::status() |
450 | { | 448 | { |
451 | return _status; | 449 | return _status; |
452 | } | 450 | } |
453 | 451 | ||
454 | bool Package::isOld() | 452 | bool OipkgPackage::isOld() |
455 | { | 453 | { |
456 | if (!_versions) return false; | 454 | if (!_versions) return false; |
457 | QDictIterator<Package> other( *_versions ); | 455 | QDictIterator<OipkgPackage> other( *_versions ); |
458 | while ( other.current() ) { | 456 | while ( other.current() ) { |
459 | if (other.current()->version() > version() ) return true; | 457 | if (other.current()->version() > version() ) return true; |
460 | ++other; | 458 | ++other; |
461 | } | 459 | } |
462 | return false; | 460 | return false; |
463 | } | 461 | } |
464 | 462 | ||
465 | bool Package::hasVersions() | 463 | bool OipkgPackage::hasVersions() |
466 | { | 464 | { |
467 | if (!_versions) return false; | 465 | if (!_versions) return false; |
468 | else return true; | 466 | else return true; |
469 | } | 467 | } |
470 | 468 | ||
471 | QDict<Package>* Package::getOtherVersions() | 469 | QDict<OipkgPackage>* OipkgPackage::getOtherVersions() |
472 | { | 470 | { |
473 | return _versions; | 471 | return _versions; |
474 | } | 472 | } |
475 | 473 | ||
476 | void Package::setOtherVersions(QDict<Package> *v) | 474 | void OipkgPackage::setOtherVersions(QDict<OipkgPackage> *v) |
477 | { | 475 | { |
478 | _versions=v; | 476 | _versions=v; |
479 | } | 477 | } |
diff --git a/noncore/unsupported/oipkg/package.h b/noncore/unsupported/oipkg/package.h index c147420..2334c31 100644 --- a/noncore/unsupported/oipkg/package.h +++ b/noncore/unsupported/oipkg/package.h | |||
@@ -1,100 +1,100 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * This program is free software; you can redistribute it and/or modify * | 3 | * This program is free software; you can redistribute it and/or modify * |
4 | * it under the terms of the GNU General Public License as published by * | 4 | * it under the terms of the GNU General Public License as published by * |
5 | * the Free Software Foundation; either version 2 of the License, or * | 5 | * the Free Software Foundation; either version 2 of the License, or * |
6 | * (at your option) any later version. * | 6 | * (at your option) any later version. * |
7 | * * | 7 | * * |
8 | ***************************************************************************/ | 8 | ***************************************************************************/ |
9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> | 9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> |
10 | #ifndef PK_ITEM_H | 10 | #ifndef PK_ITEM_H |
11 | #define PK_ITEM_H | 11 | #define PK_ITEM_H |
12 | 12 | ||
13 | #include <qstring.h> | 13 | #include <qstring.h> |
14 | #include <qlistview.h> | 14 | #include <qlistview.h> |
15 | #include <qpainter.h> | 15 | #include <qpainter.h> |
16 | #include <qpixmap.h> | 16 | #include <qpixmap.h> |
17 | #include <qdict.h> | 17 | #include <qdict.h> |
18 | #include <qobject.h> | 18 | #include <qobject.h> |
19 | 19 | ||
20 | #include "pksettings.h" | 20 | #include "pksettings.h" |
21 | 21 | ||
22 | class Package : public QObject | 22 | class OipkgPackage : public QObject |
23 | { | 23 | { |
24 | Q_OBJECT | 24 | Q_OBJECT |
25 | public: | 25 | public: |
26 | Package(QObject *parent=0, const char *name=0); | 26 | OipkgPackage(QObject *parent=0, const char *name=0); |
27 | Package(PackageManagerSettings *s, QObject *parent=0, const char *name=0); | 27 | OipkgPackage(PackageManagerSettings *s, QObject *parent=0, const char *name=0); |
28 | ~Package(); | 28 | ~OipkgPackage(); |
29 | Package( QStringList, PackageManagerSettings *s, QObject *parent=0, const char *name=0 ); | 29 | OipkgPackage( QStringList, PackageManagerSettings *s, QObject *parent=0, const char *name=0 ); |
30 | Package( QString, PackageManagerSettings *s, QObject *parent=0, const char *name=0 ); | 30 | OipkgPackage( QString, PackageManagerSettings *s, QObject *parent=0, const char *name=0 ); |
31 | Package( Package*s, QObject *parent=0, const char *name=0 ); | 31 | OipkgPackage( OipkgPackage*s, QObject *parent=0, const char *name=0 ); |
32 | 32 | ||
33 | void setValue( QString, QString ); | 33 | void setValue( QString, QString ); |
34 | void copyValues( Package* ); | 34 | void copyValues( OipkgPackage* ); |
35 | 35 | ||
36 | QString name(); | 36 | QString name(); |
37 | QString installName(); | 37 | QString installName(); |
38 | QString packageName(); | 38 | QString packageName(); |
39 | bool installed(); | 39 | bool installed(); |
40 | bool otherInstalled(); | 40 | bool otherInstalled(); |
41 | 41 | ||
42 | void setDesc( QString ); | 42 | void setDesc( QString ); |
43 | QString shortDesc(); | 43 | QString shortDesc(); |
44 | QString desc(); | 44 | QString desc(); |
45 | QString size(); | 45 | QString size(); |
46 | QString sizeUnits(); | 46 | QString sizeUnits(); |
47 | QString version(); | 47 | QString version(); |
48 | void setSection( QString ); | 48 | void setSection( QString ); |
49 | QString section(); | 49 | QString section(); |
50 | QString subSection(); | 50 | QString subSection(); |
51 | QString details(); | 51 | QString details(); |
52 | bool toProcess(); | 52 | bool toProcess(); |
53 | bool toInstall(); | 53 | bool toInstall(); |
54 | bool toRemove(); | 54 | bool toRemove(); |
55 | void processed(); | 55 | void processed(); |
56 | QString dest(); | 56 | QString dest(); |
57 | void setDest( QString d ); | 57 | void setDest( QString d ); |
58 | void setOn(); | 58 | void setOn(); |
59 | bool link(); | 59 | bool link(); |
60 | void setLink(bool); | 60 | void setLink(bool); |
61 | bool isOld(); | 61 | bool isOld(); |
62 | bool hasVersions(); | 62 | bool hasVersions(); |
63 | void parseIpkgFile( QString ); | 63 | void parseIpkgFile( QString ); |
64 | void instalFromFile(bool iff=true); | 64 | void instalFromFile(bool iff=true); |
65 | void setName(QString); | 65 | void setName(QString); |
66 | QDict<QString>* getFields(); | 66 | QDict<QString>* getFields(); |
67 | QString status(); | 67 | QString status(); |
68 | 68 | ||
69 | QDict<Package>* getOtherVersions(); | 69 | QDict<OipkgPackage>* getOtherVersions(); |
70 | void setOtherVersions(QDict<Package>*); | 70 | void setOtherVersions(QDict<OipkgPackage>*); |
71 | 71 | ||
72 | public slots: | 72 | public slots: |
73 | void toggleProcess(); | 73 | void toggleProcess(); |
74 | 74 | ||
75 | private: | 75 | private: |
76 | PackageManagerSettings *settings; | 76 | PackageManagerSettings *settings; |
77 | QString _displayName; | 77 | QString _displayName; |
78 | QString _name; | 78 | QString _name; |
79 | QString _fileName; | 79 | QString _fileName; |
80 | bool _old; | 80 | bool _old; |
81 | bool _hasVersions; | 81 | bool _hasVersions; |
82 | bool _toProcess; | 82 | bool _toProcess; |
83 | bool _link; | 83 | bool _link; |
84 | QString _status; | 84 | QString _status; |
85 | QString _size; | 85 | QString _size; |
86 | QString _section; | 86 | QString _section; |
87 | QString _subsection; | 87 | QString _subsection; |
88 | QString _shortDesc; | 88 | QString _shortDesc; |
89 | QString _desc; | 89 | QString _desc; |
90 | QString _version; | 90 | QString _version; |
91 | QString _dest; | 91 | QString _dest; |
92 | QDict<QString> _values; | 92 | QDict<QString> _values; |
93 | QDict<Package> *_versions; | 93 | QDict<OipkgPackage> *_versions; |
94 | bool _useFileName; | 94 | bool _useFileName; |
95 | void parsePackage( QStringList ); | 95 | void parsePackage( QStringList ); |
96 | void init(PackageManagerSettings *); | 96 | void init(PackageManagerSettings *); |
97 | }; | 97 | }; |
98 | 98 | ||
99 | 99 | ||
100 | #endif | 100 | #endif |
diff --git a/noncore/unsupported/oipkg/packagelist.cpp b/noncore/unsupported/oipkg/packagelist.cpp index edb9cc5..5f79ec1 100644 --- a/noncore/unsupported/oipkg/packagelist.cpp +++ b/noncore/unsupported/oipkg/packagelist.cpp | |||
@@ -1,240 +1,240 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * This program is free software; you can redistribute it and/or modify * | 3 | * This program is free software; you can redistribute it and/or modify * |
4 | * it under the terms of the GNU General Public License as published by * | 4 | * it under the terms of the GNU General Public License as published by * |
5 | * the Free Software Foundation; either version 2 of the License, or * | 5 | * the Free Software Foundation; either version 2 of the License, or * |
6 | * (at your option) any later version. * | 6 | * (at your option) any later version. * |
7 | * * | 7 | * * |
8 | ***************************************************************************/ | 8 | ***************************************************************************/ |
9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> | 9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> |
10 | #include "packagelist.h" | 10 | #include "packagelist.h" |
11 | 11 | ||
12 | #include <assert.h> | 12 | #include <assert.h> |
13 | #include <qfile.h> | 13 | #include <qfile.h> |
14 | #include <qfileinfo.h> | 14 | #include <qfileinfo.h> |
15 | #include <qtextstream.h> | 15 | #include <qtextstream.h> |
16 | 16 | ||
17 | #include "debug.h" | 17 | #include "debug.h" |
18 | 18 | ||
19 | static QDict<Package> *packageListAll; | 19 | static QDict<OipkgPackage> *packageListAll; |
20 | static int packageListAllRefCount = 0; | 20 | static int packageListAllRefCount = 0; |
21 | 21 | ||
22 | PackageList::PackageList(QObject *parent, const char *name) | 22 | PackageList::PackageList(QObject *parent, const char *name) |
23 | : QObject(parent,name), packageIter( packageList ) | 23 | : QObject(parent,name), packageIter( packageList ) |
24 | { | 24 | { |
25 | empty=true; | 25 | empty=true; |
26 | if (!packageListAll) packageListAll = new QDict<Package>(); | 26 | if (!packageListAll) packageListAll = new QDict<OipkgPackage>(); |
27 | packageListAllRefCount++; | 27 | packageListAllRefCount++; |
28 | sections << "All"; | 28 | sections << "All"; |
29 | subSections.insert("All", new QStringList() ); | 29 | subSections.insert("All", new QStringList() ); |
30 | QStringList *ss = subSections["All"]; | 30 | QStringList *ss = subSections["All"]; |
31 | *ss << "All"; | 31 | *ss << "All"; |
32 | aktSection = "All"; | 32 | aktSection = "All"; |
33 | aktSubSection = "All"; | 33 | aktSubSection = "All"; |
34 | } | 34 | } |
35 | 35 | ||
36 | PackageList::PackageList( PackageManagerSettings* s, QObject *parent, const char *name) | 36 | PackageList::PackageList( PackageManagerSettings* s, QObject *parent, const char *name) |
37 | : QObject(parent,name), packageIter( packageList ) | 37 | : QObject(parent,name), packageIter( packageList ) |
38 | { | 38 | { |
39 | settings = s; | 39 | settings = s; |
40 | PackageList(parent, name); | 40 | PackageList(parent, name); |
41 | } | 41 | } |
42 | 42 | ||
43 | PackageList::~PackageList() | 43 | PackageList::~PackageList() |
44 | { | 44 | { |
45 | if (--packageListAllRefCount < 1 ) delete packageListAll; | 45 | if (--packageListAllRefCount < 1 ) delete packageListAll; |
46 | } | 46 | } |
47 | 47 | ||
48 | /** Inserts a package into the list */ | 48 | /** Inserts a package into the list */ |
49 | void PackageList::insertPackage( Package* pack ) | 49 | void PackageList::insertPackage( OipkgPackage* pack ) |
50 | { | 50 | { |
51 | if (!pack) return; | 51 | if (!pack) return; |
52 | Package* p = packageListAll->find( pack->name() ); | 52 | OipkgPackage* p = packageListAll->find( pack->name() ); |
53 | if ( p ) | 53 | if ( p ) |
54 | { | 54 | { |
55 | if ( (p->version() == pack->version()) | 55 | if ( (p->version() == pack->version()) |
56 | // && (p->dest() == pack->dest()) | 56 | // && (p->dest() == pack->dest()) |
57 | ) | 57 | ) |
58 | { | 58 | { |
59 | p->copyValues( pack ); | 59 | p->copyValues( pack ); |
60 | delete pack; | 60 | delete pack; |
61 | pack = p; | 61 | pack = p; |
62 | } else { | 62 | } else { |
63 | QDict<Package> *packver = p->getOtherVersions(); | 63 | QDict<OipkgPackage> *packver = p->getOtherVersions(); |
64 | // p->setName( pack->name()+"["+p->version()+"]" ); | 64 | // p->setName( pack->name()+"["+p->version()+"]" ); |
65 | if (!packver) | 65 | if (!packver) |
66 | { | 66 | { |
67 | packver = new QDict<Package>(); | 67 | packver = new QDict<OipkgPackage>(); |
68 | packver->insert( pack->name(), p ); | 68 | packver->insert( pack->name(), p ); |
69 | p->setOtherVersions( packver ); | 69 | p->setOtherVersions( packver ); |
70 | } | 70 | } |
71 | pack->setName( pack->name() );//+"["+pack->version()+"]" ); | 71 | pack->setName( pack->name() );//+"["+pack->version()+"]" ); |
72 | pack->setOtherVersions( packver ); | 72 | pack->setOtherVersions( packver ); |
73 | packver->insert( pack->name(), pack ); | 73 | packver->insert( pack->name(), pack ); |
74 | packageListAll->insert( pack->name(), pack ); | 74 | packageListAll->insert( pack->name(), pack ); |
75 | packageList.insert( pack->name(), pack ); | 75 | packageList.insert( pack->name(), pack ); |
76 | origPackageList.insert( pack->name(), pack ); | 76 | origPackageList.insert( pack->name(), pack ); |
77 | } | 77 | } |
78 | }else{ | 78 | }else{ |
79 | packageListAll->insert( pack->name(), pack ); | 79 | packageListAll->insert( pack->name(), pack ); |
80 | packageList.insert( pack->name(), pack ); | 80 | packageList.insert( pack->name(), pack ); |
81 | origPackageList.insert( pack->name(), pack ); | 81 | origPackageList.insert( pack->name(), pack ); |
82 | }; | 82 | }; |
83 | empty=false; | 83 | empty=false; |
84 | updateSections( pack ); | 84 | updateSections( pack ); |
85 | } | 85 | } |
86 | 86 | ||
87 | void PackageList::filterPackages( QString f ) | 87 | void PackageList::filterPackages( QString f ) |
88 | { | 88 | { |
89 | packageList.clear(); | 89 | packageList.clear(); |
90 | QDictIterator<Package> filterIter( origPackageList ); | 90 | QDictIterator<OipkgPackage> filterIter( origPackageList ); |
91 | filterIter.toFirst(); | 91 | filterIter.toFirst(); |
92 | Package *pack= filterIter.current() ; | 92 | OipkgPackage *pack= filterIter.current() ; |
93 | while ( pack ) | 93 | while ( pack ) |
94 | { | 94 | { |
95 | if ( | 95 | if ( |
96 | ((aktSection=="All")||(pack->section()==aktSection)) && | 96 | ((aktSection=="All")||(pack->section()==aktSection)) && |
97 | ((aktSubSection=="All")||(pack->subSection()==aktSubSection)) && | 97 | ((aktSubSection=="All")||(pack->subSection()==aktSubSection)) && |
98 | pack->name().contains( f ) | 98 | pack->name().contains( f ) |
99 | ) | 99 | ) |
100 | { | 100 | { |
101 | packageList.insert( pack->name(), pack ); | 101 | packageList.insert( pack->name(), pack ); |
102 | } | 102 | } |
103 | ++filterIter; | 103 | ++filterIter; |
104 | pack = filterIter.current(); | 104 | pack = filterIter.current(); |
105 | } | 105 | } |
106 | } | 106 | } |
107 | 107 | ||
108 | Package* PackageList::find( QString n ) | 108 | OipkgPackage* PackageList::find( QString n ) |
109 | { | 109 | { |
110 | return packageList.find( n ); | 110 | return packageList.find( n ); |
111 | } | 111 | } |
112 | 112 | ||
113 | Package* PackageList::first() | 113 | OipkgPackage* PackageList::first() |
114 | { | 114 | { |
115 | packageIter.toFirst(); | 115 | packageIter.toFirst(); |
116 | return packageIter.current(); | 116 | return packageIter.current(); |
117 | } | 117 | } |
118 | 118 | ||
119 | Package* PackageList::next() | 119 | OipkgPackage* PackageList::next() |
120 | { | 120 | { |
121 | ++packageIter; | 121 | ++packageIter; |
122 | return packageIter.current(); | 122 | return packageIter.current(); |
123 | } | 123 | } |
124 | 124 | ||
125 | QStringList PackageList::getSections() | 125 | QStringList PackageList::getSections() |
126 | { | 126 | { |
127 | sections.sort(); | 127 | sections.sort(); |
128 | return sections; | 128 | return sections; |
129 | } | 129 | } |
130 | 130 | ||
131 | QStringList PackageList::getSubSections() | 131 | QStringList PackageList::getSubSections() |
132 | { | 132 | { |
133 | QStringList ss; | 133 | QStringList ss; |
134 | if ( !subSections[aktSection] ) return ss; | 134 | if ( !subSections[aktSection] ) return ss; |
135 | ss = *subSections[aktSection]; | 135 | ss = *subSections[aktSection]; |
136 | ss.sort(); | 136 | ss.sort(); |
137 | return ss; | 137 | return ss; |
138 | } | 138 | } |
139 | 139 | ||
140 | void PackageList::setSection( QString sec ) | 140 | void PackageList::setSection( QString sec ) |
141 | { | 141 | { |
142 | aktSection = sec; | 142 | aktSection = sec; |
143 | } | 143 | } |
144 | 144 | ||
145 | void PackageList::setSubSection( QString ssec ) | 145 | void PackageList::setSubSection( QString ssec ) |
146 | { | 146 | { |
147 | aktSubSection = ssec; | 147 | aktSubSection = ssec; |
148 | } | 148 | } |
149 | 149 | ||
150 | void PackageList::updateSections( Package* pack ) | 150 | void PackageList::updateSections( OipkgPackage* pack ) |
151 | { | 151 | { |
152 | QString s = pack->section(); | 152 | QString s = pack->section(); |
153 | if ( s.isEmpty() || s == "") return; | 153 | if ( s.isEmpty() || s == "") return; |
154 | if ( !sections.contains(s) ) sections += s; | 154 | if ( !sections.contains(s) ) sections += s; |
155 | QString ss = pack->subSection(); | 155 | QString ss = pack->subSection(); |
156 | if ( ss.isEmpty() || ss == "" ) return; | 156 | if ( ss.isEmpty() || ss == "" ) return; |
157 | if ( !subSections[s] ) { | 157 | if ( !subSections[s] ) { |
158 | subSections.insert( s, new QStringList() ); | 158 | subSections.insert( s, new QStringList() ); |
159 | QStringList *subsecs = subSections[s]; | 159 | QStringList *subsecs = subSections[s]; |
160 | *subsecs += "All"; | 160 | *subsecs += "All"; |
161 | } | 161 | } |
162 | QStringList *subsecs = subSections[s]; | 162 | QStringList *subsecs = subSections[s]; |
163 | if ( !subsecs->contains(ss) ) *subsecs += ss; | 163 | if ( !subsecs->contains(ss) ) *subsecs += ss; |
164 | // if ( !subSections["All"] ) subSections.insert( "All", new QStringList() ); | 164 | // if ( !subSections["All"] ) subSections.insert( "All", new QStringList() ); |
165 | // subsecs = subSections["All"]; | 165 | // subsecs = subSections["All"]; |
166 | // *subsecs += ss; | 166 | // *subsecs += ss; |
167 | } | 167 | } |
168 | 168 | ||
169 | 169 | ||
170 | void PackageList::readFileEntries( QString filename, QString dest ) | 170 | void PackageList::readFileEntries( QString filename, QString dest ) |
171 | { | 171 | { |
172 | pvDebug(5,"PackageList::readFileEntries "+filename+" dest "+dest); | 172 | pvDebug(5,"PackageList::readFileEntries "+filename+" dest "+dest); |
173 | QStringList packEntry; | 173 | QStringList packEntry; |
174 | QFile f( filename ); | 174 | QFile f( filename ); |
175 | if ( !f.open(IO_ReadOnly) ) return; | 175 | if ( !f.open(IO_ReadOnly) ) return; |
176 | QTextStream *statusStream = new QTextStream( &f ); | 176 | QTextStream *statusStream = new QTextStream( &f ); |
177 | while ( !statusStream ->eof() ) | 177 | while ( !statusStream ->eof() ) |
178 | { | 178 | { |
179 | QString line = statusStream->readLine(); | 179 | QString line = statusStream->readLine(); |
180 | if ( line.find(QRegExp("[\n\t ]*")) || line == "" ) | 180 | if ( line.find(QRegExp("[\n\t ]*")) || line == "" ) |
181 | { | 181 | { |
182 | //end of package | 182 | //end of package |
183 | if ( ! packEntry.isEmpty() ) | 183 | if ( ! packEntry.isEmpty() ) |
184 | { | 184 | { |
185 | Package *p = new Package( packEntry, settings ); | 185 | OipkgPackage *p = new OipkgPackage( packEntry, settings ); |
186 | if ( p ) | 186 | if ( p ) |
187 | { | 187 | { |
188 | p->setDest( dest ); | 188 | p->setDest( dest ); |
189 | insertPackage( p ); | 189 | insertPackage( p ); |
190 | packEntry.clear(); | 190 | packEntry.clear(); |
191 | } | 191 | } |
192 | } | 192 | } |
193 | }else{ | 193 | }else{ |
194 | packEntry << line; | 194 | packEntry << line; |
195 | }; | 195 | }; |
196 | } | 196 | } |
197 | //there might be no nl at the end of the package file | 197 | //there might be no nl at the end of the package file |
198 | if ( ! packEntry.isEmpty() ) | 198 | if ( ! packEntry.isEmpty() ) |
199 | { | 199 | { |
200 | Package *p = new Package( packEntry, settings ); | 200 | OipkgPackage *p = new OipkgPackage( packEntry, settings ); |
201 | if ( p ) | 201 | if ( p ) |
202 | { | 202 | { |
203 | p->setDest( dest ); | 203 | p->setDest( dest ); |
204 | insertPackage( p ); | 204 | insertPackage( p ); |
205 | packEntry.clear(); | 205 | packEntry.clear(); |
206 | } | 206 | } |
207 | } | 207 | } |
208 | delete statusStream; | 208 | delete statusStream; |
209 | return; | 209 | return; |
210 | } | 210 | } |
211 | 211 | ||
212 | void PackageList::setSettings( PackageManagerSettings *s ) | 212 | void PackageList::setSettings( PackageManagerSettings *s ) |
213 | { | 213 | { |
214 | settings = s; | 214 | settings = s; |
215 | } | 215 | } |
216 | 216 | ||
217 | Package* PackageList::getByName( QString n ) | 217 | OipkgPackage* PackageList::getByName( QString n ) |
218 | { | 218 | { |
219 | return origPackageList[n]; | 219 | return origPackageList[n]; |
220 | } | 220 | } |
221 | 221 | ||
222 | void PackageList::clear() | 222 | void PackageList::clear() |
223 | { | 223 | { |
224 | origPackageList.clear(); | 224 | origPackageList.clear(); |
225 | packageList.clear(); | 225 | packageList.clear(); |
226 | } | 226 | } |
227 | 227 | ||
228 | void PackageList::allPackages() | 228 | void PackageList::allPackages() |
229 | { | 229 | { |
230 | packageList.clear(); | 230 | packageList.clear(); |
231 | QDictIterator<Package> filterIter( origPackageList ); | 231 | QDictIterator<OipkgPackage> filterIter( origPackageList ); |
232 | filterIter.toFirst(); | 232 | filterIter.toFirst(); |
233 | Package *pack= filterIter.current() ; | 233 | OipkgPackage *pack= filterIter.current() ; |
234 | while ( pack ) | 234 | while ( pack ) |
235 | { | 235 | { |
236 | packageList.insert( pack->name(), pack ); | 236 | packageList.insert( pack->name(), pack ); |
237 | ++filterIter; | 237 | ++filterIter; |
238 | pack = filterIter.current(); | 238 | pack = filterIter.current(); |
239 | } | 239 | } |
240 | } | 240 | } |
diff --git a/noncore/unsupported/oipkg/packagelist.h b/noncore/unsupported/oipkg/packagelist.h index 0c13688..88a8793 100644 --- a/noncore/unsupported/oipkg/packagelist.h +++ b/noncore/unsupported/oipkg/packagelist.h | |||
@@ -1,69 +1,69 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * This program is free software; you can redistribute it and/or modify * | 3 | * This program is free software; you can redistribute it and/or modify * |
4 | * it under the terms of the GNU General Public License as published by * | 4 | * it under the terms of the GNU General Public License as published by * |
5 | * the Free Software Foundation; either version 2 of the License, or * | 5 | * the Free Software Foundation; either version 2 of the License, or * |
6 | * (at your option) any later version. * | 6 | * (at your option) any later version. * |
7 | * * | 7 | * * |
8 | ***************************************************************************/ | 8 | ***************************************************************************/ |
9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> | 9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> |
10 | #ifndef PACKAGELIST_H | 10 | #ifndef PACKAGELIST_H |
11 | #define PACKAGELIST_H | 11 | #define PACKAGELIST_H |
12 | 12 | ||
13 | #include <qdict.h> | 13 | #include <qdict.h> |
14 | #include "package.h" | 14 | #include "package.h" |
15 | #include "pksettings.h" | 15 | #include "pksettings.h" |
16 | #include "debug.h" | 16 | #include "debug.h" |
17 | 17 | ||
18 | class PackageList : public QObject | 18 | class PackageList : public QObject |
19 | { | 19 | { |
20 | Q_OBJECT | 20 | Q_OBJECT |
21 | public: | 21 | public: |
22 | //static QString all = QObject::tr("All"); | 22 | //static QString all = QObject::tr("All"); |
23 | 23 | ||
24 | PackageList (QObject *parent=0, const char *name=0); | 24 | PackageList (QObject *parent=0, const char *name=0); |
25 | PackageList( PackageManagerSettings *s, QObject *parent=0, const char *name=0); | 25 | PackageList( PackageManagerSettings *s, QObject *parent=0, const char *name=0); |
26 | virtual ~PackageList(); | 26 | virtual ~PackageList(); |
27 | void insertPackage( Package* ); | 27 | void insertPackage( OipkgPackage* ); |
28 | Package* find( QString ); | 28 | OipkgPackage* find( QString ); |
29 | Package* next(); | 29 | OipkgPackage* next(); |
30 | Package* first(); | 30 | OipkgPackage* first(); |
31 | 31 | ||
32 | QStringList getSections(); | 32 | QStringList getSections(); |
33 | QStringList getSubSections(); | 33 | QStringList getSubSections(); |
34 | void setSettings( PackageManagerSettings* ); | 34 | void setSettings( PackageManagerSettings* ); |
35 | void filterPackages( QString ); | 35 | void filterPackages( QString ); |
36 | Package* getByName( QString ); | 36 | OipkgPackage* getByName( QString ); |
37 | void clear(); | 37 | void clear(); |
38 | void allPackages(); | 38 | void allPackages(); |
39 | 39 | ||
40 | QDict<Package> *versions; | 40 | QDict<OipkgPackage> *versions; |
41 | 41 | ||
42 | public slots: | 42 | public slots: |
43 | void setSection(QString); | 43 | void setSection(QString); |
44 | void setSubSection(QString); | 44 | void setSubSection(QString); |
45 | // virtual void update(); | 45 | // virtual void update(); |
46 | 46 | ||
47 | protected: | 47 | protected: |
48 | int currentPackage; | 48 | int currentPackage; |
49 | int packageCount; | 49 | int packageCount; |
50 | 50 | ||
51 | PackageManagerSettings *settings; | 51 | PackageManagerSettings *settings; |
52 | QDict<Package> packageList; | 52 | QDict<OipkgPackage> packageList; |
53 | QDict<Package> origPackageList; | 53 | QDict<OipkgPackage> origPackageList; |
54 | QDictIterator<Package> packageIter; | 54 | QDictIterator<OipkgPackage> packageIter; |
55 | 55 | ||
56 | bool empty; | 56 | bool empty; |
57 | QString aktSection; | 57 | QString aktSection; |
58 | QString aktSubSection; | 58 | QString aktSubSection; |
59 | QStringList sections; | 59 | QStringList sections; |
60 | QDict<QStringList> subSections; | 60 | QDict<QStringList> subSections; |
61 | QDict<bool> sectionsDict; | 61 | QDict<bool> sectionsDict; |
62 | 62 | ||
63 | 63 | ||
64 | void updateSections( Package* ); | 64 | void updateSections( OipkgPackage* ); |
65 | void readFileEntries( QString file, QString dest="" ); | 65 | void readFileEntries( QString file, QString dest="" ); |
66 | }; | 66 | }; |
67 | 67 | ||
68 | 68 | ||
69 | #endif | 69 | #endif |
diff --git a/noncore/unsupported/oipkg/packagelistdoclnk.cpp b/noncore/unsupported/oipkg/packagelistdoclnk.cpp index 76e91ff..a7a6f70 100644 --- a/noncore/unsupported/oipkg/packagelistdoclnk.cpp +++ b/noncore/unsupported/oipkg/packagelistdoclnk.cpp | |||
@@ -1,53 +1,53 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * This program is free software; you can redistribute it and/or modify * | 3 | * This program is free software; you can redistribute it and/or modify * |
4 | * it under the terms of the GNU General Public License as published by * | 4 | * it under the terms of the GNU General Public License as published by * |
5 | * the Free Software Foundation; either version 2 of the License, or * | 5 | * the Free Software Foundation; either version 2 of the License, or * |
6 | * (at your option) any later version. * | 6 | * (at your option) any later version. * |
7 | * * | 7 | * * |
8 | ***************************************************************************/ | 8 | ***************************************************************************/ |
9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> | 9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> |
10 | #include "packagelistdoclnk.h" | 10 | #include "packagelistdoclnk.h" |
11 | 11 | ||
12 | #include <qpe/applnk.h> | 12 | #include <qpe/applnk.h> |
13 | #include <qpe/config.h> | 13 | #include <qpe/config.h> |
14 | #include <qlist.h> | 14 | #include <qlist.h> |
15 | 15 | ||
16 | #include "package.h" | 16 | #include "package.h" |
17 | #include "pksettings.h" | 17 | #include "pksettings.h" |
18 | 18 | ||
19 | PackageListDocLnk::PackageListDocLnk(PackageManagerSettings* s, QObject *parent, const char *name) | 19 | PackageListDocLnk::PackageListDocLnk(PackageManagerSettings* s, QObject *parent, const char *name) |
20 | : PackageList(s) | 20 | : PackageList(s) |
21 | { | 21 | { |
22 | PackageListDocLnk(parent, name); | 22 | PackageListDocLnk(parent, name); |
23 | } | 23 | } |
24 | 24 | ||
25 | PackageListDocLnk::PackageListDocLnk(QObject *parent, const char *name) | 25 | PackageListDocLnk::PackageListDocLnk(QObject *parent, const char *name) |
26 | : PackageList(parent, name) | 26 | : PackageList(parent, name) |
27 | { | 27 | { |
28 | Config cfg( "oipkg", Config::User ); | 28 | Config cfg( "oipkg", Config::User ); |
29 | cfg.setGroup( "Common" ); | 29 | cfg.setGroup( "Common" ); |
30 | docLnkDir = cfg.readEntry( "docLnkDir", "/root/" ); | 30 | docLnkDir = cfg.readEntry( "docLnkDir", "/root/" ); |
31 | pvDebug(2,"opening DocLnkSet "+docLnkDir); | 31 | pvDebug(2,"opening DocLnkSet "+docLnkDir); |
32 | doclnkset = new DocLnkSet(docLnkDir,"application/ipkg"); | 32 | doclnkset = new DocLnkSet(docLnkDir,"application/ipkg"); |
33 | } | 33 | } |
34 | 34 | ||
35 | PackageListDocLnk::~PackageListDocLnk() | 35 | PackageListDocLnk::~PackageListDocLnk() |
36 | { | 36 | { |
37 | Config cfg( "oipkg", Config::User ); | 37 | Config cfg( "oipkg", Config::User ); |
38 | cfg.setGroup( "Common" ); | 38 | cfg.setGroup( "Common" ); |
39 | cfg.writeEntry( "docLnkDir", docLnkDir ); | 39 | cfg.writeEntry( "docLnkDir", docLnkDir ); |
40 | delete doclnkset; | 40 | delete doclnkset; |
41 | } | 41 | } |
42 | 42 | ||
43 | 43 | ||
44 | 44 | ||
45 | void PackageListDocLnk::update() | 45 | void PackageListDocLnk::update() |
46 | { | 46 | { |
47 | pvDebug(2,"PackageListDocLnk::update "); | 47 | pvDebug(2,"PackageListDocLnk::update "); |
48 | QList<DocLnk> packlist = doclnkset->children(); | 48 | QList<DocLnk> packlist = doclnkset->children(); |
49 | for (DocLnk *pack =packlist.first(); pack != 0; pack=packlist.next() ) | 49 | for (DocLnk *pack =packlist.first(); pack != 0; pack=packlist.next() ) |
50 | { | 50 | { |
51 | insertPackage( new Package(pack->file(), settings ) ); | 51 | insertPackage( new OipkgPackage(pack->file(), settings ) ); |
52 | } | 52 | } |
53 | } | 53 | } |
diff --git a/noncore/unsupported/oipkg/packagelistitem.cpp b/noncore/unsupported/oipkg/packagelistitem.cpp index 03bf477..4380393 100644 --- a/noncore/unsupported/oipkg/packagelistitem.cpp +++ b/noncore/unsupported/oipkg/packagelistitem.cpp | |||
@@ -1,174 +1,239 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * This program is free software; you can redistribute it and/or modify * | 3 | * This program is free software; you can redistribute it and/or modify * |
4 | * it under the terms of the GNU General Public License as published by * | 4 | * it under the terms of the GNU General Public License as published by * |
5 | * the Free Software Foundation; either version 2 of the License, or * | 5 | * the Free Software Foundation; either version 2 of the License, or * |
6 | * (at your option) any later version. * | 6 | * (at your option) any later version. * |
7 | * * | 7 | * * |
8 | ***************************************************************************/ | 8 | ***************************************************************************/ |
9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> | 9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> |
10 | #include "packagelistitem.h" | 10 | #include "packagelistitem.h" |
11 | 11 | ||
12 | #include <qpe/resource.h> | 12 | #include <qpe/resource.h> |
13 | #include <qobject.h> | 13 | #include <qobject.h> |
14 | #include <qpopupmenu.h> | ||
15 | #include <qaction.h> | ||
14 | 16 | ||
15 | #include "debug.h" | 17 | #include "debug.h" |
16 | 18 | ||
17 | static QPixmap *pm_uninstalled=0; | 19 | static QPixmap *pm_uninstalled=0; |
18 | static QPixmap *pm_uninstalled_old=0; | 20 | static QPixmap *pm_uninstalled_old=0; |
19 | static QPixmap *pm_installed=0; | 21 | static QPixmap *pm_installed=0; |
20 | static QPixmap *pm_installed_old=0; | 22 | static QPixmap *pm_installed_old=0; |
21 | static QPixmap *pm_uninstall=0; | 23 | static QPixmap *pm_uninstall=0; |
22 | static QPixmap *pm_install=0; | 24 | static QPixmap *pm_install=0; |
23 | static QPixmap *pm_uninstalled_old_installed_new=0; | 25 | static QPixmap *pm_uninstalled_old_installed_new=0; |
24 | static QPixmap *pm_uninstalled_installed_old=0; | 26 | static QPixmap *pm_uninstalled_installed_old=0; |
25 | 27 | ||
26 | PackageListItem::PackageListItem(QListView* lv, Package *pi, PackageManagerSettings *s) | 28 | PackageListItem::PackageListItem(ListViewItemOipkg *parent, QString name, Type ittype) |
27 | :QCheckListItem(lv,pi->name(),CheckBox) | 29 | : ListViewItemOipkg(parent,name,ittype) |
28 | { | 30 | { |
29 | init(pi,s); | 31 | |
30 | } | 32 | } |
31 | 33 | ||
32 | PackageListItem::PackageListItem(QListViewItem *lvi, Package *pi, PackageManagerSettings *s) | 34 | PackageListItem::PackageListItem(QListView* lv, OipkgPackage *pi, PackageManagerSettings *s) |
33 | :QCheckListItem(lvi,pi->name(),CheckBox) | 35 | :ListViewItemOipkg(lv,pi->name(),ListViewItemOipkg::Package) |
34 | { | 36 | { |
35 | init(pi,s); | 37 | init(pi,s); |
36 | } | 38 | } |
37 | 39 | ||
38 | void PackageListItem::init( Package *pi, PackageManagerSettings *s) | 40 | PackageListItem::PackageListItem(ListViewItemOipkg *lvi, OipkgPackage *pi, PackageManagerSettings *s) |
41 | :ListViewItemOipkg(lvi,pi->name(),ListViewItemOipkg::Package) | ||
42 | { | ||
43 | init(pi,s); | ||
44 | } | ||
45 | PackageListItem::~PackageListItem() | ||
39 | { | 46 | { |
47 | delete popupMenu; | ||
48 | delete destsMenu; | ||
49 | } | ||
50 | |||
51 | void PackageListItem::init( OipkgPackage *pi, PackageManagerSettings *s) | ||
52 | { | ||
53 | popupMenu = new QPopupMenu( 0 ); | ||
54 | destsMenu = new QPopupMenu( 0 ); | ||
40 | package = pi; | 55 | package = pi; |
41 | settings = s; | 56 | settings = s; |
42 | setExpandable( true ); | 57 | setExpandable( true ); |
43 | QCheckListItem *item; | 58 | ListViewItemOipkg *item; |
44 | nameItem = new QCheckListItem( this, "" ); | 59 | nameItem = new ListViewItemOipkg( this, ListViewItemOipkg::Attribute,"name" ); |
45 | item = new QCheckListItem( this, QObject::tr("Description: ")+pi->desc() ); | 60 | item = new ListViewItemOipkg( this, ListViewItemOipkg::Attribute, QObject::tr("Description: ")+pi->desc() ); |
46 | item = new QCheckListItem( this, QObject::tr("Size: ")+pi->size() ); | 61 | item = new ListViewItemOipkg( this, ListViewItemOipkg::Attribute, QObject::tr("Size: ")+pi->size() ); |
47 | destItem = new QCheckListItem( this, "" ); | 62 | destItem = new ListViewItemOipkg( this, ListViewItemOipkg::Attribute, "dest" ); |
48 | linkItem = new QCheckListItem( this, "" ); | 63 | linkItem = new ListViewItemOipkg( this, ListViewItemOipkg::Attribute, "link" ); |
49 | statusItem = new QCheckListItem( this, "" ); | 64 | statusItem = new ListViewItemOipkg( this, ListViewItemOipkg::Attribute, "status" ); |
50 | QCheckListItem *otherItem = new QCheckListItem( this, QObject::tr("other") ); | 65 | ListViewItemOipkg *otherItem = new ListViewItemOipkg( this, ListViewItemOipkg::Attribute, QObject::tr("other") ); |
51 | item = new QCheckListItem( otherItem, QObject::tr("Install Name: ")+pi->installName() ); | 66 | item = new ListViewItemOipkg( otherItem, ListViewItemOipkg::Attribute, QObject::tr("Install Name: ")+pi->installName() ); |
52 | QDict<QString> *fields = pi->getFields(); | 67 | QDict<QString> *fields = pi->getFields(); |
53 | QDictIterator<QString> it( *fields ); | 68 | QDictIterator<QString> it( *fields ); |
54 | while ( it.current() ) { | 69 | while ( it.current() ) { |
55 | item = new QCheckListItem( otherItem, QString(it.currentKey()+": "+*it.current()) ); | 70 | item = new ListViewItemOipkg( otherItem, ListViewItemOipkg::Attribute, QString(it.currentKey()+": "+*it.current()) ); |
56 | ++it; | 71 | ++it; |
57 | } | 72 | } |
58 | displayDetails(); | 73 | displayDetails(); |
59 | 74 | ||
60 | if (!pm_uninstalled) | 75 | if (!pm_uninstalled) |
61 | { | 76 | { |
62 | pm_uninstalled = new QPixmap(Resource::loadPixmap("oipkg/uninstalled")); | 77 | pm_uninstalled = new QPixmap(Resource::loadPixmap("oipkg/uninstalled")); |
63 | pm_uninstalled_old = new QPixmap(Resource::loadPixmap("oipkg/uninstalledOld")); | 78 | pm_uninstalled_old = new QPixmap(Resource::loadPixmap("oipkg/uninstalledOld")); |
64 | pm_uninstalled_old_installed_new = new QPixmap(Resource::loadPixmap("oipkg/uninstalledOldinstalledNew")); | 79 | pm_uninstalled_old_installed_new = new QPixmap(Resource::loadPixmap("oipkg/uninstalledOldinstalledNew")); |
65 | pm_uninstalled_installed_old = new QPixmap(Resource::loadPixmap("oipkg/uninstalledInstalledOld")); | 80 | pm_uninstalled_installed_old = new QPixmap(Resource::loadPixmap("oipkg/uninstalledInstalledOld")); |
66 | pm_installed = new QPixmap(Resource::loadPixmap("oipkg/installed")); | 81 | pm_installed = new QPixmap(Resource::loadPixmap("oipkg/installed")); |
67 | pm_installed_old = new QPixmap(Resource::loadPixmap("oipkg/installedOld")); | 82 | pm_installed_old = new QPixmap(Resource::loadPixmap("oipkg/installedOld")); |
68 | pm_install = new QPixmap(Resource::loadPixmap("oipkg/install")); | 83 | pm_install = new QPixmap(Resource::loadPixmap("oipkg/install")); |
69 | pm_uninstall = new QPixmap(Resource::loadPixmap("oipkg/uninstall")); | 84 | pm_uninstall = new QPixmap(Resource::loadPixmap("oipkg/uninstall")); |
70 | } | 85 | } |
71 | } | 86 | } |
72 | 87 | ||
73 | void PackageListItem::paintCell( QPainter *p, const QColorGroup & cg, | 88 | void PackageListItem::paintCell( QPainter *p, const QColorGroup & cg, |
74 | int column, int width, int alignment ) | 89 | int column, int width, int alignment ) |
75 | { | 90 | { |
76 | if ( !p ) | 91 | if ( !p ) |
77 | return; | 92 | return; |
78 | 93 | ||
79 | p->fillRect( 0, 0, width, height(), | 94 | p->fillRect( 0, 0, width, height(), |
80 | isSelected()? cg.highlight() : cg.base() ); | 95 | isSelected()? cg.highlight() : cg.base() ); |
81 | 96 | ||
82 | if ( column != 0 ) { | 97 | if ( column != 0 ) { |
83 | // The rest is text | 98 | // The rest is text |
84 | QListViewItem::paintCell( p, cg, column, width, alignment ); | 99 | QListViewItem::paintCell( p, cg, column, width, alignment ); |
85 | return; | 100 | return; |
86 | } | 101 | } |
87 | 102 | ||
88 | QListView *lv = listView(); | 103 | QListView *lv = listView(); |
89 | if ( !lv ) | 104 | if ( !lv ) |
90 | return; | 105 | return; |
91 | int marg = lv->itemMargin(); | 106 | int marg = lv->itemMargin(); |
92 | int r = marg; | 107 | int r = marg; |
93 | 108 | ||
94 | QPixmap pm = statePixmap(); | 109 | QPixmap pm = statePixmap(); |
95 | p->drawPixmap(marg,(height()-pm.height())/2,pm); | 110 | p->drawPixmap(marg,(height()-pm.height())/2,pm); |
96 | r += pm.width()+1; | 111 | r += pm.width()+1; |
97 | 112 | ||
98 | p->translate( r, 0 ); | 113 | p->translate( r, 0 ); |
99 | QListViewItem::paintCell( p, cg, column, width - r, alignment ); | 114 | QListViewItem::paintCell( p, cg, column, width - r, alignment ); |
100 | } | 115 | } |
101 | 116 | ||
102 | 117 | ||
103 | void PackageListItem::paintFocus( QPainter *p, const QColorGroup & cg, | 118 | void PackageListItem::paintFocus( QPainter *p, const QColorGroup & cg, |
104 | const QRect & r ) | 119 | const QRect & r ) |
105 | { | 120 | { |
106 | // Skip QCheckListItem | 121 | // Skip QCheckListItem |
107 | // (makes you wonder what we're getting from QCheckListItem) | 122 | // (makes you wonder what we're getting from QCheckListItem) |
108 | QListViewItem::paintFocus(p,cg,r); | 123 | QListViewItem::paintFocus(p,cg,r); |
109 | } | 124 | } |
110 | 125 | ||
111 | QPixmap PackageListItem::statePixmap() const | 126 | QPixmap PackageListItem::statePixmap() const |
112 | { | 127 | { |
113 | bool installed = package->installed(); | 128 | bool installed = package->installed(); |
114 | bool old = package->isOld(); | 129 | bool old = package->isOld(); |
115 | bool verinstalled = package->otherInstalled(); | 130 | bool verinstalled = package->otherInstalled(); |
116 | if ( !package->toProcess() ) { | 131 | if ( !package->toProcess() ) { |
117 | if ( !installed ) | 132 | if ( !installed ) |
118 | if (old) | 133 | if (old) |
119 | { | 134 | { |
120 | if (verinstalled) return *pm_uninstalled_old_installed_new; | 135 | if (verinstalled) return *pm_uninstalled_old_installed_new; |
121 | else return *pm_uninstalled_old; | 136 | else return *pm_uninstalled_old; |
122 | } | 137 | } |
123 | else | 138 | else |
124 | { | 139 | { |
125 | if (verinstalled) return *pm_uninstalled_installed_old; | 140 | if (verinstalled) return *pm_uninstalled_installed_old; |
126 | else return *pm_uninstalled; | 141 | else return *pm_uninstalled; |
127 | } | 142 | } |
128 | else | 143 | else |
129 | if (old) return *pm_installed_old; | 144 | if (old) return *pm_installed_old; |
130 | else return *pm_installed; | 145 | else return *pm_installed; |
131 | } else { //toProcess() == true | 146 | } else { //toProcess() == true |
132 | if ( !installed ) | 147 | if ( !installed ) |
133 | return *pm_install; | 148 | return *pm_install; |
134 | else | 149 | else |
135 | return *pm_uninstall; | 150 | return *pm_uninstall; |
136 | } | 151 | } |
137 | } | 152 | } |
138 | 153 | ||
139 | QString PackageListItem::key( int column, bool ascending ) const | 154 | QString PackageListItem::key( int column, bool ascending ) const |
140 | { | 155 | { |
141 | if ( column == 2 ) { | 156 | if ( column == 2 ) { |
142 | QString t = text(2); | 157 | QString t = text(2); |
143 | double bytes=t.toDouble(); | 158 | double bytes=t.toDouble(); |
144 | if ( t.contains('M') ) bytes*=1024*1024; | 159 | if ( t.contains('M') ) bytes*=1024*1024; |
145 | else if ( t.contains('K') || t.contains('k') ) bytes*=1024; | 160 | else if ( t.contains('K') || t.contains('k') ) bytes*=1024; |
146 | if ( !ascending ) bytes=999999999-bytes; | 161 | if ( !ascending ) bytes=999999999-bytes; |
147 | return QString().sprintf("%09d",(int)bytes); | 162 | return QString().sprintf("%09d",(int)bytes); |
148 | } else { | 163 | } else { |
149 | return QListViewItem::key(column,ascending); | 164 | return QListViewItem::key(column,ascending); |
150 | } | 165 | } |
151 | } | 166 | } |
152 | 167 | ||
153 | void PackageListItem::setOn( bool b ) | 168 | void PackageListItem::setOn( bool b ) |
154 | { | 169 | { |
155 | QCheckListItem::setOn( b ); | 170 | QCheckListItem::setOn( b ); |
156 | package->toggleProcess(); | 171 | package->toggleProcess(); |
157 | package->setLink( settings->createLinks() ); | 172 | package->setLink( settings->createLinks() ); |
158 | displayDetails(); | 173 | displayDetails(); |
159 | } | 174 | } |
160 | 175 | ||
161 | void PackageListItem::displayDetails() | 176 | void PackageListItem::displayDetails() |
162 | { | 177 | { |
163 | QString sod; | 178 | QString sod; |
164 | sod += package->sizeUnits().isEmpty()?QString(""):QString(package->sizeUnits()); | 179 | sod += package->sizeUnits().isEmpty()?QString(""):QString(package->sizeUnits()); |
165 | //sod += QString(package->dest().isEmpty()?"":QObject::tr(" on ")+package->dest()); | 180 | //sod += QString(package->dest().isEmpty()?"":QObject::tr(" on ")+package->dest()); |
166 | sod += package->dest().isEmpty()?QString(""):QString(QObject::tr(" on ")+package->dest()); | 181 | sod += package->dest().isEmpty()?QString(""):QString(QObject::tr(" on ")+package->dest()); |
167 | sod = sod.isEmpty()?QString(""):QString(" ("+sod+")"); | 182 | sod = sod.isEmpty()?QString(""):QString(" ("+sod+")"); |
168 | setText(0, package->name()+sod ); | 183 | setText(0, package->name()+sod ); |
169 | nameItem->setText( 0, QObject::tr("Name: ")+package->name()); | 184 | nameItem->setText( 0, QObject::tr("Name: ")+package->name()); |
170 | linkItem->setText( 0, QObject::tr("Link: ")+(package->link()?QObject::tr("Yes"):QObject::tr("No"))); | 185 | linkItem->setText( 0, QObject::tr("Link: ")+(package->link()?QObject::tr("Yes"):QObject::tr("No"))); |
171 | destItem->setText( 0, QObject::tr("Destination: ")+package->dest() ); | 186 | destItem->setText( 0, QObject::tr("Destination: ")+package->dest() ); |
172 | statusItem->setText( 0, QObject::tr("Status: ")+package->status() ); | 187 | statusItem->setText( 0, QObject::tr("Status: ")+package->status() ); |
173 | repaint(); | 188 | repaint(); |
174 | } | 189 | } |
190 | |||
191 | QPopupMenu* PackageListItem::getPopupMenu() | ||
192 | { | ||
193 | popupMenu->clear(); | ||
194 | destsMenu->clear(); | ||
195 | |||
196 | QAction *popupAction; | ||
197 | qDebug("PackageListItem::showPopup "); | ||
198 | |||
199 | if (!package->installed()){ | ||
200 | popupMenu->insertItem( QObject::tr("Install to"), destsMenu ); | ||
201 | QStringList dests = settings->getDestinationNames(); | ||
202 | QString ad = settings->getDestinationName(); | ||
203 | for (uint i = 0; i < dests.count(); i++ ) | ||
204 | { | ||
205 | popupAction = new QAction( dests[i], QString::null, 0, popupMenu, 0 ); | ||
206 | popupAction->addTo( destsMenu ); | ||
207 | if ( dests[i] == ad && getPackage()->toInstall() ) | ||
208 | { | ||
209 | popupAction->setToggleAction( true ); | ||
210 | popupAction->setOn(true); | ||
211 | } | ||
212 | } | ||
213 | connect( destsMenu, SIGNAL( activated( int ) ), | ||
214 | this, SLOT( menuAction( int ) ) ); | ||
215 | popupMenu->popup( QCursor::pos() ); | ||
216 | }else{ | ||
217 | popupMenu->insertItem( QObject::tr("Remove")); | ||
218 | connect( popupMenu, SIGNAL( activated( int ) ), | ||
219 | this, SLOT( menuAction( int ) ) ); | ||
220 | popupMenu->popup( QCursor::pos() ); | ||
221 | } | ||
222 | return popupMenu; | ||
223 | } | ||
224 | |||
225 | void PackageListItem::menuAction( int i ) | ||
226 | { | ||
227 | if (package->installed()){ | ||
228 | package->setDest( destsMenu->text(i) ); | ||
229 | package->setLink( settings->createLinks() ); | ||
230 | } | ||
231 | package->setOn(); | ||
232 | displayDetails(); | ||
233 | } | ||
234 | |||
235 | //void PackageListItem::toggleProcess() | ||
236 | //{ | ||
237 | // package->toggleProcess() ; | ||
238 | // displayDetails(); | ||
239 | //} \ No newline at end of file | ||
diff --git a/noncore/unsupported/oipkg/packagelistitem.h b/noncore/unsupported/oipkg/packagelistitem.h index dba44f7..ca0cf17 100644 --- a/noncore/unsupported/oipkg/packagelistitem.h +++ b/noncore/unsupported/oipkg/packagelistitem.h | |||
@@ -1,50 +1,64 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * This program is free software; you can redistribute it and/or modify * | 3 | * This program is free software; you can redistribute it and/or modify * |
4 | * it under the terms of the GNU General Public License as published by * | 4 | * it under the terms of the GNU General Public License as published by * |
5 | * the Free Software Foundation; either version 2 of the License, or * | 5 | * the Free Software Foundation; either version 2 of the License, or * |
6 | * (at your option) any later version. * | 6 | * (at your option) any later version. * |
7 | * * | 7 | * * |
8 | ***************************************************************************/ | 8 | ***************************************************************************/ |
9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> | 9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> |
10 | #ifndef PK_LISTITEM_H | 10 | #ifndef PK_LISTITEM_H |
11 | #define PK_LISTITEM_H | 11 | #define PK_LISTITEM_H |
12 | 12 | ||
13 | #include "package.h" | ||
14 | 13 | ||
15 | #include <qstring.h> | 14 | #include <qstring.h> |
16 | #include <qlistview.h> | 15 | //#include <qlistview.h> |
17 | #include <qpainter.h> | 16 | #include <qpainter.h> |
18 | #include <qpixmap.h> | 17 | #include <qpixmap.h> |
19 | #include <qdict.h> | 18 | #include <qdict.h> |
20 | 19 | ||
20 | #include "listviewitemoipkg.h" | ||
21 | #include "package.h" | ||
21 | #include "pksettings.h" | 22 | #include "pksettings.h" |
22 | 23 | ||
23 | class PackageListItem | 24 | class QPopupMenu; |
24 | : public QCheckListItem | 25 | |
26 | class PackageListItem : public ListViewItemOipkg | ||
25 | { | 27 | { |
26 | public: | 28 | public: |
27 | PackageListItem(QListViewItem*, Package*, PackageManagerSettings*); | 29 | PackageListItem(ListViewItemOipkg *parent, QString name, Type ittype); |
28 | PackageListItem(QListView*, Package*, PackageManagerSettings*); | 30 | PackageListItem( |
31 | ListViewItemOipkg *parent, | ||
32 | OipkgPackage *pack, | ||
33 | PackageManagerSettings *s); | ||
34 | PackageListItem(QListView*, OipkgPackage*, PackageManagerSettings*); | ||
35 | ~PackageListItem(); | ||
29 | void paintCell( QPainter*, const QColorGroup&, int, int, int ); | 36 | void paintCell( QPainter*, const QColorGroup&, int, int, int ); |
30 | void paintFocus( QPainter*, const QColorGroup&, const QRect& ); | 37 | void paintFocus( QPainter*, const QColorGroup&, const QRect& ); |
31 | QPixmap statePixmap() const; | 38 | QPixmap statePixmap() const; |
32 | QString key( int, bool ) const; | 39 | QString key( int, bool ) const; |
33 | Package* getPackage() { return package; } ; | 40 | OipkgPackage* getPackage() { return package; } ; |
34 | QString getName() { return package->name(); } ; | 41 | QString getName() { return package->name(); } ; |
35 | bool isInstalled(){ return package->installed(); }; | 42 | bool isInstalled(){ return package->installed(); }; |
36 | virtual void setOn ( bool ); | 43 | virtual void setOn ( bool ); |
37 | void displayDetails(); | 44 | void displayDetails(); |
38 | 45 | ||
39 | private: | 46 | private: |
40 | void init(Package*, PackageManagerSettings*); | 47 | QPopupMenu *popupMenu; |
48 | QPopupMenu *destsMenu; | ||
49 | void init(OipkgPackage*, PackageManagerSettings*); | ||
50 | virtual QPopupMenu* getPopupMenu(); | ||
51 | static QPopupMenu *_destsMenu; | ||
41 | QCheckListItem *nameItem; | 52 | QCheckListItem *nameItem; |
42 | QCheckListItem *destItem; | 53 | QCheckListItem *destItem; |
43 | QCheckListItem *linkItem; | 54 | QCheckListItem *linkItem; |
44 | QCheckListItem *statusItem; | 55 | QCheckListItem *statusItem; |
45 | PackageManagerSettings *settings; | 56 | PackageManagerSettings *settings; |
46 | Package *package; | 57 | OipkgPackage *package; |
58 | protected slots: | ||
59 | // void toggleProcess(); | ||
60 | virtual void menuAction( int ); | ||
47 | }; | 61 | }; |
48 | 62 | ||
49 | 63 | ||
50 | #endif | 64 | #endif |
diff --git a/noncore/unsupported/oipkg/packagelistlocal.cpp b/noncore/unsupported/oipkg/packagelistlocal.cpp index b8a19253..2fe75bc 100644 --- a/noncore/unsupported/oipkg/packagelistlocal.cpp +++ b/noncore/unsupported/oipkg/packagelistlocal.cpp | |||
@@ -1,75 +1,75 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * This program is free software; you can redistribute it and/or modify * | 3 | * This program is free software; you can redistribute it and/or modify * |
4 | * it under the terms of the GNU General Public License as published by * | 4 | * it under the terms of the GNU General Public License as published by * |
5 | * the Free Software Foundation; either version 2 of the License, or * | 5 | * the Free Software Foundation; either version 2 of the License, or * |
6 | * (at your option) any later version. * | 6 | * (at your option) any later version. * |
7 | * * | 7 | * * |
8 | ***************************************************************************/ | 8 | ***************************************************************************/ |
9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> | 9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> |
10 | #include <qpe/config.h> | 10 | #include <qpe/config.h> |
11 | #include <qfile.h> | 11 | #include <qfile.h> |
12 | #include <qfileinfo.h> | 12 | #include <qfileinfo.h> |
13 | #include <qtextstream.h> | 13 | #include <qtextstream.h> |
14 | #include <qstringlist.h> | 14 | #include <qstringlist.h> |
15 | #include "packagelistlocal.h" | 15 | #include "packagelistlocal.h" |
16 | 16 | ||
17 | PackageListLocal::PackageListLocal() | 17 | PackageListLocal::PackageListLocal() |
18 | : PackageList() | 18 | : PackageList() |
19 | { | 19 | { |
20 | Config cfg( "oipkg", Config::User ); | 20 | Config cfg( "oipkg", Config::User ); |
21 | cfg.setGroup( "Common" ); | 21 | cfg.setGroup( "Common" ); |
22 | statusDir = cfg.readEntry( "statusDir", "" ); | 22 | statusDir = cfg.readEntry( "statusDir", "" ); |
23 | listsDir = cfg.readEntry( "listsDir", "" ); | 23 | listsDir = cfg.readEntry( "listsDir", "" ); |
24 | if ( statusDir=="" || ! QFileInfo(statusDir+"/status").isFile() ) | 24 | if ( statusDir=="" || ! QFileInfo(statusDir+"/status").isFile() ) |
25 | { | 25 | { |
26 | statusDir="/usr/lib/ipkg/"; | 26 | statusDir="/usr/lib/ipkg/"; |
27 | listsDir="/usr/lib/ipkg/lists/"; | 27 | listsDir="/usr/lib/ipkg/lists/"; |
28 | cfg.writeEntry( "statusDir", statusDir ); | 28 | cfg.writeEntry( "statusDir", statusDir ); |
29 | cfg.writeEntry( "listsDir", listsDir ); | 29 | cfg.writeEntry( "listsDir", listsDir ); |
30 | } | 30 | } |
31 | } | 31 | } |
32 | 32 | ||
33 | PackageListLocal::PackageListLocal(PackageManagerSettings* s) | 33 | PackageListLocal::PackageListLocal(PackageManagerSettings* s) |
34 | : PackageList(s) | 34 | : PackageList(s) |
35 | { | 35 | { |
36 | PackageListLocal(); | 36 | PackageListLocal(); |
37 | } | 37 | } |
38 | 38 | ||
39 | PackageListLocal::~PackageListLocal() | 39 | PackageListLocal::~PackageListLocal() |
40 | { | 40 | { |
41 | } | 41 | } |
42 | 42 | ||
43 | void PackageListLocal::parseStatus() | 43 | void PackageListLocal::parseStatus() |
44 | { | 44 | { |
45 | QStringList dests = settings->getDestinationUrls(); | 45 | QStringList dests = settings->getDestinationUrls(); |
46 | QStringList destnames = settings->getDestinationNames(); | 46 | QStringList destnames = settings->getDestinationNames(); |
47 | QStringList::Iterator name = destnames.begin(); | 47 | QStringList::Iterator name = destnames.begin(); |
48 | for ( QStringList::Iterator dir = dests.begin(); dir != dests.end(); ++dir ) | 48 | for ( QStringList::Iterator dir = dests.begin(); dir != dests.end(); ++dir ) |
49 | { | 49 | { |
50 | pvDebug( 2,"Status: "+*dir+statusDir+"/status"); | 50 | pvDebug( 2,"Status: "+*dir+statusDir+"/status"); |
51 | readFileEntries( *dir+statusDir+"/status", *name ); | 51 | readFileEntries( *dir+statusDir+"/status", *name ); |
52 | ++name; | 52 | ++name; |
53 | }; | 53 | }; |
54 | } | 54 | } |
55 | 55 | ||
56 | void PackageListLocal::parseList() | 56 | void PackageListLocal::parseList() |
57 | { | 57 | { |
58 | QStringList srvs = settings->getActiveServers(); | 58 | QStringList srvs = settings->getActiveServers(); |
59 | 59 | ||
60 | for ( QStringList::Iterator it = srvs.begin(); it != srvs.end(); ++it ) | 60 | for ( QStringList::Iterator it = srvs.begin(); it != srvs.end(); ++it ) |
61 | { | 61 | { |
62 | pvDebug( 2, "List: "+listsDir+"/"+*it); | 62 | pvDebug( 2, "List: "+listsDir+"/"+*it); |
63 | readFileEntries( listsDir+"/"+*it ); | 63 | readFileEntries( listsDir+"/"+*it ); |
64 | } | 64 | } |
65 | } | 65 | } |
66 | 66 | ||
67 | 67 | ||
68 | void PackageListLocal::update() | 68 | void PackageListLocal::update() |
69 | { | 69 | { |
70 | pvDebug( 2, "parseStatus"); | 70 | pvDebug( 2, "parseStatus"); |
71 | parseStatus(); | 71 | parseStatus(); |
72 | pvDebug( 2, "parseList"); | 72 | pvDebug( 2, "parseList "+listsDir); |
73 | parseList(); | 73 | parseList(); |
74 | pvDebug( 2, "finished parsing"); | 74 | pvDebug( 2, "finished parsing"); |
75 | } | 75 | } |
diff --git a/noncore/unsupported/oipkg/packagelistview.cpp b/noncore/unsupported/oipkg/packagelistview.cpp index 0d6fa80..3c7435d 100644 --- a/noncore/unsupported/oipkg/packagelistview.cpp +++ b/noncore/unsupported/oipkg/packagelistview.cpp | |||
@@ -1,153 +1,118 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * This program is free software; you can redistribute it and/or modify * | 3 | * This program is free software; you can redistribute it and/or modify * |
4 | * it under the terms of the GNU General Public License as published by * | 4 | * it under the terms of the GNU General Public License as published by * |
5 | * the Free Software Foundation; either version 2 of the License, or * | 5 | * the Free Software Foundation; either version 2 of the License, or * |
6 | * (at your option) any later version. * | 6 | * (at your option) any later version. * |
7 | * * | 7 | * * |
8 | ***************************************************************************/ | 8 | ***************************************************************************/ |
9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> | 9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> |
10 | #include "packagelistview.h" | 10 | #include "packagelistview.h" |
11 | 11 | ||
12 | #include <qpopupmenu.h> | 12 | #include <qpopupmenu.h> |
13 | #include <qaction.h> | 13 | #include <qaction.h> |
14 | 14 | ||
15 | #include "listviewitemoipkg.h" | ||
15 | #include "packagelistitem.h" | 16 | #include "packagelistitem.h" |
16 | #include "pksettings.h" | 17 | #include "pksettings.h" |
17 | 18 | ||
18 | PackageListView::PackageListView(QWidget *p, const char* n, PackageManagerSettings *s) | 19 | PackageListView::PackageListView(QWidget *p, const char* n, PackageManagerSettings *s) |
19 | : QListView(p,n) | 20 | : QListView(p,n) |
20 | { | 21 | { |
21 | settings = s; | 22 | settings = s; |
22 | popupMenu = new QPopupMenu( this ); | ||
23 | destsMenu = new QPopupMenu( popupMenu ); | ||
24 | popupTimer = new QTimer( this ); | 23 | popupTimer = new QTimer( this ); |
25 | setSelectionMode(QListView::NoSelection); | 24 | setSelectionMode(QListView::NoSelection); |
26 | addColumn( tr("Package") ); | 25 | addColumn( tr("Package") ); |
27 | setRootIsDecorated( true ); | 26 | setRootIsDecorated( true ); |
28 | 27 | ||
29 | connect( popupTimer, SIGNAL(timeout()), | 28 | connect( popupTimer, SIGNAL(timeout()), |
30 | this, SLOT(showPopup()) ); | 29 | this, SLOT(showPopup()) ); |
31 | connect( this, SIGNAL( pressed( QListViewItem* ) ), | 30 | connect( this, SIGNAL( pressed( QListViewItem* ) ), |
32 | this, SLOT( setCurrent( QListViewItem* ) ) ); | 31 | this, SLOT( setCurrent( QListViewItem* ) ) ); |
33 | connect( this, SIGNAL( clicked( QListViewItem* ) ), | 32 | connect( this, SIGNAL( clicked( QListViewItem* ) ), |
34 | this, SLOT( stopTimer( QListViewItem* ) ) ); | 33 | this, SLOT( stopTimer( QListViewItem* ) ) ); |
35 | 34 | ||
36 | } | 35 | } |
37 | 36 | ||
38 | //PackageListView::~PackageListView() | 37 | //PackageListView::~PackageListView() |
39 | //{ | 38 | //{ |
40 | //} | 39 | //} |
41 | 40 | ||
42 | void PackageListView::setCurrent( QListViewItem* p ) | 41 | void PackageListView::setCurrent( QListViewItem* p ) |
43 | { | 42 | { |
44 | if ( !p ) return; | 43 | qDebug("PackageListView::setCurrent "); |
45 | activePackageListItem = (PackageListItem*)p; | 44 | activeItem = (ListViewItemOipkg*)p; |
46 | activePackage = activePackageListItem->getPackage(); | 45 | |
47 | if (!activePackage) | 46 | if ( activeItem != 0 ) popupTimer->start( 750, true ); |
48 | { | 47 | |
49 | // QDictIterator<QCheckListItem> it( rootItems ); | 48 | // if ( activeItem->getType() != ListViewItemOipkg::Package ){ |
50 | // while ( it.current() ) | 49 | // qDebug("PackageListView::setCurrent !p "); |
50 | // activePackage = 0; | ||
51 | // activePackageListItem = 0; | ||
52 | // qDebug("PackageListView::setCurrent returning "); | ||
53 | // return; | ||
54 | // }; | ||
55 | // activePackageListItem = (PackageListItem*)p; | ||
56 | // activePackage = activePackageListItem->getPackage(); | ||
57 | // if (activePackage == 0 ) | ||
51 | // { | 58 | // { |
52 | // if ( it.current()==p ) | 59 | // qDebug("PackageListView::setCurrent if (!activePackage)"); |
53 | // pvDebug(2,"current item"); | 60 | // return; |
54 | // ++it; | 61 | // } |
55 | // } | 62 | |
56 | 63 | ||
57 | return; | 64 | qDebug("PackageListView::setCurrent popupTimer->start"); |
58 | } | ||
59 | popupTimer->start( 750, true ); | ||
60 | } | 65 | } |
61 | 66 | ||
62 | 67 | ||
63 | void PackageListView::showPopup() | 68 | void PackageListView::showPopup() |
64 | { | 69 | { |
65 | popupMenu->clear(); | 70 | qDebug("PackageListView::showPopup"); |
66 | destsMenu->clear(); | 71 | QPopupMenu *popup = activeItem->getPopupMenu(); |
67 | 72 | if (popup == 0) return; | |
68 | QAction *popupAction; | 73 | popup->popup( QCursor::pos() ); |
69 | if ( !activePackage->installed() ) | 74 | qDebug("PackageListView::showPopup"); |
70 | { | ||
71 | popupMenu->insertItem( tr("Install to"), destsMenu ); | ||
72 | QStringList dests = settings->getDestinationNames(); | ||
73 | QString ad = settings->getDestinationName(); | ||
74 | for (uint i = 0; i < dests.count(); i++ ) | ||
75 | { | ||
76 | popupAction = new QAction( dests[i], QString::null, 0, this, 0 ); | ||
77 | popupAction->addTo( destsMenu ); | ||
78 | if ( dests[i] == ad && activePackage->toInstall() ) | ||
79 | { | ||
80 | popupAction->setToggleAction( true ); | ||
81 | popupAction->setOn(true); | ||
82 | }; | ||
83 | } | ||
84 | connect( destsMenu, SIGNAL( activated( int ) ), | ||
85 | this, SLOT( changePackageDest( int ) ) ); | ||
86 | }else{ | ||
87 | popupAction = new QAction( tr("Remove"),QString::null, 0, this, 0 ); | ||
88 | popupAction->addTo( popupMenu ); | ||
89 | connect( popupAction, SIGNAL( activated() ), | ||
90 | this , SLOT( toggleProcess() ) ); | ||
91 | popupAction = new QAction( tr("Reinstall"),QString::null, 0, this, 0 ); | ||
92 | popupAction->addTo( popupMenu ); | ||
93 | popupAction->setEnabled( false ); | ||
94 | } | ||
95 | popupMenu->popup( QCursor::pos() ); | ||
96 | } | 75 | } |
97 | 76 | ||
98 | void PackageListView::stopTimer( QListViewItem* ) | 77 | void PackageListView::stopTimer( QListViewItem* ) |
99 | { | 78 | { |
100 | popupTimer->stop(); | 79 | popupTimer->stop(); |
101 | } | 80 | } |
102 | 81 | ||
103 | 82 | ||
104 | void PackageListView::changePackageDest( int i ) | ||
105 | { | ||
106 | activePackage->setDest( destsMenu->text(i) ); | ||
107 | activePackage->setOn(); | ||
108 | activePackage->setLink( settings->createLinks() ); | ||
109 | activePackageListItem->displayDetails(); | ||
110 | } | ||
111 | |||
112 | void PackageListView::toggleProcess() | ||
113 | { | ||
114 | activePackage->toggleProcess() ; | ||
115 | activePackageListItem->displayDetails(); | ||
116 | } | ||
117 | |||
118 | void PackageListView::display() | 83 | void PackageListView::display() |
119 | { | 84 | { |
120 | QDictIterator<PackageList> list( PackageLists ); | 85 | QDictIterator<PackageList> list( PackageLists ); |
121 | PackageList *packlist; | 86 | PackageList *packlist; |
122 | Package *pack; | 87 | OipkgPackage *pack; |
123 | PackageListItem *item; | 88 | PackageListItem *item; |
124 | QCheckListItem *rootItem; | 89 | ListViewItemOipkg *rootItem; |
125 | QListViewItem* it; | 90 | QListViewItem* it; |
126 | QListViewItem* itdel; | 91 | QListViewItem* itdel; |
127 | while ( list.current() ) { | 92 | while ( list.current() ) { |
128 | packlist = list.current(); | 93 | packlist = list.current(); |
129 | rootItem = rootItems.find( list.currentKey() ); | 94 | rootItem = rootItems.find( list.currentKey() ); |
130 | //rootItem->clear(); | 95 | //rootItem->clear(); |
131 | it=rootItem->firstChild(); | 96 | it=rootItem->firstChild(); |
132 | while ( it ) | 97 | while ( it ) |
133 | { | 98 | { |
134 | itdel = it; | 99 | itdel = it; |
135 | it = it->nextSibling(); | 100 | it = it->nextSibling(); |
136 | delete itdel; | 101 | delete itdel; |
137 | } | 102 | } |
138 | pack = packlist->first(); | 103 | pack = packlist->first(); |
139 | while( pack ) | 104 | while( pack ) |
140 | { | 105 | { |
141 | item = new PackageListItem( rootItem, pack, settings ); | 106 | item = new PackageListItem( rootItem, pack, settings ); |
142 | pack = packlist->next(); | 107 | pack = packlist->next(); |
143 | } | 108 | } |
144 | ++list; | 109 | ++list; |
145 | } | 110 | } |
146 | } | 111 | } |
147 | 112 | ||
148 | void PackageListView::addList( QString n, PackageList* pl) | 113 | void PackageListView::addList( QString n, PackageList* pl) |
149 | { | 114 | { |
150 | PackageLists.insert(n, pl); | 115 | PackageLists.insert(n, pl); |
151 | QCheckListItem *item = new QCheckListItem(this,n); | 116 | ListViewItemOipkg *item = new ListViewItemOipkg(this,n,ListViewItemOipkg::Feed); |
152 | rootItems.insert(n, item); | 117 | rootItems.insert(n, item); |
153 | } | 118 | } |
diff --git a/noncore/unsupported/oipkg/packagelistview.h b/noncore/unsupported/oipkg/packagelistview.h index 3c09ba8..17dcb95 100644 --- a/noncore/unsupported/oipkg/packagelistview.h +++ b/noncore/unsupported/oipkg/packagelistview.h | |||
@@ -1,54 +1,55 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * This program is free software; you can redistribute it and/or modify * | 3 | * This program is free software; you can redistribute it and/or modify * |
4 | * it under the terms of the GNU General Public License as published by * | 4 | * it under the terms of the GNU General Public License as published by * |
5 | * the Free Software Foundation; either version 2 of the License, or * | 5 | * the Free Software Foundation; either version 2 of the License, or * |
6 | * (at your option) any later version. * | 6 | * (at your option) any later version. * |
7 | * * | 7 | * * |
8 | ***************************************************************************/ | 8 | ***************************************************************************/ |
9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> | 9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> |
10 | 10 | ||
11 | #ifndef PACKAGELISTVIEW_H | 11 | #ifndef PACKAGELISTVIEW_H |
12 | #define PACKAGELISTVIEW_H | 12 | #define PACKAGELISTVIEW_H |
13 | 13 | ||
14 | #include <qlistview.h> | 14 | #include <qlistview.h> |
15 | #include <qaction.h> | 15 | #include <qaction.h> |
16 | #include <qdict.h> | 16 | #include <qdict.h> |
17 | #include <qstring.h> | 17 | #include <qstring.h> |
18 | #include <qtimer.h> | 18 | #include <qtimer.h> |
19 | #include <qwidget.h> | 19 | #include <qwidget.h> |
20 | #include <qpopupmenu.h> | 20 | #include <qpopupmenu.h> |
21 | #include "listviewitemoipkg.h" | ||
21 | #include "packagelist.h" | 22 | #include "packagelist.h" |
22 | #include "debug.h" | 23 | #include "debug.h" |
23 | 24 | ||
24 | class PackageListItem; | 25 | class PackageListItem; |
25 | class Package; | 26 | class OipkgPackage; |
26 | class PackageManagerSettings; | 27 | class PackageManagerSettings; |
28 | //class ListViewItemOipkg; | ||
27 | 29 | ||
28 | class PackageListView : public QListView | 30 | class PackageListView : public QListView |
29 | { | 31 | { |
30 | Q_OBJECT | 32 | Q_OBJECT |
31 | 33 | ||
32 | public: | 34 | public: |
33 | PackageListView(QWidget*, const char*, PackageManagerSettings*); | 35 | PackageListView(QWidget*, const char*, PackageManagerSettings*); |
34 | void addList( QString, PackageList* ); | 36 | void addList( QString, PackageList* ); |
35 | //~PackageListView(); | 37 | //~PackageListView(); |
36 | QTimer *popupTimer; | 38 | QTimer *popupTimer; |
37 | private: | 39 | private: |
38 | QDict<PackageList> PackageLists; | 40 | QDict<PackageList> PackageLists; |
39 | QDict<QCheckListItem> rootItems; | 41 | QDict<ListViewItemOipkg> rootItems; |
40 | PackageManagerSettings *settings; | 42 | PackageManagerSettings *settings; |
41 | Package *activePackage; | 43 | // OipkgPackage *activePackage; |
42 | PackageListItem *activePackageListItem; | 44 | // PackageListItem *activePackageListItem; |
45 | ListViewItemOipkg *activeItem; | ||
43 | QPopupMenu *popupMenu; | 46 | QPopupMenu *popupMenu; |
44 | QPopupMenu *destsMenu; | 47 | QPopupMenu *destsMenu; |
45 | public slots: | 48 | public slots: |
46 | void showPopup(); | 49 | void showPopup(); |
47 | void changePackageDest( int ); | ||
48 | void setCurrent( QListViewItem* ); | 50 | void setCurrent( QListViewItem* ); |
49 | void stopTimer( QListViewItem* ); | 51 | void stopTimer( QListViewItem* ); |
50 | void toggleProcess(); | ||
51 | void display(); | 52 | void display(); |
52 | }; | 53 | }; |
53 | 54 | ||
54 | #endif | 55 | #endif |
diff --git a/noncore/unsupported/oipkg/pmipkg.cpp b/noncore/unsupported/oipkg/pmipkg.cpp index 2ed313c..cfaadbf 100644 --- a/noncore/unsupported/oipkg/pmipkg.cpp +++ b/noncore/unsupported/oipkg/pmipkg.cpp | |||
@@ -21,424 +21,424 @@ | |||
21 | #include <qfile.h> | 21 | #include <qfile.h> |
22 | #include <qgroupbox.h> | 22 | #include <qgroupbox.h> |
23 | #include <qmultilineedit.h> | 23 | #include <qmultilineedit.h> |
24 | #include <qstring.h> | 24 | #include <qstring.h> |
25 | #include <qcheckbox.h> | 25 | #include <qcheckbox.h> |
26 | #include <qtextstream.h> | 26 | #include <qtextstream.h> |
27 | #include <qtextview.h> | 27 | #include <qtextview.h> |
28 | #include <qmessagebox.h> | 28 | #include <qmessagebox.h> |
29 | #include <qprogressbar.h> | 29 | #include <qprogressbar.h> |
30 | #include <qpushbutton.h> | 30 | #include <qpushbutton.h> |
31 | #include <qlayout.h> | 31 | #include <qlayout.h> |
32 | 32 | ||
33 | #include <stdlib.h> | 33 | #include <stdlib.h> |
34 | #include <unistd.h> | 34 | #include <unistd.h> |
35 | 35 | ||
36 | #include "mainwindow.h" | 36 | #include "mainwindow.h" |
37 | 37 | ||
38 | 38 | ||
39 | 39 | ||
40 | PmIpkg::PmIpkg( PackageManagerSettings* s, QWidget* p, const char * name, WFlags f ) | 40 | PmIpkg::PmIpkg( PackageManagerSettings* s, QWidget* p, const char * name, WFlags f ) |
41 | : QObject ( p ) | 41 | : QObject ( p ) |
42 | { | 42 | { |
43 | settings = s; | 43 | settings = s; |
44 | runwindow = new RunWindow( p, name, true, f ); | 44 | runwindow = new RunWindow( p, name, true, f ); |
45 | 45 | ||
46 | Config cfg( "oipkg", Config::User ); | 46 | Config cfg( "oipkg", Config::User ); |
47 | cfg.setGroup( "ipkg" ); | 47 | cfg.setGroup( "ipkg" ); |
48 | ipkg_cmd = cfg.readEntry( "cmd", "ipkg" )+" "; | 48 | ipkg_cmd = cfg.readEntry( "cmd", "ipkg" )+" "; |
49 | } | 49 | } |
50 | 50 | ||
51 | PmIpkg::~PmIpkg() | 51 | PmIpkg::~PmIpkg() |
52 | { | 52 | { |
53 | } | 53 | } |
54 | 54 | ||
55 | bool PmIpkg::runIpkg(const QString& args, const QString& dest ) | 55 | bool PmIpkg::runIpkg(const QString& args, const QString& dest ) |
56 | { | 56 | { |
57 | bool ret=false; | 57 | bool ret=false; |
58 | QDir::setCurrent("/tmp"); | 58 | QDir::setCurrent("/tmp"); |
59 | QString cmd = ipkg_cmd; | 59 | QString cmd = ipkg_cmd; |
60 | pvDebug( 3,"PmIpkg::runIpkg got dest="+dest); | 60 | pvDebug( 3,"PmIpkg::runIpkg got dest="+dest); |
61 | if (!args.contains("update")) | 61 | if (!args.contains("update")) |
62 | { | 62 | { |
63 | if ( dest == "" ) | 63 | if ( dest == "" ) |
64 | cmd += " -dest "+settings->getDestinationName(); | 64 | cmd += " -dest "+settings->getDestinationName(); |
65 | else | 65 | else |
66 | cmd += " -dest "+ dest; | 66 | cmd += " -dest "+ dest; |
67 | 67 | ||
68 | cmd += " -force-defaults "; | 68 | cmd += " -force-defaults "; |
69 | 69 | ||
70 | if ( installDialog && installDialog->_force_depends ) | 70 | if ( installDialog && installDialog->_force_depends ) |
71 | { | 71 | { |
72 | if (installDialog->_force_depends->isChecked()) | 72 | if (installDialog->_force_depends->isChecked()) |
73 | cmd += " -force-depends "; | 73 | cmd += " -force-depends "; |
74 | if (installDialog->_force_reinstall->isChecked()) | 74 | if (installDialog->_force_reinstall->isChecked()) |
75 | cmd += " -force-reinstall "; | 75 | cmd += " -force-reinstall "; |
76 | if (installDialog->_force_remove->isChecked()) | 76 | if (installDialog->_force_remove->isChecked()) |
77 | cmd += " -force-removal-of-essential-packages "; | 77 | cmd += " -force-removal-of-essential-packages "; |
78 | if (installDialog->_force_overwrite->isChecked()) | 78 | if (installDialog->_force_overwrite->isChecked()) |
79 | cmd += " -force-overwrite "; | 79 | cmd += " -force-overwrite "; |
80 | } | 80 | } |
81 | } //!args.contains("update") | 81 | } //!args.contains("update") |
82 | 82 | ||
83 | out( "Starting to "+ args+"\n"); | 83 | out( "Starting to "+ args+"\n"); |
84 | qApp->processEvents(); | 84 | qApp->processEvents(); |
85 | cmd += args; | 85 | cmd += args; |
86 | out( "running:\n"+cmd+"\n" ); | 86 | out( "running:\n"+cmd+"\n" ); |
87 | pvDebug(2,"running:"+cmd); | 87 | pvDebug(2,"running:"+cmd); |
88 | qApp->processEvents(); | 88 | qApp->processEvents(); |
89 | FILE *fp; | 89 | FILE *fp; |
90 | char line[130]; | 90 | char line[130]; |
91 | QString lineStr, lineStrOld; | 91 | QString lineStr, lineStrOld; |
92 | sleep(1); | 92 | sleep(1); |
93 | cmd +=" 2>&1"; | 93 | cmd +=" 2>&1"; |
94 | fp = popen( (const char *) cmd, "r"); | 94 | fp = popen( (const char *) cmd, "r"); |
95 | if ( fp == NULL ) { | 95 | if ( fp == NULL ) { |
96 | qDebug("Could not execute '" + cmd + "'! err=%d", fp); | 96 | qDebug("Could not execute '" + cmd + "'! err=%d", fp); |
97 | out("\nError while executing "+ cmd+"\n\n"); | 97 | out("\nError while executing "+ cmd+"\n\n"); |
98 | ret = false; | 98 | ret = false; |
99 | } else { | 99 | } else { |
100 | while ( fgets( line, sizeof line, fp) != NULL) | 100 | while ( fgets( line, sizeof line, fp) != NULL) |
101 | { | 101 | { |
102 | lineStr = line; | 102 | lineStr = line; |
103 | lineStr=lineStr.left(lineStr.length()-1); | 103 | lineStr=lineStr.left(lineStr.length()-1); |
104 | //Configuring opie-oipkg...Done | 104 | //Configuring opie-oipkg...Done |
105 | if (lineStr.contains("Done")) ret = true; | 105 | if (lineStr.contains("Done")) ret = true; |
106 | if (lineStr!=lineStrOld) | 106 | if (lineStr!=lineStrOld) |
107 | out(lineStr); | 107 | out(lineStr); |
108 | lineStrOld = lineStr; | 108 | lineStrOld = lineStr; |
109 | qApp->processEvents(); | 109 | qApp->processEvents(); |
110 | } | 110 | } |
111 | } | 111 | } |
112 | pclose(fp); | 112 | pclose(fp); |
113 | pvDebug(2,QString(ret?"success\n":"failure\n")); | 113 | pvDebug(2,QString(ret?"success\n":"failure\n")); |
114 | return ret; | 114 | return ret; |
115 | } | 115 | } |
116 | 116 | ||
117 | void PmIpkg::makeLinks(Package *pack) | 117 | void PmIpkg::makeLinks(OipkgPackage *pack) |
118 | { | 118 | { |
119 | pvDebug( 2, "PmIpkg::makeLinks "+ pack->name()); | 119 | pvDebug( 2, "PmIpkg::makeLinks "+ pack->name()); |
120 | QString pn = pack->name(); | 120 | QString pn = pack->name(); |
121 | linkPackage( pack->packageName(), pack->dest() ); | 121 | linkPackage( pack->packageName(), pack->dest() ); |
122 | } | 122 | } |
123 | 123 | ||
124 | QStringList* PmIpkg::getList( QString packFileName, QString d ) | 124 | QStringList* PmIpkg::getList( QString packFileName, QString d ) |
125 | { | 125 | { |
126 | QString dest = settings->getDestinationUrlByName( d ); | 126 | QString dest = settings->getDestinationUrlByName( d ); |
127 | dest = dest==""?d:dest; | 127 | dest = dest==""?d:dest; |
128 | // if (dest == "/" ) return 0; | 128 | // if (dest == "/" ) return 0; |
129 | { | 129 | { |
130 | Config cfg( "oipkg", Config::User ); | 130 | Config cfg( "oipkg", Config::User ); |
131 | cfg.setGroup( "Common" ); | 131 | cfg.setGroup( "Common" ); |
132 | QString statusDir = cfg.readEntry( "statusDir", "" ); | 132 | QString statusDir = cfg.readEntry( "statusDir", "" ); |
133 | } | 133 | } |
134 | QString packFileDir = dest+"/"+statusDir+"/info/"+packFileName+".list"; | 134 | QString packFileDir = dest+"/"+statusDir+"/info/"+packFileName+".list"; |
135 | QFile f( packFileDir ); | 135 | QFile f( packFileDir ); |
136 | qDebug("Try to open %s", packFileDir.latin1()); | 136 | qDebug("Try to open %s", packFileDir.latin1()); |
137 | if ( ! f.open(IO_ReadOnly) ) | 137 | if ( ! f.open(IO_ReadOnly) ) |
138 | { | 138 | { |
139 | out( "Could not open:\n"+packFileDir ); | 139 | out( "Could not open:\n"+packFileDir ); |
140 | f.close(); | 140 | f.close(); |
141 | packFileDir = "/"+statusDir+"/info/"+packFileName+".list"; | 141 | packFileDir = "/"+statusDir+"/info/"+packFileName+".list"; |
142 | f.setName( packFileDir ); | 142 | f.setName( packFileDir ); |
143 | qDebug("Try to open %s", packFileDir.latin1()); | 143 | qDebug("Try to open %s", packFileDir.latin1()); |
144 | if ( ! f.open(IO_ReadOnly) ) | 144 | if ( ! f.open(IO_ReadOnly) ) |
145 | { | 145 | { |
146 | qDebug(" Panik! Could not open"+packFileDir); | 146 | qDebug(" Panik! Could not open"+packFileDir); |
147 | out( "Could not open:\n"+packFileDir+"\n Panik!" ); | 147 | out( "Could not open:\n"+packFileDir+"\n Panik!" ); |
148 | return (QStringList*)0; | 148 | return (QStringList*)0; |
149 | } | 149 | } |
150 | } | 150 | } |
151 | QStringList *fileList = new QStringList(); | 151 | QStringList *fileList = new QStringList(); |
152 | QTextStream t( &f ); | 152 | QTextStream t( &f ); |
153 | while ( !t.eof() ) | 153 | while ( !t.eof() ) |
154 | { | 154 | { |
155 | *fileList += t.readLine(); | 155 | *fileList += t.readLine(); |
156 | } | 156 | } |
157 | f.close(); | 157 | f.close(); |
158 | return fileList; | 158 | return fileList; |
159 | } | 159 | } |
160 | 160 | ||
161 | void PmIpkg::linkPackage( QString packFileName, QString dest ) | 161 | void PmIpkg::linkPackage( QString packFileName, QString dest ) |
162 | { | 162 | { |
163 | if (dest == "root" || dest == "/" ) return; | 163 | if (dest == "root" || dest == "/" ) return; |
164 | QStringList *fileList = getList( packFileName, dest ); | 164 | QStringList *fileList = getList( packFileName, dest ); |
165 | processFileList( fileList, dest ); | 165 | processFileList( fileList, dest ); |
166 | delete fileList; | 166 | delete fileList; |
167 | } | 167 | } |
168 | 168 | ||
169 | void PmIpkg::processFileList( QStringList *fileList, QString d ) | 169 | void PmIpkg::processFileList( QStringList *fileList, QString d ) |
170 | { | 170 | { |
171 | if (!fileList || fileList->isEmpty()) return; | 171 | if (!fileList || fileList->isEmpty()) return; |
172 | for (uint i=0; i < fileList->count(); i++) | 172 | for (uint i=0; i < fileList->count(); i++) |
173 | { | 173 | { |
174 | QString dest = settings->getDestinationUrlByName( d ); | 174 | QString dest = settings->getDestinationUrlByName( d ); |
175 | dest = dest==""?d:dest; | 175 | dest = dest==""?d:dest; |
176 | processLinkDir( (*fileList)[i], dest ); | 176 | processLinkDir( (*fileList)[i], dest ); |
177 | } | 177 | } |
178 | } | 178 | } |
179 | 179 | ||
180 | 180 | ||
181 | void PmIpkg::processLinkDir( QString file, QString dest ) | 181 | void PmIpkg::processLinkDir( QString file, QString dest ) |
182 | { | 182 | { |
183 | pvDebug( 4,"PmIpkg::processLinkDir "+file+" to "+ dest); | 183 | pvDebug( 4,"PmIpkg::processLinkDir "+file+" to "+ dest); |
184 | if (linkOpp==createLink) pvDebug( 4,"opp: createLink"); | 184 | if (linkOpp==createLink) pvDebug( 4,"opp: createLink"); |
185 | if (linkOpp==removeLink) pvDebug( 4,"opp: removeLink"); | 185 | if (linkOpp==removeLink) pvDebug( 4,"opp: removeLink"); |
186 | if ( dest == "???" || dest == "" ) return; | 186 | if ( dest == "???" || dest == "" ) return; |
187 | QString destFile = file; | 187 | QString destFile = file; |
188 | file = dest+"/"+file; | 188 | file = dest+"/"+file; |
189 | if (file == dest) return; | 189 | if (file == dest) return; |
190 | // if (linkOpp==createLink) out( "\ncreating links\n" ); | 190 | // if (linkOpp==createLink) out( "\ncreating links\n" ); |
191 | // if (linkOpp==removeLink) out( "\nremoving links\n" ); | 191 | // if (linkOpp==removeLink) out( "\nremoving links\n" ); |
192 | QFileInfo fileInfo( file ); | 192 | QFileInfo fileInfo( file ); |
193 | if ( fileInfo.isDir() ) | 193 | if ( fileInfo.isDir() ) |
194 | { | 194 | { |
195 | pvDebug(4, "process dir "+file); | 195 | pvDebug(4, "process dir "+file); |
196 | QDir destDir( destFile ); | 196 | QDir destDir( destFile ); |
197 | if (linkOpp==createLink) destDir.mkdir( destFile, true ); | 197 | if (linkOpp==createLink) destDir.mkdir( destFile, true ); |
198 | QDir d( file ); | 198 | QDir d( file ); |
199 | // d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks ); | 199 | // d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks ); |
200 | const QFileInfoList *list = d.entryInfoList(); | 200 | const QFileInfoList *list = d.entryInfoList(); |
201 | QFileInfoListIterator it( *list ); | 201 | QFileInfoListIterator it( *list ); |
202 | QFileInfo *fi; | 202 | QFileInfo *fi; |
203 | while ( (fi=it.current()) ) | 203 | while ( (fi=it.current()) ) |
204 | { | 204 | { |
205 | pvDebug(4, "processLinkDir "+fi->absFilePath()); | 205 | pvDebug(4, "processLinkDir "+fi->absFilePath()); |
206 | processLinkDir( fi->absFilePath(), dest ); | 206 | processLinkDir( fi->absFilePath(), dest ); |
207 | ++it; | 207 | ++it; |
208 | } | 208 | } |
209 | } else | 209 | } else |
210 | if ( fileInfo.isFile() ) | 210 | if ( fileInfo.isFile() ) |
211 | { | 211 | { |
212 | const char *instFile = strdup( (file).latin1() ); | 212 | const char *instFile = strdup( (file).latin1() ); |
213 | const char *linkFile = strdup( (destFile).latin1()); | 213 | const char *linkFile = strdup( (destFile).latin1()); |
214 | if( linkOpp==createLink ) | 214 | if( linkOpp==createLink ) |
215 | { | 215 | { |
216 | pvDebug(4, "linking: "+file+" -> "+destFile ); | 216 | pvDebug(4, "linking: "+file+" -> "+destFile ); |
217 | symlink( instFile, linkFile ); | 217 | symlink( instFile, linkFile ); |
218 | } | 218 | } |
219 | } else { | 219 | } else { |
220 | const char *linkFile = strdup( (destFile).latin1()); | 220 | const char *linkFile = strdup( (destFile).latin1()); |
221 | if( linkOpp==removeLink ) | 221 | if( linkOpp==removeLink ) |
222 | { | 222 | { |
223 | QFileInfo toRemoveLink( destFile ); | 223 | QFileInfo toRemoveLink( destFile ); |
224 | if ( !QFile::exists( file ) && toRemoveLink.isSymLink() ) | 224 | if ( !QFile::exists( file ) && toRemoveLink.isSymLink() ) |
225 | { | 225 | { |
226 | pvDebug(4,"removing "+destFile+" no "+file); | 226 | pvDebug(4,"removing "+destFile+" no "+file); |
227 | unlink( linkFile ); | 227 | unlink( linkFile ); |
228 | } | 228 | } |
229 | } | 229 | } |
230 | } | 230 | } |
231 | } | 231 | } |
232 | 232 | ||
233 | void PmIpkg::loadList( PackageList *pl ) | 233 | void PmIpkg::loadList( PackageList *pl ) |
234 | { | 234 | { |
235 | for( Package *pack = pl->first();pack ; (pack = pl->next()) ) | 235 | for( OipkgPackage *pack = pl->first();pack ; (pack = pl->next()) ) |
236 | { | 236 | { |
237 | if ( pack && (pack->name() != "") && pack) | 237 | if ( pack && (pack->name() != "") && pack) |
238 | { | 238 | { |
239 | if ( pack->toInstall() ) | 239 | if ( pack->toInstall() ) |
240 | to_install.append( pack ); | 240 | to_install.append( pack ); |
241 | if ( pack->toRemove() ) | 241 | if ( pack->toRemove() ) |
242 | to_remove.append( pack ); | 242 | to_remove.append( pack ); |
243 | } | 243 | } |
244 | } | 244 | } |
245 | } | 245 | } |
246 | 246 | ||
247 | void PmIpkg::commit() | 247 | void PmIpkg::commit() |
248 | { | 248 | { |
249 | int sizecount = 0; | 249 | int sizecount = 0; |
250 | installDialog = new InstallDialog(settings,0,0,true); | 250 | installDialog = new InstallDialog(settings,0,0,true); |
251 | installDialog->toRemoveItem->setOpen( true ); | 251 | installDialog->toRemoveItem->setOpen( true ); |
252 | installDialog->toInstallItem->setOpen( true ); | 252 | installDialog->toInstallItem->setOpen( true ); |
253 | for (uint i=0; i < to_remove.count(); i++) | 253 | for (uint i=0; i < to_remove.count(); i++) |
254 | { | 254 | { |
255 | sizecount += 1; | 255 | sizecount += 1; |
256 | installDialog->toRemoveItem->insertItem( new PackageListItem(installDialog->ListViewPackages, to_remove.at(i),settings) ); | 256 | installDialog->toRemoveItem->insertItem( new PackageListItem(installDialog->ListViewPackages, to_remove.at(i),settings) ); |
257 | } | 257 | } |
258 | for (uint i=0; i < to_install.count(); i++) | 258 | for (uint i=0; i < to_install.count(); i++) |
259 | { | 259 | { |
260 | sizecount += to_install.at(i)->size().toInt(); | 260 | sizecount += to_install.at(i)->size().toInt(); |
261 | installDialog->toInstallItem->insertItem( new PackageListItem(installDialog->ListViewPackages, to_install.at(i),settings) ); | 261 | installDialog->toInstallItem->insertItem( new PackageListItem(installDialog->ListViewPackages, to_install.at(i),settings) ); |
262 | } | 262 | } |
263 | runwindow->progress->setTotalSteps(sizecount); | 263 | runwindow->progress->setTotalSteps(sizecount); |
264 | qDebug("Install size %i",sizecount); | 264 | qDebug("Install size %i",sizecount); |
265 | installDialog->showMaximized(); | 265 | installDialog->showMaximized(); |
266 | installDialog->show(); | 266 | installDialog->show(); |
267 | if ( installDialog->exec() ) | 267 | if ( installDialog->exec() ) |
268 | { | 268 | { |
269 | doIt(); | 269 | doIt(); |
270 | runwindow->showMaximized(); | 270 | runwindow->showMaximized(); |
271 | runwindow->show(); | 271 | runwindow->show(); |
272 | } | 272 | } |
273 | installDialog->close(); | 273 | installDialog->close(); |
274 | delete installDialog; | 274 | delete installDialog; |
275 | installDialog = 0; | 275 | installDialog = 0; |
276 | out(tr("\nAll done.")); | 276 | out(tr("\nAll done.")); |
277 | } | 277 | } |
278 | 278 | ||
279 | void PmIpkg::doIt() | 279 | void PmIpkg::doIt() |
280 | { | 280 | { |
281 | runwindow->progress->setProgress(0); | 281 | runwindow->progress->setProgress(0); |
282 | show(); | 282 | show(); |
283 | remove(); | 283 | remove(); |
284 | install(); | 284 | install(); |
285 | } | 285 | } |
286 | 286 | ||
287 | 287 | ||
288 | void PmIpkg::remove() | 288 | void PmIpkg::remove() |
289 | { | 289 | { |
290 | if ( to_remove.count() == 0 ) return; | 290 | if ( to_remove.count() == 0 ) return; |
291 | 291 | ||
292 | out(tr("Removing")+"\n"+tr("please wait")+"\n\n"); | 292 | out(tr("Removing")+"\n"+tr("please wait")+"\n\n"); |
293 | 293 | ||
294 | QStringList *fileList; | 294 | QStringList *fileList = new QStringList; |
295 | for (uint i=0; i < to_remove.count(); i++) | 295 | for (uint i=0; i < to_remove.count(); i++) |
296 | { | 296 | { |
297 | if ( to_remove.at(i)->link() ) fileList = getList( to_remove.at(i)->name(), to_remove.at(i)->dest() ); | 297 | if ( to_remove.at(i)->link() ) fileList = getList( to_remove.at(i)->name(), to_remove.at(i)->dest() ); |
298 | if ( runIpkg("remove " + to_remove.at(i)->installName(), to_remove.at(i)->dest() )) | 298 | if ( runIpkg("remove " + to_remove.at(i)->installName(), to_remove.at(i)->dest() )) |
299 | { | 299 | { |
300 | runwindow->progress->setProgress( 1 ); | 300 | runwindow->progress->setProgress( 1 ); |
301 | linkOpp = removeLink; | 301 | linkOpp = removeLink; |
302 | to_remove.at(i)->processed(); | 302 | to_remove.at(i)->processed(); |
303 | pvDebug(3,"link "+QString::number(i)); | 303 | pvDebug(3,"link "+QString::number(i)); |
304 | if ( to_remove.at(i)->link() ) | 304 | if ( to_remove.at(i)->link() ) |
305 | processFileList( fileList, to_remove.at(i)->dest() ); | 305 | processFileList( fileList, to_remove.at(i)->dest() ); |
306 | //pvDebug(3,"take "+QString::number(i)+" of "+QString::number(to_remove.count())); | 306 | //pvDebug(3,"take "+QString::number(i)+" of "+QString::number(to_remove.count())); |
307 | //if ( to_remove.at(i) ) to_remove.take( i ); | 307 | //if ( to_remove.at(i) ) to_remove.take( i ); |
308 | 308 | ||
309 | out("\n"); | 309 | out("\n"); |
310 | }else{ | 310 | }else{ |
311 | out(tr("Error while removing ")+to_remove.at(i)->name()+"\n"); | 311 | out(tr("Error while removing ")+to_remove.at(i)->name()+"\n"); |
312 | if ( to_remove.at(i)->link() ) | 312 | if ( to_remove.at(i)->link() ) |
313 | processFileList( fileList, to_remove.at(i)->dest() ); | 313 | processFileList( fileList, to_remove.at(i)->dest() ); |
314 | } | 314 | } |
315 | if ( to_remove.at(i)->link() ) | 315 | if ( to_remove.at(i)->link() ) |
316 | processFileList( fileList, to_remove.at(i)->dest() ); | 316 | processFileList( fileList, to_remove.at(i)->dest() ); |
317 | if ( to_remove.at(i)->link() )delete fileList; | 317 | if ( to_remove.at(i)->link() )delete fileList; |
318 | } | 318 | } |
319 | to_remove.clear(); | 319 | to_remove.clear(); |
320 | out("\n"); | 320 | out("\n"); |
321 | } | 321 | } |
322 | 322 | ||
323 | 323 | ||
324 | void PmIpkg::install() | 324 | void PmIpkg::install() |
325 | { | 325 | { |
326 | if ( to_install.count() == 0 ) return; | 326 | if ( to_install.count() == 0 ) return; |
327 | out(tr("Installing")+"\n"+tr("please wait")+"\n"); | 327 | out(tr("Installing")+"\n"+tr("please wait")+"\n"); |
328 | for (uint i=0; i < to_install.count(); i++) | 328 | for (uint i=0; i < to_install.count(); i++) |
329 | { | 329 | { |
330 | qDebug("install loop %i of %i installing %s",i,to_install.count(),to_install.at(i)->installName().latin1()); //pvDebug | 330 | qDebug("install loop %i of %i installing %s",i,to_install.count(),to_install.at(i)->installName().latin1()); //pvDebug |
331 | if (to_install.at(i)->link()) | 331 | if (to_install.at(i)->link()) |
332 | { | 332 | { |
333 | // hack to have package.list | 333 | // hack to have package.list |
334 | // in "dest"/usr/lib/ipkg/info/ | 334 | // in "dest"/usr/lib/ipkg/info/ |
335 | QString rds = settings->getDestinationUrlByName("root"); | 335 | QString rds = settings->getDestinationUrlByName("root"); |
336 | QString lds = settings->getDestinationUrlByName(to_install.at(i)->dest()); | 336 | QString lds = settings->getDestinationUrlByName(to_install.at(i)->dest()); |
337 | QString listFile = "usr/lib/ipkg/lists/"+to_install.at(i)->name()+".list"; | 337 | QString listFile = "usr/lib/ipkg/lists/"+to_install.at(i)->name()+".list"; |
338 | rds += listFile; | 338 | rds += listFile; |
339 | lds += listFile; | 339 | lds += listFile; |
340 | const char *rd = rds.latin1(); | 340 | const char *rd = rds.latin1(); |
341 | const char *ld = lds.latin1(); | 341 | const char *ld = lds.latin1(); |
342 | pvDebug(4, "linking: "+rds+" -> "+lds ); | 342 | pvDebug(4, "linking: "+rds+" -> "+lds ); |
343 | symlink( rd, ld ); | 343 | symlink( rd, ld ); |
344 | } | 344 | } |
345 | if ( runIpkg("install " + to_install.at(i)->installName(), to_install.at(i)->dest() )) | 345 | if ( runIpkg("install " + to_install.at(i)->installName(), to_install.at(i)->dest() )) |
346 | { | 346 | { |
347 | runwindow->progress->setProgress( to_install.at(i)->size().toInt() + runwindow->progress->progress()); | 347 | runwindow->progress->setProgress( to_install.at(i)->size().toInt() + runwindow->progress->progress()); |
348 | to_install.at(i)->processed(); | 348 | to_install.at(i)->processed(); |
349 | linkOpp = createLink; | 349 | linkOpp = createLink; |
350 | if ( to_install.at(i)->link() ) | 350 | if ( to_install.at(i)->link() ) |
351 | makeLinks( to_install.at(i) ); | 351 | makeLinks( to_install.at(i) ); |
352 | // to_install.take( i ); | 352 | // to_install.take( i ); |
353 | out("\n"); | 353 | out("\n"); |
354 | }else{ | 354 | }else{ |
355 | out(tr("Error while installing")+to_install.at(i)->name()+"\n"); | 355 | out(tr("Error while installing")+to_install.at(i)->name()+"\n"); |
356 | linkOpp = createLink; | 356 | linkOpp = createLink; |
357 | if ( to_install.at(i)->link() ) | 357 | if ( to_install.at(i)->link() ) |
358 | makeLinks( to_install.at(i) ); | 358 | makeLinks( to_install.at(i) ); |
359 | } | 359 | } |
360 | } | 360 | } |
361 | out("\n"); | 361 | out("\n"); |
362 | to_install.clear(); | 362 | to_install.clear(); |
363 | } | 363 | } |
364 | 364 | ||
365 | void PmIpkg::createLinks( const QString &dest ) | 365 | void PmIpkg::createLinks( const QString &dest ) |
366 | { | 366 | { |
367 | pvDebug(2,"PmIpkg::createLinks "+dest); | 367 | pvDebug(2,"PmIpkg::createLinks "+dest); |
368 | linkOpp=createLink; | 368 | linkOpp=createLink; |
369 | QString url = settings->getDestinationUrlByName( dest ); | 369 | QString url = settings->getDestinationUrlByName( dest ); |
370 | url = url==""?dest:url; | 370 | url = url==""?dest:url; |
371 | processLinkDir( "/opt", url ); | 371 | processLinkDir( "/opt", url ); |
372 | processLinkDir( "/usr", url ); | 372 | processLinkDir( "/usr", url ); |
373 | } | 373 | } |
374 | 374 | ||
375 | void PmIpkg::removeLinks( const QString &dest ) | 375 | void PmIpkg::removeLinks( const QString &dest ) |
376 | { | 376 | { |
377 | pvDebug(2,"PmIpkg::removeLinks "+dest); | 377 | pvDebug(2,"PmIpkg::removeLinks "+dest); |
378 | linkOpp=removeLink; | 378 | linkOpp=removeLink; |
379 | QString url = settings->getDestinationUrlByName( dest ); | 379 | QString url = settings->getDestinationUrlByName( dest ); |
380 | url = url==""?dest:url; | 380 | url = url==""?dest:url; |
381 | processLinkDir( "/opt", url ); | 381 | processLinkDir( "/opt", url ); |
382 | processLinkDir( "/usr", url ); | 382 | processLinkDir( "/usr", url ); |
383 | } | 383 | } |
384 | 384 | ||
385 | void PmIpkg::update() | 385 | void PmIpkg::update() |
386 | { | 386 | { |
387 | show(); | 387 | show(); |
388 | runIpkg( "update" ); | 388 | runIpkg( "update" ); |
389 | } | 389 | } |
390 | 390 | ||
391 | void PmIpkg::out( QString o ) | 391 | void PmIpkg::out( QString o ) |
392 | { | 392 | { |
393 | //runwindow->outPut->append(o); | 393 | //runwindow->outPut->append(o); |
394 | runwindow->outPut->setText(runwindow->outPut->text()+o); | 394 | runwindow->outPut->setText(runwindow->outPut->text()+o); |
395 | runwindow->outPut->setCursorPosition(runwindow->outPut->numLines() + 1,0,FALSE); | 395 | runwindow->outPut->setCursorPosition(runwindow->outPut->numLines() + 1,0,FALSE); |
396 | } | 396 | } |
397 | 397 | ||
398 | 398 | ||
399 | 399 | ||
400 | 400 | ||
401 | void PmIpkg::show() | 401 | void PmIpkg::show() |
402 | { | 402 | { |
403 | if (!runwindow->isVisible()) | 403 | if (!runwindow->isVisible()) |
404 | { | 404 | { |
405 | runwindow->showMaximized(); | 405 | runwindow->showMaximized(); |
406 | runwindow->show(); | 406 | runwindow->show(); |
407 | } | 407 | } |
408 | runwindow->outPut->setText(""); | 408 | runwindow->outPut->setText(""); |
409 | } | 409 | } |
410 | 410 | ||
411 | void PmIpkg::installFile(const QString &fileName, const QString &dest) | 411 | void PmIpkg::installFile(const QString &fileName, const QString &dest) |
412 | { | 412 | { |
413 | 413 | ||
414 | to_install.clear(); | 414 | to_install.clear(); |
415 | to_remove.clear(); | 415 | to_remove.clear(); |
416 | pvDebug( 2,"PmIpkg::installFile "+ fileName); | 416 | pvDebug( 2,"PmIpkg::installFile "+ fileName); |
417 | Package *p = new Package(fileName,settings); | 417 | OipkgPackage *p = new OipkgPackage(fileName,settings); |
418 | if ( dest!="") p->setDest( dest ); | 418 | if ( dest!="") p->setDest( dest ); |
419 | to_install.append( p ); | 419 | to_install.append( p ); |
420 | commit(); | 420 | commit(); |
421 | delete p; | 421 | delete p; |
422 | } | 422 | } |
423 | 423 | ||
424 | void PmIpkg::removeFile(const QString &fileName, const QString &dest) | 424 | void PmIpkg::removeFile(const QString &fileName, const QString &dest) |
425 | { | 425 | { |
426 | 426 | ||
427 | to_install.clear(); | 427 | to_install.clear(); |
428 | to_remove.clear(); | 428 | to_remove.clear(); |
429 | pvDebug( 2,"PmIpkg::removeFile "+ fileName); | 429 | pvDebug( 2,"PmIpkg::removeFile "+ fileName); |
430 | Package *p = new Package(fileName,settings); | 430 | OipkgPackage *p = new OipkgPackage(fileName,settings); |
431 | if ( dest!="") p->setDest( dest ); | 431 | if ( dest!="") p->setDest( dest ); |
432 | to_remove.append( p ); | 432 | to_remove.append( p ); |
433 | commit(); | 433 | commit(); |
434 | delete p; | 434 | delete p; |
435 | } | 435 | } |
436 | 436 | ||
437 | 437 | ||
438 | void PmIpkg::clearLists() | 438 | void PmIpkg::clearLists() |
439 | { | 439 | { |
440 | to_remove.clear(); | 440 | to_remove.clear(); |
441 | to_install.clear(); | 441 | to_install.clear(); |
442 | } | 442 | } |
443 | 443 | ||
444 | 444 | ||
diff --git a/noncore/unsupported/oipkg/pmipkg.h b/noncore/unsupported/oipkg/pmipkg.h index 2f4d6ae..cb0759a 100644 --- a/noncore/unsupported/oipkg/pmipkg.h +++ b/noncore/unsupported/oipkg/pmipkg.h | |||
@@ -1,69 +1,69 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * This program is free software; you can redistribute it and/or modify * | 3 | * This program is free software; you can redistribute it and/or modify * |
4 | * it under the terms of the GNU General Public License as published by * | 4 | * it under the terms of the GNU General Public License as published by * |
5 | * the Free Software Foundation; either version 2 of the License, or * | 5 | * the Free Software Foundation; either version 2 of the License, or * |
6 | * (at your option) any later version. * | 6 | * (at your option) any later version. * |
7 | * * | 7 | * * |
8 | ***************************************************************************/ | 8 | ***************************************************************************/ |
9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> | 9 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> |
10 | #ifndef PMIPKG_H | 10 | #ifndef PMIPKG_H |
11 | #define PMIPKG_H | 11 | #define PMIPKG_H |
12 | 12 | ||
13 | #include <qobject.h> | 13 | #include <qobject.h> |
14 | #include <qlist.h> | 14 | #include <qlist.h> |
15 | #include <qstring.h> | 15 | #include <qstring.h> |
16 | #include <qwidget.h> | 16 | #include <qwidget.h> |
17 | #include "pksettings.h" | 17 | #include "pksettings.h" |
18 | #include "runwindow.h" | 18 | #include "runwindow.h" |
19 | #include "packagelist.h" | 19 | #include "packagelist.h" |
20 | #include "installdialog.h" | 20 | #include "installdialog.h" |
21 | #include "debug.h" | 21 | #include "debug.h" |
22 | 22 | ||
23 | #define createLink 0 | 23 | #define createLink 0 |
24 | #define removeLink 1 | 24 | #define removeLink 1 |
25 | 25 | ||
26 | class Package; | 26 | class OipkgPackage; |
27 | class PmIpkg : public QObject | 27 | class PmIpkg : public QObject |
28 | { | 28 | { |
29 | Q_OBJECT | 29 | Q_OBJECT |
30 | public: | 30 | public: |
31 | PmIpkg( PackageManagerSettings* , QWidget* p=0, const char * name=0, WFlags f=0 ); | 31 | PmIpkg( PackageManagerSettings* , QWidget* p=0, const char * name=0, WFlags f=0 ); |
32 | ~PmIpkg(); | 32 | ~PmIpkg(); |
33 | 33 | ||
34 | int linkOpp; | 34 | int linkOpp; |
35 | void loadList( PackageList* ); | 35 | void loadList( PackageList* ); |
36 | void commit(); | 36 | void commit(); |
37 | void update(); | 37 | void update(); |
38 | void show(); | 38 | void show(); |
39 | void clearLists(); | 39 | void clearLists(); |
40 | 40 | ||
41 | public slots: | 41 | public slots: |
42 | void doIt(); | 42 | void doIt(); |
43 | void install(); | 43 | void install(); |
44 | void remove(); | 44 | void remove(); |
45 | void installFile(const QString &fileName, const QString &dest=""); | 45 | void installFile(const QString &fileName, const QString &dest=""); |
46 | void removeFile(const QString &fileName, const QString &dest=""); | 46 | void removeFile(const QString &fileName, const QString &dest=""); |
47 | void createLinks( const QString &dest ); | 47 | void createLinks( const QString &dest ); |
48 | void removeLinks( const QString &dest ); | 48 | void removeLinks( const QString &dest ); |
49 | 49 | ||
50 | 50 | ||
51 | private: | 51 | private: |
52 | QString ipkg_cmd; | 52 | QString ipkg_cmd; |
53 | PackageManagerSettings* settings; | 53 | PackageManagerSettings* settings; |
54 | RunWindow *runwindow; | 54 | RunWindow *runwindow; |
55 | InstallDialog *installDialog; | 55 | InstallDialog *installDialog; |
56 | QList<Package> to_remove; | 56 | QList<OipkgPackage> to_remove; |
57 | QList<Package> to_install; | 57 | QList<OipkgPackage> to_install; |
58 | void makeLinks(Package*); | 58 | void makeLinks(OipkgPackage*); |
59 | void linkPackage( QString, QString ); | 59 | void linkPackage( QString, QString ); |
60 | void processLinkDir( QString , QString ); | 60 | void processLinkDir( QString , QString ); |
61 | bool runIpkg(const QString& args, const QString& dest="" ); | 61 | bool runIpkg(const QString& args, const QString& dest="" ); |
62 | void out( QString ); | 62 | void out( QString ); |
63 | QStringList* getList( QString, QString ); | 63 | QStringList* getList( QString, QString ); |
64 | void processFileList( QStringList*, QString ); | 64 | void processFileList( QStringList*, QString ); |
65 | 65 | ||
66 | 66 | ||
67 | }; | 67 | }; |
68 | 68 | ||
69 | #endif | 69 | #endif |