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); 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); 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); 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_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_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); 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(edit_element, SIGNAL(triggered()), this, SLOT(editElement()));
connect(delete_element, SIGNAL(triggered()), this, SLOT(deleteElement())); connect(delete_element, SIGNAL(triggered()), this, SLOT(deleteElement()));
connect(open_element, SIGNAL(triggered()), this, SLOT(openElementFromFile())); 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_close, SIGNAL(triggered()), this, SLOT(closeProject()));
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()));
@ -121,6 +123,7 @@ ElementsPanelWidget::ElementsPanelWidget(QWidget *parent) : QWidget(parent) {
connect(elements_panel, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)), this, SLOT(updateButtons())); 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(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, SIGNAL(requestForCollectionItem(const ElementsLocation &)), this, SLOT(handleCollectionRequest(const ElementsLocation &)));
connect( connect(
elements_panel, 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 Emet le signal requestForProjectClosing avec le projet selectionne
*/ */
@ -465,6 +477,7 @@ void ElementsPanelWidget::handleContextMenu(const QPoint &pos) {
context_menu -> addAction(new_element); context_menu -> addAction(new_element);
break; break;
case QET::Project: case QET::Project:
context_menu -> addAction(prj_activate);
context_menu -> addAction(prj_edit_prop); context_menu -> addAction(prj_edit_prop);
context_menu -> addAction(prj_add_diagram); context_menu -> addAction(prj_add_diagram);
context_menu -> addAction(prj_close); context_menu -> addAction(prj_close);

View File

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

View File

@ -65,9 +65,9 @@ QETDiagramEditor::QETDiagramEditor(const QStringList &files, QWidget *parent) :
qdw_pa -> setFeatures(QDockWidget::AllDockWidgetFeatures); qdw_pa -> setFeatures(QDockWidget::AllDockWidgetFeatures);
qdw_pa -> setMinimumWidth(160); qdw_pa -> setMinimumWidth(160);
qdw_pa -> setWidget(pa = new ElementsPanelWidget(qdw_pa)); 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(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(requestForDiagramPropertiesEdition(Diagram *)), this, SLOT(editDiagramProperties(Diagram *))); connect(pa, SIGNAL(requestForDiagramPropertiesEdition(Diagram *)), this, SLOT(editDiagramProperties(Diagram *)));