/* Copyright 2006-2009 Xavier Guerrin This file is part of QElectroTech. QElectroTech is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. QElectroTech 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 General Public License for more details. You should have received a copy of the GNU General Public License along with QElectroTech. If not, see . */ #include "exportproperties.h" #include /** Constructeur par defaut : * le repertoire de destination est le Bureau de l'utilisateur * le format d'export est PNG * la grille et les bornes ne doivent pas etre dessinees * la bordure et le cartouche doivent etre dessines * la zone exportee est le schema avec son cadre et son cartouche */ ExportProperties::ExportProperties() : destination_directory(QDesktopServices::storageLocation(QDesktopServices::DesktopLocation)), format("PNG"), draw_grid(false), draw_border(true), draw_inset(true), draw_terminals(false), exported_area(QET::BorderArea) { } /** Destructeur */ ExportProperties::~ExportProperties() { } /** Exporte les options dans une configuration. @param settings Parametres a ecrire @param prefix prefixe a ajouter devant les noms des parametres */ void ExportProperties::toSettings(QSettings &settings, const QString &prefix) const { settings.setValue(prefix + "path", QDir::toNativeSeparators(destination_directory.absolutePath())); settings.setValue(prefix + "format", format); settings.setValue(prefix + "drawgrid", draw_grid); settings.setValue(prefix + "drawborder", draw_border); settings.setValue(prefix + "drawinset", draw_inset); settings.setValue(prefix + "drawterminals", draw_terminals); settings.setValue(prefix + "area", QET::diagramAreaToString(exported_area)); } /** Lit les options depuis une configuration. @param settings Parametres a lire @param prefix prefixe a ajouter devant les noms des parametres */ void ExportProperties::fromSettings(QSettings &settings, const QString &prefix) { QString desktop_path = QDesktopServices::storageLocation(QDesktopServices::DesktopLocation); destination_directory.setPath(settings.value(prefix + "path", desktop_path).toString()); if (!destination_directory.exists()) destination_directory.setPath(desktop_path); format = settings.value(prefix + "format").toString(); draw_grid = settings.value(prefix + "drawgrid", false).toBool(); draw_border = settings.value(prefix + "drawborder", true ).toBool(); draw_inset = settings.value(prefix + "drawinset", true ).toBool(); draw_terminals = settings.value(prefix + "drawterminals", false).toBool(); exported_area = QET::diagramAreaFromString(settings.value(prefix + "area", "border").toString()); }