SVN commit 1076048 by lbeltrame: Fix for crashes when running the application: addItemString needs a QString item, and not a normal string, otherwise the value is not written to the configuration file MM +10 -8 kconfigxtexample.py M +4 -2 preferences.py ** trunk/KDE/kdeexamples/bindings/python/kconfigxt/kconfigxtexample.py #property svn:executable - * --- trunk/KDE/kdeexamples/bindings/python/kconfigxt/kconfigxtexample.py #1076047:1076048 @@ -33,22 +33,24 @@ import preferences -def main(): - app_name = "kconfigxtexample" - program_name = kdecore.ki18n("Example KConfigXT application (PyKDE4)") +app_name = "kconfigxtexample" +program_name = kdecore.ki18n("Example KConfigXT application (PyKDE4)") +about_data = kdecore.KAboutData(QtCore.QByteArray(app_name), "", + program_name, QtCore.QByteArray("0.1")) +kdecore.KCmdLineArgs.init(sys.argv, about_data) +app = kdeui.KApplication() - about_data = kdecore.KAboutData(QtCore.QByteArray(app_name), "", - program_name, QtCore.QByteArray("version")) - kdecore.KCmdLineArgs.init(sys.argv, about_data) - app = kdeui.KApplication() +def main(): settings = preferences.Preferences() + print "Generated prefs" + print "URL", settings.url dialog = preferences.ConfigDialog(None, "settings", settings) + print "Creating dialog" dialog.show() - app.exec_() if __name__ == '__main__': --- trunk/KDE/kdeexamples/bindings/python/kconfigxt/preferences.py #1076047:1076048 @@ -35,7 +35,7 @@ Techbase).It will also create a proper KConfigDialog. """ -from PyQt4 import QtGui +from PyQt4 import QtGui, QtCore from PyKDE4 import kdecore, kdeui from ui_generalpage import Ui_GeneralPage @@ -65,7 +65,9 @@ self.setCurrentGroup("General") - self._url_data = "" + # Using "" here won't work, we need an actual instance of QString or we + # may get unexpected behavior (like values not being written) + self._url_data = QtCore.QString() predefined_url = "http://www.kde.org" self._url = self.addItemString("serverName", self._url_data, predefined_url)