[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/apps
From: David Faure <faure () kde ! org>
Date: 2009-03-20 19:00:29
Message-ID: 1237575629.138697.19024.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 941945 by dfaure:
Duplicate mimetypewriter in nsplugins and filetypes, so that the two become \
independent and I can move filetypes to runtime to fix #179355. To reduce duplication \
to the minimum, this code now uses KMimeType::sharedMimeInfoVersion() added on March \
9 to kdelibs.
M +12 -3 konqueror/settings/filetypes/mimetypewriter.cpp
M +4 -1 konqueror/settings/filetypes/mimetypewriter.h
M +3 -39 konqueror/settings/filetypes/sharedmimeinfoversion.cpp
M +1 -3 nsplugins/CMakeLists.txt
AM nsplugins/mimetypewriter.cpp \
konqueror/settings/filetypes/mimetypewriter.cpp#937280 [License: GPL (v2/3+eV)] AM \
nsplugins/mimetypewriter.h konqueror/settings/filetypes/mimetypewriter.h#937280 \
[License: GENERATED FILE]
--- trunk/KDE/kdebase/apps/konqueror/settings/filetypes/mimetypewriter.cpp \
#941944:941945 @@ -19,15 +19,23 @@
*/
#include "mimetypewriter.h"
-#include "sharedmimeinfoversion.h"
+#include <kmimetype.h>
#include <kdebug.h>
+#include <kdeversion.h>
#include <kprocess.h>
#include <kstandarddirs.h>
#include <QXmlStreamWriter>
#include <QFile>
+/// WARNING: this code is duplicated between apps/nsplugins and runtime/filetypes
+
+static bool sharedMimeInfoSupportsIcon()
+{
+ return KMimeType::sharedMimeInfoVersion() >= KDE_MAKE_VERSION(0, 40, 0);
+}
+
class MimeTypeWriterPrivate
{
public:
@@ -101,7 +109,7 @@
if (!d->m_iconName.isEmpty()) {
// User-specified icon name
- if (SharedMimeInfoVersion::supportsIcon()) {
+ if (sharedMimeInfoSupportsIcon()) {
writer.writeStartElement(nsUri, "icon");
writer.writeAttribute("name", d->m_iconName);
writer.writeEndElement(); // icon
@@ -165,6 +173,7 @@
QFile::remove(file);
// We must also remove the generated XML file, update-mime-database doesn't do \
that, for unknown media types
QString xmlFile = KGlobal::dirs()->findResource( "xdgdata-mime", mimeType + \
".xml" );
- qDebug() << xmlFile;
QFile::remove(xmlFile);
}
+
+/// WARNING: this code is duplicated between apps/nsplugins and runtime/filetypes
--- trunk/KDE/kdebase/apps/konqueror/settings/filetypes/mimetypewriter.h \
#941944:941945 @@ -25,6 +25,8 @@
class QString;
class MimeTypeWriterPrivate;
+/// WARNING: this code is duplicated between apps/nsplugins and runtime/filetypes
+
/**
* MimeTypeWriter writes out the definition of a mimetype
* in a XDG shared-mime-info compliant way.
@@ -95,5 +97,6 @@
MimeTypeWriterPrivate* const d;
};
+/// WARNING: this code is duplicated between apps/nsplugins and runtime/filetypes
+
#endif /* MIMETYPEWRITER_H */
-
--- trunk/KDE/kdebase/apps/konqueror/settings/filetypes/sharedmimeinfoversion.cpp \
#941944:941945 @@ -19,46 +19,10 @@
*/
#include "sharedmimeinfoversion.h"
-#include <kdebug.h>
-#include <kprocess.h>
+#include <kmimetype.h>
+#include <kdeversion.h>
-static int version()
-{
- static int s_version = 0;
- if (s_version == 0) {
- KProcess proc;
- proc << "update-mime-database";
- proc << "-v";
- proc.setOutputChannelMode(KProcess::OnlyStderrChannel);
- proc.setReadChannel(KProcess::StandardError);
- const int exitCode = proc.execute();
- if (exitCode) {
- kWarning() << proc.program() << "exited with error code" << exitCode;
- }
- QByteArray versionLine = proc.readLine();
- const QByteArray expectedStart = "update-mime-database (shared-mime-info) ";
- if (versionLine.startsWith(expectedStart)) {
- versionLine = versionLine.mid(expectedStart.length());
- versionLine.chop(1); // \n
- const int dot = versionLine.indexOf('.');
- if (dot != -1) {
- const int major = versionLine.left(dot).toInt();
- const int minor = versionLine.mid(dot+1).toInt();
- s_version = major * 100 + minor; // 1.04 -> 104
- } else {
- kWarning() << "Unexpected version scheme from update-mime-database: \
got" << versionLine;
- s_version = -1;
- }
- } else {
- kWarning() << "Unexpected output from update-mime-database -v:" << \
versionLine;
- kWarning() << "Expected that it would start with:" << expectedStart;
- s_version = -1;
- }
- }
- return s_version;
-}
-
bool SharedMimeInfoVersion::supportsIcon()
{
- return version() >= 40;
+ return KMimeType::sharedMimeInfoVersion() >= KDE_MAKE_VERSION(0, 40, 0);
}
--- trunk/KDE/kdebase/apps/nsplugins/CMakeLists.txt #941944:941945
@@ -52,10 +52,8 @@
########### nspluginscan ###############
- set(nspluginscan_SRCS pluginscan.cpp plugin_paths.cpp \
../konqueror/settings/filetypes/mimetypewriter.cpp \
../konqueror/settings/filetypes/sharedmimeinfoversion.cpp) + set(nspluginscan_SRCS \
pluginscan.cpp plugin_paths.cpp mimetypewriter.cpp)
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../konqueror/settings/filetypes/)
-
kde4_add_executable(nspluginscan ${nspluginscan_SRCS})
target_link_libraries(nspluginscan ${KDE4_KIO_LIBS} ${X11_Xt_LIB})
** trunk/KDE/kdebase/apps/nsplugins/mimetypewriter.cpp #property svn:mergeinfo
+ /branches/KDE/4.0/kdebase/apps/konqueror/settings/filetypes/mimetypewriter.cpp:758600,758610
** trunk/KDE/kdebase/apps/nsplugins/mimetypewriter.h #property svn:mergeinfo
+ /branches/KDE/4.0/kdebase/apps/konqueror/settings/filetypes/mimetypewriter.h:758600,758610
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic