Changeset View
Changeset View
Standalone View
Standalone View
src/core/slavebase.cpp
Show First 20 Lines • Show All 126 Lines • ▼ Show 20 Line(s) | 85 | public: | |||
---|---|---|---|---|---|
127 | bool m_rootEntryListed = false; | 127 | bool m_rootEntryListed = false; | ||
128 | 128 | | |||
129 | bool m_confirmationAsked; | 129 | bool m_confirmationAsked; | ||
130 | QSet<QString> m_tempAuths; | 130 | QSet<QString> m_tempAuths; | ||
131 | QString m_warningCaption; | 131 | QString m_warningCaption; | ||
132 | QString m_warningMessage; | 132 | QString m_warningMessage; | ||
133 | int m_privilegeOperationStatus; | 133 | int m_privilegeOperationStatus; | ||
134 | 134 | | |||
135 | PrivilegeOperationStatus askConfirmation() | | |||
136 | { | | |||
137 | int status = q->messageBox(SlaveBase::WarningContinueCancel, m_warningMessage, m_warningCaption, QStringLiteral("Continue"), QStringLiteral("Cancel")); | | |||
138 | switch (status) { | | |||
139 | case SlaveBase::Continue: | | |||
140 | return OperationAllowed; | | |||
141 | case SlaveBase::Cancel: | | |||
142 | return OperationCanceled; | | |||
143 | default: | | |||
144 | return OperationNotAllowed; | | |||
145 | } | | |||
146 | } | | |||
147 | | ||||
148 | void updateTempAuthStatus() | 135 | void updateTempAuthStatus() | ||
149 | { | 136 | { | ||
150 | #ifdef Q_OS_UNIX | 137 | #ifdef Q_OS_UNIX | ||
151 | QSet<QString>::const_iterator it = m_tempAuths.begin(); | 138 | QSet<QString>::const_iterator it = m_tempAuths.begin(); | ||
152 | while (it != m_tempAuths.end()) { | 139 | while (it != m_tempAuths.end()) { | ||
153 | KAuth::Action action(*it); | 140 | KAuth::Action action(*it); | ||
154 | if (action.status() != KAuth::Action::AuthorizedStatus) { | 141 | if (action.status() != KAuth::Action::AuthorizedStatus) { | ||
155 | it = m_tempAuths.erase(it); | 142 | it = m_tempAuths.erase(it); | ||
▲ Show 20 Lines • Show All 1346 Lines • ▼ Show 20 Line(s) | 1469 | { | |||
1502 | info.setError(QHostInfo::HostInfoError(error)); | 1489 | info.setError(QHostInfo::HostInfoError(error)); | ||
1503 | info.setErrorString(errorString); | 1490 | info.setErrorString(errorString); | ||
1504 | 1491 | | |||
1505 | return result; | 1492 | return result; | ||
1506 | } | 1493 | } | ||
1507 | 1494 | | |||
1508 | PrivilegeOperationStatus SlaveBase::requestPrivilegeOperation() | 1495 | PrivilegeOperationStatus SlaveBase::requestPrivilegeOperation() | ||
1509 | { | 1496 | { | ||
1497 | | ||||
1510 | if (d->m_privilegeOperationStatus == OperationNotAllowed) { | 1498 | if (d->m_privilegeOperationStatus == OperationNotAllowed) { | ||
1511 | QByteArray buffer; | 1499 | QByteArray buffer; | ||
1512 | send(MSG_PRIVILEGE_EXEC); | 1500 | send(MSG_PRIVILEGE_EXEC); | ||
1513 | waitForAnswer(MSG_PRIVILEGE_EXEC, 0, buffer); | 1501 | waitForAnswer(MSG_PRIVILEGE_EXEC, 0, buffer); | ||
1514 | QDataStream ds(buffer); | 1502 | QDataStream ds(buffer); | ||
1515 | ds >> d->m_privilegeOperationStatus >> d->m_warningCaption >> d-> m_warningMessage; | 1503 | ds >> d->m_privilegeOperationStatus >> d->m_warningCaption >> d-> m_warningMessage; | ||
1516 | } | 1504 | } | ||
1517 | 1505 | | |||
1518 | if (metaData(QStringLiteral("UnitTesting")) != QLatin1String("true") && | 1506 | if (metaData(QStringLiteral("UnitTesting")) != QLatin1String("true") && | ||
1519 | d->m_privilegeOperationStatus == OperationAllowed && | 1507 | d->m_privilegeOperationStatus == OperationAllowed && | ||
1520 | !d->m_confirmationAsked) { | 1508 | !d->m_confirmationAsked) { | ||
1521 | d->m_privilegeOperationStatus = d->askConfirmation(); | 1509 | bool answer = false; | ||
1510 | KIO_DATA << d->m_warningCaption << d->m_warningMessage << privilegeOperationDetails; | ||||
1511 | send(INF_PRIVILEGE_CONF, data); | ||||
dfaure: INF is for one-way information, isn't it? Why isn't this MSG_ like the one above? | |||||
1512 | if (waitForAnswer(INF_PRIVILEGE_CONF, 0, data) != -1) { | ||||
1513 | QDataStream stream(data); | ||||
1514 | stream >> answer; | ||||
1515 | } | ||||
1516 | d->m_privilegeOperationStatus = answer ? OperationAllowed : OperationCanceled;; | ||||
1522 | d->m_confirmationAsked = true; | 1517 | d->m_confirmationAsked = true; | ||
1523 | } | 1518 | } | ||
1524 | 1519 | | |||
1525 | return KIO::PrivilegeOperationStatus(d->m_privilegeOperationStatus); | 1520 | return KIO::PrivilegeOperationStatus(d->m_privilegeOperationStatus); | ||
1526 | } | 1521 | } | ||
1527 | 1522 | | |||
1528 | void SlaveBase::addTemporaryAuthorization(const QString &action) | 1523 | void SlaveBase::addTemporaryAuthorization(const QString &action) | ||
1529 | { | 1524 | { | ||
1530 | d->m_tempAuths.insert(action); | 1525 | d->m_tempAuths.insert(action); | ||
1531 | } | 1526 | } | ||
dfaure: `#if KIOCORE_BUILD_DEPRECATED_SINCE(5, 65) `
(notice BUILD, not ENABLE) |
INF is for one-way information, isn't it? Why isn't this MSG_ like the one above?