31 #include <KPasswordDialog>
33 #include <kio/renamedialog.h>
35 #include <QApplication>
36 #include <QWeakPointer>
42 m_responseMutex.lock();
47 return m_data.value(QLatin1String(
"response" ));
55 if (!
m_data.contains(QLatin1String(
"response"))) {
56 m_responseCondition.wait(&m_responseMutex);
58 m_responseMutex.unlock();
66 m_responseCondition.wakeAll();
70 m_noRenameMode(false),
73 m_data[QLatin1String(
"filename" )] = filename;
80 QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
82 KIO::RenameDialog_Mode mode = (KIO::RenameDialog_Mode)(KIO::M_OVERWRITE | KIO::M_SKIP);
84 mode = (KIO::RenameDialog_Mode)(mode | KIO::M_NORENAME);
87 mode = (KIO::RenameDialog_Mode)(mode | KIO::M_MULTI);
90 KUrl sourceUrl(
m_data.value(QLatin1String(
"filename" )).toString());
91 KUrl destUrl(
m_data.value(QLatin1String(
"filename" )).toString());
92 sourceUrl.cleanPath();
95 QWeakPointer<KIO::RenameDialog> dialog =
new KIO::RenameDialog(
97 i18n(
"File already exists"),
101 dialog.data()->exec();
103 m_data[QLatin1String(
"newFilename")] = dialog.data()->newDestUrl().pathOrUrl();
107 delete dialog.data();
109 QApplication::restoreOverrideCursor();
114 return m_data.value(QLatin1String(
"response" )).toInt() == KIO::R_CANCEL;
118 return m_data.value(QLatin1String(
"response" )).toInt() == KIO::R_OVERWRITE_ALL;
122 return m_data.value(QLatin1String(
"response" )).toInt() == KIO::R_OVERWRITE;
127 return m_data.value(QLatin1String(
"response" )).toInt() == KIO::R_RENAME;
132 return m_data.value(QLatin1String(
"response" )).toInt() == KIO::R_SKIP;
137 return m_data.value(QLatin1String(
"response" )).toInt() == KIO::R_AUTO_SKIP;
142 return m_data.value(QLatin1String(
"newFilename" )).toString();
147 m_noRenameMode = enableNoRenameMode;
152 return m_noRenameMode;
157 m_multiMode = enableMultiMode;
167 m_data[QLatin1String(
"archiveFilename" )] = archiveFilename;
168 m_data[QLatin1String(
"incorrectTryAgain" )] = incorrectTryAgain;
175 QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
177 QWeakPointer<KPasswordDialog> dlg =
new KPasswordDialog;
178 dlg.data()->setPrompt(i18nc(
"@info",
"The archive <filename>%1</filename> is password protected. Please enter the password to extract the file.",
m_data.value(QLatin1String(
"archiveFilename" )).toString()));
180 if (
m_data.value(QLatin1String(
"incorrectTryAgain")).toBool()) {
181 dlg.data()->showErrorMessage(i18n(
"Incorrect password, please try again."), KPasswordDialog::PasswordError);
184 const bool notCancelled = dlg.data()->exec();
185 const QString
password = dlg.data()->password();
190 QApplication::restoreOverrideCursor();
197 return m_data.value(QLatin1String(
"password" )).toString();
202 return !
m_data.value(QLatin1String(
"response" )).toBool();
void setResponse(QVariant response)
void execute()
Execute the response.
bool responseOverwriteAll()
void execute()
Execute the response.
void waitForResponse()
Will block until the response have been set.
void setNoRenameMode(bool enableNoRenameMode)
OverwriteQuery(const QString &filename)
Query()
Protected constructor.
PasswordNeededQuery(const QString &archiveFilename, bool incorrectTryAgain=false)
void setMultiMode(bool enableMultiMode)