summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--src/helper/stock-items.cpp12
-rw-r--r--src/io/resource.cpp10
-rw-r--r--src/io/resource.h1
4 files changed, 32 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 40549d43b..5add0270a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-04-27 verbalshadow <verbalshadow@gmail.com>
+
+ * src/io/resource.h, src/io/resource.cpp,
+ src/dialogs/swatches.cpp, src/helper/stock-items.cpp:
+ Added CREATE v0.1 support for gradients/swatches/patterns
+ Support for Linux & Win32. Mac support waiting final support
+ Directory info.
+
+
2006-04-26 Jon A. Cruz <jon@joncruz.org>
* src/Makefile.am, src/MultiPrinter.h, src/PylogFormatter.h,
diff --git a/src/helper/stock-items.cpp b/src/helper/stock-items.cpp
index ed6d25b74..b531eef96 100644
--- a/src/helper/stock-items.cpp
+++ b/src/helper/stock-items.cpp
@@ -95,12 +95,18 @@ sp_pattern_load_from_svg(gchar const *name, SPDocument *current_doc)
if (Inkscape::IO::file_test(patterns, G_FILE_TEST_IS_REGULAR)) {
doc = sp_document_new(patterns, FALSE);
}
+ if (!doc) {
+ gchar *patterns = g_build_filename(CREATE_PATTERNSDIR, "/patterns.svg", NULL);
+ if (Inkscape::IO::file_test(patterns, G_FILE_TEST_IS_REGULAR)) {
+ doc = sp_document_new(patterns, FALSE);
+ }
g_free(patterns);
if (doc) {
sp_document_ensure_up_to_date(doc);
} else {
edoc = TRUE;
}
+ }
}
if (!edoc && doc) {
/* Get the pattern we want */
@@ -131,12 +137,18 @@ sp_gradient_load_from_svg(gchar const *name, SPDocument *current_doc)
if (Inkscape::IO::file_test(gradients, G_FILE_TEST_IS_REGULAR)) {
doc = sp_document_new(gradients, FALSE);
}
+ if (!doc) {
+ gchar *gradients = g_build_filename(CREATE_GRADIENTSDIR, "/gradients.svg", NULL);
+ if (Inkscape::IO::file_test(gradients, G_FILE_TEST_IS_REGULAR)) {
+ doc = sp_document_new(gradients, FALSE);
+ }
g_free(gradients);
if (doc) {
sp_document_ensure_up_to_date(doc);
} else {
edoc = TRUE;
}
+ }
}
if (!edoc && doc) {
/* Get the gradient we want */
diff --git a/src/io/resource.cpp b/src/io/resource.cpp
index ae9097868..b4dca3233 100644
--- a/src/io/resource.cpp
+++ b/src/io/resource.cpp
@@ -53,6 +53,16 @@ Util::ptr_shared<char> get_path(Domain domain, Type type, char const *filename)
}
path = g_strdup(temp);
} break;
+ case CREATE: {
+ gchar const* temp = 0;
+ switch (type) {
+ case GRADIENTS: temp = CREATE_GRADIENTSDIR; break;
+ case PALETTES: temp = CREATE_PALETTESDIR; break;
+ case PATTERNS: temp = CREATE_PATTERNSDIR; break;
+ default: g_assert_not_reached();
+ }
+ path = g_strdup(temp);
+ } break;
case USER: {
char const *name=NULL;
switch (type) {
diff --git a/src/io/resource.h b/src/io/resource.h
index 948866f1e..0be8ab8e6 100644
--- a/src/io/resource.h
+++ b/src/io/resource.h
@@ -41,6 +41,7 @@ enum Type {
enum Domain {
SYSTEM,
+ CREATE,
USER
};