/***************************************************************************** * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * * This file is part of CamiTK. * * CamiTK is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * CamiTK is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details. * * You should have received a copy of the GNU Lesser General Public License * version 3 along with CamiTK. If not, see . * * $CAMITK_LICENCE_END$ ****************************************************************************/ // -- Core stuff #include "ActionExtension.h" #include "Action.h" #include "Application.h" #include "Core.h" #include "Log.h" // -- Qt stuff #include #include namespace camitk { // -------------------- initResources -------------------- void ActionExtension::initResources(){ // Get the selected language QString selectedLanguage = Application::getSelectedLanguage(); QString actionExtensionDirName = QDir(this->getLocation()).dirName(); // remove any occurence of "-debug.dll" or ".so" or ".dylib" on the extension file name actionExtensionDirName.remove("-debug.dll").remove(".so").remove(".dylib"); QString languageFile = ":/translate_" + actionExtensionDirName + "/translate/translate_" + selectedLanguage + ".qm"; QTranslator* translator = new QTranslator(); if (!translator->load(languageFile)) CAMITK_WARNING("Application", "initResources", "Cannot load file: " + languageFile.toStdString()) else QCoreApplication::installTranslator(translator); } // -------------------- destructor -------------------- ActionExtension::~ActionExtension() { while (!actions.empty()) { Action *toDelete = actions.takeFirst(); // do not delete the "Quit" action: it is the action that triggers this delete! if (toDelete->getName()!= "Quit") delete toDelete; } } // -------------------- registerAction -------------------- void ActionExtension::registerAction(Action* action) { // simply add the action in the list actions.append(action); } // -------------------- getActions -------------------- const camitk::ActionList& ActionExtension::getActions() { return actions; } }