[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

kdenonbeta/kdedebian/kapture



CVS commit by mornfall: 

Some work on dpkg progress reporting. Not very good yet. Mumble.


  M +0 -1      libcapture/dpkgpm.cpp   1.3
  M +22 -7     libkapture/dpkgpm.cpp   1.4
  M +1 -1      libkapture/kapturemanager.cpp   1.25
  M +2 -3      libkapture/kapturemanager.h   1.12


--- kdenonbeta/kdedebian/kapture/libcapture/dpkgpm.cpp  #1.2:1.3
@@ -70,5 +70,4 @@ bool DPkgPM::Go ()
         if (! RunScripts ("DPkg::Post-Invoke"))
             return false;
-        return true;
     }
     return true;

--- kdenonbeta/kdedebian/kapture/libkapture/dpkgpm.cpp  #1.3:1.4
@@ -48,5 +48,5 @@ bool kapture::DPkgPM::Go ()
     m_prog -> show ();
     bool ret = capture::DPkgPM::Go ();
-    delete m_prog;
+    m_prog -> enableButton (KDialogBase::Ok, true);
     m_prog = 0;
     return ret;
@@ -56,24 +56,39 @@ void kapture::DPkgPM::dpkgMonitor ()
 {
     kapp -> processEvents ();
-    char buf [501];
+    char buf [1026];
     int rv;
-    rv = read (m_statusfd, buf, 500);
+    rv = read (m_statusfd, buf, 1024);
     if (rv == -1)
         return;
     std::cerr << "kapture::DPkgPM::dpkgMonitor ()" << std::endl;
-    buf [500] = 0;
+    buf [1024] = 0;
     buf [rv] = 0;
-    m_prog -> addMsg (buf);
+    char *lp = buf;
+    char *p = buf;
+    bool c = true;
+    while (c) {
+        p ++;
+        if (*p == 0) c = false;
+        if (*p == '\n' || *p == 0) {
+            *p = 0;
+            m_prog -> addMsg (lp);
+            lp = p + 1;
+        }
+    }
 }
 
 DPkgProg::DPkgProg (QWidget *parent, const char * name)
-    : KDialogBase (parent, name)
+    : KDialogBase (parent, name, true, "DPkg progress", Ok|Cancel, Cancel)
 {
     setModal (true);
     m_l = new KListBox (this);
+    m_l -> setMinimumSize (QSize (500, 400));
     setMainWidget (m_l);
+    enableButton (Cancel, false);
+    enableButton (Ok, false);
 }
 void DPkgProg::addMsg (std::string m)
 {
+    if (m != "")
     m_l -> insertItem (m . c_str ());
 }

--- kdenonbeta/kdedebian/kapture/libkapture/kapturemanager.cpp  #1.24:1.25
@@ -21,5 +21,5 @@ KaptureManager *KaptureManager::s_inst =
 
                                                                     /* {{{ */
-KaptureManager::KaptureManager ()
+KaptureManager::KaptureManager (int)
 {
     std::cerr << "KaptureManager::KaptureManager ()" << std::endl;

--- kdenonbeta/kdedebian/kapture/libkapture/kapturemanager.h  #1.11:1.12
@@ -42,5 +42,5 @@ namespace kapture {
                     return s_inst;
                 else
-                    return s_inst = new KaptureManager;
+                    return s_inst = new KaptureManager (0);
             }
             enum NotifyLevel { NNone, NError, NWarning, NInfo };
@@ -72,4 +72,5 @@ namespace kapture {
             void setForwardEnabled (bool);
         protected:
+            KaptureManager (int);
             static KaptureManager *s_inst;
             QWidget *m_top; // as parent for dialogs
@@ -81,6 +82,4 @@ namespace kapture {
             kapture::PkgSystem *m_pkgSystem;
             // XXX config (kapture::Config *m_cfg;)
-        private:
-            KaptureManager ();
     };
 




Reply to: