-rw-r--r-- | noncore/unsupported/oipkg/TODO | 5 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/mainwindow.cpp | 3 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelist.cpp | 6 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistdoclnk.cpp | 3 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/packagelistremote.cpp | 1 | ||||
-rw-r--r-- | noncore/unsupported/oipkg/pmipkg.cpp | 31 |
6 files changed, 28 insertions, 21 deletions
diff --git a/noncore/unsupported/oipkg/TODO b/noncore/unsupported/oipkg/TODO index 6de54ec..b92cbb0 100644 --- a/noncore/unsupported/oipkg/TODO +++ b/noncore/unsupported/oipkg/TODO | |||
@@ -1,15 +1,12 @@ | |||
1 | * Settings Class | 1 | * Settings Class |
2 | * tr() ;) | ||
3 | * Dialog to display ipkg output live | ||
4 | * parse "to install" and "to remove" from status | 2 | * parse "to install" and "to remove" from status |
5 | * install local file dialog | 3 | * install local file dialog |
6 | * qcop | 4 | * qcop |
7 | * error handling | 5 | * error handling |
8 | * manage links | 6 | * manage links |
9 | * dependency checking | 7 | * dependency checking |
10 | * create dest if it does not exist | 8 | * create dest if it does not exist |
11 | * allow reinstalling | 9 | * allow reinstalling |
12 | * different types of filters and searches | 10 | * different types of filters and searches |
13 | i.e. name, desc, files etc | 11 | i.e. name, desc, files etc |
14 | * mark packages from doclnk and ipkgfind installed if installed | 12 | * display new list after update \ No newline at end of file |
15 | * show if different version is installed \ No newline at end of file | ||
diff --git a/noncore/unsupported/oipkg/mainwindow.cpp b/noncore/unsupported/oipkg/mainwindow.cpp index 2fa91e3..19a1420 100644 --- a/noncore/unsupported/oipkg/mainwindow.cpp +++ b/noncore/unsupported/oipkg/mainwindow.cpp | |||
@@ -1,492 +1,493 @@ | |||
1 | // adadpted form qpe/qipkg | 1 | // adadpted form qpe/qipkg |
2 | 2 | ||
3 | 3 | ||
4 | #include "mainwindow.h" | 4 | #include "mainwindow.h" |
5 | 5 | ||
6 | #include <qpe/qpemenubar.h> | 6 | #include <qpe/qpemenubar.h> |
7 | #include <qpe/qpemessagebox.h> | 7 | #include <qpe/qpemessagebox.h> |
8 | #include <qpe/resource.h> | 8 | #include <qpe/resource.h> |
9 | #include <qpe/config.h> | 9 | #include <qpe/config.h> |
10 | #include <qpe/qpetoolbar.h> | 10 | #include <qpe/qpetoolbar.h> |
11 | #include <qpe/qcopenvelope_qws.h> | 11 | #include <qpe/qcopenvelope_qws.h> |
12 | #include <qaction.h> | 12 | #include <qaction.h> |
13 | #include <qmessagebox.h> | 13 | #include <qmessagebox.h> |
14 | #include <qpopupmenu.h> | 14 | #include <qpopupmenu.h> |
15 | #include <qtoolbutton.h> | 15 | #include <qtoolbutton.h> |
16 | #include <qstring.h> | 16 | #include <qstring.h> |
17 | #include <qlabel.h> | 17 | #include <qlabel.h> |
18 | #include <qfile.h> | 18 | #include <qfile.h> |
19 | #include <qlistview.h> | 19 | #include <qlistview.h> |
20 | #include <qtextview.h> | 20 | #include <qtextview.h> |
21 | #include <qcheckbox.h> | 21 | #include <qcheckbox.h> |
22 | #include <qlineedit.h> | 22 | #include <qlineedit.h> |
23 | #include <qtabwidget.h> | 23 | #include <qtabwidget.h> |
24 | #include <qcombobox.h> | 24 | #include <qcombobox.h> |
25 | #include <qmessagebox.h> | 25 | #include <qmessagebox.h> |
26 | #include <qpushbutton.h> | 26 | #include <qpushbutton.h> |
27 | #include <qlayout.h> | 27 | #include <qlayout.h> |
28 | 28 | ||
29 | #include "pksettingsbase.h" | 29 | #include "pksettingsbase.h" |
30 | #include "utils.h" | 30 | #include "utils.h" |
31 | #include "packagelistitem.h" | 31 | #include "packagelistitem.h" |
32 | 32 | ||
33 | 33 | ||
34 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : | 34 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) : |
35 | QMainWindow( parent, name, f ) | 35 | QMainWindow( parent, name, f ) |
36 | { | 36 | { |
37 | setCaption( tr("Package Manager") ); | 37 | setCaption( tr("Package Manager") ); |
38 | settings = new PackageManagerSettings(this,0,TRUE); | 38 | settings = new PackageManagerSettings(this,0,TRUE); |
39 | listViewPackages = new PackageListView( this,"listViewPackages",settings ); | 39 | listViewPackages = new PackageListView( this,"listViewPackages",settings ); |
40 | setCentralWidget( listViewPackages ); | 40 | setCentralWidget( listViewPackages ); |
41 | listViewPackages->addList( tr("feeds"), &packageListServers ); | 41 | listViewPackages->addList( tr("feeds"), &packageListServers ); |
42 | listViewPackages->addList( tr("ipkgfind"), &packageListSearch ); | 42 | listViewPackages->addList( tr("ipkgfind"), &packageListSearch ); |
43 | listViewPackages->addList( tr("documents"), &packageListDocLnk ); | 43 | listViewPackages->addList( tr("documents"), &packageListDocLnk ); |
44 | //wait = new QMessageBox(tr("oipkg"),tr("Please wait")//,QMessageBox::Information,QMessageBox::NoButton,QMessageBox::NoButton,QMessageBox::NoButton); | 44 | //wait = new QMessageBox(tr("oipkg"),tr("Please wait")//,QMessageBox::Information,QMessageBox::NoButton,QMessageBox::NoButton,QMessageBox::NoButton); |
45 | //wait = new QMessageBox(this); | 45 | //wait = new QMessageBox(this); |
46 | // wait->setText(tr("Please wait")); | 46 | // wait->setText(tr("Please wait")); |
47 | ipkg = new PmIpkg( settings, this ); | 47 | ipkg = new PmIpkg( settings, this ); |
48 | // settings->setIpkg( ipkg ); | 48 | // settings->setIpkg( ipkg ); |
49 | packageListServers.setSettings( settings ); | 49 | packageListServers.setSettings( settings ); |
50 | packageListSearch.setSettings( settings ); | 50 | packageListSearch.setSettings( settings ); |
51 | packageListDocLnk.setSettings( settings ); | 51 | packageListDocLnk.setSettings( settings ); |
52 | pvDebug(9,"packageListServers.update"); | 52 | pvDebug(9,"packageListServers.update"); |
53 | packageListServers.update(); | 53 | packageListServers.update(); |
54 | pvDebug(9,"packageListDocLnk.update"); | 54 | pvDebug(9,"packageListDocLnk.update"); |
55 | packageListDocLnk.update(); | 55 | packageListDocLnk.update(); |
56 | pvDebug(9,"makeMenu"); | 56 | pvDebug(9,"makeMenu"); |
57 | makeMenu(); | 57 | makeMenu(); |
58 | makeChannel(); | 58 | makeChannel(); |
59 | //opie is hardcoded default ;) | 59 | //opie is hardcoded default ;) |
60 | pvDebug(9,"section->setCurrentItem"); | 60 | pvDebug(9,"section->setCurrentItem"); |
61 | for (int i=0;i<section->count();i++) | 61 | for (int i=0;i<section->count();i++) |
62 | if (section->text(i)=="opie") | 62 | if (section->text(i)=="opie") |
63 | section->setCurrentItem(i); | 63 | section->setCurrentItem(i); |
64 | sectionChanged(); | 64 | sectionChanged(); |
65 | 65 | ||
66 | connect( section, SIGNAL(activated(int)), SLOT(sectionChanged()) ); | 66 | connect( section, SIGNAL(activated(int)), SLOT(sectionChanged()) ); |
67 | connect( subsection, SIGNAL(activated(int)), SLOT(subSectionChanged()) ); | 67 | connect( subsection, SIGNAL(activated(int)), SLOT(subSectionChanged()) ); |
68 | 68 | ||
69 | connect( settings->removeLinksButton, SIGNAL( clicked()), | 69 | connect( settings->removeLinksButton, SIGNAL( clicked()), |
70 | SLOT(removeLinks()) ); | 70 | SLOT(removeLinks()) ); |
71 | connect( settings->createLinksButton, SIGNAL( clicked()), | 71 | connect( settings->createLinksButton, SIGNAL( clicked()), |
72 | SLOT(createLinks()) ); | 72 | SLOT(createLinks()) ); |
73 | 73 | ||
74 | pvDebug(9,"displayList"); | 74 | pvDebug(9,"displayList"); |
75 | displayList(); | 75 | displayList(); |
76 | } | 76 | } |
77 | 77 | ||
78 | void MainWindow::makeMenu() | 78 | void MainWindow::makeMenu() |
79 | { | 79 | { |
80 | 80 | ||
81 | QPEToolBar *toolBar = new QPEToolBar( this ); | 81 | QPEToolBar *toolBar = new QPEToolBar( this ); |
82 | QPEMenuBar *menuBar = new QPEMenuBar( toolBar ); | 82 | QPEMenuBar *menuBar = new QPEMenuBar( toolBar ); |
83 | QPopupMenu *srvMenu = new QPopupMenu( menuBar ); | 83 | QPopupMenu *srvMenu = new QPopupMenu( menuBar ); |
84 | QPopupMenu *viewMenu = new QPopupMenu( menuBar ); | 84 | QPopupMenu *viewMenu = new QPopupMenu( menuBar ); |
85 | QPopupMenu *cfgMenu = new QPopupMenu( menuBar ); | 85 | QPopupMenu *cfgMenu = new QPopupMenu( menuBar ); |
86 | // QPopupMenu *sectMenu = new QPopupMenu( menuBar ); | 86 | // QPopupMenu *sectMenu = new QPopupMenu( menuBar ); |
87 | 87 | ||
88 | setToolBarsMovable( false ); | 88 | setToolBarsMovable( false ); |
89 | toolBar->setHorizontalStretchable( true ); | 89 | toolBar->setHorizontalStretchable( true ); |
90 | menuBar->insertItem( tr( "Package" ), srvMenu ); | 90 | menuBar->insertItem( tr( "Package" ), srvMenu ); |
91 | menuBar->insertItem( tr( "View" ), viewMenu ); | 91 | menuBar->insertItem( tr( "View" ), viewMenu ); |
92 | menuBar->insertItem( tr( "Settings" ), cfgMenu ); | 92 | menuBar->insertItem( tr( "Settings" ), cfgMenu ); |
93 | // menuBar->insertItem( tr( "Sections" ), sectMenu ); | 93 | // menuBar->insertItem( tr( "Sections" ), sectMenu ); |
94 | 94 | ||
95 | QLabel *spacer = new QLabel( "", toolBar ); | 95 | QLabel *spacer; |
96 | // spacer = new QLabel( "", toolBar ); | ||
96 | // spacer->setBackgroundColor( toolBar->backgroundColor() ); | 97 | // spacer->setBackgroundColor( toolBar->backgroundColor() ); |
97 | // toolBar->setStretchableWidget( spacer ); | 98 | // toolBar->setStretchableWidget( spacer ); |
98 | 99 | ||
99 | 100 | ||
100 | runAction = new QAction( tr( "Apply" ), | 101 | runAction = new QAction( tr( "Apply" ), |
101 | Resource::loadPixmap( "oipkg/install" ), | 102 | Resource::loadPixmap( "oipkg/install" ), |
102 | QString::null, 0, this, 0 ); | 103 | QString::null, 0, this, 0 ); |
103 | connect( runAction, SIGNAL( activated() ), | 104 | connect( runAction, SIGNAL( activated() ), |
104 | this, SLOT( runIpkg() ) ); | 105 | this, SLOT( runIpkg() ) ); |
105 | runAction->addTo( toolBar ); | 106 | runAction->addTo( toolBar ); |
106 | runAction->addTo( srvMenu ); | 107 | runAction->addTo( srvMenu ); |
107 | 108 | ||
108 | srvMenu->insertSeparator (); | 109 | srvMenu->insertSeparator (); |
109 | 110 | ||
110 | updateAction = new QAction( tr( "Update" ), | 111 | updateAction = new QAction( tr( "Update" ), |
111 | Resource::loadIconSet( "oipkg/update" ), | 112 | Resource::loadIconSet( "oipkg/update" ), |
112 | QString::null, 0, this, 0 ); | 113 | QString::null, 0, this, 0 ); |
113 | connect( updateAction, SIGNAL( activated() ), | 114 | connect( updateAction, SIGNAL( activated() ), |
114 | this , SLOT( updateList() ) ); | 115 | this , SLOT( updateList() ) ); |
115 | updateAction->addTo( toolBar ); | 116 | updateAction->addTo( toolBar ); |
116 | updateAction->addTo( srvMenu ); | 117 | updateAction->addTo( srvMenu ); |
117 | 118 | ||
118 | QAction *cfgact; | 119 | QAction *cfgact; |
119 | 120 | ||
120 | cfgact = new QAction( tr( "Setups" ), | 121 | cfgact = new QAction( tr( "Setups" ), |
121 | QString::null, 0, this, 0 ); | 122 | QString::null, 0, this, 0 ); |
122 | connect( cfgact, SIGNAL( activated() ), | 123 | connect( cfgact, SIGNAL( activated() ), |
123 | SLOT( showSettings() ) ); | 124 | SLOT( showSettings() ) ); |
124 | cfgact->addTo( cfgMenu ); | 125 | cfgact->addTo( cfgMenu ); |
125 | 126 | ||
126 | cfgact = new QAction( tr( "Servers" ), | 127 | cfgact = new QAction( tr( "Servers" ), |
127 | QString::null, 0, this, 0 ); | 128 | QString::null, 0, this, 0 ); |
128 | connect( cfgact, SIGNAL( activated() ), | 129 | connect( cfgact, SIGNAL( activated() ), |
129 | SLOT( showSettingsSrv() ) ); | 130 | SLOT( showSettingsSrv() ) ); |
130 | cfgact->addTo( cfgMenu ); | 131 | cfgact->addTo( cfgMenu ); |
131 | cfgact = new QAction( tr( "Destinations" ), | 132 | cfgact = new QAction( tr( "Destinations" ), |
132 | QString::null, 0, this, 0 ); | 133 | QString::null, 0, this, 0 ); |
133 | connect( cfgact, SIGNAL( activated() ), | 134 | connect( cfgact, SIGNAL( activated() ), |
134 | SLOT( showSettingsDst() ) ); | 135 | SLOT( showSettingsDst() ) ); |
135 | cfgact->addTo( cfgMenu ); | 136 | cfgact->addTo( cfgMenu ); |
136 | 137 | ||
137 | QAction *a; | 138 | QAction *a; |
138 | 139 | ||
139 | // SECTIONS | 140 | // SECTIONS |
140 | sectionBar = new QPEToolBar( this ); | 141 | sectionBar = new QPEToolBar( this ); |
141 | addToolBar( sectionBar, "Section", QMainWindow::Top, TRUE ); | 142 | addToolBar( sectionBar, "Section", QMainWindow::Top, TRUE ); |
142 | sectionBar->setHorizontalStretchable( true ); | 143 | sectionBar->setHorizontalStretchable( true ); |
143 | QLabel *label = new QLabel( tr("Section: "), sectionBar ); | 144 | QLabel *label = new QLabel( tr("Section: "), sectionBar ); |
144 | label->setBackgroundColor( sectionBar->backgroundColor() ); | 145 | label->setBackgroundColor( sectionBar->backgroundColor() ); |
145 | sectionBar->setStretchableWidget( label ); | 146 | sectionBar->setStretchableWidget( label ); |
146 | section = new QComboBox( false, sectionBar ); | 147 | section = new QComboBox( false, sectionBar ); |
147 | label = new QLabel( " / ", sectionBar ); | 148 | label = new QLabel( " / ", sectionBar ); |
148 | label->setBackgroundColor( sectionBar->backgroundColor() ); | 149 | label->setBackgroundColor( sectionBar->backgroundColor() ); |
149 | subsection = new QComboBox( false, sectionBar ); | 150 | subsection = new QComboBox( false, sectionBar ); |
150 | a = new QAction( tr( "Close Section" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); | 151 | a = new QAction( tr( "Close Section" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); |
151 | connect( a, SIGNAL( activated() ), this, SLOT( sectionClose() ) ); | 152 | connect( a, SIGNAL( activated() ), this, SLOT( sectionClose() ) ); |
152 | a->addTo( sectionBar ); | 153 | a->addTo( sectionBar ); |
153 | setSections(); | 154 | setSections(); |
154 | setSubSections(); | 155 | setSubSections(); |
155 | sectionAction = new QAction( tr( "Sections" ), QString::null, 0, this, 0 ); | 156 | sectionAction = new QAction( tr( "Sections" ), QString::null, 0, this, 0 ); |
156 | connect( sectionAction, SIGNAL( toggled(bool) ), this, SLOT( sectionShow(bool) ) ); | 157 | connect( sectionAction, SIGNAL( toggled(bool) ), this, SLOT( sectionShow(bool) ) ); |
157 | sectionAction->setToggleAction( true ); | 158 | sectionAction->setToggleAction( true ); |
158 | sectionAction->addTo( viewMenu ); | 159 | sectionAction->addTo( viewMenu ); |
159 | 160 | ||
160 | //FIND | 161 | //FIND |
161 | findBar = new QPEToolBar(this); | 162 | findBar = new QPEToolBar(this); |
162 | addToolBar( findBar, "Filter", QMainWindow::Top, TRUE ); | 163 | addToolBar( findBar, "Filter", QMainWindow::Top, TRUE ); |
163 | label = new QLabel( tr("Filter: "), findBar ); | 164 | label = new QLabel( tr("Filter: "), findBar ); |
164 | label->setBackgroundColor( findBar->backgroundColor() ); | 165 | label->setBackgroundColor( findBar->backgroundColor() ); |
165 | findBar->setHorizontalStretchable( TRUE ); | 166 | findBar->setHorizontalStretchable( TRUE ); |
166 | findEdit = new QLineEdit( findBar, "findEdit" ); | 167 | findEdit = new QLineEdit( findBar, "findEdit" ); |
167 | findBar->setStretchableWidget( findEdit ); | 168 | findBar->setStretchableWidget( findEdit ); |
168 | connect( findEdit, SIGNAL( textChanged( const QString & ) ), | 169 | connect( findEdit, SIGNAL( textChanged( const QString & ) ), |
169 | this, SLOT( displayList() ) ); | 170 | this, SLOT( displayList() ) ); |
170 | a = new QAction( tr( "Clear Find" ), Resource::loadPixmap( "back" ), QString::null, 0, this, 0 ); | 171 | a = new QAction( tr( "Clear Find" ), Resource::loadPixmap( "back" ), QString::null, 0, this, 0 ); |
171 | connect( a, SIGNAL( activated() ), findEdit, SLOT( clear() ) ); | 172 | connect( a, SIGNAL( activated() ), findEdit, SLOT( clear() ) ); |
172 | a->addTo( findBar ); | 173 | a->addTo( findBar ); |
173 | a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); | 174 | a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); |
174 | connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) ); | 175 | connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) ); |
175 | a->addTo( findBar ); | 176 | a->addTo( findBar ); |
176 | findAction = new QAction( tr( "Filter" ), QString::null, 0, this, 0 ); | 177 | findAction = new QAction( tr( "Filter" ), QString::null, 0, this, 0 ); |
177 | connect( findAction, SIGNAL( toggled(bool) ), this, SLOT( findShow(bool) ) ); | 178 | connect( findAction, SIGNAL( toggled(bool) ), this, SLOT( findShow(bool) ) ); |
178 | findAction->setToggleAction( true ); | 179 | findAction->setToggleAction( true ); |
179 | findAction->addTo( viewMenu ); | 180 | findAction->addTo( viewMenu ); |
180 | 181 | ||
181 | //SEARCH | 182 | //SEARCH |
182 | searchBar = new QPEToolBar(this); | 183 | searchBar = new QPEToolBar(this); |
183 | addToolBar( searchBar, "Search", QMainWindow::Top, TRUE ); | 184 | addToolBar( searchBar, "Search", QMainWindow::Top, TRUE ); |
184 | label = new QLabel( tr("ipkgfind: "), searchBar ); | 185 | label = new QLabel( tr("ipkgfind: "), searchBar ); |
185 | label->setBackgroundColor( searchBar->backgroundColor() ); | 186 | label->setBackgroundColor( searchBar->backgroundColor() ); |
186 | searchBar->setHorizontalStretchable( TRUE ); | 187 | searchBar->setHorizontalStretchable( TRUE ); |
187 | searchEdit = new QLineEdit( searchBar, "seachEdit" ); | 188 | searchEdit = new QLineEdit( searchBar, "seachEdit" ); |
188 | searchBar->setStretchableWidget( searchEdit ); | 189 | searchBar->setStretchableWidget( searchEdit ); |
189 | // connect( searchEdit, SIGNAL( textChanged( const QString & ) ), | 190 | // connect( searchEdit, SIGNAL( textChanged( const QString & ) ), |
190 | // this, SLOT( displayList() ) ); | 191 | // this, SLOT( displayList() ) ); |
191 | a = new QAction( tr( "Clear Search" ), Resource::loadPixmap( "back" ), QString::null, 0, this, 0 ); | 192 | a = new QAction( tr( "Clear Search" ), Resource::loadPixmap( "back" ), QString::null, 0, this, 0 ); |
192 | connect( a, SIGNAL( activated() ), searchEdit, SLOT( clear() ) ); | 193 | connect( a, SIGNAL( activated() ), searchEdit, SLOT( clear() ) ); |
193 | a->addTo( searchBar ); | 194 | a->addTo( searchBar ); |
194 | searchCommit = new QAction( tr( "Do Search" ), Resource::loadPixmap( "find" ), QString::null, 0, this, 0 ); | 195 | searchCommit = new QAction( tr( "Do Search" ), Resource::loadPixmap( "find" ), QString::null, 0, this, 0 ); |
195 | connect( searchCommit, SIGNAL( activated() ), SLOT( remotePackageQuery() ) ); | 196 | connect( searchCommit, SIGNAL( activated() ), SLOT( remotePackageQuery() ) ); |
196 | searchCommit->addTo( searchBar ); | 197 | searchCommit->addTo( searchBar ); |
197 | a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); | 198 | a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); |
198 | connect( a, SIGNAL( activated() ), this, SLOT( searchClose() ) ); | 199 | connect( a, SIGNAL( activated() ), this, SLOT( searchClose() ) ); |
199 | a->addTo( searchBar ); | 200 | a->addTo( searchBar ); |
200 | searchAction = new QAction( tr( "Search" ), QString::null, 0, this, 0 ); | 201 | searchAction = new QAction( tr( "Search" ), QString::null, 0, this, 0 ); |
201 | connect( searchAction, SIGNAL( toggled(bool) ), this, SLOT( searchShow(bool) ) ); | 202 | connect( searchAction, SIGNAL( toggled(bool) ), this, SLOT( searchShow(bool) ) ); |
202 | searchAction->setToggleAction( true ); | 203 | searchAction->setToggleAction( true ); |
203 | searchAction->addTo( viewMenu ); | 204 | searchAction->addTo( viewMenu ); |
204 | 205 | ||
205 | //DEST | 206 | //DEST |
206 | destBar = new QPEToolBar(this); | 207 | destBar = new QPEToolBar(this); |
207 | addToolBar( destBar, "Destination", QMainWindow::Top, TRUE ); | 208 | addToolBar( destBar, "Destination", QMainWindow::Top, TRUE ); |
208 | label = new QLabel( tr("Destination: "), destBar ); | 209 | label = new QLabel( tr("Destination: "), destBar ); |
209 | label->setBackgroundColor( destBar->backgroundColor() ); | 210 | label->setBackgroundColor( destBar->backgroundColor() ); |
210 | destBar->setHorizontalStretchable( TRUE ); | 211 | destBar->setHorizontalStretchable( TRUE ); |
211 | destination = new QComboBox( false, destBar ); | 212 | destination = new QComboBox( false, destBar ); |
212 | destination->insertStringList( settings->getDestinationNames() ); | 213 | destination->insertStringList( settings->getDestinationNames() ); |
213 | setComboName(destination,settings->getDestinationName()); | 214 | setComboName(destination,settings->getDestinationName()); |
214 | connect( destination, SIGNAL(activated(int)), | 215 | connect( destination, SIGNAL(activated(int)), |
215 | settings, SLOT(activeDestinationChange(int)) ); | 216 | settings, SLOT(activeDestinationChange(int)) ); |
216 | spacer = new QLabel( " ", destBar ); | 217 | spacer = new QLabel( " ", destBar ); |
217 | spacer->setBackgroundColor( destBar->backgroundColor() ); | 218 | spacer->setBackgroundColor( destBar->backgroundColor() ); |
218 | CheckBoxLink = new QCheckBox( tr("Link"), destBar); | 219 | CheckBoxLink = new QCheckBox( tr("Link"), destBar); |
219 | CheckBoxLink->setBackgroundColor( destBar->backgroundColor() ); | 220 | CheckBoxLink->setBackgroundColor( destBar->backgroundColor() ); |
220 | CheckBoxLink->setChecked( settings->createLinks() ); | 221 | CheckBoxLink->setChecked( settings->createLinks() ); |
221 | connect( CheckBoxLink, SIGNAL(toggled(bool)), | 222 | connect( CheckBoxLink, SIGNAL(toggled(bool)), |
222 | settings, SLOT(linkEnabled(bool)) ); | 223 | settings, SLOT(linkEnabled(bool)) ); |
223 | destAction = new QAction( tr( "Destinations" ), QString::null, 0, this, 0 ); | 224 | destAction = new QAction( tr( "Destinations" ), QString::null, 0, this, 0 ); |
224 | connect( destAction, SIGNAL( toggled(bool) ), SLOT( destShow(bool) ) ); | 225 | connect( destAction, SIGNAL( toggled(bool) ), SLOT( destShow(bool) ) ); |
225 | a = new QAction( tr( "Close Destinations" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); | 226 | a = new QAction( tr( "Close Destinations" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); |
226 | connect( a, SIGNAL( activated() ), SLOT( destClose() ) ); | 227 | connect( a, SIGNAL( activated() ), SLOT( destClose() ) ); |
227 | a->addTo( destBar ); | 228 | a->addTo( destBar ); |
228 | destBar->setStretchableWidget( CheckBoxLink ); | 229 | destBar->setStretchableWidget( CheckBoxLink ); |
229 | destAction->setToggleAction( true ); | 230 | destAction->setToggleAction( true ); |
230 | // destAction->addTo( viewMenu ); | 231 | // destAction->addTo( viewMenu ); |
231 | 232 | ||
232 | // configure the menus | 233 | // configure the menus |
233 | Config cfg( "oipkg", Config::User ); | 234 | Config cfg( "oipkg", Config::User ); |
234 | cfg.setGroup( "gui" ); | 235 | cfg.setGroup( "gui" ); |
235 | 236 | ||
236 | findShow( cfg.readBoolEntry( "findBar", true ) ); | 237 | findShow( cfg.readBoolEntry( "findBar", true ) ); |
237 | searchShow( cfg.readBoolEntry( "searchBar", true ) ); | 238 | searchShow( cfg.readBoolEntry( "searchBar", true ) ); |
238 | sectionShow( cfg.readBoolEntry( "sectionBar", true ) ); | 239 | sectionShow( cfg.readBoolEntry( "sectionBar", true ) ); |
239 | destShow( cfg.readBoolEntry( "destBar", false ) ); | 240 | destShow( cfg.readBoolEntry( "destBar", false ) ); |
240 | } | 241 | } |
241 | 242 | ||
242 | MainWindow::~MainWindow() | 243 | MainWindow::~MainWindow() |
243 | { | 244 | { |
244 | Config cfg( "oipkg", Config::User ); | 245 | Config cfg( "oipkg", Config::User ); |
245 | cfg.setGroup( "gui" ); | 246 | cfg.setGroup( "gui" ); |
246 | cfg.writeEntry( "findBar", !findBar->isHidden() ); | 247 | cfg.writeEntry( "findBar", !findBar->isHidden() ); |
247 | cfg.writeEntry( "searchBar", !searchBar->isHidden() ); | 248 | cfg.writeEntry( "searchBar", !searchBar->isHidden() ); |
248 | cfg.writeEntry( "sectionBar", !sectionBar->isHidden() ); | 249 | cfg.writeEntry( "sectionBar", !sectionBar->isHidden() ); |
249 | cfg.writeEntry( "destBar", !destBar->isHidden() ); | 250 | cfg.writeEntry( "destBar", !destBar->isHidden() ); |
250 | 251 | ||
251 | } | 252 | } |
252 | 253 | ||
253 | void MainWindow::runIpkg() | 254 | void MainWindow::runIpkg() |
254 | { | 255 | { |
255 | packageListServers.allPackages(); | 256 | packageListServers.allPackages(); |
256 | ipkg->loadList( &packageListSearch ); | 257 | ipkg->loadList( &packageListSearch ); |
257 | ipkg->loadList( &packageListDocLnk ); | 258 | ipkg->loadList( &packageListDocLnk ); |
258 | ipkg->loadList( &packageListServers ); | 259 | ipkg->loadList( &packageListServers ); |
259 | ipkg->commit(); | 260 | ipkg->commit(); |
260 | // ##### If we looked in the list of files, we could send out accurate | 261 | // ##### If we looked in the list of files, we could send out accurate |
261 | // ##### messages. But we don't bother yet, and just do an "all". | 262 | // ##### messages. But we don't bother yet, and just do an "all". |
262 | QCopEnvelope e("QPE/System", "linkChanged(QString)"); | 263 | QCopEnvelope e("QPE/System", "linkChanged(QString)"); |
263 | QString lf = QString::null; | 264 | QString lf = QString::null; |
264 | e << lf; | 265 | e << lf; |
265 | displayList(); | 266 | displayList(); |
266 | } | 267 | } |
267 | 268 | ||
268 | void MainWindow::updateList() | 269 | void MainWindow::updateList() |
269 | { | 270 | { |
270 | //wait->show(); | 271 | //wait->show(); |
271 | QTimer *t = new QTimer( this ); | 272 | QTimer *t = new QTimer( this ); |
272 | connect( t, SIGNAL(timeout()), SLOT( rotateUpdateIcon() ) ); | 273 | connect( t, SIGNAL(timeout()), SLOT( rotateUpdateIcon() ) ); |
273 | t->start( 0, false ); | 274 | t->start( 0, false ); |
274 | packageListServers.clear(); | 275 | packageListServers.clear(); |
275 | packageListSearch.clear(); | 276 | packageListSearch.clear(); |
276 | packageListDocLnk.clear(); | 277 | packageListDocLnk.clear(); |
277 | ipkg->update(); | 278 | ipkg->update(); |
278 | packageListServers.update(); | 279 | packageListServers.update(); |
279 | packageListSearch.update(); | 280 | packageListSearch.update(); |
280 | packageListDocLnk.update(); | 281 | packageListDocLnk.update(); |
281 | t->stop(); | 282 | t->stop(); |
282 | // wait->hide(); | 283 | // wait->hide(); |
283 | } | 284 | } |
284 | 285 | ||
285 | void MainWindow::filterList() | 286 | void MainWindow::filterList() |
286 | { | 287 | { |
287 | //wait->show(); | 288 | //wait->show(); |
288 | QString f = ""; | 289 | QString f = ""; |
289 | if ( findAction->isOn() ) f = findEdit->text(); | 290 | if ( findAction->isOn() ) f = findEdit->text(); |
290 | packageListServers.filterPackages( f ); | 291 | packageListServers.filterPackages( f ); |
291 | //wait->hide(); | 292 | //wait->hide(); |
292 | } | 293 | } |
293 | 294 | ||
294 | void MainWindow::displayList() | 295 | void MainWindow::displayList() |
295 | { | 296 | { |
296 | //wait->hide(); | 297 | //wait->hide(); |
297 | filterList(); | 298 | filterList(); |
298 | listViewPackages->display(); | 299 | listViewPackages->display(); |
299 | } | 300 | } |
300 | 301 | ||
301 | void MainWindow::sectionChanged() | 302 | void MainWindow::sectionChanged() |
302 | { | 303 | { |
303 | disconnect( section, SIGNAL( activated(int) ), | 304 | disconnect( section, SIGNAL( activated(int) ), |
304 | this, SLOT( sectionChanged() ) ); | 305 | this, SLOT( sectionChanged() ) ); |
305 | disconnect( subsection, SIGNAL(activated(int) ), | 306 | disconnect( subsection, SIGNAL(activated(int) ), |
306 | this, SLOT( subSectionChanged() ) ); | 307 | this, SLOT( subSectionChanged() ) ); |
307 | subsection->clear(); | 308 | subsection->clear(); |
308 | packageListServers.setSection( section->currentText() ); | 309 | packageListServers.setSection( section->currentText() ); |
309 | setSubSections(); | 310 | setSubSections(); |
310 | connect( section, SIGNAL( activated(int) ), | 311 | connect( section, SIGNAL( activated(int) ), |
311 | this, SLOT( sectionChanged() ) ); | 312 | this, SLOT( sectionChanged() ) ); |
312 | connect( subsection, SIGNAL(activated(int) ), | 313 | connect( subsection, SIGNAL(activated(int) ), |
313 | this, SLOT( subSectionChanged() ) ); | 314 | this, SLOT( subSectionChanged() ) ); |
314 | displayList(); | 315 | displayList(); |
315 | } | 316 | } |
316 | 317 | ||
317 | void MainWindow::subSectionChanged() | 318 | void MainWindow::subSectionChanged() |
318 | { | 319 | { |
319 | disconnect( section, SIGNAL( activated(int) ), | 320 | disconnect( section, SIGNAL( activated(int) ), |
320 | this, SLOT( sectionChanged() ) ); | 321 | this, SLOT( sectionChanged() ) ); |
321 | disconnect( subsection, SIGNAL(activated(int) ), | 322 | disconnect( subsection, SIGNAL(activated(int) ), |
322 | this, SLOT( subSectionChanged() ) ); | 323 | this, SLOT( subSectionChanged() ) ); |
323 | packageListServers.setSubSection( subsection->currentText() ); | 324 | packageListServers.setSubSection( subsection->currentText() ); |
324 | connect( section, SIGNAL( activated(int) ), | 325 | connect( section, SIGNAL( activated(int) ), |
325 | this, SLOT( sectionChanged() ) ); | 326 | this, SLOT( sectionChanged() ) ); |
326 | connect( subsection, SIGNAL(activated(int) ), | 327 | connect( subsection, SIGNAL(activated(int) ), |
327 | this, SLOT( subSectionChanged() ) ); | 328 | this, SLOT( subSectionChanged() ) ); |
328 | displayList(); | 329 | displayList(); |
329 | } | 330 | } |
330 | 331 | ||
331 | void MainWindow::setSections() | 332 | void MainWindow::setSections() |
332 | { | 333 | { |
333 | section->clear(); | 334 | section->clear(); |
334 | section->insertStringList( packageListServers.getSections() ); | 335 | section->insertStringList( packageListServers.getSections() ); |
335 | } | 336 | } |
336 | 337 | ||
337 | void MainWindow::setSubSections() | 338 | void MainWindow::setSubSections() |
338 | { | 339 | { |
339 | subsection->clear(); | 340 | subsection->clear(); |
340 | subsection->insertStringList( packageListServers.getSubSections() ); | 341 | subsection->insertStringList( packageListServers.getSubSections() ); |
341 | } | 342 | } |
342 | 343 | ||
343 | 344 | ||
344 | void MainWindow::showSettings() | 345 | void MainWindow::showSettings() |
345 | { | 346 | { |
346 | if ( settings->showDialog( 0 ) ) | 347 | if ( settings->showDialog( 0 ) ) |
347 | updateList(); | 348 | updateList(); |
348 | } | 349 | } |
349 | void MainWindow::showSettingsSrv() | 350 | void MainWindow::showSettingsSrv() |
350 | { | 351 | { |
351 | if ( settings->showDialog( 1 ) ) | 352 | if ( settings->showDialog( 1 ) ) |
352 | updateList(); | 353 | updateList(); |
353 | } | 354 | } |
354 | void MainWindow::showSettingsDst() | 355 | void MainWindow::showSettingsDst() |
355 | { | 356 | { |
356 | if ( settings->showDialog( 2 ) ) | 357 | if ( settings->showDialog( 2 ) ) |
357 | updateList(); | 358 | updateList(); |
358 | } | 359 | } |
359 | 360 | ||
360 | void MainWindow::sectionShow(bool b) | 361 | void MainWindow::sectionShow(bool b) |
361 | { | 362 | { |
362 | if (b) sectionBar->show(); | 363 | if (b) sectionBar->show(); |
363 | else sectionBar->hide(); | 364 | else sectionBar->hide(); |
364 | sectionAction->setOn( b ); | 365 | sectionAction->setOn( b ); |
365 | } | 366 | } |
366 | 367 | ||
367 | void MainWindow::sectionClose() | 368 | void MainWindow::sectionClose() |
368 | { | 369 | { |
369 | sectionAction->setOn( false ); | 370 | sectionAction->setOn( false ); |
370 | } | 371 | } |
371 | 372 | ||
372 | void MainWindow::findShow(bool b) | 373 | void MainWindow::findShow(bool b) |
373 | { | 374 | { |
374 | if (b) findBar->show(); | 375 | if (b) findBar->show(); |
375 | else findBar->hide(); | 376 | else findBar->hide(); |
376 | findAction->setOn( b ); | 377 | findAction->setOn( b ); |
377 | } | 378 | } |
378 | 379 | ||
379 | void MainWindow::findClose() | 380 | void MainWindow::findClose() |
380 | { | 381 | { |
381 | findAction->setOn( false ); | 382 | findAction->setOn( false ); |
382 | } | 383 | } |
383 | 384 | ||
384 | void MainWindow::searchShow(bool b) | 385 | void MainWindow::searchShow(bool b) |
385 | { | 386 | { |
386 | if (b) searchBar->show(); | 387 | if (b) searchBar->show(); |
387 | else searchBar->hide(); | 388 | else searchBar->hide(); |
388 | searchAction->setOn( b ); | 389 | searchAction->setOn( b ); |
389 | } | 390 | } |
390 | 391 | ||
391 | void MainWindow::searchClose() | 392 | void MainWindow::searchClose() |
392 | { | 393 | { |
393 | searchAction->setOn( false ); | 394 | searchAction->setOn( false ); |
394 | } | 395 | } |
395 | 396 | ||
396 | 397 | ||
397 | void MainWindow::destShow(bool b) | 398 | void MainWindow::destShow(bool b) |
398 | { | 399 | { |
399 | if (b) destBar->show(); | 400 | if (b) destBar->show(); |
400 | else destBar->hide(); | 401 | else destBar->hide(); |
401 | destAction->setOn( b ); | 402 | destAction->setOn( b ); |
402 | } | 403 | } |
403 | 404 | ||
404 | void MainWindow::destClose() | 405 | void MainWindow::destClose() |
405 | { | 406 | { |
406 | destAction->setOn( false ); | 407 | destAction->setOn( false ); |
407 | } | 408 | } |
408 | 409 | ||
409 | void MainWindow::rotateUpdateIcon() | 410 | void MainWindow::rotateUpdateIcon() |
410 | { | 411 | { |
411 | pvDebug(2, "MainWindow::rotateUpdateIcon"); | 412 | pvDebug(2, "MainWindow::rotateUpdateIcon"); |
412 | if ( updateIcon ) | 413 | if ( updateIcon ) |
413 | updateAction->setIconSet( Resource::loadIconSet( "oipkg/update" ) ); | 414 | updateAction->setIconSet( Resource::loadIconSet( "oipkg/update" ) ); |
414 | else | 415 | else |
415 | updateAction->setIconSet( Resource::loadIconSet( "oipkg/update2" ) ); | 416 | updateAction->setIconSet( Resource::loadIconSet( "oipkg/update2" ) ); |
416 | updateIcon = !updateIcon; | 417 | updateIcon = !updateIcon; |
417 | } | 418 | } |
418 | 419 | ||
419 | 420 | ||
420 | void MainWindow::setDocument(const QString &fileName) | 421 | void MainWindow::setDocument(const QString &fileName) |
421 | { | 422 | { |
422 | installFile(fileName); | 423 | installFile(fileName); |
423 | // ##### If we looked in the list of files, we could send out accurate | 424 | // ##### If we looked in the list of files, we could send out accurate |
424 | // ##### messages. But we don't bother yet, and just do an "all". | 425 | // ##### messages. But we don't bother yet, and just do an "all". |
425 | QCopEnvelope e("QPE/System", "linkChanged(QString)"); | 426 | QCopEnvelope e("QPE/System", "linkChanged(QString)"); |
426 | QString lf = QString::null; | 427 | QString lf = QString::null; |
427 | e << lf; | 428 | e << lf; |
428 | // displayList(); | 429 | // displayList(); |
429 | exit; | 430 | exit; |
430 | } | 431 | } |
431 | 432 | ||
432 | void MainWindow::installFile(const QString &fileName) | 433 | void MainWindow::installFile(const QString &fileName) |
433 | { | 434 | { |
434 | pvDebug(3, "MainWindow::installFile "+fileName); | 435 | pvDebug(3, "MainWindow::installFile "+fileName); |
435 | if ( !QFile::exists( fileName ) ) return; | 436 | if ( !QFile::exists( fileName ) ) return; |
436 | ipkg->installFile( fileName ); | 437 | ipkg->installFile( fileName ); |
437 | // ##### If we looked in the list of files, we could send out accurate | 438 | // ##### If we looked in the list of files, we could send out accurate |
438 | // ##### messages. But we don't bother yet, and just do an "all". | 439 | // ##### messages. But we don't bother yet, and just do an "all". |
439 | QCopEnvelope e("QPE/System", "linkChanged(QString)"); | 440 | QCopEnvelope e("QPE/System", "linkChanged(QString)"); |
440 | QString lf = QString::null; | 441 | QString lf = QString::null; |
441 | e << lf; | 442 | e << lf; |
442 | displayList(); | 443 | displayList(); |
443 | } | 444 | } |
444 | 445 | ||
445 | void MainWindow::makeChannel() | 446 | void MainWindow::makeChannel() |
446 | { | 447 | { |
447 | channel = new QCopChannel( "QPE/Application/oipkg", this ); | 448 | channel = new QCopChannel( "QPE/Application/oipkg", this ); |
448 | connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), | 449 | connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), |
449 | this, SLOT(receive(const QCString&, const QByteArray&)) ); | 450 | this, SLOT(receive(const QCString&, const QByteArray&)) ); |
450 | } | 451 | } |
451 | 452 | ||
452 | 453 | ||
453 | 454 | ||
454 | void MainWindow::receive(const QCString &msg, const QByteArray &arg) | 455 | void MainWindow::receive(const QCString &msg, const QByteArray &arg) |
455 | { | 456 | { |
456 | pvDebug(3, "QCop "+msg+" "+QCString(arg)); | 457 | pvDebug(3, "QCop "+msg+" "+QCString(arg)); |
457 | if ( msg == "installFile(QString)" ) | 458 | if ( msg == "installFile(QString)" ) |
458 | { | 459 | { |
459 | ipkg->installFile( QString(arg) ); | 460 | ipkg->installFile( QString(arg) ); |
460 | }else if( msg == "removeFile(QString)" ) | 461 | }else if( msg == "removeFile(QString)" ) |
461 | { | 462 | { |
462 | ipkg->removeFile( QString(arg) ); | 463 | ipkg->removeFile( QString(arg) ); |
463 | }else if( msg == "createLinks(QString)" ) | 464 | }else if( msg == "createLinks(QString)" ) |
464 | { | 465 | { |
465 | ipkg->createLinks( QString(arg) ); | 466 | ipkg->createLinks( QString(arg) ); |
466 | }else if( msg == "removeLinks(QString)" ) | 467 | }else if( msg == "removeLinks(QString)" ) |
467 | { | 468 | { |
468 | ipkg->removeLinks( QString(arg) ); | 469 | ipkg->removeLinks( QString(arg) ); |
469 | }else{ | 470 | }else{ |
470 | pvDebug(2,"Huh what do ya want") | 471 | pvDebug(2,"Huh what do ya want") |
471 | } | 472 | } |
472 | } | 473 | } |
473 | 474 | ||
474 | 475 | ||
475 | void MainWindow::createLinks() | 476 | void MainWindow::createLinks() |
476 | { | 477 | { |
477 | pvDebug(2,"creating links..."); | 478 | pvDebug(2,"creating links..."); |
478 | ipkg->createLinks( settings->destinationurl->text() ); | 479 | ipkg->createLinks( settings->destinationurl->text() ); |
479 | } | 480 | } |
480 | 481 | ||
481 | void MainWindow::removeLinks() | 482 | void MainWindow::removeLinks() |
482 | { | 483 | { |
483 | pvDebug(2,"removing links..."); | 484 | pvDebug(2,"removing links..."); |
484 | ipkg->removeLinks( settings->destinationurl->text() ); | 485 | ipkg->removeLinks( settings->destinationurl->text() ); |
485 | } | 486 | } |
486 | 487 | ||
487 | void MainWindow::remotePackageQuery() | 488 | void MainWindow::remotePackageQuery() |
488 | { | 489 | { |
489 | packageListSearch.query( searchEdit->text() ); | 490 | packageListSearch.query( searchEdit->text() ); |
490 | packageListSearch.update(); | 491 | packageListSearch.update(); |
491 | displayList(); | 492 | displayList(); |
492 | } | 493 | } |
diff --git a/noncore/unsupported/oipkg/packagelist.cpp b/noncore/unsupported/oipkg/packagelist.cpp index 2fc4c41..fdd1163 100644 --- a/noncore/unsupported/oipkg/packagelist.cpp +++ b/noncore/unsupported/oipkg/packagelist.cpp | |||
@@ -1,216 +1,220 @@ | |||
1 | #include "packagelist.h" | 1 | #include "packagelist.h" |
2 | 2 | ||
3 | #include <assert.h> | 3 | #include <assert.h> |
4 | #include <qfile.h> | 4 | #include <qfile.h> |
5 | #include <qfileinfo.h> | 5 | #include <qfileinfo.h> |
6 | #include <qtextstream.h> | 6 | #include <qtextstream.h> |
7 | 7 | ||
8 | #include "debug.h" | 8 | #include "debug.h" |
9 | 9 | ||
10 | static QDict<Package> *packageListAll; | 10 | static QDict<Package> *packageListAll; |
11 | static int packageListAllRefCount = 0; | ||
11 | 12 | ||
12 | PackageList::PackageList() | 13 | PackageList::PackageList() |
13 | : packageIter( packageList ) | 14 | : packageIter( packageList ) |
14 | { | 15 | { |
15 | empty=true; | 16 | empty=true; |
16 | if (!packageListAll) packageListAll = new QDict<Package>(); | 17 | if (!packageListAll) packageListAll = new QDict<Package>(); |
18 | packageListAllRefCount++; | ||
17 | sections << "All"; | 19 | sections << "All"; |
18 | subSections.insert("All", new QStringList() ); | 20 | subSections.insert("All", new QStringList() ); |
19 | QStringList *ss = subSections["All"]; | 21 | QStringList *ss = subSections["All"]; |
20 | *ss << "All"; | 22 | *ss << "All"; |
21 | aktSection = "All"; | 23 | aktSection = "All"; |
22 | aktSubSection = "All"; | 24 | aktSubSection = "All"; |
23 | } | 25 | } |
24 | 26 | ||
25 | PackageList::PackageList( PackageManagerSettings* s) | 27 | PackageList::PackageList( PackageManagerSettings* s) |
26 | : packageIter( packageList ) | 28 | : packageIter( packageList ) |
27 | { | 29 | { |
28 | settings = s; | 30 | settings = s; |
29 | PackageList(); | 31 | PackageList(); |
30 | } | 32 | } |
31 | 33 | ||
32 | PackageList::~PackageList() | 34 | PackageList::~PackageList() |
33 | { | 35 | { |
36 | if (--packageListAllRefCount < 1 ) delete packageListAll; | ||
34 | } | 37 | } |
35 | 38 | ||
36 | /** Inserts a package into the list */ | 39 | /** Inserts a package into the list */ |
37 | void PackageList::insertPackage( Package* pack ) | 40 | void PackageList::insertPackage( Package* pack ) |
38 | { | 41 | { |
39 | if (!pack) return; | 42 | if (!pack) return; |
40 | Package* p = packageListAll->find( pack->name() ); | 43 | Package* p = packageListAll->find( pack->name() ); |
41 | if ( p ) | 44 | if ( p ) |
42 | { | 45 | { |
43 | if ( (p->version() == pack->version()) | 46 | if ( (p->version() == pack->version()) |
44 | && (p->dest() == pack->dest()) ) | 47 | && (p->dest() == pack->dest()) ) |
45 | { | 48 | { |
46 | p->copyValues( pack ); | 49 | p->copyValues( pack ); |
47 | delete pack; | 50 | delete pack; |
48 | pack = p; | 51 | pack = p; |
49 | } else { | 52 | } else { |
50 | QDict<Package> *packver = p->getOtherVersions(); | 53 | QDict<Package> *packver = p->getOtherVersions(); |
51 | // p->setName( pack->name()+"["+p->version()+"]" ); | 54 | // p->setName( pack->name()+"["+p->version()+"]" ); |
52 | if (!packver) | 55 | if (!packver) |
53 | { | 56 | { |
54 | packver = new QDict<Package>; | 57 | packver = new QDict<Package>(); |
55 | packver->insert( pack->name(), p ); | 58 | packver->insert( pack->name(), p ); |
56 | p->setOtherVersions( packver ); | 59 | p->setOtherVersions( packver ); |
57 | } | 60 | } |
58 | pack->setName( pack->name()+"["+pack->version()+"]" ); | 61 | pack->setName( pack->name()+"["+pack->version()+"]" ); |
59 | pack->setOtherVersions( packver ); | 62 | pack->setOtherVersions( packver ); |
60 | packver->insert( pack->name(), pack ); | 63 | packver->insert( pack->name(), pack ); |
61 | packageListAll->insert( pack->name(), pack ); | 64 | packageListAll->insert( pack->name(), pack ); |
62 | packageList.insert( pack->name(), pack ); | 65 | packageList.insert( pack->name(), pack ); |
63 | origPackageList.insert( pack->name(), pack ); | 66 | origPackageList.insert( pack->name(), pack ); |
64 | } | 67 | } |
65 | }else{ | 68 | }else{ |
66 | packageListAll->insert( pack->name(), pack ); | 69 | packageListAll->insert( pack->name(), pack ); |
67 | packageList.insert( pack->name(), pack ); | 70 | packageList.insert( pack->name(), pack ); |
68 | origPackageList.insert( pack->name(), pack ); | 71 | origPackageList.insert( pack->name(), pack ); |
69 | }; | 72 | }; |
70 | empty=false; | 73 | empty=false; |
71 | updateSections( pack ); | 74 | updateSections( pack ); |
72 | } | 75 | } |
73 | 76 | ||
74 | void PackageList::filterPackages( QString f ) | 77 | void PackageList::filterPackages( QString f ) |
75 | { | 78 | { |
76 | packageList.clear(); | 79 | packageList.clear(); |
77 | QDictIterator<Package> filterIter( origPackageList ); | 80 | QDictIterator<Package> filterIter( origPackageList ); |
78 | filterIter.toFirst(); | 81 | filterIter.toFirst(); |
79 | Package *pack= filterIter.current() ; | 82 | Package *pack= filterIter.current() ; |
80 | while ( pack ) | 83 | while ( pack ) |
81 | { | 84 | { |
82 | if ( | 85 | if ( |
83 | ((aktSection=="All")||(pack->section()==aktSection)) && | 86 | ((aktSection=="All")||(pack->section()==aktSection)) && |
84 | ((aktSubSection=="All")||(pack->subSection()==aktSubSection)) && | 87 | ((aktSubSection=="All")||(pack->subSection()==aktSubSection)) && |
85 | pack->name().contains( f ) | 88 | pack->name().contains( f ) |
86 | ) | 89 | ) |
87 | { | 90 | { |
88 | packageList.insert( pack->name(), pack ); | 91 | packageList.insert( pack->name(), pack ); |
89 | } | 92 | } |
90 | ++filterIter; | 93 | ++filterIter; |
91 | pack = filterIter.current(); | 94 | pack = filterIter.current(); |
92 | } | 95 | } |
93 | } | 96 | } |
94 | 97 | ||
95 | Package* PackageList::find( QString n ) | 98 | Package* PackageList::find( QString n ) |
96 | { | 99 | { |
97 | return packageList.find( n ); | 100 | return packageList.find( n ); |
98 | } | 101 | } |
99 | 102 | ||
100 | Package* PackageList::first() | 103 | Package* PackageList::first() |
101 | { | 104 | { |
102 | packageIter.toFirst(); | 105 | packageIter.toFirst(); |
103 | return packageIter.current(); | 106 | return packageIter.current(); |
104 | } | 107 | } |
105 | 108 | ||
106 | Package* PackageList::next() | 109 | Package* PackageList::next() |
107 | { | 110 | { |
108 | ++packageIter; | 111 | ++packageIter; |
109 | return packageIter.current(); | 112 | return packageIter.current(); |
110 | } | 113 | } |
111 | 114 | ||
112 | QStringList PackageList::getSections() | 115 | QStringList PackageList::getSections() |
113 | { | 116 | { |
114 | sections.sort(); | 117 | sections.sort(); |
115 | return sections; | 118 | return sections; |
116 | } | 119 | } |
117 | 120 | ||
118 | QStringList PackageList::getSubSections() | 121 | QStringList PackageList::getSubSections() |
119 | { | 122 | { |
120 | QStringList ss; | 123 | QStringList ss; |
121 | if ( !subSections[aktSection] ) return ss; | 124 | if ( !subSections[aktSection] ) return ss; |
122 | ss = *subSections[aktSection]; | 125 | ss = *subSections[aktSection]; |
123 | ss.sort(); | 126 | ss.sort(); |
124 | return ss; | 127 | return ss; |
125 | } | 128 | } |
126 | 129 | ||
127 | void PackageList::setSection( QString sec ) | 130 | void PackageList::setSection( QString sec ) |
128 | { | 131 | { |
129 | aktSection = sec; | 132 | aktSection = sec; |
130 | } | 133 | } |
131 | 134 | ||
132 | void PackageList::setSubSection( QString ssec ) | 135 | void PackageList::setSubSection( QString ssec ) |
133 | { | 136 | { |
134 | aktSubSection = ssec; | 137 | aktSubSection = ssec; |
135 | } | 138 | } |
136 | 139 | ||
137 | void PackageList::updateSections( Package* pack ) | 140 | void PackageList::updateSections( Package* pack ) |
138 | { | 141 | { |
139 | QString s = pack->section(); | 142 | QString s = pack->section(); |
140 | if ( s.isEmpty() || s == "") return; | 143 | if ( s.isEmpty() || s == "") return; |
141 | if ( sections.contains(s) ) return; | 144 | if ( sections.contains(s) ) return; |
142 | sections += s; | 145 | sections += s; |
143 | QString ss = pack->subSection(); | 146 | QString ss = pack->subSection(); |
144 | if ( ss.isEmpty() || ss == "" ) return; | 147 | if ( ss.isEmpty() || ss == "" ) return; |
145 | if ( !subSections[s] ) { | 148 | if ( !subSections[s] ) { |
146 | subSections.insert( s, new QStringList() ); | 149 | subSections.insert( s, new QStringList() ); |
147 | QStringList *subsecs = subSections[s]; | 150 | QStringList *subsecs = subSections[s]; |
148 | *subsecs += "All"; | 151 | *subsecs += "All"; |
149 | } | 152 | } |
150 | QStringList *subsecs = subSections[s]; | 153 | QStringList *subsecs = subSections[s]; |
151 | *subsecs += ss; | 154 | *subsecs += ss; |
152 | if ( !subSections["All"] ) subSections.insert( "All", new QStringList() ); | 155 | if ( !subSections["All"] ) subSections.insert( "All", new QStringList() ); |
153 | subsecs = subSections["All"]; | 156 | subsecs = subSections["All"]; |
154 | *subsecs += ss; | 157 | *subsecs += ss; |
155 | } | 158 | } |
156 | 159 | ||
157 | 160 | ||
158 | void PackageList::readFileEntries( QString filename, QString dest ) | 161 | void PackageList::readFileEntries( QString filename, QString dest ) |
159 | { | 162 | { |
160 | pvDebug(5,"PackageList::readFileEntries "+filename+" dest "+dest); | 163 | pvDebug(5,"PackageList::readFileEntries "+filename+" dest "+dest); |
161 | QStringList packEntry; | 164 | QStringList packEntry; |
162 | QFile f( filename ); | 165 | QFile f( filename ); |
163 | if ( !f.open(IO_ReadOnly) ) return; | 166 | if ( !f.open(IO_ReadOnly) ) return; |
164 | QTextStream *statusStream = new QTextStream( &f ); | 167 | QTextStream *statusStream = new QTextStream( &f ); |
165 | while ( !statusStream ->eof() ) | 168 | while ( !statusStream ->eof() ) |
166 | { | 169 | { |
167 | QString line = statusStream->readLine(); | 170 | QString line = statusStream->readLine(); |
168 | if ( line.find(QRegExp("[\n\t ]*")) || line == "" ) | 171 | if ( line.find(QRegExp("[\n\t ]*")) || line == "" ) |
169 | { | 172 | { |
170 | //end of package | 173 | //end of package |
171 | if ( ! packEntry.isEmpty() ) | 174 | if ( ! packEntry.isEmpty() ) |
172 | { | 175 | { |
173 | Package *p = new Package( packEntry, settings ); | 176 | Package *p = new Package( packEntry, settings ); |
174 | p->setDest( dest ); | 177 | p->setDest( dest ); |
175 | if ( p ) | 178 | if ( p ) |
176 | { | 179 | { |
177 | insertPackage( p ); | 180 | insertPackage( p ); |
178 | packEntry.clear(); | 181 | packEntry.clear(); |
179 | } | 182 | } |
180 | } | 183 | } |
181 | }else{ | 184 | }else{ |
182 | packEntry << line; | 185 | packEntry << line; |
183 | }; | 186 | }; |
184 | } | 187 | } |
188 | delete statusStream; | ||
185 | return; | 189 | return; |
186 | } | 190 | } |
187 | 191 | ||
188 | void PackageList::setSettings( PackageManagerSettings *s ) | 192 | void PackageList::setSettings( PackageManagerSettings *s ) |
189 | { | 193 | { |
190 | settings = s; | 194 | settings = s; |
191 | } | 195 | } |
192 | 196 | ||
193 | Package* PackageList::getByName( QString n ) | 197 | Package* PackageList::getByName( QString n ) |
194 | { | 198 | { |
195 | origPackageList[n]; | 199 | origPackageList[n]; |
196 | } | 200 | } |
197 | 201 | ||
198 | void PackageList::clear() | 202 | void PackageList::clear() |
199 | { | 203 | { |
200 | origPackageList.clear(); | 204 | origPackageList.clear(); |
201 | packageList.clear(); | 205 | packageList.clear(); |
202 | } | 206 | } |
203 | 207 | ||
204 | void PackageList::allPackages() | 208 | void PackageList::allPackages() |
205 | { | 209 | { |
206 | packageList.clear(); | 210 | packageList.clear(); |
207 | QDictIterator<Package> filterIter( origPackageList ); | 211 | QDictIterator<Package> filterIter( origPackageList ); |
208 | filterIter.toFirst(); | 212 | filterIter.toFirst(); |
209 | Package *pack= filterIter.current() ; | 213 | Package *pack= filterIter.current() ; |
210 | while ( pack ) | 214 | while ( pack ) |
211 | { | 215 | { |
212 | packageList.insert( pack->name(), pack ); | 216 | packageList.insert( pack->name(), pack ); |
213 | ++filterIter; | 217 | ++filterIter; |
214 | pack = filterIter.current(); | 218 | pack = filterIter.current(); |
215 | } | 219 | } |
216 | } | 220 | } |
diff --git a/noncore/unsupported/oipkg/packagelistdoclnk.cpp b/noncore/unsupported/oipkg/packagelistdoclnk.cpp index 1d10adf..f31f742 100644 --- a/noncore/unsupported/oipkg/packagelistdoclnk.cpp +++ b/noncore/unsupported/oipkg/packagelistdoclnk.cpp | |||
@@ -1,44 +1,45 @@ | |||
1 | 1 | ||
2 | #include "packagelistdoclnk.h" | 2 | #include "packagelistdoclnk.h" |
3 | 3 | ||
4 | #include <qpe/applnk.h> | 4 | #include <qpe/applnk.h> |
5 | #include <qpe/config.h> | 5 | #include <qpe/config.h> |
6 | #include <qlist.h> | 6 | #include <qlist.h> |
7 | 7 | ||
8 | #include "package.h" | 8 | #include "package.h" |
9 | #include "pksettings.h" | 9 | #include "pksettings.h" |
10 | 10 | ||
11 | PackageListDocLnk::PackageListDocLnk(PackageManagerSettings* s) | 11 | PackageListDocLnk::PackageListDocLnk(PackageManagerSettings* s) |
12 | : PackageList(s) | 12 | : PackageList(s) |
13 | { | 13 | { |
14 | PackageListDocLnk(); | 14 | PackageListDocLnk(); |
15 | } | 15 | } |
16 | 16 | ||
17 | PackageListDocLnk::PackageListDocLnk() | 17 | PackageListDocLnk::PackageListDocLnk() |
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 | docLnkDir = cfg.readEntry( "docLnkDir", "/root/" ); | 22 | docLnkDir = cfg.readEntry( "docLnkDir", "/root/" ); |
23 | pvDebug(2,"opening DocLnkSet "+docLnkDir); | 23 | pvDebug(2,"opening DocLnkSet "+docLnkDir); |
24 | doclnkset = new DocLnkSet(docLnkDir,"application/ipkg"); | 24 | doclnkset = new DocLnkSet(docLnkDir,"application/ipkg"); |
25 | } | 25 | } |
26 | 26 | ||
27 | PackageListDocLnk::~PackageListDocLnk() | 27 | PackageListDocLnk::~PackageListDocLnk() |
28 | { | 28 | { |
29 | Config cfg( "oipkg", Config::User ); | 29 | Config cfg( "oipkg", Config::User ); |
30 | cfg.setGroup( "Common" ); | 30 | cfg.setGroup( "Common" ); |
31 | cfg.writeEntry( "docLnkDir", docLnkDir ); | 31 | cfg.writeEntry( "docLnkDir", docLnkDir ); |
32 | delete doclnkset; | ||
32 | } | 33 | } |
33 | 34 | ||
34 | 35 | ||
35 | 36 | ||
36 | void PackageListDocLnk::update() | 37 | void PackageListDocLnk::update() |
37 | { | 38 | { |
38 | pvDebug(2,"PackageListDocLnk::update "); | 39 | pvDebug(2,"PackageListDocLnk::update "); |
39 | QList<DocLnk> packlist = doclnkset->children(); | 40 | QList<DocLnk> packlist = doclnkset->children(); |
40 | for (DocLnk *pack =packlist.first(); pack != 0; pack=packlist.next() ) | 41 | for (DocLnk *pack =packlist.first(); pack != 0; pack=packlist.next() ) |
41 | { | 42 | { |
42 | insertPackage( new Package(pack->file(), settings) ); | 43 | insertPackage( new Package(pack->file(), settings ) ); |
43 | } | 44 | } |
44 | } | 45 | } |
diff --git a/noncore/unsupported/oipkg/packagelistremote.cpp b/noncore/unsupported/oipkg/packagelistremote.cpp index ee54fca..e37f256 100644 --- a/noncore/unsupported/oipkg/packagelistremote.cpp +++ b/noncore/unsupported/oipkg/packagelistremote.cpp | |||
@@ -1,48 +1,49 @@ | |||
1 | 1 | ||
2 | #include "packagelistremote.h" | 2 | #include "packagelistremote.h" |
3 | 3 | ||
4 | #include <qstring.h> | 4 | #include <qstring.h> |
5 | #include <stdlib.h> | 5 | #include <stdlib.h> |
6 | #include <unistd.h> | 6 | #include <unistd.h> |
7 | 7 | ||
8 | PackageListRemote::PackageListRemote(PackageManagerSettings* s) | 8 | PackageListRemote::PackageListRemote(PackageManagerSettings* s) |
9 | : PackageList(s) | 9 | : PackageList(s) |
10 | { | 10 | { |
11 | PackageListRemote(); | 11 | PackageListRemote(); |
12 | } | 12 | } |
13 | 13 | ||
14 | PackageListRemote::PackageListRemote() | 14 | PackageListRemote::PackageListRemote() |
15 | : PackageList() | 15 | : PackageList() |
16 | { | 16 | { |
17 | } | 17 | } |
18 | 18 | ||
19 | PackageListRemote::~PackageListRemote() | 19 | PackageListRemote::~PackageListRemote() |
20 | { | 20 | { |
21 | } | 21 | } |
22 | 22 | ||
23 | void PackageListRemote::query(QString s) | 23 | void PackageListRemote::query(QString s) |
24 | { | 24 | { |
25 | pvDebug(4,"set query "+s); | 25 | pvDebug(4,"set query "+s); |
26 | searchString = s; | 26 | searchString = s; |
27 | } | 27 | } |
28 | 28 | ||
29 | void PackageListRemote::update() | 29 | void PackageListRemote::update() |
30 | { | 30 | { |
31 | pvDebug(2,"PackageListRemote::update"); | 31 | pvDebug(2,"PackageListRemote::update"); |
32 | if (searchString.isEmpty()) return; | ||
32 | int r=0; | 33 | int r=0; |
33 | QString cmd = "wget"; | 34 | QString cmd = "wget"; |
34 | QString redirect = "/tmp/oipkg.query"; | 35 | QString redirect = "/tmp/oipkg.query"; |
35 | 36 | ||
36 | // use file for output | 37 | // use file for output |
37 | cmd += " --output-document="+redirect; | 38 | cmd += " --output-document="+redirect; |
38 | //http://ipkgfind.handhelds.org/packages.phtml?format=pda&query=ipkg&searchtype=package§ion= | 39 | //http://ipkgfind.handhelds.org/packages.phtml?format=pda&query=ipkg&searchtype=package§ion= |
39 | QString server="http://ipkgfind.handhelds.org/"; | 40 | QString server="http://ipkgfind.handhelds.org/"; |
40 | cmd += " \""+server+"/packages.phtml"; | 41 | cmd += " \""+server+"/packages.phtml"; |
41 | cmd += "?format=pda&searchtype=package§ion="; | 42 | cmd += "?format=pda&searchtype=package§ion="; |
42 | cmd += "&query="+searchString; | 43 | cmd += "&query="+searchString; |
43 | cmd += "\""; | 44 | cmd += "\""; |
44 | 45 | ||
45 | pvDebug(4,"search :"+cmd); | 46 | pvDebug(4,"search :"+cmd); |
46 | r = system(cmd.latin1()); | 47 | r = system(cmd.latin1()); |
47 | readFileEntries( redirect ); | 48 | readFileEntries( redirect ); |
48 | } | 49 | } |
diff --git a/noncore/unsupported/oipkg/pmipkg.cpp b/noncore/unsupported/oipkg/pmipkg.cpp index f2852c3..6ef6d19 100644 --- a/noncore/unsupported/oipkg/pmipkg.cpp +++ b/noncore/unsupported/oipkg/pmipkg.cpp | |||
@@ -1,390 +1,393 @@ | |||
1 | #include "pmipkg.h" | 1 | #include "pmipkg.h" |
2 | #include "pksettings.h" | 2 | #include "pksettings.h" |
3 | #include "package.h" | 3 | #include "package.h" |
4 | #include "packagelistitem.h" | 4 | #include "packagelistitem.h" |
5 | 5 | ||
6 | #include <qpe/process.h> | 6 | #include <qpe/process.h> |
7 | #include <qpe/resource.h> | 7 | #include <qpe/resource.h> |
8 | #include <qpe/config.h> | 8 | #include <qpe/config.h> |
9 | #include <qpe/stringutil.h> | 9 | #include <qpe/stringutil.h> |
10 | #include <qpe/qpeapplication.h> | 10 | #include <qpe/qpeapplication.h> |
11 | #include <qdir.h> | 11 | #include <qdir.h> |
12 | #include <qfile.h> | 12 | #include <qfile.h> |
13 | #include <qgroupbox.h> | 13 | #include <qgroupbox.h> |
14 | #include <qmultilineedit.h> | 14 | #include <qmultilineedit.h> |
15 | #include <qstring.h> | 15 | #include <qstring.h> |
16 | #include <qcheckbox.h> | 16 | #include <qcheckbox.h> |
17 | #include <qtextstream.h> | 17 | #include <qtextstream.h> |
18 | #include <qtextview.h> | 18 | #include <qtextview.h> |
19 | 19 | ||
20 | #include <qprogressbar.h> | 20 | #include <qprogressbar.h> |
21 | #include <qpushbutton.h> | 21 | #include <qpushbutton.h> |
22 | #include <qlayout.h> | 22 | #include <qlayout.h> |
23 | 23 | ||
24 | #include <stdlib.h> | 24 | #include <stdlib.h> |
25 | #include <unistd.h> | 25 | #include <unistd.h> |
26 | 26 | ||
27 | #include "mainwindow.h" | 27 | #include "mainwindow.h" |
28 | 28 | ||
29 | 29 | ||
30 | PmIpkg::PmIpkg( PackageManagerSettings* s, QWidget* p, const char * name, WFlags f ) | 30 | PmIpkg::PmIpkg( PackageManagerSettings* s, QWidget* p, const char * name, WFlags f ) |
31 | : QObject ( p ) | 31 | : QObject ( p ) |
32 | { | 32 | { |
33 | settings = s; | 33 | settings = s; |
34 | runwindow = new RunWindow( p, name, true, f ); | 34 | runwindow = new RunWindow( p, name, true, f ); |
35 | } | 35 | } |
36 | 36 | ||
37 | PmIpkg::~PmIpkg() | 37 | PmIpkg::~PmIpkg() |
38 | { | 38 | { |
39 | } | 39 | } |
40 | 40 | ||
41 | bool PmIpkg::runIpkg(const QString& args, const QString& dest ) | 41 | bool PmIpkg::runIpkg(const QString& args, const QString& dest ) |
42 | { | 42 | { |
43 | bool ret=false; | 43 | bool ret=false; |
44 | QDir::setCurrent("/tmp"); | 44 | QDir::setCurrent("/tmp"); |
45 | QString cmd = "/usr/bin/ipkg "; | 45 | QString cmd = "/usr/bin/ipkg "; |
46 | pvDebug( 3,"PmIpkg::runIpkg got dest="+dest); | 46 | pvDebug( 3,"PmIpkg::runIpkg got dest="+dest); |
47 | if ( dest == "" ) | 47 | if ( dest == "" ) |
48 | cmd += " -dest "+settings->getDestinationName(); | 48 | cmd += " -dest "+settings->getDestinationName(); |
49 | else | 49 | else |
50 | cmd += " -dest "+ dest; | 50 | cmd += " -dest "+ dest; |
51 | 51 | ||
52 | cmd += " -force-defaults "; | 52 | cmd += " -force-defaults "; |
53 | 53 | ||
54 | if (installDialog->_force_depends) | 54 | if (installDialog && installDialog->_force_depends) |
55 | { | 55 | { |
56 | if (installDialog->_force_depends->isChecked()) | 56 | if (installDialog->_force_depends->isChecked()) |
57 | cmd += " -force-depends "; | 57 | cmd += " -force-depends "; |
58 | if (installDialog->_force_reinstall->isChecked()) | 58 | if (installDialog->_force_reinstall->isChecked()) |
59 | cmd += " -force-reinstall "; | 59 | cmd += " -force-reinstall "; |
60 | if (installDialog->_force_remove->isChecked()) | 60 | if (installDialog->_force_remove->isChecked()) |
61 | cmd += " -force-removal-of-essential-packages "; | 61 | cmd += " -force-removal-of-essential-packages "; |
62 | } | 62 | } |
63 | 63 | ||
64 | out( "Starting to "+ args+"\n"); | 64 | out( "Starting to "+ args+"\n"); |
65 | cmd += args; | 65 | cmd += args; |
66 | out( "running:\n"+cmd+"\n" ); | 66 | out( "running:\n"+cmd+"\n" ); |
67 | pvDebug(2,"running:"+cmd); | 67 | pvDebug(2,"running:"+cmd); |
68 | qApp->processEvents(); | 68 | qApp->processEvents(); |
69 | FILE *fp; | 69 | FILE *fp; |
70 | char line[130]; | 70 | char line[130]; |
71 | QString lineStr, lineStrOld; | 71 | QString lineStr, lineStrOld; |
72 | sleep(1); | 72 | sleep(1); |
73 | cmd +=" 2>&1"; | 73 | cmd +=" 2>&1"; |
74 | fp = popen( (const char *) cmd, "r"); | 74 | fp = popen( (const char *) cmd, "r"); |
75 | if ( !fp ) { | 75 | if ( !fp ) { |
76 | qDebug("Could not execute '" + cmd + "'! err=%d", fp); | 76 | qDebug("Could not execute '" + cmd + "'! err=%d", fp); |
77 | pclose(fp); | 77 | pclose(fp); |
78 | out("\nError while executing "+ cmd+"\n\n"); | 78 | out("\nError while executing "+ cmd+"\n\n"); |
79 | return false; | 79 | return false; |
80 | } else { | 80 | } else { |
81 | while ( fgets( line, sizeof line, fp)) { | 81 | while ( fgets( line, sizeof line, fp)) { |
82 | lineStr = line; | 82 | lineStr = line; |
83 | lineStr=lineStr.left(lineStr.length()-1); | 83 | lineStr=lineStr.left(lineStr.length()-1); |
84 | //Configuring opie-oipkg...Done | 84 | //Configuring opie-oipkg...Done |
85 | if (lineStr.contains("Done")) | 85 | if (lineStr.contains("Done")) |
86 | ret = true; | 86 | ret = true; |
87 | if (lineStr!=lineStrOld) | 87 | if (lineStr!=lineStrOld) |
88 | out(lineStr); | 88 | out(lineStr); |
89 | lineStrOld = lineStr; | 89 | lineStrOld = lineStr; |
90 | qApp->processEvents(); | ||
90 | } | 91 | } |
91 | pclose(fp); | 92 | pclose(fp); |
92 | } | 93 | } |
93 | //out( "Finished!"); | 94 | //out( "Finished!"); |
94 | pvDebug(2,QString(ret?"success\n":"failure\n")); | 95 | pvDebug(2,QString(ret?"success\n":"failure\n")); |
95 | return ret; | 96 | return ret; |
96 | } | 97 | } |
97 | 98 | ||
98 | void PmIpkg::makeLinks(Package *pack) | 99 | void PmIpkg::makeLinks(Package *pack) |
99 | { | 100 | { |
100 | pvDebug( 2, "PmIpkg::makeLinks "+ pack->name()); | 101 | pvDebug( 2, "PmIpkg::makeLinks "+ pack->name()); |
101 | linkPackage( pack->name(), pack->dest() ); | 102 | linkPackage( pack->name(), pack->dest() ); |
102 | } | 103 | } |
103 | 104 | ||
104 | QStringList* PmIpkg::getList( QString packFileName, QString d ) | 105 | QStringList* PmIpkg::getList( QString packFileName, QString d ) |
105 | { | 106 | { |
106 | QString dest = settings->getDestinationUrlByName( d ); | 107 | QString dest = settings->getDestinationUrlByName( d ); |
107 | dest = dest==""?d:dest; | 108 | dest = dest==""?d:dest; |
108 | if (dest == "/" ) return 0; | 109 | if (dest == "/" ) return 0; |
109 | { | 110 | { |
110 | Config cfg( "oipkg", Config::User ); | 111 | Config cfg( "oipkg", Config::User ); |
111 | cfg.setGroup( "Common" ); | 112 | cfg.setGroup( "Common" ); |
112 | QString statusDir = cfg.readEntry( "statusDir", "" ); | 113 | QString statusDir = cfg.readEntry( "statusDir", "" ); |
113 | } | 114 | } |
114 | packFileName = dest+"/"+statusDir+"/info/"+packFileName+".list"; | 115 | packFileName = dest+"/"+statusDir+"/info/"+packFileName+".list"; |
115 | QFile f( packFileName ); | 116 | QFile f( packFileName ); |
116 | if ( ! f.open(IO_ReadOnly) ) | 117 | if ( ! f.open(IO_ReadOnly) ) |
117 | { | 118 | { |
118 | pvDebug(1," Panik! Could not open"); | 119 | pvDebug(1," Panik! Could not open"); |
119 | out( "Panik!\n Could not open:\n"+packFileName ); | 120 | out( "Panik!\n Could not open:\n"+packFileName ); |
120 | return (QStringList*)0; | 121 | return (QStringList*)0; |
121 | } | 122 | } |
122 | QStringList *fileList = new QStringList(); | 123 | QStringList *fileList = new QStringList(); |
123 | QTextStream t( &f ); | 124 | QTextStream t( &f ); |
124 | while ( !t.eof() ) | 125 | while ( !t.eof() ) |
125 | { | 126 | { |
126 | *fileList += t.readLine(); | 127 | *fileList += t.readLine(); |
127 | } | 128 | } |
128 | return fileList; | 129 | return fileList; |
129 | } | 130 | } |
130 | 131 | ||
131 | void PmIpkg::linkPackage( QString packFileName, QString dest ) | 132 | void PmIpkg::linkPackage( QString packFileName, QString dest ) |
132 | { | 133 | { |
133 | QStringList *fileList = getList( packFileName, dest ); | 134 | QStringList *fileList = getList( packFileName, dest ); |
134 | processFileList( fileList, dest ); | 135 | processFileList( fileList, dest ); |
135 | delete fileList; | 136 | delete fileList; |
136 | } | 137 | } |
137 | 138 | ||
138 | void PmIpkg::processFileList( QStringList *fileList, QString d ) | 139 | void PmIpkg::processFileList( QStringList *fileList, QString d ) |
139 | { | 140 | { |
140 | if (!fileList) return; | 141 | if (!fileList) return; |
141 | for (uint i=0; i < fileList->count(); i++) | 142 | for (uint i=0; i < fileList->count(); i++) |
142 | { | 143 | { |
143 | QString dest = settings->getDestinationUrlByName( d ); | 144 | QString dest = settings->getDestinationUrlByName( d ); |
144 | dest = dest==""?d:dest; | 145 | dest = dest==""?d:dest; |
145 | processLinkDir( (*fileList)[i], dest ); | 146 | processLinkDir( (*fileList)[i], dest ); |
146 | } | 147 | } |
147 | } | 148 | } |
148 | 149 | ||
149 | 150 | ||
150 | void PmIpkg::processLinkDir( QString file, QString dest ) | 151 | void PmIpkg::processLinkDir( QString file, QString dest ) |
151 | { | 152 | { |
152 | pvDebug( 4,"PmIpkg::processLinkDir "+file+" to "+ dest); | 153 | pvDebug( 4,"PmIpkg::processLinkDir "+file+" to "+ dest); |
153 | if (linkOpp==createLink) pvDebug( 4,"opp: createLink"); | 154 | if (linkOpp==createLink) pvDebug( 4,"opp: createLink"); |
154 | if (linkOpp==removeLink) pvDebug( 4,"opp: removeLink"); | 155 | if (linkOpp==removeLink) pvDebug( 4,"opp: removeLink"); |
155 | if ( dest == "???" || dest == "" ) return; | 156 | if ( dest == "???" || dest == "" ) return; |
156 | QString destFile = file; | 157 | QString destFile = file; |
157 | file = dest+"/"+file; | 158 | file = dest+"/"+file; |
158 | if (file == dest) return; | 159 | if (file == dest) return; |
160 | // if (linkOpp==createLink) out( "\ncreating links\n" ); | ||
161 | // if (linkOpp==removeLink) out( "\nremoving links\n" ); | ||
159 | QFileInfo fileInfo( file ); | 162 | QFileInfo fileInfo( file ); |
160 | if ( fileInfo.isDir() ) | 163 | if ( fileInfo.isDir() ) |
161 | { | 164 | { |
162 | pvDebug(4, "process dir "+file); | 165 | pvDebug(4, "process dir "+file); |
163 | QDir destDir( destFile ); | 166 | QDir destDir( destFile ); |
164 | if (linkOpp==createLink) destDir.mkdir( destFile, true ); | 167 | if (linkOpp==createLink) destDir.mkdir( destFile, true ); |
165 | QDir d( file ); | 168 | QDir d( file ); |
166 | // d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks ); | 169 | // d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks ); |
167 | const QFileInfoList *list = d.entryInfoList(); | 170 | const QFileInfoList *list = d.entryInfoList(); |
168 | QFileInfoListIterator it( *list ); | 171 | QFileInfoListIterator it( *list ); |
169 | QFileInfo *fi; | 172 | QFileInfo *fi; |
170 | while ( (fi=it.current()) ) | 173 | while ( (fi=it.current()) ) |
171 | { | 174 | { |
172 | pvDebug(4, "processLinkDir "+fi->absFilePath()); | 175 | pvDebug(4, "processLinkDir "+fi->absFilePath()); |
173 | processLinkDir( fi->absFilePath(), dest ); | 176 | processLinkDir( fi->absFilePath(), dest ); |
174 | ++it; | 177 | ++it; |
175 | } | 178 | } |
176 | } else | 179 | } else |
177 | if ( fileInfo.isFile() ) | 180 | if ( fileInfo.isFile() ) |
178 | { | 181 | { |
179 | const char *instFile = strdup( (file).ascii() ); | 182 | const char *instFile = strdup( (file).ascii() ); |
180 | const char *linkFile = strdup( (destFile).ascii()); | 183 | const char *linkFile = strdup( (destFile).ascii()); |
181 | if( linkOpp==createLink ) | 184 | if( linkOpp==createLink ) |
182 | { | 185 | { |
183 | pvDebug(4, "linking: "+file+" -> "+destFile ); | 186 | pvDebug(4, "linking: "+file+" -> "+destFile ); |
184 | symlink( instFile, linkFile ); | 187 | symlink( instFile, linkFile ); |
185 | } | 188 | } |
186 | } else { | 189 | } else { |
187 | const char *linkFile = strdup( (destFile).ascii()); | 190 | const char *linkFile = strdup( (destFile).ascii()); |
188 | if( linkOpp==removeLink ) | 191 | if( linkOpp==removeLink ) |
189 | { | 192 | { |
190 | QFileInfo toRemoveLink( destFile ); | 193 | QFileInfo toRemoveLink( destFile ); |
191 | if ( !QFile::exists( file ) && toRemoveLink.isSymLink() ) | 194 | if ( !QFile::exists( file ) && toRemoveLink.isSymLink() ) |
192 | { | 195 | { |
193 | pvDebug(4,"removing "+destFile+" no "+file); | 196 | pvDebug(4,"removing "+destFile+" no "+file); |
194 | unlink( linkFile ); | 197 | unlink( linkFile ); |
195 | } | 198 | } |
196 | } | 199 | } |
197 | } | 200 | } |
198 | } | 201 | } |
199 | 202 | ||
200 | void PmIpkg::loadList( PackageList *pl ) | 203 | void PmIpkg::loadList( PackageList *pl ) |
201 | { | 204 | { |
202 | for( Package *pack = pl->first();pack ; (pack = pl->next()) ) | 205 | for( Package *pack = pl->first();pack ; (pack = pl->next()) ) |
203 | { | 206 | { |
204 | if ( pack && (pack->name() != "") && pack) | 207 | if ( pack && (pack->name() != "") && pack) |
205 | { | 208 | { |
206 | if ( pack->toInstall() ) | 209 | if ( pack->toInstall() ) |
207 | to_install.append( pack ); | 210 | to_install.append( pack ); |
208 | if ( pack->toRemove() ) | 211 | if ( pack->toRemove() ) |
209 | to_remove.append( pack ); | 212 | to_remove.append( pack ); |
210 | } | 213 | } |
211 | } | 214 | } |
212 | } | 215 | } |
213 | 216 | ||
214 | void PmIpkg::commit() | 217 | void PmIpkg::commit() |
215 | { | 218 | { |
216 | int sizecount = 0; | 219 | int sizecount = 0; |
217 | installDialog = new InstallDialog(settings,0,0,true); | 220 | installDialog = new InstallDialog(settings,0,0,true); |
218 | installDialog->toRemoveItem->setOpen( true ); | 221 | installDialog->toRemoveItem->setOpen( true ); |
219 | installDialog->toInstallItem->setOpen( true ); | 222 | installDialog->toInstallItem->setOpen( true ); |
220 | for (uint i=0; i < to_remove.count(); i++) | 223 | for (uint i=0; i < to_remove.count(); i++) |
221 | { | 224 | { |
222 | sizecount += 1; | 225 | sizecount += 1; |
223 | installDialog->toRemoveItem->insertItem( new PackageListItem(installDialog->ListViewPackages, to_remove.at(i),settings) ); | 226 | installDialog->toRemoveItem->insertItem( new PackageListItem(installDialog->ListViewPackages, to_remove.at(i),settings) ); |
224 | } | 227 | } |
225 | for (uint i=0; i < to_install.count(); i++) | 228 | for (uint i=0; i < to_install.count(); i++) |
226 | { | 229 | { |
227 | sizecount += to_install.at(i)->size().toInt(); | 230 | sizecount += to_install.at(i)->size().toInt(); |
228 | installDialog->toInstallItem->insertItem( new PackageListItem(installDialog->ListViewPackages, to_install.at(i),settings) ); | 231 | installDialog->toInstallItem->insertItem( new PackageListItem(installDialog->ListViewPackages, to_install.at(i),settings) ); |
229 | } | 232 | } |
230 | runwindow->progress->setTotalSteps(sizecount); | 233 | runwindow->progress->setTotalSteps(sizecount); |
231 | qDebug("Install size %i",sizecount); | 234 | qDebug("Install size %i",sizecount); |
232 | installDialog->showMaximized(); | 235 | installDialog->showMaximized(); |
233 | installDialog->show(); | 236 | installDialog->show(); |
234 | if ( installDialog->exec() ) | 237 | if ( installDialog->exec() ) |
235 | { | 238 | { |
236 | doIt(); | 239 | doIt(); |
237 | runwindow->showMaximized(); | 240 | runwindow->showMaximized(); |
238 | runwindow->show(); | 241 | runwindow->show(); |
239 | } | 242 | } |
240 | installDialog->close(); | 243 | installDialog->close(); |
241 | out(tr("\nAll done.")); | 244 | out(tr("\nAll done.")); |
242 | } | 245 | } |
243 | 246 | ||
244 | void PmIpkg::doIt() | 247 | void PmIpkg::doIt() |
245 | { | 248 | { |
246 | runwindow->progress->setProgress(0); | 249 | runwindow->progress->setProgress(0); |
247 | show(); | 250 | show(); |
248 | remove(); | 251 | remove(); |
249 | install(); | 252 | install(); |
250 | } | 253 | } |
251 | 254 | ||
252 | 255 | ||
253 | void PmIpkg::remove() | 256 | void PmIpkg::remove() |
254 | { | 257 | { |
255 | if ( to_remove.count() == 0 ) return; | 258 | if ( to_remove.count() == 0 ) return; |
256 | 259 | ||
257 | out(tr("Removing")+"\n"+tr("please wait")+"\n\n"); | 260 | out(tr("Removing")+"\n"+tr("please wait")+"\n\n"); |
258 | 261 | ||
259 | QStringList *fileList; | 262 | QStringList *fileList; |
260 | for (uint i=0; i < to_remove.count(); i++) | 263 | for (uint i=0; i < to_remove.count(); i++) |
261 | { | 264 | { |
262 | if ( to_remove.at(i)->link() )fileList = getList( to_remove.at(i)->name(), to_remove.at(i)->dest() ); | 265 | if ( to_remove.at(i)->link() )fileList = getList( to_remove.at(i)->name(), to_remove.at(i)->dest() ); |
263 | if ( runIpkg("remove " + to_remove.at(i)->installName(), to_remove.at(i)->dest() )) | 266 | if ( runIpkg("remove " + to_remove.at(i)->installName(), to_remove.at(i)->dest() )) |
264 | { | 267 | { |
265 | runwindow->progress->setProgress( 1 ); | 268 | runwindow->progress->setProgress( 1 ); |
266 | linkOpp = removeLink; | 269 | linkOpp = removeLink; |
267 | to_remove.at(i)->processed(); | 270 | to_remove.at(i)->processed(); |
271 | if ( to_remove.at(i)->link() ) | ||
272 | processFileList( fileList, to_remove.at(i)->dest() ); | ||
268 | to_remove.take( i ); | 273 | to_remove.take( i ); |
269 | 274 | ||
270 | out("\n\n"); | 275 | out("\n"); |
271 | }else{ | 276 | }else{ |
272 | out(tr("Error while removing")+to_remove.at(i)->name()+"\n"); | 277 | out(tr("Error while removing")+to_remove.at(i)->name()+"\n"); |
278 | if ( to_remove.at(i)->link() ) | ||
279 | processFileList( fileList, to_remove.at(i)->dest() ); | ||
273 | } | 280 | } |
274 | if ( to_remove.at(i)->link() ) | 281 | if ( to_remove.at(i)->link() ) |
275 | { | ||
276 | out( "\nremoving links\n" ); | ||
277 | out( "for package "+to_remove.at(i)->name()+" in "+to_remove.at(i)->dest()+"\n" ); | ||
278 | processFileList( fileList, to_remove.at(i)->dest() ); | 282 | processFileList( fileList, to_remove.at(i)->dest() ); |
279 | } | ||
280 | if ( to_remove.at(i)->link() )delete fileList; | 283 | if ( to_remove.at(i)->link() )delete fileList; |
281 | } | 284 | } |
282 | to_remove.clear(); | 285 | to_remove.clear(); |
283 | out("\n"); | 286 | out("\n"); |
284 | } | 287 | } |
285 | 288 | ||
286 | 289 | ||
287 | void PmIpkg::install() | 290 | void PmIpkg::install() |
288 | { | 291 | { |
289 | if ( to_install.count() == 0 ) return; | 292 | if ( to_install.count() == 0 ) return; |
290 | out(tr("Installing")+"\n"+tr("please wait")+"\n"); | 293 | out(tr("Installing")+"\n"+tr("please wait")+"\n"); |
291 | for (uint i=0; i < to_install.count(); i++) | 294 | for (uint i=0; i < to_install.count(); i++) |
292 | { | 295 | { |
296 | qDebug("install loop %i of %i installing %s",i,to_install.count(),to_install.at(i)->installName().latin1()); //pvDebug | ||
293 | if ( runIpkg("install " + to_install.at(i)->installName(), to_install.at(i)->dest() )) | 297 | if ( runIpkg("install " + to_install.at(i)->installName(), to_install.at(i)->dest() )) |
294 | { | 298 | { |
295 | runwindow->progress->setProgress( to_install.at(i)->size().toInt() + runwindow->progress->progress()); | 299 | runwindow->progress->setProgress( to_install.at(i)->size().toInt() + runwindow->progress->progress()); |
296 | to_install.at(i)->processed(); | 300 | to_install.at(i)->processed(); |
301 | linkOpp = createLink; | ||
302 | if ( to_install.at(i)->link() ) | ||
303 | makeLinks( to_install.at(i) ); | ||
297 | to_install.take( i ); | 304 | to_install.take( i ); |
298 | out("\n\n"); | 305 | out("\n"); |
299 | }else{ | 306 | }else{ |
300 | out(tr("Error while installing")+to_install.at(i)->name()+"\n"); | 307 | out(tr("Error while installing")+to_install.at(i)->name()+"\n"); |
301 | } | 308 | linkOpp = createLink; |
302 | linkOpp = createLink; | 309 | if ( to_install.at(i)->link() ) |
303 | if ( to_install.at(i)->link() ) | 310 | makeLinks( to_install.at(i) ); |
304 | { | ||
305 | out( "\ncreating links\n" ); | ||
306 | out( "for package "+to_install.at(i)->name()+" in "+to_install.at(i)->dest()+"\n" ); | ||
307 | makeLinks( to_install.at(i) ); | ||
308 | } | 311 | } |
309 | } | 312 | } |
310 | out("\n"); | 313 | out("\n"); |
311 | to_install.clear(); | 314 | to_install.clear(); |
312 | } | 315 | } |
313 | 316 | ||
314 | void PmIpkg::createLinks( const QString &dest ) | 317 | void PmIpkg::createLinks( const QString &dest ) |
315 | { | 318 | { |
316 | pvDebug(2,"PmIpkg::createLinks "+dest); | 319 | pvDebug(2,"PmIpkg::createLinks "+dest); |
317 | linkOpp=createLink; | 320 | linkOpp=createLink; |
318 | QString url = settings->getDestinationUrlByName( dest ); | 321 | QString url = settings->getDestinationUrlByName( dest ); |
319 | url = url==""?dest:url; | 322 | url = url==""?dest:url; |
320 | processLinkDir( "/opt", url ); | 323 | processLinkDir( "/opt", url ); |
321 | processLinkDir( "/usr", url ); | 324 | processLinkDir( "/usr", url ); |
322 | } | 325 | } |
323 | 326 | ||
324 | void PmIpkg::removeLinks( const QString &dest ) | 327 | void PmIpkg::removeLinks( const QString &dest ) |
325 | { | 328 | { |
326 | pvDebug(2,"PmIpkg::removeLinks "+dest); | 329 | pvDebug(2,"PmIpkg::removeLinks "+dest); |
327 | linkOpp=removeLink; | 330 | linkOpp=removeLink; |
328 | QString url = settings->getDestinationUrlByName( dest ); | 331 | QString url = settings->getDestinationUrlByName( dest ); |
329 | url = url==""?dest:url; | 332 | url = url==""?dest:url; |
330 | processLinkDir( "/opt", url ); | 333 | processLinkDir( "/opt", url ); |
331 | processLinkDir( "/usr", url ); | 334 | processLinkDir( "/usr", url ); |
332 | } | 335 | } |
333 | 336 | ||
334 | void PmIpkg::update() | 337 | void PmIpkg::update() |
335 | { | 338 | { |
336 | show(); | 339 | show(); |
337 | runIpkg( "update" ); | 340 | runIpkg( "update" ); |
338 | runwindow->close(); | 341 | runwindow->close(); |
339 | } | 342 | } |
340 | 343 | ||
341 | void PmIpkg::out( QString o ) | 344 | void PmIpkg::out( QString o ) |
342 | { | 345 | { |
343 | runwindow->outPut->append(o); | 346 | runwindow->outPut->append(o); |
344 | runwindow->outPut->setCursorPosition(runwindow->outPut->numLines() + 1,0,FALSE); | 347 | runwindow->outPut->setCursorPosition(runwindow->outPut->numLines() + 1,0,FALSE); |
345 | } | 348 | } |
346 | 349 | ||
347 | 350 | ||
348 | 351 | ||
349 | 352 | ||
350 | void PmIpkg::show() | 353 | void PmIpkg::show() |
351 | { | 354 | { |
352 | if (!runwindow->isVisible()) | 355 | if (!runwindow->isVisible()) |
353 | { | 356 | { |
354 | runwindow->showMaximized(); | 357 | runwindow->showMaximized(); |
355 | runwindow->show(); | 358 | runwindow->show(); |
356 | } | 359 | } |
357 | runwindow->outPut->setText(""); | 360 | runwindow->outPut->setText(""); |
358 | //showButtons(b); | 361 | //showButtons(b); |
359 | //if ( !b ) | 362 | //if ( !b ) |
360 | // runwindow->progress->hide(); | 363 | // runwindow->progress->hide(); |
361 | // else | 364 | // else |
362 | // runwindow->progress->show(); | 365 | // runwindow->progress->show(); |
363 | } | 366 | } |
364 | 367 | ||
365 | void PmIpkg::installFile(const QString &fileName, const QString &dest) | 368 | void PmIpkg::installFile(const QString &fileName, const QString &dest) |
366 | { | 369 | { |
367 | 370 | ||
368 | to_install.clear(); | 371 | to_install.clear(); |
369 | to_remove.clear(); | 372 | to_remove.clear(); |
370 | pvDebug( 2,"PmIpkg::installFile "+ fileName); | 373 | pvDebug( 2,"PmIpkg::installFile "+ fileName); |
371 | Package *p = new Package(fileName,settings); | 374 | Package *p = new Package(fileName,settings); |
372 | if ( dest!="") p->setDest( dest ); | 375 | if ( dest!="") p->setDest( dest ); |
373 | to_install.append( p ); | 376 | to_install.append( p ); |
374 | commit(); | 377 | commit(); |
375 | delete p; | 378 | delete p; |
376 | } | 379 | } |
377 | 380 | ||
378 | void PmIpkg::removeFile(const QString &fileName, const QString &dest) | 381 | void PmIpkg::removeFile(const QString &fileName, const QString &dest) |
379 | { | 382 | { |
380 | 383 | ||
381 | to_install.clear(); | 384 | to_install.clear(); |
382 | to_remove.clear(); | 385 | to_remove.clear(); |
383 | pvDebug( 2,"PmIpkg::removeFile "+ fileName); | 386 | pvDebug( 2,"PmIpkg::removeFile "+ fileName); |
384 | Package *p = new Package(fileName,settings); | 387 | Package *p = new Package(fileName,settings); |
385 | if ( dest!="") p->setDest( dest ); | 388 | if ( dest!="") p->setDest( dest ); |
386 | to_remove.append( p ); | 389 | to_remove.append( p ); |
387 | commit(); | 390 | commit(); |
388 | delete p; | 391 | delete p; |
389 | } | 392 | } |
390 | 393 | ||