[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/base/polkit-kde-1/kcmodules
From:       Dario Freddi <drf () kde ! org>
Date:       2009-12-23 17:50:21
Message-ID: 1261590621.282852.28446.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1065559 by dafre:

And it works great

Signed-off-by: Dario Freddi <drf@kde.org>

 M  +2 -0      helper/CMakeLists.txt  
 M  +11 -4     helper/polkitkde1helper.cpp  
 M  +18 -5     polkitconfig/kcmpolkitconfig.cpp  


--- trunk/extragear/base/polkit-kde-1/kcmodules/helper/CMakeLists.txt \
#1065558:1065559 @@ -41,6 +41,8 @@
 
 target_link_libraries(polkitkde1helper ${QT_QTCORE_LIBRARY} \
${POLKITQT-1_CORE_LIBRARY})  
+install(TARGETS polkitkde1helper DESTINATION ${LIBEXEC_INSTALL_DIR})
+
 dbus_add_activation_system_service(org.kde.polkitkde1.helper.service.in)
 
 install(FILES org.kde.polkitkde1.helper.conf DESTINATION \
                ${SYSCONF_INSTALL_DIR}/dbus-1/system.d)
--- trunk/extragear/base/polkit-kde-1/kcmodules/helper/polkitkde1helper.cpp \
#1065558:1065559 @@ -44,6 +44,7 @@
 
 void PolkitKde1Helper::saveGlobalConfiguration(const QString& adminIdentities, int \
systemPriority, int policiesPriority)  {
+    qDebug() << "Request to save the global configuration by " << \
message().service();  PolkitQt1::Authority::Result result;
     PolkitQt1::SystemBusNameSubject *subject;
 
@@ -52,9 +53,11 @@
     result = PolkitQt1::Authority::instance()->checkAuthorizationSync("org.kde.polkitkde1.changesystemconfiguration",
                
                                                                       subject, \
PolkitQt1::Authority::AllowUserInteraction);  if (result == \
PolkitQt1::Authority::Yes) { +        qDebug() << "Authorized successfully";
         // It's ok
     } else {
         // It's not ok
+        qDebug() << "UnAuthorized! " << \
PolkitQt1::Authority::instance()->lastError();  return;
     }
 
@@ -65,11 +68,15 @@
     kdesettings.setValue("ConfigPriority", systemPriority);
     kdesettings.setValue("PoliciesPriority", policiesPriority);
 
-    QSettings polkitsettings(QString("/etc/polkit-1/localauthority.conf.d/%1-polkitkde.conf").arg(systemPriority),
                
-                             QSettings::IniFormat);
-    polkitsettings.beginGroup("Configuration");
-    polkitsettings.setValue("AdminIdentities", adminIdentities);
+    QString contents = \
QString("[Configuration]\nAdminIdentities=%1\n").arg(adminIdentities);  
+    qDebug() << contents << "will be wrote to the local authority file";
+    QFile wfile(QString("/etc/polkit-1/localauthority.conf.d/%1-polkitkde.conf").arg(systemPriority));
 +    wfile.open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text);
+    wfile.write(contents.toUtf8());
+    wfile.flush();
+    wfile.close();
+
     // TODO: Move files around if the priority was changed
 }
 
--- trunk/extragear/base/polkit-kde-1/kcmodules/polkitconfig/kcmpolkitconfig.cpp \
#1065558:1065559 @@ -22,6 +22,7 @@
 #include <qsettings.h>
 #include <qfileinfo.h>
 #include <qdir.h>
+#include <qlayoutitem.h>
 #include "identitywidget.h"
 #include <KDebug>
 
@@ -109,12 +110,12 @@
     }
 
     kDebug() << "The highest filename is " << highestFilename;
-    QSettings policy(highestFilename, QSettings::IniFormat);
-    kDebug() << policy.allKeys();
-    kDebug() << policy.childGroups();
-    policy.beginGroup("Configuration");
+    QFile policyFile(highestFilename);
+    policyFile.open(QIODevice::ReadOnly | QIODevice::Text);
+    QString identities = \
QString(policyFile.readAll()).split("AdminIdentities=").last(); +    identities = \
identities.split('\n').first(); +    policyFile.close();
 
-    QString identities = policy.value("AdminIdentities").toString();
     kDebug() << "our identities are " << identities;
     foreach (const QString &identity, identities.split(';')) {
         IdentityWidget::IdentityType type;
@@ -165,6 +166,18 @@
     }
 
     kDebug() << "Identities to save: " << identities;
+
+    QDBusMessage message = \
QDBusMessage::createMethodCall("org.kde.polkitkde1.helper", +                         \
"/Helper", +                                                          \
"org.kde.polkitkde1.helper", +                                                        \
QLatin1String("saveGlobalConfiguration")); +    QList<QVariant> argumentList;
+    argumentList << QVariant::fromValue(identities);
+    argumentList << QVariant::fromValue(m_ui->configPrioritySpin->value());
+    argumentList << QVariant::fromValue(m_ui->policyPrioritySpin->value());
+    message.setArguments(argumentList);
+
+    QDBusPendingCall reply = QDBusConnection::systemBus().asyncCall(message);
 }
 
 void KCMPolkitConfig::addNewIdentity()


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic