summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/symbols.cpp
diff options
context:
space:
mode:
authorMartin Owens <doctormo@gmail.com>2017-06-28 07:04:16 +0000
committerMartin Owens <doctormo@gmail.com>2017-06-28 07:04:16 +0000
commitcf457eea72b81850da5503d0091952871135c1fd (patch)
tree3709bcf46a0152434a89ed68bbb343a8d45408dd /src/ui/dialog/symbols.cpp
parentUpdate dxf_input.py for LP Bug #1700582 (diff)
downloadinkscape-cf457eea72b81850da5503d0091952871135c1fd.tar.gz
inkscape-cf457eea72b81850da5503d0091952871135c1fd.zip
Refactor profile directory use and promote IO::Resource get_path and get_filename methods
Diffstat (limited to 'src/ui/dialog/symbols.cpp')
-rw-r--r--src/ui/dialog/symbols.cpp17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/ui/dialog/symbols.cpp b/src/ui/dialog/symbols.cpp
index e9a13620b..b7a43a1ca 100644
--- a/src/ui/dialog/symbols.cpp
+++ b/src/ui/dialog/symbols.cpp
@@ -31,6 +31,7 @@
#include <glibmm/i18n.h>
#include "path-prefix.h"
#include "io/sys.h"
+#include "io/resource.h"
#include "ui/cache/svg_preview_cache.h"
#include "ui/clipboard.h"
@@ -577,19 +578,15 @@ void SymbolsDialog::get_symbols() {
std::list<Glib::ustring> directories;
-// \TODO optimize this
-
- if( Inkscape::IO::file_test( INKSCAPE_SYMBOLSDIR, G_FILE_TEST_EXISTS ) &&
- Inkscape::IO::file_test( INKSCAPE_SYMBOLSDIR, G_FILE_TEST_IS_DIR ) ) {
- directories.push_back( INKSCAPE_SYMBOLSDIR );
- }
- if( Inkscape::IO::file_test( Inkscape::Application::profile_path("symbols"), G_FILE_TEST_EXISTS ) &&
- Inkscape::IO::file_test( Inkscape::Application::profile_path("symbols"), G_FILE_TEST_IS_DIR ) ) {
- directories.push_back( Inkscape::Application::profile_path("symbols") );
- }
+ using namespace Inkscape::IO::Resource;
+ directories.push_back(get_path_ustring(USER, SYMBOLS));
+ directories.push_back(get_path_ustring(SYSTEM, SYMBOLS));
std::list<Glib::ustring>::iterator it;
for( it = directories.begin(); it != directories.end(); ++it ) {
+ if(!Inkscape::IO::file_test((*it).c_str(), G_FILE_TEST_IS_DIR)) {
+ continue;
+ }
GError *err = 0;
GDir *dir = g_dir_open( (*it).c_str(), 0, &err );