/* Copyright 2006-2025 The QElectroTech Team 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 "templatedeleter.h" #include "../qetmessagebox.h" #include "../qetproject.h" /** Constructor @param tbt_location Location of the title block template to be deleted @param parent Parent QWidget */ TitleBlockTemplateDeleter::TitleBlockTemplateDeleter(const TitleBlockTemplateLocation &tbt_location, QWidget *parent) : QWidget(parent), template_location_(tbt_location) { } /** Destructor */ TitleBlockTemplateDeleter::~TitleBlockTemplateDeleter() { } /** Delete the title block template: check the provided location matches an existing template, interactively require confirmationfrom the user before actually proceeding to the deletion. @return true if the deletion succeeded, false otherwise. */ bool TitleBlockTemplateDeleter::exec() { if (!template_location_.isValid()) return(false); QString name = template_location_.name(); TitleBlockTemplatesCollection *collection = template_location_.parentCollection(); if (!collection) return(false); if (!collection -> templates().contains(name)) { return(false); } // require confirmation from the user QMessageBox::StandardButton answer = QET::QetMessageBox::question( this, tr("Supprimer le modèle de cartouche ?", "message box title"), QString( tr( "Êtes-vous sûr de vouloir supprimer ce modèle de cartouche (%1) ?\n", "message box content" ) ).arg(name), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel ); if (answer != QMessageBox::Yes) return(false); // delete the title block template collection -> removeTemplate(name); return(true); }