Hello community,
here is the log from the commit of package kdeutils4 for openSUSE:Factory
checked in at Tue May 18 02:06:41 CEST 2010.
--------
--- KDE/kdeutils4/kdeutils4.changes 2010-04-29 22:42:42.000000000 +0200
+++ kdeutils4/kdeutils4.changes 2010-05-17 15:16:38.000000000 +0200
@@ -1,0 +2,5 @@
+Mon May 17 13:16:28 UTC 2010 - llunak@novell.com
+
+- update 4_4_BRANCH.diff: various fixes, translation updates
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdeutils4.spec ++++++
--- /var/tmp/diff_new_pack.oQ0ljN/_old 2010-05-18 02:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.oQ0ljN/_new 2010-05-18 02:06:20.000000000 +0200
@@ -41,7 +41,7 @@
Summary: Base Package of KDE Utility Programs
Url: http://www.kde.org
Version: 4.4.3
-Release: 1
+Release: 2
Source0: kdeutils-%version.tar.bz2
Patch: 4_4_BRANCH.diff
Patch1: desktop-files.diff
++++++ 4_4_BRANCH.diff ++++++
--- /var/tmp/diff_new_pack.oQ0ljN/_old 2010-05-18 02:06:20.000000000 +0200
+++ /var/tmp/diff_new_pack.oQ0ljN/_new 2010-05-18 02:06:20.000000000 +0200
@@ -1,7 +1,313 @@
-package: kdeutils-4.4.2.tar.bz2
+package: kdeutils-4.4.3.tar.bz2
kdemod: kdeutils
--- BRANCH_STATUS
+++ BRANCH_STATUS
@@ -0,0 +1,2 @@
-+current HEAD: 1109066
-+svn di between //tags/KDE/4.4.2/kdeutils and //branches/KDE/4.4/kdeutils
++current HEAD: 1127686
++svn di between //tags/KDE/4.4.3/kdeutils and //branches/KDE/4.4/kdeutils
+--- kgpg/gpgproc.cpp
++++ kgpg/gpgproc.cpp
+@@ -46,9 +46,12 @@
+
+ void GPGProc::start()
+ {
+- connect(this, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(finished()));
+- connect(this, SIGNAL(lineReadyStandardOutput()), this, SLOT(received()));
+- KProcess::start();
++ // make sure there is exactly one connection from us to that signal
++ disconnect(this, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(finished()));
++ disconnect(this, SIGNAL(lineReadyStandardOutput()), this, SLOT(received()));
++ connect(this, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(finished()));
++ connect(this, SIGNAL(lineReadyStandardOutput()), this, SLOT(received()));
++ KProcess::start();
+ }
+
+ void GPGProc::received()
+--- kgpg/keysmanager.cpp
++++ kgpg/keysmanager.cpp
+@@ -1858,6 +1858,10 @@
+
+ void KeysManager::signkey()
+ {
++ // another sign operation is still running
++ if (!signList.isEmpty())
++ return;
++
+ KgpgItemType tp;
+ QList tmplist = iview->selectedNodes(NULL, &tp);
+ if (tmplist.isEmpty())
+@@ -1906,6 +1910,7 @@
+ QPointer<KgpgSelectSecretKey> opts = new KgpgSelectSecretKey(this, imodel, signList.count());
+ if (opts->exec() != QDialog::Accepted) {
+ delete opts;
++ signList.clear();
+ return;
+ }
+
+@@ -1928,6 +1933,10 @@
+
+ void KeysManager::signuid()
+ {
++ // another sign operation is still running
++ if (!signList.isEmpty())
++ return;
++
+ KgpgItemType tp;
+ QList tmplist = iview->selectedNodes(NULL, &tp);
+ if (tmplist.isEmpty())
+@@ -1985,6 +1994,7 @@
+ QPointer<KgpgSelectSecretKey> opts = new KgpgSelectSecretKey(this, imodel, signList.count());
+ if (opts->exec() != QDialog::Accepted) {
+ delete opts;
++ signList.clear();
+ return;
+ }
+
+--- kgpg/transactions/kgpgchangepass.cpp
++++ kgpg/transactions/kgpgchangepass.cpp
+@@ -48,12 +48,19 @@
+ if (!line.startsWith(QLatin1String("[GNUPG:] ")))
+ return false;
+
+- if (m_seenold && line.contains("keyedit.prompt")) {
+- setSuccess(TS_OK);
+- write("save");
++ if (line.contains("keyedit.prompt")) {
++ if (m_seenold && (getSuccess() != TS_USER_ABORTED)) {
++ setSuccess(TS_OK);
++ write("save");
++ } else {
++ // some sort of error, we already set the error code
++ return true;
++ }
+ } else if (line.contains("GOOD_PASSPHRASE")) {
+ setSuccess(TS_MSG_SEQUENCE);
+ m_seenold = true;
++ } else if (line.contains("MISSING_PASSPHRASE")) {
++ setSuccess(TS_USER_ABORTED);
+ } else if (line.contains("passphrase.enter")) {
+ QString userIDs(getIdHints());
+
+--- printer-applet/printer-applet.py
++++ printer-applet/printer-applet.py
+@@ -268,11 +268,11 @@
+ refreshAction.setShortcut(QKeySequence(Qt.Key_F5))
+ self.connect(refreshAction, SIGNAL("triggered(bool)"), self.on_refresh_activate);
+
+- showCompletedJobsAction = KToggleAction("Show Completed Jobs", self.mainWindow)
++ showCompletedJobsAction = KToggleAction( i18n( "Show Completed Jobs" ), self.mainWindow)
+ self.mainWindow.actionCollection().addAction("show_completed_jobs", showCompletedJobsAction)
+ self.connect(showCompletedJobsAction, SIGNAL("triggered(bool)"), self.on_show_completed_jobs_activate);
+
+- showPrinterStatusAction = KToggleAction("Show Printer Status", self.mainWindow)
++ showPrinterStatusAction = KToggleAction( i18n( "Show Printer Status" ), self.mainWindow)
+ self.mainWindow.actionCollection().addAction("show_printer_status", showPrinterStatusAction)
+ self.connect(showPrinterStatusAction, SIGNAL("triggered(bool)"), self.on_show_printer_status_activate);
+
+--- kdelirc/kcmlirc/kcmlircbase.ui
++++ kdelirc/kcmlirc/kcmlircbase.ui
+@@ -175,7 +175,7 @@
+ </attribute>
+ <column>
+ <property name="text">
+- <string notr="true">Button</string>
++ <string>Button</string>
+ </property>
+ </column>
+ <column>
+--- ark/app/ark_dndextract.desktop
++++ ark/app/ark_dndextract.desktop
+@@ -8,7 +8,7 @@
+ Name[ca@valencia]=Extracció de l'Ark ací
+ Name[cs]=Rozbalit Arkem sem
+ Name[da]=Pak ud med Ark her
+-Name[de]=Ark - Hierher auspacken
++Name[de]=Ark – Hierher auspacken
+ Name[en_GB]=Ark Extract Here
+ Name[es]=Extraer aquí con Ark
+ Name[et]=Paki siia lahti
+--- ark/plugins/clizipplugin/cliplugin.cpp
++++ ark/plugins/clizipplugin/cliplugin.cpp
+@@ -39,7 +39,9 @@
+ explicit CliPlugin(QObject *parent, const QVariantList & args)
+ : CliInterface(parent, args),
+ m_status(Header) {
+-
++ // #208091: infozip applies special meanings to some characters
++ // see match.c in infozip's source code
++ setEscapedCharacters(QLatin1String("[]*?^-\\!"));
+ }
+
+ virtual ~CliPlugin() {
+--- ark/part/part.cpp
++++ ark/part/part.cpp
+@@ -146,7 +146,7 @@
+ this, SIGNAL(ready()));
+ }
+
+-void Part::extractSelectedFilesTo(QString localPath)
++void Part::extractSelectedFilesTo(const QString& localPath)
+ {
+ kDebug() << "Extract to " << localPath;
+ if (!m_model) return;
+@@ -175,7 +175,6 @@
+
+ kDebug() << "selected files are " << files;
+ Kerfuffle::ExtractionOptions options;
+- options["PreservePaths"] = true;
+ if (!internalRoot.isNull()) options["RootNode"] = internalRoot;
+
+ ExtractJob *job = m_model->extractFiles(files, localPath, options);
+@@ -484,7 +483,10 @@
+ const ArchiveEntry& entry = m_model->entryForIndex(index);
+
+ if (!entry.isEmpty()) {
+- ExtractJob *job = m_model->extractFile(entry[ InternalID ], m_previewDir->name());
++ Kerfuffle::ExtractionOptions options;
++ options["PreservePaths"] = true;
++
++ ExtractJob *job = m_model->extractFile(entry[ InternalID ], m_previewDir->name(), options);
+ registerJob(job);
+ connect(job, SIGNAL(result(KJob*)),
+ this, SLOT(slotPreviewExtracted(KJob*)));
+@@ -495,10 +497,10 @@
+ void Part::slotPreviewExtracted(KJob *job)
+ {
+ if (!job->error()) {
+- //ArkViewer viewer( widget() );
+- const ArchiveEntry& entry = m_model->entryForIndex(m_view->selectionModel()->currentIndex());
+- const QString name = entry[ FileName ].toString().split('/', QString::SkipEmptyParts).last();
+- const QString fullName = m_previewDir->name() + '/' + name;
++ const ArchiveEntry& entry =
++ m_model->entryForIndex(m_view->selectionModel()->currentIndex());
++ const QString fullName =
++ m_previewDir->name() + '/' + entry[ FileName ].toString();
+ ArkViewer::view(fullName, widget());
+ } else {
+ KMessageBox::error(widget(), job->errorString());
+--- ark/part/part.h
++++ ark/part/part.h
+@@ -59,7 +59,7 @@
+ bool isBusy() const;
+
+ public slots:
+- void extractSelectedFilesTo(QString localPath);
++ void extractSelectedFilesTo(const QString& localPath);
+
+ private slots:
+ void slotLoadingStarted();
+--- ark/kerfuffle/cliinterface.cpp
++++ ark/kerfuffle/cliinterface.cpp
+@@ -208,7 +208,7 @@
+ if (argument == "$Files") {
+ args.removeAt(i);
+ for (int j = 0; j < files.count(); ++j) {
+- args.insert(i + j, files.at(j).toString());
++ args.insert(i + j, escapeFileName(files.at(j).toString()));
+ ++i;
+ }
+ --i;
+@@ -300,10 +300,7 @@
+ if (argument == "$Files") {
+ args.removeAt(i);
+ for (int j = 0; j < files.count(); ++j) {
+-
+- //QString relativeName = QDir::current().relativeFilePath(files.at(j));
+-
+- args.insert(i + j, files.at(j).toString());
++ args.insert(i + j, escapeFileName(files.at(j).toString()));
+ ++i;
+ }
+ --i;
+@@ -659,6 +656,34 @@
+ }
+ }
+ }
++
++QString CliInterface::escapedCharacters()
++{
++ return m_escapedCharacters;
++}
++
++void CliInterface::setEscapedCharacters(const QString& characters)
++{
++ m_escapedCharacters = characters;
++}
++
++QString CliInterface::escapeFileName(const QString& fileName)
++{
++ QString quoted;
++ const int len = fileName.length();
++ const QLatin1Char backslash('\\');
++ quoted.reserve(len * 2);
++
++ for (int i = 0; i < len; ++i) {
++ if (m_escapedCharacters.contains(fileName.at(i)))
++ quoted.append(backslash);
++
++ quoted.append(fileName.at(i));
++ }
++
++ return quoted;
++}
++
+ }
+
+ #include "cliinterface.moc"
+--- ark/kerfuffle/cliinterface.h
++++ ark/kerfuffle/cliinterface.h
+@@ -237,6 +237,23 @@
+ bool doSuspend();
+ bool doResume();
+
++ /**
++ * Returns the list of characters which are preceded by a
++ * backslash when a file name in an archive is passed to
++ * a program.
++ *
++ * @see setEscapedCharacters().
++ */
++ QString escapedCharacters();
++
++ /**
++ * Sets which characters will be preceded by a backslash when
++ * a file name in an archive is passed to a program.
++ *
++ * @see escapedCharacters().
++ */
++ void setEscapedCharacters(const QString& characters);
++
+ private:
+ bool findProgramAndCreateProcess(const QString& program);
+ void substituteListVariables(QStringList& params);
+@@ -251,6 +268,14 @@
+
+ void failOperation();
+
++ /**
++ * Precedes the characters returned by escapedCharacters() with a
++ * backslash in @p fileName.
++ *
++ * @param fileName String to escape.
++ */
++ QString escapeFileName(const QString& fileName);
++
+ QByteArray m_stdOutData;
+ bool m_userCancelled;
+ QRegExp m_existsPattern;
+@@ -260,6 +285,8 @@
+ ParameterList m_param;
+ QVariantList m_removedFiles;
+
++ QString m_escapedCharacters;
++
+ private slots:
+ void started();
+ void readStdout(bool handleAll = false);
+
+Property changes on: .
+___________________________________________________________________
+Added: svn:externals
+ +
+
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org