Cherry-picking upstream release 0.11.0

* Sync debian foo with experimental
* Bumped compat to 10
* Removed --parallel from rules, standard in compat 10
* Bumped minimum version debhelper (>= 10)
* Bumped minimum version liblxqt-dev (>= 0.11.0)
* Bumped minimum version libqtxdg-dev (>= 2.0.0)
* Added build dependency libqt5svg5-dev
* Added build dependency libqt5xdgiconloader-dev (>= 2.0.0)
* Added Recommends lxqt-policykit-l10n
* Bumped copyright years
* Added translation control to rules
* Set CMAKE_BUILD_TYPE=RelWithDebInfo
* Added README.md to docs
* Added manpages
ubuntu/cosmic debian/0.11.0-3
Alf Gaida 8 years ago
parent 3bbc190e69
commit 5875e4ac1e

1
.gitignore vendored

@ -1 +1,2 @@
build
translations/lxqt-policykit

@ -4,7 +4,7 @@ Upstream Authors:
Copyright:
Copyright (c) 2010-2012 Razor team
Copyright (c) 2012-2014 LXQt team
Copyright (c) 2012-2016 LXQt team
License: LGPL-2.1+
The full text of the licenses can be found in the 'COPYING' file.

@ -0,0 +1,80 @@
lxqt-policykit-0.11.0 / 2016-09-24
==================================
* agentGui: Use default icon
* agentGui: Choose current user in identities combo
* agentGui: Handle setting the prompt correctly
* agent: Handle multiple identities correctly
* Update README.md
* Fixed typo prefered -> preferred
* Add README.md
* build: Use external translations
* ts-files removal (#21)
* Bump year in AUTHORS
* Italian translation update
* Updated Russian translation Removed ru_RU file
* update: lxqt-policykit-agent_hu.ts
0.10.0 / 2015-10-31
===================
* Update translations
* Fix license file
* GPL2 not used - removed in AUTHORS Fixed link to Github LXQt issues Fix wording in manpage - 'can be used by others' was nuts for a file under LGPL root license
* Add Greek (el) translation
* Rename LxQt to LXQt everywhere
* Added german translation.
* Added missing tr() call.
* Handles CMake policy CMP0063
* Use the LXQtCompilerSettings CMake module
* Adds Runtime install COMPONENT
* Use GNUInstallDirs
* Removes unneede entries from include_directories()
* Uses CMAKE_AUTOUIC
* Updates the build system to use the Targets infrastructure
* Remove trailing whitespaces
* Fix naming and links
* Hungarian translation
* - Add a choice option for install binary. Some distributions use libexec instead os default usr/bin installs. It defauls to bin
0.9.0 / 2015-01-19
==================
* File name was ok but language name wasn´t. My mistake.
* Makes filename match translation language
* Portuguese update
* - Unify naming for a unique lxqt. No more suffixes
* CMakeLists.txt maintenance.
* Uses the new translations cmake modules
* Add Russian translation
* CMakeLists.txt cleanups
0.8.0 / 2014-06-28
==================
* Use portable Polkit headers
* Deal with a bug in polkit-qt1 cmake file
* Choose Qt5 version of PolkitQt when build with Qt5.
* Add initial Qt5 support.
* Use new LXQt header files.
0.7.0 / 2014-05-01
==================
* Update AUTHORS and COPYING files
* Add CPack rules for creating tarball
* Removed CMAKE_SOURCE_DIR usage from CMakeLists.txt
* Fix renaming bugs, replacing lxqt-qt with lxde-qt
* Finish the crazy razor=>lxqt renaming tasks.
* Rename binary to lxqt-policykit-agent and migrate to the latest liblxqt.
* Add COPYING and AUTHORS
* Fix authentization->authentication misspelling
* Trtanslations
* Translation support for policykit agent
* preliminary manpages primary for razorqt and usefully in venenux
* Add build option to make policykit optional, even if installed.
* RazorApplication class implemented; all modules ported to this class
* Relicense
* initial but finally working policykit integration (agent)
* initial revision of the policykit integration (non-functional)

@ -68,6 +68,16 @@ lxqt_translate_ts(lxqt-policykit-agent_QM_FILES
${lxqt-policykit-agent_UI}
INSTALL_DIR
"${LXQT_TRANSLATIONS_DIR}/${PROJECT_NAME}"
PULL_TRANSLATIONS
${PULL_TRANSLATIONS}
CLEAN_TRANSLATIONS
${CLEAN_TRANSLATIONS}
TRANSLATIONS_REPO
${TRANSLATIONS_REPO}
TRANSLATIONS_REFSPEC
${TRANSLATIONS_REFSPEC}
REPO_SUBDIR
"lxqt-policykit/${PROJECT_NAME}"
)
lxqt_app_translation_loader(QM_LOADER ${PROJECT_NAME})

@ -0,0 +1,55 @@
# lxqt-policykit
## Overview
lxqt-policykit is the polkit authentification agent of LXQt.
[polkit](https://www.freedesktop.org/wiki/Software/polkit/) is a software framework to handle privileges of processes.
In LXQt it is e. g. used to extend the privileges of the GUI tools of [lxqt-admin](https://github.com/lxde/lxqt-admin/). These are launched by a regular user. But in order to apply the settings they deal with root privileges are needed and acquired via polkit.
Among the various components of polkit the authentication agent is the one to query the user for credentials by dialogue windows like this one of lxqt-policykit.
![lxqt-policykit: GUI](lxqt-policykit_gui.png)
While there's only a single implementation of all other polkit components various different authentication agents are provided by the various desktop environments. Basically these can be used interchangeably, that is lxqt-policykit can be used in an LXDE session or lxpolkit, the authentication agent of LXDE, can be used in an Xfce session. Most of the time it's better to use the implementation provided by a distinct desktop environment as it integrates better, though.
Technically, lxqt-policykit is just a single binary `lxqt-policykit-agent` which is running as [LXQt Module](https://github.com/lxde/lxqt-session#lxqt-modules) and launching the GUI on demand.
Note that the naming lxqt-policykit is strictly speaking an anachronism. It refers to Policykit which was the predecessor
of polkit. The name wasn't changed when Policykit was replaced by polkit as both provide roughly the same features albeit
they are technically different.
## Installing
### Compiling sources
Runtime dependencies are polkit-qt5 and [liblxqt](https://github.com/lxde/liblxqt).
Additional build dependencies are CMake and optionally Git to pull latest VCS checkouts. The localization files were outsourced to repository [lxqt-l10n](https://github.com/lxde/lxqt-l10n) so the corresponding dependencies are needed, too. Please refer to this repository's `README.md` for further information.
Code configuration is handled by CMake. CMake variable `CMAKE_INSTALL_PREFIX` has to be set to `/usr` on most operating systems.
To build run `make`, to install `make install` which accepts variable `DESTDIR` as usual.
### Binary packages
#### Arch Linux
The latest release is provided by package `lxqt-policykit` in repository community, the actual master checkout can be
compiled by packages `lxqt-policykit-git` from the [AUR](https://aur.archlinux.org).
#### Debian
Package `lxqt-policykit` is available in the official repositories as of Debian stretch. For now it is comprising the
translations as well but these will probably be outsourced in package `lxqt-policykit-l10n` one day.
#### Fedora
Package `lxqt-policykit` is available as of Fedora 22.
#### openSUSE
Package `lxqt-policykit` is providing the binary, `lxqt-policykit-lang` the translations. Both are available as of
openSUSE Leap 42.1.
## Configuration, Usage
Like all LXQt Modules `lxqt-policykit-agent` can be adjusted from section "Basic Settings" in configuration dialogue [LXQt Session Settings](https://github.com/lxde/lxqt-session#lxqt-session-settings) of [lxqt-session](https://github.com/lxde/lxqt-session).
From a user's point of view the usage is limited to interacting with the GUI as seen above.

20
debian/changelog vendored

@ -1,3 +1,23 @@
lxqt-policykit (0.11.0-3) unstable; urgency=medium
* Cherry-picking upstream release 0.11.0
* Sync debian foo with experimental
* Bumped compat to 10
* Removed --parallel from rules, standard in compat 10
* Bumped minimum version debhelper (>= 10)
* Bumped minimum version liblxqt-dev (>= 0.11.0)
* Bumped minimum version libqtxdg-dev (>= 2.0.0)
* Added build dependency libqt5svg5-dev
* Added build dependency libqt5xdgiconloader-dev (>= 2.0.0)
* Added Recommends lxqt-policykit-l10n
* Bumped copyright years
* Added translation control to rules
* Set CMAKE_BUILD_TYPE=RelWithDebInfo
* Added README.md to docs
* Added manpages
-- Alf Gaida <agaida@siduction.org> Tue, 18 Oct 2016 17:04:36 +0200
lxqt-policykit (0.10.0-4) unstable; urgency=medium
* Bump Standards to 3.9.8, no changes needed

2
debian/compat vendored

@ -1 +1 @@
9
10

15
debian/control vendored

@ -6,20 +6,22 @@ Uploaders: Alf Gaida <agaida@siduction.org>,
Yukiharu YABUKI <yyabuki@debian.org>
Section: x11
Priority: optional
Build-Depends: debhelper (>= 9),
Build-Depends: debhelper (>= 10),
cmake (>= 3.0.2),
libpolkit-agent-1-dev,
libx11-dev,
libkf5windowsystem-dev,
liblxqt0-dev (>= 0.10.0),
liblxqt0-dev (>= 0.11.0),
libpolkit-agent-1-dev,
libpolkit-qt5-1-dev,
libqt5svg5-dev,
libqt5x11extras5-dev,
libqt5xdg-dev (>= 1.3.0),
libqt5xdg-dev (>= 2.0.0),
libqt5xdgiconloader-dev (>= 2.0.0),
libx11-dev,
pkg-config,
qttools5-dev,
qttools5-dev-tools
Standards-Version: 3.9.8
Vcs-Browser: http://anonscm.debian.org/git/pkg-lxqt/lxqt-policykit.git/?h=debian/sid
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-lxqt/lxqt-policykit.git/?h=debian/sid
Vcs-Git: https://anonscm.debian.org/git/pkg-lxqt/lxqt-policykit.git -b debian/sid
Homepage: https://github.com/lxde/lxqt-policykit
@ -27,6 +29,7 @@ Package: lxqt-policykit
Architecture: any
Depends: ${misc:Depends},
${shlibs:Depends}
Recommends: lxqt-policykit-l10n
Description: LXQt authentication agent for PolicyKit
The lxqt-policykit D-Bus session bus service that is used to
bring up authentication dialogs used for obtaining privileges.

2
debian/copyright vendored

@ -3,7 +3,7 @@ Upstream-Name: lxqt-policykit
Source: https://github.com/lxde/lxqt-policykit
Files: *
Copyright: 2012-2015 LXQt team
Copyright: 2012-2016 LXQt team
2010-2012 Razor team
License: LGPL-2.1+

1
debian/docs vendored

@ -1 +1,2 @@
AUTHORS
README.md

@ -1,3 +0,0 @@
# there will be no manpage in a foreseable future
lxqt-policykit: binary-without-manpage usr/bin/lxqt-policykit-agent

1
debian/manpages vendored

@ -0,0 +1 @@
man/lxqt-policykit-agent.1

9
debian/rules vendored

@ -6,5 +6,10 @@ export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
dh ${@} --buildsystem cmake\
--parallel
dh ${@} --buildsystem cmake
override_dh_auto_configure:
dh_auto_configure -- \
-DPULL_TRANSLATIONS=OFF\
-DUPDATE_TRANSLATIONS=OFF\
-DCMAKE_BUILD_TYPE=RelWithDebInfo

@ -1,63 +1,50 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.22 (GNU/Linux)
mQINBFJevCYBEACx+Hvy+Vsuf+V5jeLUnzjAmHoy8DfTeGWr3ts30IapLHrfi0+U
WpzNnISO77yTr4VNboVZH+GHM/rnPfieODfB4ZW6CZLlInMSKUXcgQsEqXpyBZhA
Ib/SPy2bOfHly1uRJes0uRDsH5+v/hD74sByfnjQlrvI68O6wvGZmDFMNNPVO8+/
OWBSBNkBuVrrZOMSPsLwQGJ4UtUQ4whburaPJG4VZJc5DLbzJGbEuACc0IAEYJS3
7AfXVXn4j4Gc9F3o1xTUnbOBnwGPquWwUIm3FM7Ec2OdkvMt3EwvnkMAfeVrq3iE
FDD/KZTxdL0BZH3QD8gB7Jm4v4f3Nkobg6JCvCbcH3wBdZW4mASbwWzfRaDC2zHb
ErTglD7PpShLKZZ0pr9okWZEGw4Ku3q8ALi1JXK/ePTmsBlvkVskOJ3Nnd0avgH4
+Q/vZoKfH8EhNY745rI+8CE9iv6V9XiSUt4CKEWAENt4A8hq6U2vV+jZv3B6AgD7
ZjiI59yD4YuYubu8rCnNizTgh1voVw3ietknn/x2H5yH8fByWZ5uL87C0ky/uma6
ZGbiiAtM4kdkyDMrfRV5nlEG9EKAGPVu5mjeSCrfkETwZ9OFPz1AuDye4ZEXrrcC
iRQ7RX6/GtW18aHER0kzGnfwx5KJzkDrRBY8A2PdXLBcrsN4WpK9EX01PQARAQAB
tCNKZXJvbWUgTGVjbGFuY2hlIDxqZXJvbWVAbGVjbGFuLmNoPokCPwQTAQIAKQUC
Ul68JgIbAwUJAeEzgAcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEDfgrx/a
SPNzSHIP/1ewXcC0TFBcvDD7MrIP7anyNfiWfW7cxkR8GSamkg6HTa6Ndyr1FFjJ
OoDFUP37jWhu59CsHxs2D0zRWJktezfvElscRgqbHcdpIznqsGdI8hXCZafhBGVb
sdAB2LRawcXGxnXt7XajPcSVwLWRE62caBqohznU2iWvI780WNjEbZoA0LhZwaFF
UUPJm8ea9v0IkZVKUyg9WONZ1U7FEG9SaEiSpI8kJdx1fvCwZVDV/NRO5GqnJaho
P1LCne4YdwS6pt1/fRgk32IHxxZfHlLzLHxb6v1JmIg72x28qCmGyK9oFBDbbnYu
6Aq8XbHogOrD5vJM2Pfm2IhV0+JHOjfQbddv8tsAH1M+LI+tToXmg5st1AU3wnTn
pda3hjA1avKwkfBPW/osHc8782ViyS9iX2e9iDtMv608guij4NjpGExzGCypHOd8
+VXRwJDjvgDynkL206MZ+wn0j5wHsIE8F3Y5Bp1thQOrdDli5MYNQoXhjFmH46XT
bcr84IgW0+AiXZdoFUqvwtzrWy2Onuw5R3k4OyV4skN4DkWXyAk/V+Y4K39JvTKf
H9YuiQ9blNzCu8WiAnjKnh9kNl9E/TyEwI6cHFmIPqF8ST9tJytWHtrKvU9csvXX
n8XNJmpcv2R1e6N+VuWWm5zUPTouv3AxCacLbm8Lh3ymGsk7ZEyhiQIcBBABAgAG
BQJSsFYyAAoJEBMY76xfu9vO6v0P/3wSj3/kE4nP4HfgcVJSzi+lm1ycpbLDZtgh
P1G+zJLVmA+E41vEZimeiYQxBAelatJz+CHzQo3LZ2oVChzVrZcVHn9k4P3pib69
qCVif3/y0Wmecn+u2TWbOvJ7mthfO7T3W7rkW1/9ES7bUaXcXWQ2sjUBVqFkFsVt
xgJDo8wcxA+K4Yf06GCbxFwrB7X5GraWIkzqGnyse3XAQn8aORAXmE8Yd0FHOjEZ
Beb9shChnkYc3lEvNY8ioCaYSF9xr/Iz9cwpfPkpqFiVYWadtb+Gqeh6zC7vPmcT
zHxrgkq1WwQlSBm724tPt9xuGQoOglqEa23vlQZfv20nyrYjLeYUy6pMCRq7vn/n
nkQOcXF7yQlnqR6xKk0tWsM4e6du0ZvbjBbhHV/kBFVGCLm/upTwoMVm0WJTbr4T
5XfIZo7eA0lvGtUhe1PgcOidBikHfAIfYxu0BoMXoL4jbcQdR5+YBDEfsS0jPhCl
mew2ScW/R/UhUknJUVFTma0KHXzEmKiqeeUCDtwEi6fxdicAYkbcekgkfFiD/w8N
Lk3Uf+0x2MdKA36nUobFkk38oU+GW37kFWJs3f1YRuQFao896eNW/E8ekVMLNxOl
nCjnSbabaxDnxPTyW2KlNjf/QUEK4pT6S5QmuCSrle3PQpaSbAZDHzLBIL9gd3m6
MH7+SvV4uQINBFJevCYBEADiXDUqstSdhIyuionS2KtE3IeEBIqS7GY8QPRBylIZ
ACVHFI/1HxChBqYVGFaDEQn3gj5lUUQPubfWaxzjF6+UNVQW4+cxmTocndAwfDbI
+E5BLdieFUzbAA05MV5ZjPhTNbSk1jpy4bNy0FILwNqc89Y6SoCbv1r3tZLCrBas
1+AfWknBynx0siGMbLFxtzR6hUkNz9URxt13FrzpUWMpAL8ZQGczOTSaWLrZA5l9
xLzJ9ww8uM+C2Xej3/sANxi+kQE2GVMKurPS0TICwVWZxbdW/ytIkO67Rhse0q3t
vzjdawfCFRxv7XQB2ZJ6irDxbpHiJoojSWCHJadIyCG03iOiaqsSVvi4KnxtUck+
udOEJUV5sxdzgeRrsDpeaN//KCWW9WjfsSkvOqP6S1gmWpNFdzF5XrzcgvqvSNqo
XejfakUTJqsIIEHO0zGuJFVzJNh2hQ/9dhjIspUORhtNKaljNvePiBrj2yqmd9PY
FlH1KMHe4H+YVIwPiyeNA87Pu+1yNo8gT7mXhGRfibgWjbt146WUJ7+l2StJMApn
eNSCartNaUNPnw96i2l5c9AsJ3SWC6XWpWzOLVj+9XceeA11lu/ogqEMHzx81NjH
2TePxwKTKxZnAvDmqryp++IgY2/OgIoIk3ZRdYu/dPijTOYWfCet/9/9kAFr9PeJ
KwARAQABiQIlBBgBAgAPBQJSXrwmAhsMBQkB4TOAAAoJEDfgrx/aSPNzJv0QAKkx
lCKEZ6ahAUuNWslsHnNWaHFHNawEO3NIEtQZGVFk2BYISupizvjZF6MnymO/9UFM
pzV6fp3xNdqaKWQBjScOgMgCASRixW2tMAKbJGHZKp3dBixpHgXxy2oOGMS+mQ5m
gWy07usq2YesoMD0K/SG6EnoRPHBvrJihArzMFVUY9hD3hk8bhiy8w9bCYFe+gkm
zpQl3/KN01kyt5LjzEBcIOw8qIBQe9Pk8PyOK75lPoNME714LatgOsyw2kaSQ9Sv
hziRGC5z/fV3PmH7XhSjENPKnCJU51GUMMLaL28t9o7Afh6Q8UV31/JO36vmQXQV
+b+0BoGqEmf3AKBASb2Cr2q4pZFjywwSUXHZ9hQyu1tpbE1dS6aI01kM0y270pk7
W/ajuzuOxAVL1bJAanL/5+DWM03esZPVdEWhxpWEM40Z6Rhq+Xb2a5xfwCN9PmaQ
o9fez0I+yh53s7Ypv0tBj05FPe5L48+pDi6pz5nddN1B0FzF58jVfsBZUjBlY24+
VwQeAaWkRXZrSEdtBS5ufsi80x/cNCSTJBWqtborKL1iGgf5MDPYRMSvmZXAeIld
pyL/0pbW7iokewyKzpFfo7KEbwLxB+flWaBZ867JpF4yyRj3b4qcvcyV8QnsoB7Z
KhxTl3gGwD/t0HUcu85zcfs4GkealYhIWfGaAso2
=fF8P
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
=h7ww
-----END PGP PUBLIC KEY BLOCK-----

4
debian/watch vendored

@ -1,3 +1,3 @@
version=3
version=4
opts="pgpsigurlmangle=s/$/.asc/" \
https://github.com/lxde/lxqt-policykit/releases .*/([\d\.]+).tar.gz
https://github.com/lxde/lxqt-policykit/releases .*/lxqt-policykit-([\d\.]+).tar.xz

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@ -32,7 +32,7 @@ The module detected on shares privilege escalation, and maintain a security dial
that ask for the user's key need for action.
.SH AUTOSTART
The module only are showed on \fBLXQt\fR desktop, but u can create an autostart action
for u prefered desktop environment.
for u preferred desktop environment.
.SH "REPORTING BUGS"
Report bugs to https://github.com/lxde/lxqt/issues
.SH "SEE ALSO"

@ -116,27 +116,36 @@ void PolicykitAgent::request(const QString &request, bool echo)
PolkitQt1::Identity identity = m_SessionIdentity[session];
m_gui->setPrompt(identity, request, echo);
if (m_gui->exec())
session->setResponse(m_gui->response());
else
session->setResponse("");
connect(m_gui, &QDialog::finished, [this, session] (int result)
{
if (result == QDialog::Accepted && m_gui->identity() == m_SessionIdentity[session].toString())
session->setResponse(m_gui->response());
else
session->cancel();
});
m_gui->show();
}
void PolicykitAgent::completed(bool gainedAuthorization)
{
PolkitQt1::Agent::Session * session = qobject_cast<PolkitQt1::Agent::Session *>(sender());
Q_ASSERT(session);
Q_ASSERT(m_gui);
if (!gainedAuthorization)
if (m_gui->identity() == m_SessionIdentity[session].toString())
{
QMessageBox::information(0, tr("Authorization Failed"), tr("Authorization failed for some reason"));
if (!gainedAuthorization)
{
QMessageBox::information(0, tr("Authorization Failed"), tr("Authorization failed for some reason"));
}
// Note: the setCompleted() must be called exacly once (as the
// AsyncResult is shared by all the sessions)
session->result()->setCompleted();
m_inProgress = false;
}
session->result()->setCompleted();
delete session;
m_inProgress = false;
}
void PolicykitAgent::showError(const QString &text)

@ -25,8 +25,9 @@
*
* END_COMMON_COPYRIGHT_HEADER */
#include <XdgIcon>
#include <QIcon>
#include "policykitagentgui.h"
#include <unistd.h>
namespace LXQtPolicykit
{
@ -44,30 +45,47 @@ PolicykitAgentGUI::PolicykitAgentGUI(const QString &actionId,
Q_UNUSED(details); // it seems too confusing for end user (=me)
messageLabel->setText(message);
iconLabel->setPixmap(XdgIcon::fromTheme(iconName).pixmap(64, 64));
QIcon icon = QIcon::fromTheme(iconName);
if (icon.isNull())
icon = QIcon::fromTheme(QLatin1String("dialog-question"));
iconLabel->setPixmap(icon.pixmap(64, 64));
const uid_t current_uid = getuid();
int current_user_index = -1;
foreach (PolkitQt1::Identity identity, identities)
{
m_identityMap[identity.toString()] = identity;
const int i = identityComboBox->count(); // index of the added item
identityComboBox->addItem(identity.toString());
PolkitQt1::UnixUserIdentity const * const u_id = static_cast<PolkitQt1::UnixUserIdentity *>(&identity);
if (u_id != nullptr && u_id->uid() == current_uid)
current_user_index = i;
}
if (current_user_index != -1)
identityComboBox->setCurrentIndex(current_user_index);
connect(identityComboBox, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &PolicykitAgentGUI::onIdentityChanged);
passwordEdit->setFocus(Qt::OtherFocusReason);
}
void PolicykitAgentGUI::setPrompt(const PolkitQt1::Identity &identity, const QString &text, bool echo)
{
int ix = identityComboBox->findText(identity.toString());
const int ix = identityComboBox->findText(identity.toString());
if (ix != -1)
{
identityComboBox->setCurrentIndex(ix);
passwordEdit->setFocus(Qt::OtherFocusReason);
identityComboBox->setItemData(ix, text, RolePromptText);
identityComboBox->setItemData(ix, echo, RolePromptEcho);
if (ix == identityComboBox->currentIndex())
{
promptLabel->setText(text);
passwordEdit->setEchoMode(echo ? QLineEdit::Normal : QLineEdit::Password);
}
}
promptLabel->setText(text);
passwordEdit->setEchoMode(echo ? QLineEdit::Normal : QLineEdit::Password);
}
PolkitQt1::Identity PolicykitAgentGUI::identity()
QString PolicykitAgentGUI::identity()
{
return m_identityMap[identityComboBox->currentText()];
Q_ASSERT(identityComboBox->currentIndex() != -1);
return identityComboBox->currentText();
}
QString PolicykitAgentGUI::response()
@ -75,4 +93,14 @@ QString PolicykitAgentGUI::response()
return passwordEdit->text();
}
void PolicykitAgentGUI::onIdentityChanged(int index)
{
QVariant text = identityComboBox->itemData(index, RolePromptText);
QVariant echo = identityComboBox->itemData(index, RolePromptEcho);
if (text != QVariant{})
promptLabel->setText(text.toString());
if (echo != QVariant{})
passwordEdit->setEchoMode(echo.toBool() ? QLineEdit::Normal : QLineEdit::Password);
}
} // namespace

@ -40,6 +40,13 @@ class PolicykitAgentGUI : public QDialog, public Ui::PolicykitAgentGUI
{
Q_OBJECT
private:
enum DataRoles
{
RolePromptText = Qt::UserRole
, RolePromptEcho
};
public:
PolicykitAgentGUI(const QString &actionId,
const QString &message,
@ -48,11 +55,14 @@ public:
const PolkitQt1::Identity::List &identities);
void setPrompt(const PolkitQt1::Identity &identity, const QString &text, bool echo);
PolkitQt1::Identity identity();
/*! \brief Returns currently selected identity (serialized by toString())
*/
QString identity();
QString response();
private:
QHash<QString,PolkitQt1::Identity> m_identityMap;
public slots:
void onIdentityChanged(int index);
};
} // namespace

@ -1,51 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<context>
<name>LXQtPolicykit::PolicykitAgent</name>
<message>
<location filename="../src/policykitagent.cpp" line="71"/>
<location filename="../src/policykitagent.cpp" line="149"/>
<source>PolicyKit Information</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="71"/>
<source>Another authentization in progress. Please try it again later.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="132"/>
<source>Authorization Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="132"/>
<source>Authorization failed for some reason</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="144"/>
<source>PolicyKit Error</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PolicykitAgentGUI</name>
<message>
<location filename="../src/policykitagentgui.ui" line="14"/>
<source>Authentication Required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/policykitagentgui.ui" line="55"/>
<source>Identity:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/policykitagentgui.ui" line="65"/>
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -1,51 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de">
<context>
<name>LXQtPolicykit::PolicykitAgent</name>
<message>
<location filename="../src/policykitagent.cpp" line="71"/>
<location filename="../src/policykitagent.cpp" line="149"/>
<source>PolicyKit Information</source>
<translation>PolicyKit Information</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="71"/>
<source>Another authentization in progress. Please try it again later.</source>
<translation>Eine andere Authentisierung wird gerade durchgeführt. Bitte später noch einmal versuchen.</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="132"/>
<source>Authorization Failed</source>
<translation>Autorisierung fehlgeschlagen</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="132"/>
<source>Authorization failed for some reason</source>
<translation>Autorisierung aus irgendeinem Grund fehlgeschlagen</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="144"/>
<source>PolicyKit Error</source>
<translation>PolicyKit Fehler</translation>
</message>
</context>
<context>
<name>PolicykitAgentGUI</name>
<message>
<location filename="../src/policykitagentgui.ui" line="14"/>
<source>Authentication Required</source>
<translation>Authentisierung benötigt</translation>
</message>
<message>
<location filename="../src/policykitagentgui.ui" line="55"/>
<source>Identity:</source>
<translation>Identität:</translation>
</message>
<message>
<location filename="../src/policykitagentgui.ui" line="65"/>
<source>Password:</source>
<translation>Kennwort:</translation>
</message>
</context>
</TS>

@ -1,51 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="el">
<context>
<name>LXQtPolicykit::PolicykitAgent</name>
<message>
<location filename="../src/policykitagent.cpp" line="71"/>
<location filename="../src/policykitagent.cpp" line="149"/>
<source>PolicyKit Information</source>
<translation>Πληροφορίες PolicyKit</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="71"/>
<source>Another authentization in progress. Please try it again later.</source>
<translation>Μια άλλη ταυτοποίηση είναι σε εξέλιξη. Παρακαλώ προσπαθήστε ξανά αργότερα.</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="132"/>
<source>Authorization Failed</source>
<translation>Η ταυτοποίηση απέτυχε</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="132"/>
<source>Authorization failed for some reason</source>
<translation>Η ταυτοποίηση για κάποια αιτία απέτυχε</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="144"/>
<source>PolicyKit Error</source>
<translation>Σφάλμα PolicyKit</translation>
</message>
</context>
<context>
<name>PolicykitAgentGUI</name>
<message>
<location filename="../src/policykitagentgui.ui" line="14"/>
<source>Authentication Required</source>
<translation>Απαιτείται ταυτοποίηση</translation>
</message>
<message>
<location filename="../src/policykitagentgui.ui" line="55"/>
<source>Identity:</source>
<translation>Ταυτότητα:</translation>
</message>
<message>
<location filename="../src/policykitagentgui.ui" line="65"/>
<source>Password:</source>
<translation>Κωδικός πρόσβασης:</translation>
</message>
</context>
</TS>

@ -1,51 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>LXQtPolicykit::PolicykitAgent</name>
<message>
<location filename="../src/policykitagent.cpp" line="71"/>
<location filename="../src/policykitagent.cpp" line="149"/>
<source>PolicyKit Information</source>
<translation>Policykit információ</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="71"/>
<source>Another authentization in progress. Please try it again later.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="132"/>
<source>Authorization Failed</source>
<translation>Hitelesítés sikertelen</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="132"/>
<source>Authorization failed for some reason</source>
<translation>Hitelesítés valami miatt sikertelen</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="144"/>
<source>PolicyKit Error</source>
<translation>Policykit hiba</translation>
</message>
</context>
<context>
<name>PolicykitAgentGUI</name>
<message>
<location filename="../src/policykitagentgui.ui" line="14"/>
<source>Authentication Required</source>
<translation>Hitelesítés kell</translation>
</message>
<message>
<location filename="../src/policykitagentgui.ui" line="55"/>
<source>Identity:</source>
<translation>Név:</translation>
</message>
<message>
<location filename="../src/policykitagentgui.ui" line="65"/>
<source>Password:</source>
<translation>Jelszó:</translation>
</message>
</context>
</TS>

@ -1,51 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="pt">
<context>
<name>LXQtPolicykit::PolicykitAgent</name>
<message>
<location filename="../src/policykitagent.cpp" line="71"/>
<location filename="../src/policykitagent.cpp" line="149"/>
<source>PolicyKit Information</source>
<translation>Informaçoes PolicyKit</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="71"/>
<source>Another authentization in progress. Please try it again later.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="132"/>
<source>Authorization Failed</source>
<translation>Falha de autenticação</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="132"/>
<source>Authorization failed for some reason</source>
<translation>A autenticação falhou por alguma razão</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="144"/>
<source>PolicyKit Error</source>
<translation>Erro PolicyKit</translation>
</message>
</context>
<context>
<name>PolicykitAgentGUI</name>
<message>
<location filename="../src/policykitagentgui.ui" line="14"/>
<source>Authentication Required</source>
<translation>Requer autenticação</translation>
</message>
<message>
<location filename="../src/policykitagentgui.ui" line="55"/>
<source>Identity:</source>
<translation>Identidade:</translation>
</message>
<message>
<location filename="../src/policykitagentgui.ui" line="65"/>
<source>Password:</source>
<translation>Senha:</translation>
</message>
</context>
</TS>

@ -1,51 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru">
<context>
<name>LXQtPolicykit::PolicykitAgent</name>
<message>
<location filename="../src/policykitagent.cpp" line="71"/>
<location filename="../src/policykitagent.cpp" line="149"/>
<source>PolicyKit Information</source>
<translation>Информация PolicyKit</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="71"/>
<source>Another authentization in progress. Please try it again later.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="132"/>
<source>Authorization Failed</source>
<translation>Авторизация не удалась</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="132"/>
<source>Authorization failed for some reason</source>
<translation>Авторизация не удалась по какой-то причине</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="144"/>
<source>PolicyKit Error</source>
<translation>Ошибка PolicyKit</translation>
</message>
</context>
<context>
<name>PolicykitAgentGUI</name>
<message>
<location filename="../src/policykitagentgui.ui" line="14"/>
<source>Authentication Required</source>
<translation>Требуется аутентификация</translation>
</message>
<message>
<location filename="../src/policykitagentgui.ui" line="55"/>
<source>Identity:</source>
<translation>Идентификация:</translation>
</message>
<message>
<location filename="../src/policykitagentgui.ui" line="65"/>
<source>Password:</source>
<translation>Пароль:</translation>
</message>
</context>
</TS>

@ -1,51 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru_RU">
<context>
<name>LXQtPolicykit::PolicykitAgent</name>
<message>
<location filename="../src/policykitagent.cpp" line="71"/>
<location filename="../src/policykitagent.cpp" line="149"/>
<source>PolicyKit Information</source>
<translation>Информация PolicyKit</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="71"/>
<source>Another authentization in progress. Please try it again later.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="132"/>
<source>Authorization Failed</source>
<translation>Авторизация не удалась</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="132"/>
<source>Authorization failed for some reason</source>
<translation>Авторизация не удалась по какой-то причине</translation>
</message>
<message>
<location filename="../src/policykitagent.cpp" line="144"/>
<source>PolicyKit Error</source>
<translation>Ошибка PolicyKit</translation>
</message>
</context>
<context>
<name>PolicykitAgentGUI</name>
<message>
<location filename="../src/policykitagentgui.ui" line="14"/>
<source>Authentication Required</source>
<translation>Требуется аутентификация</translation>
</message>
<message>
<location filename="../src/policykitagentgui.ui" line="55"/>
<source>Identity:</source>
<translation>Идентификация:</translation>
</message>
<message>
<location filename="../src/policykitagentgui.ui" line="65"/>
<source>Password:</source>
<translation>Пароль:</translation>
</message>
</context>
</TS>
Loading…
Cancel
Save