- progress meter cosmetics
authorPanu Matilainen <pmatilai@turre.koti.laiskiainen.org>
Sat, 10 Mar 2007 23:11:14 +0000 (01:11 +0200)
committerPanu Matilainen <pmatilai@turre.koti.laiskiainen.org>
Sat, 10 Mar 2007 23:11:14 +0000 (01:11 +0200)
apt-pkg/contrib/progress.cc
apt-pkg/rpm/rpmcallback.cc

index a969720..3761df9 100644 (file)
@@ -259,7 +259,7 @@ void InstPercentProgress::Update()
 
 void InstHashProgress::Update()
 {
 
 void InstHashProgress::Update()
 {
-   if (CheckChange(0.001) == false)
+   if (CheckChange(0.000001) == false)
       return;
 
    if (MajorChange == true) {
       return;
 
    if (MajorChange == true) {
@@ -285,14 +285,14 @@ void InstHashProgress::Update()
 
 void InstHashProgress::PrintHashes()
 {
 
 void InstHashProgress::PrintHashes()
 {
-   int hashesTotal = 50;
-   int hashesNeeded = int(50 * Percent / 100);
+   int hashesTotal = 44;
+   int hashesNeeded = int(hashesTotal * Percent / 100);
            
            
-   for (int i=0; i < hashesNeeded; i++ ) {
-      cout << "#";
-   }
+   cout << setw(hashesNeeded) << setfill('#') << "";
+   cout << setw(hashesTotal-hashesNeeded) << setfill(' ') << "";
+   cout.setf(ios_base::left);
+   cout << " [" << setw(3) << int(Percent) << "%]";
    cout << flush;
    cout << flush;
-   //cout << "need hashes " << hashesNeeded << " for " << Percent << endl << flush;
 }
 
 void InstHashProgress::Done()
 }
 
 void InstHashProgress::Done()
index e234154..a05584d 100644 (file)
@@ -85,18 +85,16 @@ void * rpmCallback(const void * arg,
       break;
 
    case RPMCALLBACK_TRANS_PROGRESS:
       break;
 
    case RPMCALLBACK_TRANS_PROGRESS:
-      //cout << "RPMCALLBACK_TRANS_PROGRESS " << amount << " " << total << endl << flush;
    case RPMCALLBACK_INST_PROGRESS:
    case RPMCALLBACK_INST_PROGRESS:
-      //cout << "RPMCALLBACK_INST_PROGRESS " << amount << " " << total << endl << flush;
       Prog->Progress(amount);
       break;
 
    case RPMCALLBACK_TRANS_START:
       Prog->Progress(amount);
       break;
 
    case RPMCALLBACK_TRANS_START:
-      //cout << "RPMCALLBACK_TRANS_START " << amount << " " << total << endl << flush;
       state = what;
       repackage = false;
       Prog->SetState(InstProgress::Preparing);
       Prog->SubProgress(total, "Preparing");
       state = what;
       repackage = false;
       Prog->SetState(InstProgress::Preparing);
       Prog->SubProgress(total, "Preparing");
+      Prog->Progress(0);
       Prog->SetPackageData(&Data);
    break;
 
       Prog->SetPackageData(&Data);
    break;
 
@@ -122,22 +120,21 @@ void * rpmCallback(const void * arg,
       break;
 
    case RPMCALLBACK_UNINST_START:
       break;
 
    case RPMCALLBACK_UNINST_START:
-      if (h == NULL) {
-        cout << "uninst start, header null ;(" << endl;
-        break;
-      }
       if (state != what) {
         state = what;
         Prog->SetState(InstProgress::Removing);
         Prog->OverallProgress(0,1,1, "Removing");
       }
       if (state != what) {
         state = what;
         Prog->SetState(InstProgress::Removing);
         Prog->OverallProgress(0,1,1, "Removing");
       }
+      if (h == NULL) {
+        break;
+      }
       getPackageData(h, Data);
       getPackageData(h, Data);
-      Prog->SubProgress(total, Data["name"]);
-      Prog->Progress(total);
+      Prog->SubProgress(100, Data["name"]);
+      Prog->Progress(0);
       break;
 
    case RPMCALLBACK_UNINST_STOP:
       break;
 
    case RPMCALLBACK_UNINST_STOP:
-      Prog->Progress(total);
+      Prog->Progress(100);
       if (h == NULL)
         break;
       getPackageData(h, Data);
       if (h == NULL)
         break;
       getPackageData(h, Data);