All pastes #763668 Raw Edit

Zeug

public text v1 · immutable
·published 2007-11-06 17:29 UTC
rendered paste body
From 44cf0aa72231aa1d921c98ac1836e13457914cb4 Mon Sep 17 00:00:00 2001
From: Patrick Niklaus <marex@opencompositing.org>
Date: Tue, 6 Nov 2007 18:27:29 +0100
Subject: [PATCH] Made it possible to export only non-default setting values

---
 include/ccs.h |    3 ++-
 src/main.c    |    5 ++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/include/ccs.h b/include/ccs.h
index 2427137..7b811fc 100644
--- a/include/ccs.h
+++ b/include/ccs.h
@@ -507,7 +507,8 @@ void ccsResetToDefault (CCSSetting * setting);
 
 /* File import / export */
 Bool ccsExportToFile (CCSContext *context,
-		      const char *fileName);
+		      const char *fileName,
+		      Bool skipDefaults);
 Bool ccsImportFromFile (CCSContext *context,
 			const char *fileName,
 			Bool       overwrite);
diff --git a/src/main.c b/src/main.c
index 528f598..15b7b2f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2399,7 +2399,7 @@ ccsGetExistingBackends ()
 }
 
 Bool
-ccsExportToFile (CCSContext * context, const char * fileName)
+ccsExportToFile (CCSContext * context, const char * fileName, Bool skipDefaults)
 {
     IniDictionary *exportFile;
     CCSPluginList p;
@@ -2424,6 +2424,9 @@ ccsExportToFile (CCSContext * context, const char * fileName)
 	{
 	    setting = s->data;
 
+	    if (skipDefaults && setting->isDefault)
+		continue;
+
 	    if (setting->isScreen)
 		asprintf (&keyName, "s%d_%s", 
 			  setting->screenNum, setting->name);
-- 
1.5.2.5