[qet] [4523] Old element panel doesn' t manage the embedded collection of project anymore.

[ Thread Index | Date Index | More lists.tuxfamily.org/qet Archives ]


Revision: 4523
Author:   blacksun
Date:     2016-05-25 17:12:01 +0200 (Wed, 25 May 2016)
Log Message:
-----------
Old element panel doesn't manage the embedded collection of project anymore.
Remove unused classes (become unused since the old panel doesn't manage embedded collection)

Modified Paths:
--------------
    trunk/sources/elementscategoryeditor.h
    trunk/sources/elementspanel.cpp
    trunk/sources/elementspanel.h
    trunk/sources/elementspanelwidget.cpp
    trunk/sources/elementspanelwidget.h
    trunk/sources/projectview.cpp
    trunk/sources/qetproject.cpp
    trunk/sources/qetproject.h

Removed Paths:
-------------
    trunk/sources/interactivemoveelementshandler.cpp
    trunk/sources/interactivemoveelementshandler.h

Modified: trunk/sources/elementscategoryeditor.h
===================================================================
--- trunk/sources/elementscategoryeditor.h	2016-05-25 14:53:07 UTC (rev 4522)
+++ trunk/sources/elementscategoryeditor.h	2016-05-25 15:12:01 UTC (rev 4523)
@@ -21,7 +21,6 @@
 #include <QDialog>
 #include "elementslocation.h"
 
-class ElementsCategory;
 class NamesListWidget;
 class QFileNameEdit;
 class QDialogButtonBox;
@@ -43,7 +42,6 @@
 		ElementsCategoryEditor(const ElementsCategoryEditor &);
 	
 	private:
-		ElementsCategory *category;
 		QDialogButtonBox *m_buttons;
 		NamesListWidget *m_names_list;
 		QLabel *m_file_name;

Modified: trunk/sources/elementspanel.cpp
===================================================================
--- trunk/sources/elementspanel.cpp	2016-05-25 14:53:07 UTC (rev 4522)
+++ trunk/sources/elementspanel.cpp	2016-05-25 15:12:01 UTC (rev 4523)
@@ -202,48 +202,6 @@
 }
 
 /**
-	Gere le depot lors d'un drag'n drop
-	@param e QDropEvent decrivant le depot
-*/
-void ElementsPanel::dropEvent(QDropEvent *e)
-{
-		// recupere la categorie cible pour le deplacement / la copie
-	ElementsCategory *target_category = categoryForPos(e -> pos());
-	if (!target_category) {
-		e -> ignore();
-		return;
-	}
-	
-		// recupere la source (categorie ou element) pour le deplacement / la copie
-	ElementsLocation dropped_location = ElementsLocation(e -> mimeData() -> text());
-	ElementsCollectionItem *source_item = QETApp::collectionItem(dropped_location, false);
-	if (!source_item) {
-		e -> ignore();
-		return;
-	}
-	
-#ifdef ENABLE_PANEL_DND_CHECKS
-	// ne prend pas en consideration le drop d'un item sur lui-meme ou une categorie imbriquee
-	if (
-		source_item -> location() == target_category -> location() ||\
-		target_category -> isChildOf(source_item)
-	) {
-		e -> ignore();
-		return;
-	}
-	
-	// s'assure que la categorie cible est accessible en ecriture
-	if (!target_category -> isWritable()) {
-		e -> ignore();
-		return;
-	}
-#endif
-	
-	e -> accept();
-	emit(requestForMoveElements(source_item, target_category, e -> pos()));
-}
-
-/**
 	Gere le debut des drag'n drop
 	@param supportedActions Les actions supportees
 */

Modified: trunk/sources/elementspanel.h
===================================================================
--- trunk/sources/elementspanel.h	2016-05-25 14:53:07 UTC (rev 4522)
+++ trunk/sources/elementspanel.h	2016-05-25 15:12:01 UTC (rev 4523)
@@ -68,7 +68,6 @@
 	void requestForProject(QETProject *);
 	void requestForDiagram(Diagram *);
 	void requestForCollectionItem(const ElementsLocation &);
-	void requestForMoveElements(ElementsCollectionItem *, ElementsCollectionItem *, QPoint);
 	void requestForTitleBlockTemplate(const TitleBlockTemplateLocation &);
 	void readingAboutToBegin();
 	void readingFinished();
@@ -90,7 +89,6 @@
 	protected:
 	void dragEnterEvent(QDragEnterEvent *);
 	void dragMoveEvent(QDragMoveEvent *);
-	void dropEvent(QDropEvent *);
 	void startDrag(Qt::DropActions);
 	void startElementDrag(const ElementsLocation &);
 	void startTitleBlockTemplateDrag(const TitleBlockTemplateLocation &);

Modified: trunk/sources/elementspanelwidget.cpp
===================================================================
--- trunk/sources/elementspanelwidget.cpp	2016-05-25 14:53:07 UTC (rev 4522)
+++ trunk/sources/elementspanelwidget.cpp	2016-05-25 15:12:01 UTC (rev 4523)
@@ -24,7 +24,6 @@
 #include "elementscategoryeditor.h"
 #include "elementscategorydeleter.h"
 #include "qetapp.h"
-#include "interactivemoveelementshandler.h"
 #include "qetproject.h"
 #include "diagram.h"
 #include "qeticons.h"
@@ -78,9 +77,6 @@
 	tbt_add               = new QAction(QET::Icons::TitleBlock,                tr("Nouveau modèle"),                   this);
 	tbt_edit              = new QAction(QET::Icons::TitleBlock,                tr("Éditer ce modèle"),              this);
 	tbt_remove            = new QAction(QET::Icons::TitleBlock,                tr("Supprimer ce modèle"),              this);
-	move_elements_        = new QAction(QET::Icons::IC_MoveFile,                  tr("Déplacer dans cette catégorie"), this);
-	copy_elements_        = new QAction(QET::Icons::IC_CopyFile,                  tr("Copier dans cette catégorie"),      this);
-	cancel_elements_      = new QAction(QET::Icons::Cancel,                    tr("Annuler"),                             this);
 
 	reload            -> setShortcut(Qt::Key_F5);
 
@@ -125,8 +121,6 @@
 	connect(tbt_add,               SIGNAL(triggered()), this,           SLOT(addTitleBlockTemplate()));
 	connect(tbt_edit,              SIGNAL(triggered()), this,           SLOT(editTitleBlockTemplate()));
 	connect(tbt_remove,            SIGNAL(triggered()), this,           SLOT(removeTitleBlockTemplate()));
-	connect(move_elements_,        SIGNAL(triggered()), this,           SLOT(moveElements()));
-	connect(copy_elements_,        SIGNAL(triggered()), this,           SLOT(copyElements()));
 	
 	connect(filter_textfield,      SIGNAL(textChanged(const QString &)), this,             SLOT(filterEdited(const QString &)));
 	
@@ -136,13 +130,6 @@
 	connect(elements_panel,        SIGNAL(requestForCollectionItem(const ElementsLocation &)),       this, SLOT(handleCollectionRequest(const ElementsLocation &)));
 	connect(
 		elements_panel,
-		SIGNAL(requestForMoveElements(ElementsCollectionItem *, ElementsCollectionItem *, QPoint)),
-		this,
-		SLOT(handleMoveElementsRequest(ElementsCollectionItem *, ElementsCollectionItem *, const QPoint &)),
-		Qt::QueuedConnection
-	);
-	connect(
-		elements_panel,
 		SIGNAL(requestForTitleBlockTemplate(const TitleBlockTemplateLocation &)),
 		QETApp::instance(),
 		SLOT(openTitleBlockTemplate(const TitleBlockTemplateLocation &))
@@ -592,71 +579,6 @@
 }
 
 /**
-	Gere le drop d'un collectionItem sur un autre.
-	Elle memorise dans les attributs de cette classe l'item source et l'item
-	destination du drag'n drop.
-	Un menu est ensuite affiche pour demander a l'utilisateur ce qu'il
-	souhaite faire (deplacer, copier ou annuler).
-	@param src Item source
-	@param dst Item cible
-	@param pos Position ou le menu contextuel a ete demande
-*/
-void ElementsPanelWidget::handleMoveElementsRequest(ElementsCollectionItem *src, ElementsCollectionItem *dst, const QPoint &pos) {
-	if (!src || !dst || !dst -> isCategory()) return;
-	
-	// memorise les items source et cible du drag'n drop
-	dnd_item_src_ = src;
-	dnd_item_dst_ = dst;
-	
-#ifdef ENABLE_PANEL_WIDGET_DND_CHECKS
-	// active ou desactive les actions selon la source et la cible
-	copy_elements_ -> setEnabled(src -> isReadable() && dst -> isWritable());
-	move_elements_ -> setEnabled(!src -> isRootCategory() && src -> isWritable() && dst -> isWritable());
-#endif
-	
-	// affiche un menu contextuel pour que l'utilisateur indique s'il souhaite
-	// effectuer un deplacement ou une copie
-	context_menu -> clear();
-	context_menu -> addAction(copy_elements_);
-	context_menu -> addAction(move_elements_);
-	context_menu -> addSeparator();
-	context_menu -> addAction(cancel_elements_);
-	
-	context_menu -> popup(mapToGlobal(elements_panel -> mapTo(this, pos + QPoint(2, 2))));
-}
-
-/**
-	Cette classe memorise l'item source et l'item destination du dernier drag'n
-	drop. Cette methode effectue le deplacement de l'item source memorise dans
-	l'item destination memorise.
-	@see handleMoveElementsRequest
-*/
-void ElementsPanelWidget::moveElements() {
-	moveElements(dnd_item_src_, dnd_item_dst_);
-}
-
-/**
-	Deplace l'item src dans l'item dst
-*/
-void ElementsPanelWidget::moveElements(ElementsCollectionItem *src, ElementsCollectionItem *dst) {
-	InteractiveMoveElementsHandler *interactive_handler = new InteractiveMoveElementsHandler();
-	src -> move(dst -> toCategory(), interactive_handler);
-	delete interactive_handler;
-	elements_panel -> reload(true);
-}
-
-/**
-	Cette classe memorise l'item source et l'item destination du dernier drag'n
-	drop. Cette methode effectue la copie de l'item source memorise dans l'item
-	destination memorise.
-	@see handleMoveElementsRequest
-*/
-void ElementsPanelWidget::copyElements() {
-	copyElements(dnd_item_src_, dnd_item_dst_);
-	elements_panel -> reload(true);
-}
-
-/**
 	Reflects the fact that collections are being read (i.e from filesystem) in
 	the progress bar.
 */
@@ -718,15 +640,6 @@
 }
 
 /**
-	Copie l'item src dans l'item dst
-*/
-void ElementsPanelWidget::copyElements(ElementsCollectionItem *src, ElementsCollectionItem *dst) {
-	InteractiveMoveElementsHandler *interactive_handler = new InteractiveMoveElementsHandler();
-	src -> copy(dst -> toCategory(), interactive_handler, true);
-	delete interactive_handler;
-}
-
-/**
 	Edite la categorie selectionnee
 */
 void ElementsPanelWidget::editCategory() {

Modified: trunk/sources/elementspanelwidget.h
===================================================================
--- trunk/sources/elementspanelwidget.h	2016-05-25 14:53:07 UTC (rev 4522)
+++ trunk/sources/elementspanelwidget.h	2016-05-25 15:12:01 UTC (rev 4523)
@@ -17,8 +17,9 @@
 */
 #ifndef ELEMENTS_PANEL_WIDGET_H
 #define ELEMENTS_PANEL_WIDGET_H
-#include <QtWidgets>
+
 #include "elementspanel.h"
+
 /**
 	This class embeds an elements panel under a toolbar providing various actions
 	to manage elements.
@@ -46,10 +47,8 @@
 	QAction *new_element, *edit_element, *delete_element, *open_element;
 	QAction *prj_activate, *prj_close, *prj_edit_prop, *prj_prop_diagram, *prj_add_diagram, *prj_del_diagram, *prj_move_diagram_up, *prj_move_diagram_top, *prj_move_diagram_down, *prj_move_diagram_upx10, *prj_move_diagram_downx10;
 	QAction *tbt_add, *tbt_edit, *tbt_remove;
-	QAction *copy_elements_, *move_elements_, *cancel_elements_;
 	QMenu *context_menu;
 	QLineEdit *filter_textfield;
-	ElementsCollectionItem *dnd_item_src_, *dnd_item_dst_;
 	QProgressBar *progress_bar_;
 	
 	// methods
@@ -100,11 +99,6 @@
 	int  launchCategoriesManager();
 	void handleContextMenu(const QPoint &);
 	void handleCollectionRequest(const ElementsLocation &);
-	void handleMoveElementsRequest(ElementsCollectionItem *, ElementsCollectionItem *, const QPoint & = QPoint());
-	void moveElements();
-	void moveElements(ElementsCollectionItem *, ElementsCollectionItem *);
-	void copyElements();
-	void copyElements(ElementsCollectionItem *, ElementsCollectionItem *);
 	void collectionsRead();
 	void collectionsReadFinished();
 	void updateProgressBar(int, int);

Deleted: trunk/sources/interactivemoveelementshandler.cpp
===================================================================
--- trunk/sources/interactivemoveelementshandler.cpp	2016-05-25 14:53:07 UTC (rev 4522)
+++ trunk/sources/interactivemoveelementshandler.cpp	2016-05-25 15:12:01 UTC (rev 4523)
@@ -1,389 +0,0 @@
-/*
-	Copyright 2006-2016 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 <http://www.gnu.org/licenses/>.
-*/
-#include "interactivemoveelementshandler.h"
-#include <QtWidgets>
-#include "elementscategory.h"
-#include "elementdefinition.h"
-#include "qfilenameedit.h"
-#include "qetmessagebox.h"
-
-/**
-	Constructeur
-	@param parent QWidget parent a utiliser pour l'affichage des dialogues lors
-	des interactions avec l'utilisateur
-*/
-InteractiveMoveElementsHandler::InteractiveMoveElementsHandler(QWidget *parent) :
-	BasicMoveElementsHandler(parent),
-	parent_widget_(parent),
-	rename_(""),
-	always_erase_(false),
-	always_skip_(false),
-	aborted_(false),
-	conflict_dialog_(0)
-{
-}
-
-/**
-	Destructeur
-*/
-InteractiveMoveElementsHandler::~InteractiveMoveElementsHandler() {
-}
-
-/**
-	@param src Categorie source
-	@param dst Categorie cible / destination
-	@return l'action a effectuer si la categorie cible existe deja
-*/
-QET::Action InteractiveMoveElementsHandler::categoryAlreadyExists(ElementsCategory *src, ElementsCategory  *dst) {
-	// verifie si la reponse n'est pas systematique
-	if (aborted_)      return(QET::Abort);
-	if (always_erase_) return(QET::Erase);
-	if (always_skip_)  return(QET::Ignore);
-	
-	// a ce stade, l'action a effectuer pour gerer le conflit doit etre
-	// demandee a l'utilisateur via un dialogue
-	initConflictDialog();
-	
-	QString src_location(src -> location().toString());
-	QString dst_location(dst -> location().toString());
-	
-	// prepare le dialogue
-	QString dialog_title(QString(tr("Copie de %1 vers %2", "dialog title")).arg(src_location).arg(dst_location));
-	
-	QLabel *question_label = new QLabel(
-		QString(
-			tr(
-				"La catégorie « %1 » (%2) existe déjà. "
-				"Que souhaitez-vous faire ?",
-				"dialog content"
-			)
-		)
-		.arg(dst -> name())
-		.arg(dst_location)
-	);
-	question_label -> setWordWrap(true);
-	
-	setConflictDialogTitle(dialog_title);
-	setConflictDialogMainWidget(question_label);
-	
-	// execute le dialogue
-	conflict_dialog_ -> exec();
-	
-	// enleve et detruit le widget principal
-	setConflictDialogMainWidget(0);
-	delete question_label;
-	
-	// renvoie la reponse obtenue via le dialogue
-	return(conflict_result_);
-}
-
-/**
-	@param src Element source
-	@param dst Element cible / destination
-	@return l'action a effectuer si l'element cible existe deja
-*/
-QET::Action InteractiveMoveElementsHandler::elementAlreadyExists(ElementDefinition *src, ElementDefinition *dst) {
-	// verifie si la reponse n'est pas systematique
-	if (aborted_)      return(QET::Abort);
-	if (always_erase_) return(QET::Erase);
-	if (always_skip_)  return(QET::Ignore);
-	
-	// a ce stade, l'action a effectuer pour gerer le conflit doit etre
-	// demandee a l'utilisateur via un dialogue
-	initConflictDialog();
-	
-	QString src_location(src -> location().toString());
-	QString dst_location(dst -> location().toString());
-	
-	// prepare le dialogue
-	QString dialog_title(QString(tr("Copie de %1 vers %2", "dialog title")).arg(src_location).arg(dst_location));
-	
-	QLabel *question_label = new QLabel(
-		QString(
-			tr(
-				"L'élément « %1 » existe déjà. "
-				"Que souhaitez-vous faire ?",
-				"dialog content"
-			)
-		)
-		.arg(dst_location)
-	);
-	question_label -> setWordWrap(true);
-	
-	setConflictDialogTitle(dialog_title);
-	setConflictDialogMainWidget(question_label);
-	
-	// execute le dialogue
-	conflict_dialog_ -> exec();
-	
-	// enleve et detruit le widget principal
-	setConflictDialogMainWidget(0);
-	delete question_label;
-	
-	if (conflict_result_ == QET::Rename) {
-		if (!rename_.endsWith(".elmt")) rename_ += ".elmt";
-	}
-	
-	// renvoie la reponse obtenue via le dialogue
-	return(conflict_result_);
-}
-
-/**
-	Cette methode permet de savoir comment agir lorsqu'une categorie n'est pas lisible
-	@param category La categorie qui n'est pas lisible
-	@return QET::Retry, QET::Ignore ou QET::Abort
-*/
-QET::Action InteractiveMoveElementsHandler::categoryIsNotReadable(ElementsCategory *category) {
-	QString message = QString(tr("La catégorie %1 n'est pas accessible en lecture.", "message box content")).arg(category -> location().toString());
-	return(retryErrorMessage(message));
-}
-
-/**
-	Cette methode permet de savoir comment agir lorsqu'un element n'est pas lisible
-	@param element L'element qui n'est pas lisible
-	@return QET::Retry, QET::Ignore ou QET::Abort
-*/
-QET::Action InteractiveMoveElementsHandler::elementIsNotReadable(ElementDefinition *element) {
-	QString message = QString(tr("L'élément %1 n'est pas accessible en lecture.", "message box content")).arg(element -> location().toString());
-	return(retryErrorMessage(message));
-}
-
-/**
-	Cette methode permet de savoir comment agir lorsqu'une categorie n'est pas accessible en ecriture
-	@param category La categorie qui n'est pas lisible
-	@return QET::Retry, QET::Ignore ou QET::Abort
-*/
-QET::Action InteractiveMoveElementsHandler::categoryIsNotWritable(ElementsCategory *category) {
-	QString message = QString(tr("La catégorie %1 n'est pas accessible en écriture.", "message box content")).arg(category -> location().toString());
-	return(retryErrorMessage(message));
-}
-
-/**
-	Cette methode permet de savoir comment agir lorsqu'un element n'est pas accessible en ecriture
-	@param element L'element qui n'est pas lisible
-	@return QET::Retry, QET::Ignore ou QET::Abort
-*/
-QET::Action InteractiveMoveElementsHandler::elementIsNotWritable(ElementDefinition *element) {
-	QString message = QString(tr("L'élément %1 n'est pas accessible en écriture.", "message box content")).arg(element -> location().toString());
-	return(retryErrorMessage(message));
-}
-
-/**
-	Affiche un message d'erreur relatif a une categorie
-	@param category La categorie concernee par l'erreur
-	@param message Le message d'erreur a afficher
-	@return toujours QET::Ignore
-*/
-QET::Action InteractiveMoveElementsHandler::errorWithACategory(ElementsCategory *category, const QString &message) {
-	QString category_location = category -> location().toString();
-	QString error_message = QString("Une erreur s'est produite avec la catégorie %1 : %2").arg(category_location).arg(message);
-	simpleErrorMessage(error_message);
-	return(QET::Ignore);
-}
-
-/**
-	Affiche un message d'erreur relatif a un element
-	@param element L'element concerne par l'erreur
-	@param message Le message d'erreur a afficher
-	@return toujours QET::Ignore
-*/
-QET::Action InteractiveMoveElementsHandler::errorWithAnElement(ElementDefinition *element, const QString &message) {
-	QString element_location = element -> location().toString();
-	QString error_message = QString("Une erreur s'est produite avec l'élément %1 : %2").arg(element_location).arg(message);
-	simpleErrorMessage(error_message);
-	return(QET::Ignore);
-}
-
-/**
-	@return le nom a utiliser pour le renommage si une methode de cet objet
-	a precedemment renvoye QET::Rename.
-*/
-QString InteractiveMoveElementsHandler::nameForRenamingOperation() {
-	return(rename_);
-}
-
-/**
-	Initialise le dialogue qui sera utilise pour les conflits
-	elements / categories.
-*/
-void InteractiveMoveElementsHandler::initConflictDialog() {
-	// n'agit qu'une seule fois
-	if (conflict_dialog_) return;
-	
-	conflict_dialog_ = new QDialog(parent_widget_);
-	conflict_dialog_ -> setMaximumSize(600, 200);
-	
-	// initialisation du champ de texte
-	rename_label_ = new QLabel(tr("Nouveau nom :"));
-	rename_textfield_ = new QFileNameEdit();
-	connect(
-		rename_textfield_,
-		SIGNAL(textEdited(const QString &)),
-		this,
-		SLOT(conflictDialogFileNameFieldChanged())
-	);
-	
-	// initialisation des boutons
-	rename_button_     = new QPushButton(tr("Renommer"));
-	erase_button_      = new QPushButton(tr("Écraser"));
-	erase_all_button_  = new QPushButton(tr("Écraser tout"));
-	ignore_button_     = new QPushButton(tr("Ignorer"));
-	ignore_all_button_ = new QPushButton(tr("Ignorer tout"));
-	abort_button_      = new QPushButton(tr("Annuler"));
-	
-	conflict_buttons_ = new QDialogButtonBox();
-	conflict_buttons_ -> addButton(rename_button_,       QDialogButtonBox::ActionRole);
-	conflict_buttons_ -> addButton(erase_button_,        QDialogButtonBox::AcceptRole);
-	conflict_buttons_ -> addButton(erase_all_button_,    QDialogButtonBox::AcceptRole);
-	conflict_buttons_ -> addButton(ignore_button_,       QDialogButtonBox::AcceptRole);
-	conflict_buttons_ -> addButton(ignore_all_button_,   QDialogButtonBox::AcceptRole);
-	conflict_buttons_ -> addButton(abort_button_,        QDialogButtonBox::AcceptRole);
-	
-	rename_button_ -> setEnabled(false);
-	connect(
-		conflict_buttons_,
-		SIGNAL(clicked(QAbstractButton *)),
-		this,
-		SLOT(conflictDialogButtonClicked(QAbstractButton *))
-	);
-	
-	// layout
-	conflict_layout1_ = new QHBoxLayout();
-	conflict_layout1_ -> addWidget(rename_label_);
-	conflict_layout1_ -> addWidget(rename_textfield_);
-	
-	conflict_layout0_ = new QVBoxLayout(conflict_dialog_);
-	conflict_layout0_ -> insertLayout(1, conflict_layout1_);
-	conflict_layout0_ -> insertWidget(2, conflict_buttons_);
-}
-
-/**
-	Slot appele lorsque l'utilisateur modifie le contenu du champ 
-*/
-void InteractiveMoveElementsHandler::conflictDialogFileNameFieldChanged() {
-	if (rename_textfield_ -> isValid()) {
-		/// @todo verifier que le nom n'est pas deja pris
-		rename_button_ -> setEnabled(true);
-	} else {
-		rename_button_ -> setEnabled(false);
-	}
-}
-
-/**
-	Slot appele lorsque l'utilisateur presse un des boutons du dialogue de
-	conflit.
-	@param button Bouton presse par l'utilisateur
-*/
-void InteractiveMoveElementsHandler::conflictDialogButtonClicked(QAbstractButton *button) {
-	conflict_dialog_ -> accept();
-	// change la valeur de l'attribut 
-	if (button == rename_button_) {
-		rename_ = rename_textfield_ -> text();
-		conflict_result_= QET::Rename;
-	} else if (button == erase_button_) {
-		conflict_result_= QET::Erase;
-	} else if (button == erase_all_button_) {
-		always_erase_ = true;
-		conflict_result_= QET::Erase;
-	} else if (button == ignore_button_) {
-		conflict_result_= QET::Ignore;
-	} else if (button == ignore_all_button_) {
-		always_skip_ = true;
-		conflict_result_= QET::Ignore;
-	} else if (button == abort_button_) {
-		aborted_ = true;
-		conflict_result_= QET::Abort;
-	}
-}
-
-/**
-	Change le titre du dialogue de conflit
-	@param new_title Nouveau titre pour le dialogue de conflit
-*/
-void InteractiveMoveElementsHandler::setConflictDialogTitle(const QString &new_title) {
-	conflict_dialog_ -> setWindowTitle(new_title);
-}
-
-/**
-	@return le titre du dialogue de conflit
-*/
-QString InteractiveMoveElementsHandler::conflictDialogTitle() const {
-	return(conflict_dialog_ -> windowTitle());
-}
-
-/**
-	Change le widget affiche au centre du dialogue de conflit
-	@param widget Widget a inserer dans le dialogue de conflit
-	Si widget vaut 0, le widget central est retire.
-*/
-void InteractiveMoveElementsHandler::setConflictDialogMainWidget(QWidget *widget) {
-	// gere l'enlevement du widget principal
-	if (!widget) {
-		if (conflict_layout0_ -> count() != 3) return;
-		conflict_layout0_ -> removeItem(conflict_layout0_ -> itemAt(0));
-	} else {
-		conflict_layout0_ -> insertWidget(0, widget);
-	}
-}
-
-/**
-	@return le widget insere dans le dialogue de conflit, ou 0 s'il n'y en a
-	aucun.
-*/
-QWidget *InteractiveMoveElementsHandler::conflictDialogMainWidget() const {
-	if (conflict_layout0_ -> count() != 3) return(0);
-	return(conflict_layout0_ -> itemAt(0) -> widget());
-}
-
-/**
-	Affiche un message d'erreur en donnant la possibilite d'ignorer l'item en cours,
-	d'annuler tout le mouvement ou de le reessayer.
-	@param message Message d'erreur a afficher
-	@return L'action choisie par l'utilisateur
-*/
-QET::Action InteractiveMoveElementsHandler::retryErrorMessage(const QString &message) const {
-	int todo = QET::QetMessageBox::critical(
-		parent_widget_,
-		tr("Erreur", "message box title"),
-		message,
-		QMessageBox::Abort | QMessageBox::Retry | QMessageBox::Ignore,
-		QMessageBox::Ignore
-	);
-	
-	if (todo == QMessageBox::Abort) {
-		return(QET::Abort);
-	} else if (todo == QMessageBox::Retry) {
-		return(QET::Retry);
-	} else {
-		return(QET::Ignore);
-	}
-}
-
-/**
-	Affiche un simple message d'erreur
-	@param message Message d'erreur a afficher
-*/
-void InteractiveMoveElementsHandler::simpleErrorMessage(const QString &message) const {
-	QET::QetMessageBox::critical(
-		parent_widget_,
-		tr("Erreur", "message box title"),
-		message,
-		QMessageBox::Ok,
-		QMessageBox::Ok
-	);
-}

Deleted: trunk/sources/interactivemoveelementshandler.h
===================================================================
--- trunk/sources/interactivemoveelementshandler.h	2016-05-25 14:53:07 UTC (rev 4522)
+++ trunk/sources/interactivemoveelementshandler.h	2016-05-25 15:12:01 UTC (rev 4523)
@@ -1,96 +0,0 @@
-/*
-	Copyright 2006-2016 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 <http://www.gnu.org/licenses/>.
-*/
-#ifndef INTERACTIVE_MOVE_ELEMENTS_HANDLER_H
-#define INTERACTIVE_MOVE_ELEMENTS_HANDLER_H
-#include "basicmoveelementshandler.h"
-class QDialog;
-class QDialogButtonBox;
-class QAbstractButton;
-class QPushButton;
-class QFileNameEdit;
-class QHBoxLayout;
-class QVBoxLayout;
-class QLabel;
-/**
-	This class implements the MoveElementsHandler Strategy class by asking
-	users how to handle the various expected problems through interactive
-	dialogs.
-*/
-class InteractiveMoveElementsHandler : public BasicMoveElementsHandler {
-	Q_OBJECT
-	
-	// constructors, destructor
-	public:
-	InteractiveMoveElementsHandler(QWidget * = 0);
-	virtual ~InteractiveMoveElementsHandler();
-	private:
-	InteractiveMoveElementsHandler(const InteractiveMoveElementsHandler &);
-	
-	// methods
-	public:
-	virtual QET::Action categoryAlreadyExists(ElementsCategory *, ElementsCategory  *);
-	virtual QET::Action elementAlreadyExists(ElementDefinition *, ElementDefinition *);
-	virtual QET::Action categoryIsNotReadable(ElementsCategory *);
-	virtual QET::Action elementIsNotReadable(ElementDefinition *);
-	virtual QET::Action categoryIsNotWritable(ElementsCategory *);
-	virtual QET::Action elementIsNotWritable(ElementDefinition *);
-	virtual QET::Action errorWithACategory(ElementsCategory *, const QString &);
-	virtual QET::Action errorWithAnElement(ElementDefinition *, const QString &);
-	virtual QString nameForRenamingOperation();
-	
-	private slots:
-	void conflictDialogFileNameFieldChanged();
-	void conflictDialogButtonClicked(QAbstractButton *);
-	
-	private:
-	void initConflictDialog();
-	void setConflictDialogTitle(const QString &);
-	QString conflictDialogTitle() const;
-	void setConflictDialogMainWidget(QWidget *);
-	QWidget *conflictDialogMainWidget() const;
-	QET::Action retryErrorMessage(const QString &) const;
-	void simpleErrorMessage(const QString &) const;
-	
-	
-	// attributes
-	private:
-	QWidget *parent_widget_;      ///< Widget to be used as parent when displaying dialogs
-	QString rename_;              ///< Name to be used when renaming an item
-	bool always_erase_;           ///< Whether to systematically erase conflicting targets without bothering users
-	bool always_skip_;            ///< Whether to systematically ignore conflicting targets without bothering users
-	bool aborted_;                ///< Whether the movement has been cancelled
-	
-	// attributes related to the dialog displayed for already existing elements and
-	// categories (= i.e. conflict dialog)
-	QET::Action conflict_result_;
-	QDialog *conflict_dialog_;
-	QVBoxLayout *conflict_layout0_;
-	QHBoxLayout *conflict_layout1_;
-	QLabel *rename_label_;
-	QFileNameEdit *rename_textfield_;
-	
-	/// Buttons for the conflict dialog
-	QDialogButtonBox *conflict_buttons_;
-	QPushButton *rename_button_;
-	QPushButton *erase_button_;
-	QPushButton *erase_all_button_;
-	QPushButton *ignore_button_;
-	QPushButton *ignore_all_button_;
-	QPushButton *abort_button_;
-};
-#endif

Modified: trunk/sources/projectview.cpp
===================================================================
--- trunk/sources/projectview.cpp	2016-05-25 14:53:07 UTC (rev 4522)
+++ trunk/sources/projectview.cpp	2016-05-25 15:12:01 UTC (rev 4523)
@@ -23,7 +23,6 @@
 #include "exportdialog.h"
 #include "qetapp.h"
 #include "qetelementeditor.h"
-#include "interactivemoveelementshandler.h"
 #include "borderpropertieswidget.h"
 #include "titleblockpropertieswidget.h"
 #include "conductorpropertieswidget.h"

Modified: trunk/sources/qetproject.cpp
===================================================================
--- trunk/sources/qetproject.cpp	2016-05-25 14:53:07 UTC (rev 4522)
+++ trunk/sources/qetproject.cpp	2016-05-25 15:12:01 UTC (rev 4523)
@@ -18,13 +18,9 @@
 #include "qetproject.h"
 #include "diagram.h"
 #include "diagramfoliolist.h"
-#include "elementdefinition.h"
-#include "xmlelementscollection.h"
-#include "elementscategory.h"
 #include "qetapp.h"
 #include "qetresult.h"
 #include "movetemplateshandler.h"
-#include "basicmoveelementshandler.h"
 #include "qetmessagebox.h"
 #include "titleblocktemplate.h"
 #include "ui/dialogwaiting.h"
@@ -38,8 +34,6 @@
 
 #include <QStandardPaths>
 
-QString QETProject::integration_category_name = "import";
-
 /**
 	Constructeur par defaut - cree un schema contenant une collection
 	d'elements vide et un schema vide.
@@ -48,7 +42,6 @@
 */
 QETProject::QETProject(int diagrams, QObject *parent) :
 	QObject              (parent),
-	collection_          (0     ),
 	project_qet_version_ (-1    ),
 	modified_            (false ),
 	read_only_           (false ),
@@ -64,12 +57,6 @@
 		addNewDiagram();
 	}
 
-	// une collection d'elements vide
-	collection_ = new XmlElementsCollection();
-	collection_ -> setProtocol("embed");
-	collection_ -> setProject(this);
-	connect(collection_, SIGNAL(written()), this, SLOT(componentWritten()));
-
 	m_elements_collection = new XmlElementCollection(this);
 
 	setupTitleBlockTemplatesCollection();
@@ -86,7 +73,6 @@
  */
 QETProject::QETProject(const QString &path, QObject *parent) :
 	QObject              (parent),
-	collection_          (0     ),
 	project_qet_version_ (-1    ),
 	modified_            (false ),
 	read_only_           (false ),
@@ -134,7 +120,6 @@
  */
 QETProject::~QETProject()
 {
-	if (collection_) delete collection_;
 	qDeleteAll(diagrams_);
 	delete undo_stack_;
 }
@@ -1129,21 +1114,14 @@
 			//Only the first found collection is take
 		collection_root = collection_roots.at(0).toElement();
 	}
-	
-	if (collection_root.isNull()) //Make an empty collection
-	{
-		collection_ = new XmlElementsCollection();
+		//Make an empty collection
+	if (collection_root.isNull())  {
 		m_elements_collection = new XmlElementCollection(this);
 	}
-	else //Read the collection
-	{
-		collection_ = new XmlElementsCollection(collection_root);
+		//Read the collection
+	else {
 		m_elements_collection = new XmlElementCollection(collection_root, this);
 	}
-
-	collection_ -> setProtocol("embed");
-	collection_ -> setProject(this);
-	connect(collection_, SIGNAL(written()), this, SLOT(componentWritten()));
 }
 
 /**
@@ -1474,23 +1452,3 @@
 void QETProject::usedTitleBlockTemplateChanged(const QString &template_name) {
 	emit(diagramUsedTemplate(embeddedTitleBlockTemplatesCollection(), template_name));
 }
-
-/**
-	Copie l'element integ_elmt dans la categorie target_cat en utilisant le
-	gestionnaire handler ; en cas d'erreur, error_message est rempli.
-	@return l'emplacement de l'element cree
-*/
-ElementsLocation QETProject::copyElementWithHandler(
-	ElementDefinition *integ_elmt,
-	ElementsCategory *target_cat,
-	MoveElementsHandler *handler,
-	QString &error_message
-) {
-	ElementsCollectionItem *result_item = integ_elmt -> copy(target_cat, handler);
-	ElementDefinition *result_elmt = result_item ? result_item -> toElement() : 0;
-	if (!result_item || !result_elmt) {
-		error_message = QString(tr("Un problème s'est produit pendant la copie de l'élément %1")).arg(integ_elmt -> location().toString());
-		return(ElementsLocation());
-	}
-	return(result_elmt -> location());
-}

Modified: trunk/sources/qetproject.h
===================================================================
--- trunk/sources/qetproject.h	2016-05-25 14:53:07 UTC (rev 4522)
+++ trunk/sources/qetproject.h	2016-05-25 15:12:01 UTC (rev 4523)
@@ -27,14 +27,10 @@
 #include "properties/xrefproperties.h"
 
 class Diagram;
-class ElementsCollection;
-class ElementsCategory;
-class ElementDefinition;
 class ElementsLocation;
 class QETResult;
 class TitleBlockTemplate;
 class XmlElementsCollection;
-class MoveElementsHandler;
 class MoveTitleBlockTemplatesHandler;
 class NumerotationContext;
 class QUndoStack;
@@ -185,7 +181,6 @@
 		void writeDefaultPropertiesXml(QDomElement &);
 		void addDiagram(Diagram *);
 		NamesList namesListForIntegrationCategory();
-		ElementsLocation copyElementWithHandler(ElementDefinition *, ElementsCategory *, MoveElementsHandler *, QString &);
 	
 	// attributes
 	private:
@@ -195,8 +190,6 @@
 	ProjectState state_;
 	/// Diagrams carried by the project
 	QList<Diagram *> diagrams_;
-	/// Embedded elements collection
-	XmlElementsCollection *collection_;
 	/// Project title
 	QString project_title_;
 	/// QElectroTech version declared in the XML document at opening time
@@ -207,8 +200,6 @@
 	bool read_only_;
 	/// Filepath for which this project is considered read only
 	QString read_only_file_path_;
-	/// Name of the category used when automatically integrating elements within the embedded collection
-	static QString integration_category_name;
 	/// Default dimensions and properties for new diagrams created within the project
 	BorderProperties default_border_properties_;
 	/// Default conductor properties for new diagrams created within the project


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/