mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-08-13 10:04:13 +02:00
Merge pull request #658 from ispyisail/feature-insert-folio-position
Add "Insert folio above/below" to the elements panel's folio menu
This commit is contained in:
@@ -61,6 +61,8 @@ ElementsPanelWidget::ElementsPanelWidget(QWidget *parent) : QWidget(parent) {
|
|||||||
prj_edit_prop = new QAction(QET::Icons::DialogInformation, tr("Propriétés du projet"), this);
|
prj_edit_prop = new QAction(QET::Icons::DialogInformation, tr("Propriétés du projet"), this);
|
||||||
prj_prop_diagram = new QAction(QET::Icons::DialogInformation, tr("Propriétés du folio"), this);
|
prj_prop_diagram = new QAction(QET::Icons::DialogInformation, tr("Propriétés du folio"), this);
|
||||||
prj_add_diagram = new QAction(QET::Icons::DiagramAdd, tr("Ajouter un folio"), this);
|
prj_add_diagram = new QAction(QET::Icons::DiagramAdd, tr("Ajouter un folio"), this);
|
||||||
|
prj_insert_diagram_above = new QAction(QET::Icons::DiagramAdd, tr("Insérer un folio au-dessus"), this);
|
||||||
|
prj_insert_diagram_below = new QAction(QET::Icons::DiagramAdd, tr("Insérer un folio en dessous"), this);
|
||||||
prj_duplicate_diagram = new QAction(QET::Icons::IC_CopyFile, tr("Copier et coller"), this);
|
prj_duplicate_diagram = new QAction(QET::Icons::IC_CopyFile, tr("Copier et coller"), this);
|
||||||
prj_del_diagram = new QAction(QET::Icons::DiagramDelete, tr("Supprimer ce folio"), this);
|
prj_del_diagram = new QAction(QET::Icons::DiagramDelete, tr("Supprimer ce folio"), this);
|
||||||
prj_move_diagram_up = new QAction(QET::Icons::GoUp, tr("Remonter ce folio"), this);
|
prj_move_diagram_up = new QAction(QET::Icons::GoUp, tr("Remonter ce folio"), this);
|
||||||
@@ -101,6 +103,8 @@ ElementsPanelWidget::ElementsPanelWidget(QWidget *parent) : QWidget(parent) {
|
|||||||
connect(prj_edit_prop, SIGNAL(triggered()), this, SLOT(editProjectProperties()));
|
connect(prj_edit_prop, SIGNAL(triggered()), this, SLOT(editProjectProperties()));
|
||||||
connect(prj_prop_diagram, SIGNAL(triggered()), this, SLOT(editDiagramProperties()));
|
connect(prj_prop_diagram, SIGNAL(triggered()), this, SLOT(editDiagramProperties()));
|
||||||
connect(prj_add_diagram, SIGNAL(triggered()), this, SLOT(newDiagram()));
|
connect(prj_add_diagram, SIGNAL(triggered()), this, SLOT(newDiagram()));
|
||||||
|
connect(prj_insert_diagram_above, SIGNAL(triggered()), this, SLOT(insertDiagramAbove()));
|
||||||
|
connect(prj_insert_diagram_below, SIGNAL(triggered()), this, SLOT(insertDiagramBelow()));
|
||||||
connect(prj_del_diagram, SIGNAL(triggered()), this, SLOT(deleteDiagram()));
|
connect(prj_del_diagram, SIGNAL(triggered()), this, SLOT(deleteDiagram()));
|
||||||
connect(prj_duplicate_diagram, SIGNAL(triggered()), this, SLOT(duplicateDiagram()));
|
connect(prj_duplicate_diagram, SIGNAL(triggered()), this, SLOT(duplicateDiagram()));
|
||||||
connect(prj_move_diagram_up, SIGNAL(triggered()), this, SLOT(moveDiagramUp()));
|
connect(prj_move_diagram_up, SIGNAL(triggered()), this, SLOT(moveDiagramUp()));
|
||||||
@@ -245,6 +249,32 @@ void ElementsPanelWidget::newDiagram()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief ElementsPanelWidget::insertDiagramAbove
|
||||||
|
Emit requestForNewDiagramAt with the position of the currently
|
||||||
|
selected diagram, inserting the new folio right before it.
|
||||||
|
*/
|
||||||
|
void ElementsPanelWidget::insertDiagramAbove()
|
||||||
|
{
|
||||||
|
if (Diagram *selected_diagram = elements_panel -> selectedDiagram()) {
|
||||||
|
QETProject *project = selected_diagram->project();
|
||||||
|
emit(requestForNewDiagramAt(project, project->folioIndex(selected_diagram)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief ElementsPanelWidget::insertDiagramBelow
|
||||||
|
Emit requestForNewDiagramAt with the position right after the
|
||||||
|
currently selected diagram, inserting the new folio right after it.
|
||||||
|
*/
|
||||||
|
void ElementsPanelWidget::insertDiagramBelow()
|
||||||
|
{
|
||||||
|
if (Diagram *selected_diagram = elements_panel -> selectedDiagram()) {
|
||||||
|
QETProject *project = selected_diagram->project();
|
||||||
|
emit(requestForNewDiagramAt(project, project->folioIndex(selected_diagram) + 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Emet le signal requestForDiagramsDeletion avec les schemas selectionnes
|
* Emet le signal requestForDiagramsDeletion avec les schemas selectionnes
|
||||||
*/
|
*/
|
||||||
@@ -451,6 +481,8 @@ void ElementsPanelWidget::updateButtons()
|
|||||||
|
|
||||||
prj_del_diagram -> setEnabled(is_writable);
|
prj_del_diagram -> setEnabled(is_writable);
|
||||||
prj_duplicate_diagram -> setEnabled(is_writable);
|
prj_duplicate_diagram -> setEnabled(is_writable);
|
||||||
|
prj_insert_diagram_above -> setEnabled(is_writable);
|
||||||
|
prj_insert_diagram_below -> setEnabled(is_writable);
|
||||||
prj_move_diagram_up -> setEnabled(is_writable && min_position > 0);
|
prj_move_diagram_up -> setEnabled(is_writable && min_position > 0);
|
||||||
prj_move_diagram_down -> setEnabled(is_writable && max_position < project_diagrams_count - 1);
|
prj_move_diagram_down -> setEnabled(is_writable && max_position < project_diagrams_count - 1);
|
||||||
prj_move_diagram_top -> setEnabled(is_writable && min_position > 0);
|
prj_move_diagram_top -> setEnabled(is_writable && min_position > 0);
|
||||||
@@ -504,6 +536,8 @@ void ElementsPanelWidget::handleContextMenu(const QPoint &pos) {
|
|||||||
break;
|
break;
|
||||||
case QET::Diagram:
|
case QET::Diagram:
|
||||||
context_menu -> addAction(prj_prop_diagram);
|
context_menu -> addAction(prj_prop_diagram);
|
||||||
|
context_menu -> addAction(prj_insert_diagram_above);
|
||||||
|
context_menu -> addAction(prj_insert_diagram_below);
|
||||||
context_menu -> addAction(prj_del_diagram);
|
context_menu -> addAction(prj_del_diagram);
|
||||||
context_menu -> addAction(prj_duplicate_diagram);
|
context_menu -> addAction(prj_duplicate_diagram);
|
||||||
context_menu -> addAction(prj_move_diagram_top);
|
context_menu -> addAction(prj_move_diagram_top);
|
||||||
|
|||||||
@@ -46,6 +46,8 @@ class ElementsPanelWidget : public QWidget {
|
|||||||
*prj_edit_prop,
|
*prj_edit_prop,
|
||||||
*prj_prop_diagram,
|
*prj_prop_diagram,
|
||||||
*prj_add_diagram,
|
*prj_add_diagram,
|
||||||
|
*prj_insert_diagram_above,
|
||||||
|
*prj_insert_diagram_below,
|
||||||
*prj_del_diagram,
|
*prj_del_diagram,
|
||||||
*prj_duplicate_diagram,
|
*prj_duplicate_diagram,
|
||||||
*prj_move_diagram_up,
|
*prj_move_diagram_up,
|
||||||
@@ -66,6 +68,7 @@ class ElementsPanelWidget : public QWidget {
|
|||||||
signals:
|
signals:
|
||||||
void requestForProject(QETProject *);
|
void requestForProject(QETProject *);
|
||||||
void requestForNewDiagram(QETProject *);
|
void requestForNewDiagram(QETProject *);
|
||||||
|
void requestForNewDiagramAt(QETProject *, int);
|
||||||
void requestForProjectClosing(QETProject *);
|
void requestForProjectClosing(QETProject *);
|
||||||
void requestForProjectPropertiesEdition(QETProject *);
|
void requestForProjectPropertiesEdition(QETProject *);
|
||||||
void requestForDiagramPropertiesEdition(Diagram *);
|
void requestForDiagramPropertiesEdition(Diagram *);
|
||||||
@@ -88,6 +91,8 @@ class ElementsPanelWidget : public QWidget {
|
|||||||
void editProjectProperties();
|
void editProjectProperties();
|
||||||
void editDiagramProperties();
|
void editDiagramProperties();
|
||||||
void newDiagram();
|
void newDiagram();
|
||||||
|
void insertDiagramAbove();
|
||||||
|
void insertDiagramBelow();
|
||||||
void deleteDiagram();
|
void deleteDiagram();
|
||||||
void duplicateDiagram();
|
void duplicateDiagram();
|
||||||
void moveDiagramUp();
|
void moveDiagramUp();
|
||||||
|
|||||||
@@ -185,6 +185,7 @@ void QETDiagramEditor::setUpElementsPanel()
|
|||||||
connect(pa, SIGNAL(requestForProjectClosing (QETProject *)), this, SLOT(closeProject(QETProject *)));
|
connect(pa, SIGNAL(requestForProjectClosing (QETProject *)), this, SLOT(closeProject(QETProject *)));
|
||||||
connect(pa, SIGNAL(requestForProjectPropertiesEdition (QETProject *)), this, SLOT(editProjectProperties(QETProject *)));
|
connect(pa, SIGNAL(requestForProjectPropertiesEdition (QETProject *)), this, SLOT(editProjectProperties(QETProject *)));
|
||||||
connect(pa, SIGNAL(requestForNewDiagram (QETProject *)), this, SLOT(addDiagramToProject(QETProject *)));
|
connect(pa, SIGNAL(requestForNewDiagram (QETProject *)), this, SLOT(addDiagramToProject(QETProject *)));
|
||||||
|
connect(pa, SIGNAL(requestForNewDiagramAt (QETProject *, int)), this, SLOT(addDiagramToProjectAt(QETProject *, int)));
|
||||||
connect(pa, SIGNAL(requestForDiagramPropertiesEdition (Diagram *)), this, SLOT(editDiagramProperties(Diagram *)));
|
connect(pa, SIGNAL(requestForDiagramPropertiesEdition (Diagram *)), this, SLOT(editDiagramProperties(Diagram *)));
|
||||||
connect(pa, SIGNAL(requestForDiagramsDeletion (const QList<Diagram *> &)), this, SLOT(removeDiagrams(const QList<Diagram *> &)));
|
connect(pa, SIGNAL(requestForDiagramsDeletion (const QList<Diagram *> &)), this, SLOT(removeDiagrams(const QList<Diagram *> &)));
|
||||||
connect(pa, SIGNAL(requestForDiagramMoveUp (const QList<Diagram *> &)), this, SLOT(moveDiagramUp(const QList<Diagram *>&)));
|
connect(pa, SIGNAL(requestForDiagramMoveUp (const QList<Diagram *> &)), this, SLOT(moveDiagramUp(const QList<Diagram *>&)));
|
||||||
@@ -2274,6 +2275,25 @@ void QETDiagramEditor::addDiagramToProject(QETProject *project)
|
|||||||
project_view->project()->addNewDiagram();
|
project_view->project()->addNewDiagram();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief QETDiagramEditor::addDiagramToProjectAt
|
||||||
|
Add a diagram to project, inserted at a specific position.
|
||||||
|
@param project
|
||||||
|
@param pos
|
||||||
|
*/
|
||||||
|
void QETDiagramEditor::addDiagramToProjectAt(QETProject *project, int pos)
|
||||||
|
{
|
||||||
|
if (!project) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ProjectView *project_view = findProject(project))
|
||||||
|
{
|
||||||
|
activateProject(project);
|
||||||
|
project_view->project()->addNewDiagram(pos);
|
||||||
|
}
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* @brief QETDiagramEditor::removeDiagram
|
* @brief QETDiagramEditor::removeDiagram
|
||||||
* Wrapper für einzelne Diagramme, um Abwärtskompatibilität zu erhalten.
|
* Wrapper für einzelne Diagramme, um Abwärtskompatibilität zu erhalten.
|
||||||
|
|||||||
@@ -137,6 +137,7 @@ class QETDiagramEditor : public QETMainWindow
|
|||||||
void editDiagramProperties(DiagramView *);
|
void editDiagramProperties(DiagramView *);
|
||||||
void editDiagramProperties(Diagram *);
|
void editDiagramProperties(Diagram *);
|
||||||
void addDiagramToProject(QETProject *);
|
void addDiagramToProject(QETProject *);
|
||||||
|
void addDiagramToProjectAt(QETProject *, int);
|
||||||
void removeDiagram(Diagram *);
|
void removeDiagram(Diagram *);
|
||||||
void removeDiagrams(const QList<Diagram *> &diagrams);
|
void removeDiagrams(const QList<Diagram *> &diagrams);
|
||||||
void removeDiagramFromProject();
|
void removeDiagramFromProject();
|
||||||
|
|||||||
Reference in New Issue
Block a user