fixes
[fapman] / packageview.cpp
index c0fe01b..6ca121f 100644 (file)
@@ -648,11 +648,24 @@ void PackageView::on_listWidget_itemClicked(QListWidgetItem* item)
        if( upg_pkg )
                bl_u = upg_pkg->isBlacklisted();
 
-       PackageSelector s(pkg, iAptInterface, this);
+       PackageSelector s(pkg, iAptInterface, iSettings, this);
        s.exec();
+       Package::operation op = s.selectedOperation();
 
-       pkg->setMarkedForOperation( s.selectedOperation() );
-       item->setData(UserRoleMarked, (int)s.selectedOperation());
+       QStringList confl = pkg->checkConflicts_RichText();
+       if( confl.count() > 0 && op != Package::PkgOpNone ) {
+               ConfirmDialog d(true, this);
+               QString t = "Package " + pkg->name() + " conflicts with another installed or marked package. Mark anyway?";
+               t += "<font size=\"-1\"><br><br>Conflicts: ";
+               t += confl.join(", ");
+               t += "</font>";
+               d.setText("Conflicting packages", t);
+               if( !d.exec() )
+                       op = Package::PkgOpNone;
+       }
+
+       pkg->setMarkedForOperation( op );
+       item->setData( UserRoleMarked, (int)op );
        updateLabel();
 
        if( pkg->isBlacklisted() != bl ) {
@@ -745,7 +758,7 @@ void PackageView::on_btn_StatusFilter_clicked()
                        iMainWindow->setNextOperation(MainWindow::OpOpenPkgView);
                        iMainWindow->busyDialog(true,"Operation in progress","Reading the rest of the package lists");
 
-                       if( iAptInterface->needRepoRefresh() )
+                       if( iAptInterface->needRepoRefresh() && !iSettings->qsettings()->value("no_catalogs_autoupdate",false).toBool() )
                                iAptInterface->addQueuedOperation(AAptInterface::ModeAptGetUpdate);
 
                        iAptInterface->addQueuedOperation(AAptInterface::ModeReadPackages);
@@ -757,8 +770,6 @@ void PackageView::on_btn_StatusFilter_clicked()
 
 void PackageView::resetWindow()
 {
-       iMainWindow->resetIdlingTime();
-
        iAptInterface->writeBlacklist();
 
        ui->btn_StatusFilter->setEnabled(true);