author | drw <drw> | 2004-11-16 19:06:12 (UTC) |
---|---|---|
committer | drw <drw> | 2004-11-16 19:06:12 (UTC) |
commit | 1c6f490e8541626f68422e0a3a7c7281d7f5b7d3 (patch) (unidiff) | |
tree | cba3bc50c1611088ff1c15ebb0f79d7a3e1f454d | |
parent | 64dabf8fbdc8593611b3438e6c9f5d3d7c40016f (diff) | |
download | opie-1c6f490e8541626f68422e0a3a7c7281d7f5b7d3.zip opie-1c6f490e8541626f68422e0a3a7c7281d7f5b7d3.tar.gz opie-1c6f490e8541626f68422e0a3a7c7281d7f5b7d3.tar.bz2 |
Add ability to install local ipkg files
-rw-r--r-- | noncore/settings/packagemanager/mainwindow.cpp | 30 | ||||
-rw-r--r-- | noncore/settings/packagemanager/mainwindow.h | 43 |
2 files changed, 52 insertions, 21 deletions
diff --git a/noncore/settings/packagemanager/mainwindow.cpp b/noncore/settings/packagemanager/mainwindow.cpp index 807bddd..5a942a1 100644 --- a/noncore/settings/packagemanager/mainwindow.cpp +++ b/noncore/settings/packagemanager/mainwindow.cpp | |||
@@ -29,16 +29,18 @@ _;:, .> :=|. This file is free software; you can | |||
29 | 29 | ||
30 | #include "mainwindow.h" | 30 | #include "mainwindow.h" |
31 | #include "installdlg.h" | 31 | #include "installdlg.h" |
32 | #include "filterdlg.h" | 32 | #include "filterdlg.h" |
33 | #include "promptdlg.h" | 33 | #include "promptdlg.h" |
34 | #include "entrydlg.h" | 34 | #include "entrydlg.h" |
35 | #include "packageinfodlg.h" | 35 | #include "packageinfodlg.h" |
36 | 36 | ||
37 | #include <opie2/ofiledialog.h> | ||
38 | |||
37 | #include <qpe/qcopenvelope_qws.h> | 39 | #include <qpe/qcopenvelope_qws.h> |
38 | #include <qpe/qpeapplication.h> | 40 | #include <qpe/qpeapplication.h> |
39 | #include <qpe/resource.h> | 41 | #include <qpe/resource.h> |
40 | 42 | ||
41 | #include <qaction.h> | 43 | #include <qaction.h> |
42 | #include <qdir.h> | 44 | #include <qdir.h> |
43 | #include <qlayout.h> | 45 | #include <qlayout.h> |
44 | #include <qlineedit.h> | 46 | #include <qlineedit.h> |
@@ -177,16 +179,22 @@ void MainWindow::initUI() | |||
177 | actionDownload->addTo( &m_toolBar ); | 179 | actionDownload->addTo( &m_toolBar ); |
178 | 180 | ||
179 | a = new QAction( tr( "Apply changes" ), Resource::loadPixmap( "packagemanager/apply" ), QString::null, 0, this, 0 ); | 181 | a = new QAction( tr( "Apply changes" ), Resource::loadPixmap( "packagemanager/apply" ), QString::null, 0, this, 0 ); |
180 | a->setWhatsThis( tr( "Tap here to install, remove or upgrade currently selected package(s)." ) ); | 182 | a->setWhatsThis( tr( "Tap here to install, remove or upgrade currently selected package(s)." ) ); |
181 | connect( a, SIGNAL(activated()), this, SLOT(slotApply()) ); | 183 | connect( a, SIGNAL(activated()), this, SLOT(slotApply()) ); |
182 | a->addTo( popup ); | 184 | a->addTo( popup ); |
183 | a->addTo( &m_toolBar ); | 185 | a->addTo( &m_toolBar ); |
184 | 186 | ||
187 | a = new QAction( tr( "Install local package" ), Resource::loadPixmap( "folder" ), QString::null, 0, this, 0 ); | ||
188 | a->setWhatsThis( tr( "Tap here to install a package file located on device." ) ); | ||
189 | connect( a, SIGNAL(activated()), this, SLOT(slotInstallLocal()) ); | ||
190 | a->addTo( popup ); | ||
191 | //a->addTo( &m_toolBar ); | ||
192 | |||
185 | popup->insertSeparator(); | 193 | popup->insertSeparator(); |
186 | 194 | ||
187 | a = new QAction( tr( "Configure" ), Resource::loadPixmap( "SettingsIcon" ), QString::null, 0, this, 0 ); | 195 | a = new QAction( tr( "Configure" ), Resource::loadPixmap( "SettingsIcon" ), QString::null, 0, this, 0 ); |
188 | a->setWhatsThis( tr( "Tap here to configure this application." ) ); | 196 | a->setWhatsThis( tr( "Tap here to configure this application." ) ); |
189 | connect( a, SIGNAL(activated()), this, SLOT(slotConfigure()) ); | 197 | connect( a, SIGNAL(activated()), this, SLOT(slotConfigure()) ); |
190 | a->addTo( popup ); | 198 | a->addTo( popup ); |
191 | mb->insertItem( tr( "Actions" ), popup ); | 199 | mb->insertItem( tr( "Actions" ), popup ); |
192 | 200 | ||
@@ -514,16 +522,38 @@ void MainWindow::slotApply() | |||
514 | upgradeCmd, upgradeList ); | 522 | upgradeCmd, upgradeList ); |
515 | connect( dlg, SIGNAL(closeInstallDlg()), this, SLOT(slotCloseDlg()) ); | 523 | connect( dlg, SIGNAL(closeInstallDlg()), this, SLOT(slotCloseDlg()) ); |
516 | 524 | ||
517 | // Display widget | 525 | // Display widget |
518 | m_widgetStack.addWidget( dlg, 3 ); | 526 | m_widgetStack.addWidget( dlg, 3 ); |
519 | m_widgetStack.raiseWidget( dlg ); | 527 | m_widgetStack.raiseWidget( dlg ); |
520 | } | 528 | } |
521 | 529 | ||
530 | void MainWindow::slotInstallLocal() | ||
531 | { | ||
532 | // Display file open dialog with only package files | ||
533 | MimeTypes type; | ||
534 | QStringList packages; | ||
535 | packages << "application/ipkg"; | ||
536 | type.insert( tr( "Application Packages" ), packages ); | ||
537 | QString package = Opie::Ui::OFileDialog::getOpenFileName( Opie::Ui::OFileSelector::NORMAL, | ||
538 | "/", QString::null, type ); | ||
539 | if ( !package.isNull() ) | ||
540 | { | ||
541 | // Install selected file | ||
542 | InstallDlg *dlg = new InstallDlg( this, &m_packman, tr( "Install local package" ), true, | ||
543 | OPackage::Install, new QStringList( package ) ); | ||
544 | connect( dlg, SIGNAL(closeInstallDlg()), this, SLOT(slotCloseDlg()) ); | ||
545 | |||
546 | // Display widget | ||
547 | m_widgetStack.addWidget( dlg, 3 ); | ||
548 | m_widgetStack.raiseWidget( dlg ); | ||
549 | } | ||
550 | } | ||
551 | |||
522 | void MainWindow::slotCloseDlg() | 552 | void MainWindow::slotCloseDlg() |
523 | { | 553 | { |
524 | // Close install dialog | 554 | // Close install dialog |
525 | delete m_widgetStack.visibleWidget(); | 555 | delete m_widgetStack.visibleWidget(); |
526 | 556 | ||
527 | // Reload package list | 557 | // Reload package list |
528 | initPackageInfo(); | 558 | initPackageInfo(); |
529 | 559 | ||
diff --git a/noncore/settings/packagemanager/mainwindow.h b/noncore/settings/packagemanager/mainwindow.h index 632effb..7968614 100644 --- a/noncore/settings/packagemanager/mainwindow.h +++ b/noncore/settings/packagemanager/mainwindow.h | |||
@@ -1,32 +1,32 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of the OPIE Project | 2 | This file is part of the OPIE Project |
3 | 3 | ||
4 | =. Copyright (c) 2003 Dan Williams <drw@handhelds.org> | 4 | =. Copyright (c) 2003 Dan Williams <drw@handhelds.org> |
5 | .=l. | 5 | .=l. |
6 | .>+-= | 6 | .>+-= |
7 | _;:, .> :=|. This file is free software; you can | 7 | _;:, .> :=|. This file is free software; you can |
8 | .> <`_, > . <= redistribute it and/or modify it under | 8 | .> <`_, > . <= redistribute it and/or modify it under |
9 | :`=1 )Y*s>-.-- : the terms of the GNU General Public | 9 | :`=1 )Y*s>-.-- : the terms of the GNU General Public |
10 | .="- .-=="i, .._ License as published by the Free Software | 10 | .="- .-=="i, .._ License as published by the Free Software |
11 | - . .-<_> .<> Foundation; either version 2 of the License, | 11 | - . .-<_> .<> Foundation; either version 2 of the License, |
12 | ._= =} : or (at your option) any later version. | 12 | ._= =} : or (at your option) any later version. |
13 | .%`+i> _;_. | 13 | .%`+i> _;_. |
14 | .i_,=:_. -<s. This file is distributed in the hope that | 14 | .i_,=:_. -<s. This file is distributed in the hope that |
15 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | 15 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; |
16 | : .. .:, . . . without even the implied warranty of | 16 | : .. .:, . . . without even the implied warranty of |
17 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | 17 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A |
18 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General | 18 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General |
19 | ..}^=.= = ; Public License for more details. | 19 | ..}^=.= = ; Public License for more details. |
20 | ++= -. .` .: | 20 | ++= -. .` .: |
21 | : = ...= . :.=- You should have received a copy of the GNU | 21 | : = ...= . :.=- You should have received a copy of the GNU |
22 | -. .:....=;==+<; General Public License along with this file; | 22 | -. .:....=;==+<; General Public License along with this file; |
23 | -_. . . )=. = see the file COPYING. If not, write to the | 23 | -_. . . )=. = see the file COPYING. If not, write to the |
24 | -- :-=` Free Software Foundation, Inc., | 24 | -- :-=` Free Software Foundation, Inc., |
25 | 59 Temple Place - Suite 330, | 25 | 59 Temple Place - Suite 330, |
26 | Boston, MA 02111-1307, USA. | 26 | Boston, MA 02111-1307, USA. |
27 | 27 | ||
28 | */ | 28 | */ |
29 | 29 | ||
30 | #ifndef MAINWINDOW_H | 30 | #ifndef MAINWINDOW_H |
31 | #define MAINWINDOW_H | 31 | #define MAINWINDOW_H |
32 | 32 | ||
@@ -111,16 +111,17 @@ private slots: | |||
111 | void slotStatusText( const QString &status ); | 111 | void slotStatusText( const QString &status ); |
112 | void slotStatusBar( int currStep ); | 112 | void slotStatusBar( int currStep ); |
113 | 113 | ||
114 | // Actions menu action slots | 114 | // Actions menu action slots |
115 | void slotUpdate(); | 115 | void slotUpdate(); |
116 | void slotUpgrade(); | 116 | void slotUpgrade(); |
117 | void slotDownload(); | 117 | void slotDownload(); |
118 | void slotApply(); | 118 | void slotApply(); |
119 | void slotInstallLocal(); | ||
119 | void slotCloseDlg(); | 120 | void slotCloseDlg(); |
120 | void slotConfigure(); | 121 | void slotConfigure(); |
121 | 122 | ||
122 | // View menu action slots | 123 | // View menu action slots |
123 | void slotShowNotInstalled(); | 124 | void slotShowNotInstalled(); |
124 | void slotShowInstalled(); | 125 | void slotShowInstalled(); |
125 | void slotShowUpdated(); | 126 | void slotShowUpdated(); |
126 | void slotFilterChange(); | 127 | void slotFilterChange(); |