|
Rodolfo Ribeiro Gomes |
f381a6 |
/* === S Y N F I G ========================================================= */
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
/*! \file resourcehelper.h
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
** \brief Helper to retrieve the app resource paths, such as icons and plugins
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
**
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
** $Id$
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
**
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
** \legal
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
** Copyright (c) 2019 Rodolfo R Gomes
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
**
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
** This package is free software; you can redistribute it and/or
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
** modify it under the terms of the GNU General Public License as
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
** published by the Free Software Foundation; either version 2 of
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
** the License, or (at your option) any later version.
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
**
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
** This package is distributed in the hope that it will be useful,
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
** General Public License for more details.
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
** \endlegal
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
*/
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
/* ========================================================================= */
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
#ifdef USING_PCH
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
# include "pch.h"
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
#else
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
#ifdef HAVE_CONFIG_H
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
# include <config.h></config.h>
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
#endif
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
#include "resourcehelper.h"
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
#include "app.h"
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
#endif
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
synfig::String studio::ResourceHelper::get_image_path()
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
{
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
#ifdef _WIN32
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
# ifdef IMAGE_DIR
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
# undef IMAGE_DIR
|
|
Rodolfo Ribeiro Gomes |
f8e3df |
# define IMAGE_DIR "share/pixmaps"
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
# endif
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
#endif
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
#ifndef IMAGE_DIR
|
|
Rodolfo Ribeiro Gomes |
db86bb |
# define IMAGE_DIR "/usr/local/share/pixmaps/synfigstudio"
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
#endif
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
std::string imagepath;
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
#ifdef _WIN32
|
|
Rodolfo Ribeiro Gomes |
f8e3df |
imagepath=App::get_base_path()+'/'+IMAGE_DIR;
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
#else
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
imagepath=IMAGE_DIR;
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
#endif
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
char* synfig_root=getenv("SYNFIG_ROOT");
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
if(synfig_root) {
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
imagepath=synfig_root;
|
|
Rodolfo Ribeiro Gomes |
db86bb |
// Only class About didn't use the synfigstudio directory when using
|
|
Rodolfo Ribeiro Gomes |
db86bb |
// SYNFIG_ROOT env variable. However, if it weren't set, it would use
|
|
Rodolfo Ribeiro Gomes |
db86bb |
// IMAGE_DIR builtin variable that includes "synfigstudio". It means
|
|
Rodolfo Ribeiro Gomes |
db86bb |
// that that About icon is in both folders. Therefore, it is safe to
|
|
Rodolfo Ribeiro Gomes |
db86bb |
// choose this path.
|
|
Rodolfo Ribeiro Gomes |
db86bb |
imagepath+="/share/pixmaps/synfigstudio";
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
}
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
return imagepath;
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
}
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
synfig::String studio::ResourceHelper::get_image_path(const synfig::String& image_filename)
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
{
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
return get_image_path() + '/' + image_filename;
|
|
Rodolfo Ribeiro Gomes |
f381a6 |
}
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
synfig::String studio::ResourceHelper::get_ui_path()
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
{
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
#ifdef _WIN32
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
# ifdef UI_DIR
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
# undef UI_DIR
|
|
Rodolfo RG |
927c75 |
# define UI_DIR "share/synfig/ui"
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
# endif
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
#endif
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
#ifndef UI_DIR
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
# define UI_DIR "/usr/local/share/synfig/ui"
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
#endif
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
std::string uipath;
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
#ifdef _WIN32
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
uipath=App::get_base_path()+'/'+UI_DIR;
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
#else
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
uipath=UI_DIR;
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
#endif
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
char* synfig_root=getenv("SYNFIG_ROOT");
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
if(synfig_root) {
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
uipath=synfig_root;
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
uipath+="/share/synfig/ui";
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
}
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
return uipath;
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
}
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
synfig::String studio::ResourceHelper::get_ui_path(const synfig::String& ui_filename)
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
{
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
return get_ui_path() + '/' + ui_filename;
|
|
Rodolfo Ribeiro Gomes |
a0aabc |
}
|