summaryrefslogtreecommitdiff
path: root/noncore/unsupported/oipkg/packagelistview.cpp
Unidiff
Diffstat (limited to 'noncore/unsupported/oipkg/packagelistview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/packagelistview.cpp38
1 files changed, 27 insertions, 11 deletions
diff --git a/noncore/unsupported/oipkg/packagelistview.cpp b/noncore/unsupported/oipkg/packagelistview.cpp
index 693ea6a..2915ac6 100644
--- a/noncore/unsupported/oipkg/packagelistview.cpp
+++ b/noncore/unsupported/oipkg/packagelistview.cpp
@@ -43,49 +43,65 @@ PackageListView::PackageListView(QWidget *p, const char* n, PackageManagerSettin
43 43
44} 44}
45 45
46//PackageListView::~PackageListView() 46//PackageListView::~PackageListView()
47//{ 47//{
48//} 48//}
49 49
50void PackageListView::setCurrent( QListViewItem* p ) 50void PackageListView::setCurrent( QListViewItem* p )
51{ 51{
52 if ( !p ) return; 52 if ( !p ) return;
53 activePackageListItem = (PackageListItem*)p; 53 activePackageListItem = (PackageListItem*)p;
54 activePackage = activePackageListItem->getPackage(); 54 activePackage = activePackageListItem->getPackage();
55 pvDebug(5, "start timer"); 55 if (!activePackage) return;
56 popupTimer->start( 750, true ); 56 popupTimer->start( 750, true );
57} 57}
58 58
59 59
60void PackageListView::showPopup() 60void PackageListView::showPopup()
61{ 61{
62 popupMenu->clear(); 62 popupMenu->clear();
63 destsMenu->clear(); 63 destsMenu->clear();
64 64
65 QAction *popupAction; 65 QAction *popupAction;
66 popupMenu->insertItem( QObject::tr("Install to"), destsMenu ); 66 if ( !activePackage->installed() )
67 QStringList dests = settings->getDestinationNames(); 67 {
68 for (uint i = 0; i < dests.count(); i++ ) 68 popupMenu->insertItem( QObject::tr("Install to"), destsMenu );
69 { 69 QStringList dests = settings->getDestinationNames();
70 popupAction = new QAction( dests[i], QString::null, 0, this, 0 ); 70 QString ad = settings->getDestinationName();
71 popupAction->addTo( destsMenu ); 71 for (uint i = 0; i < dests.count(); i++ )
72 } 72 {
73 connect( destsMenu, SIGNAL( activated( int ) ), 73 popupAction = new QAction( dests[i], QString::null, 0, this, 0 );
74 this, SLOT( changePackageDest( int ) ) ); 74 popupAction->addTo( destsMenu );
75 if ( dests[i] == ad && activePackage->toInstall() )
76 {
77 popupAction->setToggleAction( true );
78 popupAction->setOn(true);
79 };
80 }
81 connect( destsMenu, SIGNAL( activated( int ) ),
82 this, SLOT( changePackageDest( int ) ) );
83 }else{
84 // popupActcat setOn( activePackage->toProcess() );
85 }
75 popupMenu->popup( QCursor::pos() ); 86 popupMenu->popup( QCursor::pos() );
76} 87}
77 88
78void PackageListView::stopTimer( QListViewItem* ) 89void PackageListView::stopTimer( QListViewItem* )
79{ 90{
80 pvDebug( 5, "stop timer" );
81 popupTimer->stop(); 91 popupTimer->stop();
82} 92}
83 93
84 94
85void PackageListView::changePackageDest( int i ) 95void PackageListView::changePackageDest( int i )
86{ 96{
87 activePackage->setDest( destsMenu->text(i) ); 97 activePackage->setDest( destsMenu->text(i) );
88 activePackage->setOn(); 98 activePackage->setOn();
89 activePackage->setLink( settings->createLinks() ); 99 activePackage->setLink( settings->createLinks() );
90 activePackageListItem->displayDetails(); 100 activePackageListItem->displayDetails();
91} 101}
102
103void PackageListView::toggleProcess()
104{
105 activePackage->toggleProcess() ;
106 activePackageListItem->displayDetails();
107}