release 0.6.7 (see the debian changelog for a proper list of changes)
[fapman] / packageview.cpp
index 6ca121f..73d0dd7 100644 (file)
@@ -52,7 +52,7 @@ void ListItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
        int statfilter = index.data(UserRoleCurrentStatFilter).toInt();
        int catfilter = index.data(UserRoleCurrentCatFilter).toInt();
        QString upg_version = index.data(UserRoleAvailVersion).toString();
-       BlacklistSelect::blackList blacklisted = (BlacklistSelect::blackList) index.data(UserRoleBlacklisted).toInt();
+       BlacklistSelect::blackList blacklisted = static_cast<BlacklistSelect::blackList>( index.data(UserRoleBlacklisted).toInt() );
 
        painter->save();
        QRect r = option.rect;
@@ -106,7 +106,7 @@ void ListItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
                statusicon = iIconPkgRemove;
        }
 
-       QString showVer = "";
+       QString showVer;
        if( upgradeable && (statfilter==Package::PkgStatUpgradeable ||
                                                (statfilter==Package::PkgStatUnknown && marked==Package::PkgOpInstallUpgrade) ||
                                                (catfilter==PackageView::CatFilterAllMarked && marked==Package::PkgOpInstallUpgrade) ))
@@ -126,7 +126,7 @@ void ListItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
                        painter->drawText(r, Qt::AlignTop|Qt::AlignRight, showVer, &r);
                        ver_w = r.width();
                } else if( blacklisted==BlacklistSelect::BlacklistThis ) {
-                       if( upgradeable && upg_version!="" ) {
+                       if( upgradeable && !upg_version.isEmpty() ) {
                                showVer = upg_version;
                        } else {
                                showVer = version;
@@ -260,6 +260,7 @@ PackageView::PackageView(QWidget *parent) : QMainWindow(parent), ui(new Ui::Pack
        iSearchDescLong = false;
 
        // fine-tune kinetic scrolling parameters
+#ifdef Q_WS_MAEMO_5
        QAbstractKineticScroller* listscroller = ui->listWidget->property("kineticScroller").value<QAbstractKineticScroller*>();
        if( listscroller )
        {
@@ -272,14 +273,15 @@ PackageView::PackageView(QWidget *parent) : QMainWindow(parent), ui(new Ui::Pack
                // not good because it alse sets horizontal overshoot:
                //listscroller->setOvershootPolicy( QAbstractKineticScroller::OvershootAlwaysOn );
        }
+#endif
 }
 
 PackageView::~PackageView()
 {
-       delete iListCoverLabel;
-       delete iKeyFilter;
-       delete iDimmer;
-    delete ui;
+       delete iListCoverLabel; iListCoverLabel=0;
+       delete iKeyFilter; iKeyFilter=0;
+       delete iDimmer; iDimmer=0;
+       delete ui; ui=0;
 }
 
 void PackageView::orientationChanged()
@@ -290,6 +292,10 @@ void PackageView::orientationChanged()
 
 void PackageView::resizeEvent(QResizeEvent* event)
 {
+       if( iDimmer ) {
+               iDimmer->resize( this->size() );
+       }
+
        iListCoverLabel->setGeometry( ui->listWidget->rect() );
        QWidget::resizeEvent(event);
 }
@@ -490,7 +496,7 @@ void PackageView::addListItem(Package* pkg_, QString listname_)
        if( pkg_ != 0 )
        {
                QString name = pkg_->name();
-               if( pkg_->maemoDisplayName()!="" )
+               if( !pkg_->maemoDisplayName().isEmpty() )
                        name = pkg_->maemoDisplayName();
                p->setData(UserRoleName, name);
        } else {
@@ -501,7 +507,7 @@ void PackageView::addListItem(Package* pkg_, QString listname_)
        {
                p->setData(UserRoleDescShort, pkg_->descShort());
                p->setData(UserRoleVersion, pkg_->version());
-               p->setData(UserRoleMarked, (int)pkg_->markedOperation());
+               p->setData(UserRoleMarked, static_cast<int>(pkg_->markedOperation()) );
                p->setData(UserRoleInstalled, pkg_->isInstalled());
                p->setData(UserRoleUpgradeable, pkg_->isUpgradeable());
                p->setData(UserRoleAvailVersion, pkg_->upgradeableVersion());
@@ -509,11 +515,11 @@ void PackageView::addListItem(Package* pkg_, QString listname_)
                p->setData(UserRoleCurrentCatFilter, iSelectedCatFilter);
 
                if( pkg_->availablePackage() )
-                       p->setData(UserRoleBlacklisted, (int)pkg_->availablePackage()->blacklisted());
+                       p->setData(UserRoleBlacklisted, static_cast<int>(pkg_->availablePackage()->blacklisted()) );
                else
-                       p->setData(UserRoleBlacklisted, (int)pkg_->blacklisted());
+                       p->setData(UserRoleBlacklisted, static_cast<int>(pkg_->blacklisted()) );
 
-               //qDebug()<<pkg_->name();
+               //qDebug() << pkg_->name();
 
                pkg_->convertIcon();
                p->setData(Qt::DecorationRole, *pkg_->icon());
@@ -535,7 +541,6 @@ void PackageView::closeEvent(QCloseEvent *event)
                return;
        }
 
-#ifdef Q_WS_MAEMO_5
        if( iAptInterface->numSelectedPackages() == 0 )
        {               
                resetWindow();
@@ -552,10 +557,6 @@ void PackageView::closeEvent(QCloseEvent *event)
                        event->ignore();
                }
        }
-#else  // for simulator
-       resetWindow();
-       event->accept();
-#endif
 }
 
 void PackageView::changeEvent(QEvent *e)
@@ -664,6 +665,13 @@ void PackageView::on_listWidget_itemClicked(QListWidgetItem* item)
                        op = Package::PkgOpNone;
        }
 
+       if( pkg->isPinned() && op != Package::PkgOpNone ) {
+               ConfirmDialog d(true, this);
+               d.setText("Warning","Package has been pinned in apt preferences. Operation might not go as expected. Mark anyway?");
+               if( !d.exec() )
+                       op = Package::PkgOpNone;
+       }
+
        pkg->setMarkedForOperation( op );
        item->setData( UserRoleMarked, (int)op );
        updateLabel();
@@ -724,6 +732,14 @@ void PackageView::on_btn_CategoryFilter_clicked()
                iSortNoticeShown = false;
 
                openWin();
+
+               if( iSelectedCatFilter==CatFilterBlacklisted && iAptInterface->needListOrDateRefresh() )
+               {
+                       ConfirmDialog d(false, this);
+                       d.setText("Notice","Since you don't have all package lists currently loaded, not all blacklisted "
+                                         "packages are necessarily shown");
+                       d.exec();
+               }
        }
 }
 
@@ -755,6 +771,8 @@ void PackageView::on_btn_StatusFilter_clicked()
                if( oldfilter==Package::PkgStatInstalled && iSelectedStatFilter!=Package::PkgStatInstalled &&
                        iAptInterface->needListOrDateRefresh() )
                {
+                       iMainWindow->openNetworkConnection();
+
                        iMainWindow->setNextOperation(MainWindow::OpOpenPkgView);
                        iMainWindow->busyDialog(true,"Operation in progress","Reading the rest of the package lists");
 
@@ -773,7 +791,7 @@ void PackageView::resetWindow()
        iAptInterface->writeBlacklist();
 
        ui->btn_StatusFilter->setEnabled(true);
-       //iSelectedCatFilter = iDefaultCatFilter;
+       iSelectedCatFilter = iDefaultCatFilter;
        //iSortOrder = SortAlpha;
        iSortNoticeShown = false;
 
@@ -827,7 +845,7 @@ void PackageView::on_lineEdit_textEdited(QString text)
        if( !ui->searchBar->isVisible() )
                return;
 
-       if( text=="" ) {
+       if( text.isEmpty() ) {
                on_btn_searchClose_clicked();
                return;
        }
@@ -1039,7 +1057,7 @@ void PackageView::on_actionLoad_selections_triggered()
                                } else {
                                        errors++;
                                }
-                       } else if( line!="" ){
+                       } else if( !line.isEmpty() ){
                                errors++;
                        }
                }