diff --git a/sources/diagramview.cpp b/sources/diagramview.cpp index ebd756330..f9f991cb1 100644 --- a/sources/diagramview.cpp +++ b/sources/diagramview.cpp @@ -633,6 +633,7 @@ void DiagramView::editElement(Element *element) { QString description_title = tr("Propri\351t\351s de l'\351l\351ment s\351lectionn\351"); QPushButton *find_in_panel = new QPushButton(tr("Retrouver dans le panel")); QPushButton *edit_element = new QPushButton(tr("\311diter l'\351l\351ment")); + edit_element->setIcon(QET::Icons::ElementEdit); // dialogue en lui-meme QMessageBox edit_element_dialog(diagramEditor()); diff --git a/sources/elementspanelwidget.cpp b/sources/elementspanelwidget.cpp index fbdbb08cd..307669137 100644 --- a/sources/elementspanelwidget.cpp +++ b/sources/elementspanelwidget.cpp @@ -54,6 +54,7 @@ ElementsPanelWidget::ElementsPanelWidget(QWidget *parent) : QWidget(parent) { delete_category = new QAction(QET::Icons::FolderDelete, tr("Supprimer la cat\351gorie"), this); delete_collection = new QAction(QET::Icons::FolderDelete, tr("Vider la collection"), this); new_element = new QAction(QET::Icons::ElementNew, tr("Nouvel \351l\351ment"), this); + import_element = new QAction(QET::Icons::DocumentImport, tr("Importer un \351l\351ment"), this); edit_element = new QAction(QET::Icons::ElementEdit, tr("\311diter l'\351l\351ment"), this); delete_element = new QAction(QET::Icons::ElementDelete, tr("Supprimer l'\351l\351ment"), this); prj_close = new QAction(QET::Icons::DocumentClose, tr("Fermer ce projet"), this); @@ -89,6 +90,7 @@ ElementsPanelWidget::ElementsPanelWidget(QWidget *parent) : QWidget(parent) { connect(delete_category, SIGNAL(triggered()), this, SLOT(deleteCategory())); connect(delete_collection, SIGNAL(triggered()), this, SLOT(deleteCategory())); connect(new_element, SIGNAL(triggered()), this, SLOT(newElement())); + connect(import_element, SIGNAL(triggered()), this, SLOT(importElement())); connect(edit_element, SIGNAL(triggered()), this, SLOT(editElement())); connect(delete_element, SIGNAL(triggered()), this, SLOT(deleteElement())); connect(prj_close, SIGNAL(triggered()), this, SLOT(closeProject())); @@ -123,6 +125,7 @@ ElementsPanelWidget::ElementsPanelWidget(QWidget *parent) : QWidget(parent) { toolbar -> addAction(delete_category); toolbar -> addSeparator(); toolbar -> addAction(new_element); + toolbar -> addAction(import_element); toolbar -> addAction(edit_element); toolbar -> addAction(delete_element); @@ -222,6 +225,20 @@ void ElementsPanelWidget::newElement() { new_element_wizard.exec(); } +/** + Import d'element en passant par l'editeur +*/ +void ElementsPanelWidget::importElement() { + QString fileName = QFileDialog::getOpenFileName(this, tr("Importer un element"), "", tr("Fichiers element (*.elmt)")); + // Ouverture de l'element dans l'editeur pour pouvoir ensuite l'enregistrer dans la categorie voulue + if(!fileName.isEmpty()) + { + QETElementEditor *editor = new QETElementEditor(); + editor -> fromFile( fileName ); + editor -> show(); + } +} + /** Si une categorie accessible en ecriture est selectionnee, cette methode affiche directement un formulaire de creation de categorie en utilisant la diff --git a/sources/elementspanelwidget.h b/sources/elementspanelwidget.h index 266122238..ab0864213 100644 --- a/sources/elementspanelwidget.h +++ b/sources/elementspanelwidget.h @@ -41,7 +41,7 @@ class ElementsPanelWidget : public QWidget { QAction *reload; QAction *new_category, *edit_category, *delete_category; QAction *delete_collection; - QAction *new_element, *edit_element, *delete_element; + QAction *new_element, *import_element, *edit_element, *delete_element; QAction *prj_close, *prj_edit_prop, *prj_prop_diagram, *prj_add_diagram, *prj_del_diagram; QAction *copy_elements_, *move_elements_, *cancel_elements_; QMenu *context_menu; @@ -70,6 +70,7 @@ class ElementsPanelWidget : public QWidget { void deleteDiagram(); void newCategory(); void newElement(); + void importElement(); void editCategory(); void editElement(); void deleteCategory();