[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/multimedia/kmplayer/src
From: Koos Vriezen <koos.vriezen () gmail ! com>
Date: 2012-01-29 11:55:49
Message-ID: 20120129115549.78D30AC893 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1276463 by vriezen:
Fix not saving TV list after in-place editing
Port code originally added to N770 edition to reduce saving unchanged
data to internal flash.
M +9 -1 kmplayer_lists.cpp
M +2 -0 kmplayer_lists.h
M +2 -2 kmplayerapp.cpp
M +2 -0 kmplayertvsource.cpp
--- trunk/extragear/multimedia/kmplayer/src/kmplayer_lists.cpp #1276462:1276463
@@ -51,7 +51,7 @@
}
KDE_NO_CDTOR_EXPORT FileDocument::FileDocument (short i, const QString &s, KMPlayer::Source *src)
- : KMPlayer::SourceDocument (src, s) {
+ : KMPlayer::SourceDocument (src, s), load_tree_version ((unsigned int)-1) {
id = i;
}
@@ -70,6 +70,7 @@
KMPlayer::readXML (this, inxml, QString (), false);
normalize ();
}
+ load_tree_version = m_tree_version;
}
void FileDocument::writeToFile (const QString & fn) {
@@ -77,8 +78,15 @@
kDebug () << "writeToFile " << fn;
file.open (QIODevice::WriteOnly | QIODevice::Truncate);
file.write (outerXML ().toUtf8 ());
+ load_tree_version = m_tree_version;
}
+void FileDocument::sync (const QString &fn)
+{
+ if (resolved && load_tree_version != m_tree_version)
+ writeToFile (fn);
+}
+
KDE_NO_CDTOR_EXPORT Recents::Recents (KMPlayerApp *a)
: FileDocument (id_node_recent_document, "recents://"),
app(a) {
--- trunk/extragear/multimedia/kmplayer/src/kmplayer_lists.h #1276462:1276463
@@ -67,6 +67,8 @@
KMPlayer::Node *childFromTag (const QString &tag);
void readFromFile (const QString &file);
void writeToFile (const QString &file);
+ void sync (const QString & file);
+ unsigned int load_tree_version;
};
class KMPLAYER_NO_EXPORT Recents : public FileDocument {
--- trunk/extragear/multimedia/kmplayer/src/kmplayerapp.cpp #1276462:1276463
@@ -886,11 +886,11 @@
Recents * rc = static_cast <Recents *> (recents.ptr ());
if (rc && rc->resolved) {
fileOpenRecent->saveEntries (KConfigGroup (config, "Recent Files"));
- rc->writeToFile (KStandardDirs::locateLocal ("data", "kmplayer/recent.xml"));
+ rc->sync (KStandardDirs::locateLocal ("data", "kmplayer/recent.xml"));
}
Playlist * pl = static_cast <Playlist *> (playlist.ptr ());
if (pl && pl->resolved)
- pl->writeToFile (KStandardDirs::locateLocal ("data", "kmplayer/playlist.xml"));
+ pl->sync (KStandardDirs::locateLocal ("data", "kmplayer/playlist.xml"));
}
--- trunk/extragear/multimedia/kmplayer/src/kmplayertvsource.cpp #1276462:1276463
@@ -370,6 +370,8 @@
}
KDE_NO_CDTOR_EXPORT KMPlayerTVSource::~KMPlayerTVSource () {
+ static_cast <TVDocument *> (m_document.ptr ())->sync
+ (KStandardDirs::locateLocal ("data", "kmplayer/tv.xml"));
}
KDE_NO_EXPORT void KMPlayerTVSource::activate () {
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic