File empty-password-managing.patch of Package qt-fsarchiver

--- a/src/mainWindow.cpp
+++ b/src/mainWindow.cpp
@@ -84,6 +84,8 @@
    int pos = 0, pos1 = 0;
    int i = 0;
    int found = 0;
+   int rootpassword = 0;
+   QString text = "";
    QString befehl;
    QString homepath = QDir::homePath();
    QString rootpath = QDir::rootPath();
@@ -140,13 +142,43 @@
    // Zeitgeber für Berechnung remainingTime
    timer = new QTimer(this);
    bool ok;
-   if (password == "")
-     {
-     QString text = QInputDialog::getText(this, tr("Enter sudo-password","Sudo-Passwort eingeben"),
-       (tr("sudo-Password:","sudo Passwort")), QLineEdit::Password,"", &ok);
-     if (ok && !text.isEmpty())
-       password= text;
-     }
+   int live_dvd = 0; //1 = Code für Live-DVD Passworteingabe entfällt
+// Ini-Datei auslesen, Passwort anzeigen
+   QFile file4(userpath + "/.config/qt-fsarchiver/qt-fsarchiver.conf");
+   QSettings setting1("qt-fsarchiver", "qt-fsarchiver");
+   file4.open(QIODevice::ReadOnly);
+   if (file4.exists()) {
+        setting1.beginGroup("Basiseinstellungen");
+        int auswertung = setting1.value("Passwort").toInt(); 
+        if (auswertung ==1)
+           lineKey ->setEchoMode(QLineEdit::Normal);
+        else
+	   lineKey ->setEchoMode(QLineEdit::Password);
+        rootpassword = auswertung;
+        setting1.endGroup();
+        } 
+  if (live_dvd == 0)
+      {
+      do
+       {
+       if(rootpassword == 1)
+          text = QInputDialog::getText(this, tr("Enter sudo-password","Sudo-Passwort eingeben"),
+          (tr("sudo-Password:","sudo Passwort")), QLineEdit::Normal,"", &ok);
+       else
+          text = QInputDialog::getText(this, tr("Enter sudo-password","Sudo-Passwort eingeben"),
+          (tr("sudo-Password:","sudo Passwort")), QLineEdit::Password,"", &ok);
+       if (!ok)   //Cancel Programm wird beendet
+          close();
+       if (ok && !text.isEmpty())
+          password= text;
+       if (ok && text.isEmpty())
+          QMessageBox::about(this,tr("Note", "Hinweis"),
+         	tr("You must enter a password.\n", "Sie müssen ein Passwort eingeben.\n"));
+       } 
+       while( password == "");
+      }
+   if (live_dvd == 1)
+      password = "xx";
    QDir dir1(userpath + "/.config/qt-fsarchiver");
    if (!dir1.exists()){
        attribute = userpath + "/.config/qt-fsarchiver 2>/dev/null";
@@ -314,7 +346,6 @@
            lineKey ->setEchoMode(QLineEdit::Normal);
         else
 	   lineKey ->setEchoMode(QLineEdit::Password);
-        auswertung = setting.value("sleep").toInt();
         zstd_level = setting.value("zstd").toInt();
         cmb_zstd -> setCurrentIndex(zstd_level-1);
         auswertung = setting.value("Kompression").toInt();
@@ -330,7 +361,6 @@
         chk_Beschreibung->setChecked(true);
         chk_overwrite->setChecked(true); 
         cmb_zip -> setCurrentIndex(2);
-        chk_Beschreibung->setChecked(true); 
         setting.beginGroup("Basiseinstellungen");
         setting.setValue("showPrg",1); 
         setting.setValue("ssh",1); 
@@ -344,8 +374,7 @@
    chk_overwrite->setEnabled(true);
    cmb_zip->setEnabled(false);
    cmb_GB->setEnabled(false);
-   chk_Beschreibung->setEnabled(true);
-   chk_Beschreibung->setChecked(true);
+  // chk_Beschreibung->setEnabled(true);
    label->setEnabled(false);
    starteinstellung();
    if(show_part == 0)
openSUSE Build Service is sponsored by