summaryrefslogtreecommitdiff
path: root/noncore/unsupported/oipkg/mainwindow.cpp
Unidiff
Diffstat (limited to 'noncore/unsupported/oipkg/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/mainwindow.cpp115
1 files changed, 88 insertions, 27 deletions
diff --git a/noncore/unsupported/oipkg/mainwindow.cpp b/noncore/unsupported/oipkg/mainwindow.cpp
index c803ca0..25ca889 100644
--- a/noncore/unsupported/oipkg/mainwindow.cpp
+++ b/noncore/unsupported/oipkg/mainwindow.cpp
@@ -9,2 +9,3 @@
9#include <qpe/qpetoolbar.h> 9#include <qpe/qpetoolbar.h>
10#include <qpe/qcopenvelope_qws.h>
10#include <qaction.h> 11#include <qaction.h>
@@ -31,2 +32,3 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) :
31 listViewPackages = new QListView( this,0,0 ); 32 listViewPackages = new QListView( this,0,0 );
33 listViewPackages->setSelectionMode(QListView::NoSelection);
32 setCentralWidget( listViewPackages ); 34 setCentralWidget( listViewPackages );
@@ -34,3 +36,7 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) :
34 makeMenu(); 36 makeMenu();
35 37#ifdef NEWLAYOUT
38 listViewPackages->addColumn( tr("Package") );
39 listViewPackages->setRootIsDecorated( true );
40#endif
41#ifndef NEWLAYOUT
36 QFontMetrics fm = fontMetrics(); 42 QFontMetrics fm = fontMetrics();
@@ -40,3 +46,3 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) :
40 int w2 = fm.width("00000")+4; 46 int w2 = fm.width("00000")+4;
41 int w1 = wlw-w2-w0-20; 47 int w1 = wlw-w2-w0-24;
42 listViewPackages->addColumn( tr("Package"), w0 ); 48 listViewPackages->addColumn( tr("Package"), w0 );
@@ -48,3 +54,3 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) :
48 listViewPackages->setSelectionMode( QListView::Multi ); 54 listViewPackages->setSelectionMode( QListView::Multi );
49 55#endif
50 connect( section, SIGNAL( activated(int) ), 56 connect( section, SIGNAL( activated(int) ),
@@ -55,3 +61,7 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) :
55 this, SLOT( setCurrent( QListViewItem* ) ) ); 61 this, SLOT( setCurrent( QListViewItem* ) ) );
56 62 connect( listViewPackages, SIGNAL( clicked( QListViewItem* ) ),
63 this, SLOT( stopTimer( QListViewItem* ) ) );
64
65 popupMenu = new QPopupMenu( this );
66
57 settings = new PackageManagerSettings(this,0,TRUE); 67 settings = new PackageManagerSettings(this,0,TRUE);
@@ -76,5 +86,6 @@ void MainWindow::makeMenu()
76 86
77 popupMenu = new QPopupMenu( this ); 87 popupMenu = new QPopupMenu( this );
78 88 destsMenu = new QPopupMenu( popupMenu );
79 contextMenu = new QPopupMenu( this ); 89 popupTimer = new QTimer( this );
90 connect( popupTimer, SIGNAL(timeout()), this, SLOT(showPopup()) );
80 91
@@ -182,2 +193,10 @@ void MainWindow::makeMenu()
182 findAction->addTo( viewMenu ); 193 findAction->addTo( viewMenu );
194
195 #ifdef NEW
196 Config cfg( "oipkg", Config::User );
197 cfg.setGroup( "Setting_" + QString::number( setting ) );
198 CheckBoxLink->setChecked( cfg.readBoolEntry( "link", false ) );
199 findShow(bool b)
200 sectionShow(bool b)
201 #endif
183} 202}
@@ -191,3 +210,8 @@ void MainWindow::runIpkg()
191 ipkg->commit( packageList ); 210 ipkg->commit( packageList );
192// updateList(); //to remove 211 // ##### If we looked in the list of files, we could send out accurate
212 // ##### messages. But we don't bother yet, and just do an "all".
213 QCopEnvelope e("QPE/System", "linkChanged(QString)");
214 QString lf = QString::null;
215 e << lf;
216 displayList();
193} 217}
@@ -202,3 +226,3 @@ void MainWindow::updateList()
202 getList(); 226 getList();
203 t->stop(); 227 t->stop();
204} 228}
@@ -226,3 +250,3 @@ void MainWindow::displayList()
226 if ( pack && (pack->name() != "") ) 250 if ( pack && (pack->name() != "") )
227 listViewPackages->insertItem( new PackageListItem( listViewPackages, pack ) ); 251 listViewPackages->insertItem( new PackageListItem( listViewPackages, pack, settings ) );
228 pack = packageList.next(); 252 pack = packageList.next();
@@ -293,16 +317,20 @@ void MainWindow::showDetails()
293{ 317{
294 if ( activePackage ) return;
295 if ( details ) 318 if ( details )
296 { 319 {
297 details = new PackageDetails( this ); 320 details = new PackageDetails( this );
298 connect( details->install, SIGNAL(clicked()), SLOT( toggleActivePackage() ) ); 321 connect( details->install, SIGNAL(clicked()), SLOT( toggleActivePackage() ) );
299 connect( details->remove, SIGNAL(clicked()), SLOT( toggleActivePackage() ) ); 322 connect( details->remove, SIGNAL(clicked()), SLOT( toggleActivePackage() ) );
300 connect( details->ignore, SIGNAL(clicked()), details, SLOT(close())); 323 connect( details->ignore, SIGNAL(clicked()), details, SLOT(close()));
301 details->description->setTextFormat(RichText); 324 details->description->setTextFormat(RichText);
302 } 325 }
303 326 if ( !activePackage )
304 details->setCaption("Package: " + activePackage->name()); 327 {
305 details->description->setText(activePackage->details() ); 328 details->description->setText(tr("no package selected"));
306 details->install->setEnabled(!activePackage->installed()); 329 details->description->setText(tr("errmm...<br>...not working?"));
307 details->remove->setEnabled(activePackage->installed()); 330 }else{
331 details->setCaption("Package: " + activePackage->name());
332 details->description->setText(activePackage->details() );
333 details->install->setEnabled(!activePackage->installed());
334 details->remove->setEnabled(activePackage->installed());
335 }
308 details->showMaximized(); 336 details->showMaximized();
@@ -318,6 +346,7 @@ void MainWindow::setCurrent( QListViewItem* p )
318{ 346{
319 pvDebug(2, "MainWindow::setCurrent "); 347 if ( !p ) return;
320 return; 348 activePackageListItem = (PackageListItem*)p;
321 pvDebug(2, "name "+((Package*)p)->name()); 349 activePackage = activePackageListItem->getPackage();
322 activePackage = (Package*)p; 350 pvDebug(5, "start timer");
351 popupTimer->start( 750, true );
323} 352}
@@ -357 +386,33 @@ void MainWindow::rotateUpdateIcon()
357} 386}
387
388void MainWindow::showPopup()
389{
390 popupMenu->clear();
391 destsMenu->clear();
392
393 QAction *popupAction;
394 popupMenu->insertItem( tr("Install to"), destsMenu );
395 QStringList dests = settings->getDestinationNames();
396 for (uint i = 0; i < dests.count(); i++ )
397 {
398 popupAction = new QAction( dests[i], QString::null, 0, this, 0 );
399 popupAction->addTo( destsMenu );
400 }
401 connect( destsMenu, SIGNAL( activated( int ) ),
402 this, SLOT( changePackageDest( int ) ) );
403 popupMenu->popup( QCursor::pos() );
404}
405
406void MainWindow::changePackageDest( int i )
407{
408 activePackage->setDest( destsMenu->text(i) );
409 activePackage->setOn();
410 activePackage->setLink( settings->createLinks() );
411 activePackageListItem->displayDetails();
412}
413
414void MainWindow::stopTimer( QListViewItem* )
415{
416 pvDebug( 5, "stop timer" );
417 popupTimer->stop();
418}