[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdegraphics/kpdf/kpdf
From: Albert Astals Cid <tsdgeos () terra ! es>
Date: 2004-09-23 20:44:19
Message-ID: 20040923204419.CCAE29911 () office ! kde ! org
[Download RAW message or body]
CVS commit by aacid:
Ask the user the password to open documents with password.
Suporting permission change is not up to a pwd viewer but a pdf editor/creator.
CCMAIL:90061-done@bugs.kde.org
M +33 -1 kpdf_part.cpp 1.84
--- kdegraphics/kpdf/kpdf/kpdf_part.cpp #1.83:1.84
@@ -46,4 +46,5 @@
#include <krun.h>
#include <kuserprofile.h>
+#include <kpassdlg.h>
#include <kio/netaccess.h>
@@ -56,4 +57,5 @@
#include "gfile.h"
#include "Error.h"
+#include "xpdf/ErrorCodes.h"
#include "GlobalParams.h"
#include "PDFDoc.h"
@@ -413,5 +415,35 @@ Part::openFile()
if (!m_doc->isOk())
- return false;
+ {
+ if (m_doc->getErrorCode() == errEncrypted)
+ {
+ bool first, correct;
+ QString prompt;
+ QCString pwd;
+
+ first = true;
+ correct = false;
+ while(!correct)
+ {
+ if (first)
+ {
+ prompt = i18n("Please insert the password to read the document:");
+ first = false;
+ }
+ else prompt = i18n("Incorrect password. Try again:");
+ if (KPasswordDialog::getPassword(pwd, prompt) == KPasswordDialog::Accepted)
+ {
+ GString *pwd2;
+ pwd2 = new GString(pwd.data());
+ m_doc = new PDFDoc(filename, pwd2, pwd2);
+ delete pwd2;
+ correct = m_doc->isOk();
+ if (!correct && m_doc->getErrorCode() != errEncrypted) return false;
+ }
+ else return false;
+ }
+ }
+ else return false;
+ }
m_find->setEnabled(true);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic