Elements panel: added a "switch to this project" action to the context menu

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@1873 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavier 2012-06-25 06:27:24 +00:00
parent 492932b8a2
commit 488cb69a7c
3 changed files with 19 additions and 3 deletions

View File

@ -62,6 +62,7 @@ ElementsPanelWidget::ElementsPanelWidget(QWidget *parent) : QWidget(parent) {
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);
open_element = new QAction(QET::Icons::DocumentImport, tr("Ouvrir un fichier \351l\351ment"), this);
prj_activate = new QAction(QET::Icons::ProjectFile, tr("Basculer vers ce projet"), this);
prj_close = new QAction(QET::Icons::DocumentClose, tr("Fermer ce projet"), this);
prj_edit_prop = new QAction(QET::Icons::DialogInformation, tr("Propri\351t\351s du projet"), this);
prj_prop_diagram = new QAction(QET::Icons::DialogInformation, tr("Propri\351t\351s du sch\351ma"), this);
@ -103,6 +104,7 @@ ElementsPanelWidget::ElementsPanelWidget(QWidget *parent) : QWidget(parent) {
connect(edit_element, SIGNAL(triggered()), this, SLOT(editElement()));
connect(delete_element, SIGNAL(triggered()), this, SLOT(deleteElement()));
connect(open_element, SIGNAL(triggered()), this, SLOT(openElementFromFile()));
connect(prj_activate, SIGNAL(triggered()), this, SLOT(activateProject()));
connect(prj_close, SIGNAL(triggered()), this, SLOT(closeProject()));
connect(prj_edit_prop, SIGNAL(triggered()), this, SLOT(editProjectProperties()));
connect(prj_prop_diagram, SIGNAL(triggered()), this, SLOT(editDiagramProperties()));
@ -121,6 +123,7 @@ ElementsPanelWidget::ElementsPanelWidget(QWidget *parent) : QWidget(parent) {
connect(elements_panel, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)), this, SLOT(updateButtons()));
connect(elements_panel, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(handleContextMenu(const QPoint &)));
connect(elements_panel, SIGNAL(requestForDiagram(Diagram*)), this, SIGNAL(requestForDiagram(Diagram*)));
connect(elements_panel, SIGNAL(requestForCollectionItem(const ElementsLocation &)), this, SLOT(handleCollectionRequest(const ElementsLocation &)));
connect(
elements_panel,
@ -195,6 +198,15 @@ void ElementsPanelWidget::reloadAndFilter() {
}
}
/**
* Emit the requestForProject signal with te selected project
*/
void ElementsPanelWidget::activateProject() {
if (QETProject *selected_project = elements_panel -> selectedProject()) {
emit(requestForProject(selected_project));
}
}
/**
Emet le signal requestForProjectClosing avec le projet selectionne
*/
@ -465,6 +477,7 @@ void ElementsPanelWidget::handleContextMenu(const QPoint &pos) {
context_menu -> addAction(new_element);
break;
case QET::Project:
context_menu -> addAction(prj_activate);
context_menu -> addAction(prj_edit_prop);
context_menu -> addAction(prj_add_diagram);
context_menu -> addAction(prj_close);

View File

@ -42,7 +42,7 @@ class ElementsPanelWidget : public QWidget {
QAction *new_category, *edit_category, *delete_category;
QAction *delete_collection;
QAction *new_element, *edit_element, *delete_element, *open_element;
QAction *prj_close, *prj_edit_prop, *prj_prop_diagram, *prj_add_diagram, *prj_del_diagram, *prj_move_diagram_up, *prj_move_diagram_down;
QAction *prj_activate, *prj_close, *prj_edit_prop, *prj_prop_diagram, *prj_add_diagram, *prj_del_diagram, *prj_move_diagram_up, *prj_move_diagram_down;
QAction *tbt_add, *tbt_edit, *tbt_remove;
QAction *copy_elements_, *move_elements_, *cancel_elements_;
QMenu *context_menu;
@ -56,6 +56,8 @@ class ElementsPanelWidget : public QWidget {
inline ElementsPanel &elementsPanel() const;
signals:
void requestForDiagram(Diagram *);
void requestForProject(QETProject *);
void requestForNewDiagram(QETProject *);
void requestForProjectClosing(QETProject *);
void requestForProjectPropertiesEdition(QETProject *);
@ -67,6 +69,7 @@ class ElementsPanelWidget : public QWidget {
public slots:
void clearFilterTextField();
void reloadAndFilter();
void activateProject();
void closeProject();
void editProjectProperties();
void editDiagramProperties();

View File

@ -65,9 +65,9 @@ QETDiagramEditor::QETDiagramEditor(const QStringList &files, QWidget *parent) :
qdw_pa -> setFeatures(QDockWidget::AllDockWidgetFeatures);
qdw_pa -> setMinimumWidth(160);
qdw_pa -> setWidget(pa = new ElementsPanelWidget(qdw_pa));
connect(&(pa -> elementsPanel()), SIGNAL(requestForDiagram(Diagram *)), this, SLOT(activateDiagram(Diagram *)));
connect(&(pa -> elementsPanel()), SIGNAL(requestForProject(QETProject *)), this, SLOT(activateProject(QETProject *)));
connect(pa, SIGNAL(requestForDiagram(Diagram *)), this, SLOT(activateDiagram(Diagram *)));
connect(pa, SIGNAL(requestForProject(QETProject *)), this, SLOT(activateProject(QETProject *)));
connect(pa, SIGNAL(requestForProjectClosing(QETProject *)), this, SLOT(closeProject(QETProject *)));
connect(pa, SIGNAL(requestForProjectPropertiesEdition(QETProject *)), this, SLOT(editProjectProperties(QETProject *)));
connect(pa, SIGNAL(requestForDiagramPropertiesEdition(Diagram *)), this, SLOT(editDiagramProperties(Diagram *)));