Diagram editor: added the "zoom content" action.

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@1932 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavier 2012-08-12 11:46:42 +00:00
parent 6dca1f3030
commit eb2acce3b6
9 changed files with 34 additions and 3 deletions

BIN
ico/16x16/zoom-fit-best.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 539 B

BIN
ico/22x22/zoom-fit-best.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 689 B

View File

@ -79,6 +79,7 @@
<file>ico/16x16/west.png</file>
<file>ico/16x16/window-new.png</file>
<file>ico/16x16/zoom-draw.png</file>
<file>ico/16x16/zoom-fit-best.png</file>
<file>ico/16x16/zoom-in.png</file>
<file>ico/16x16/zoom-original.png</file>
<file>ico/16x16/zoom-out.png</file>
@ -174,6 +175,7 @@
<file>ico/22x22/view-restore.png</file>
<file>ico/22x22/window-new.png</file>
<file>ico/22x22/zoom-draw.png</file>
<file>ico/22x22/zoom-fit-best.png</file>
<file>ico/22x22/zoom-in.png</file>
<file>ico/22x22/zoom-original.png</file>
<file>ico/22x22/zoom-out.png</file>

View File

@ -337,6 +337,14 @@ void DiagramView::zoomFit() {
adjustGridToZoom();
}
/**
Adjust zoom to fit all elements in the view, regardless of diagram borders.
*/
void DiagramView::zoomContent() {
fitInView(scene -> itemsBoundingRect(), Qt::KeepAspectRatio);
adjustGridToZoom();
}
/**
Reinitialise le zoom
*/

View File

@ -127,6 +127,7 @@ class DiagramView : public QGraphicsView {
void zoomIn();
void zoomOut();
void zoomFit();
void zoomContent();
void zoomReset();
void cut();
void copy();

View File

@ -216,6 +216,7 @@ void QETDiagramEditor::actions() {
zoom_in = new QAction(QET::Icons::ZoomIn, tr("Zoom avant"), this);
zoom_out = new QAction(QET::Icons::ZoomOut, tr("Zoom arri\350re"), this);
zoom_content = new QAction(QET::Icons::ZoomDraw, tr("Zoom sur le contenu"), this);
zoom_fit = new QAction(QET::Icons::ZoomFitBest, tr("Zoom adapt\351"), this);
zoom_reset = new QAction(QET::Icons::ZoomOriginal, tr("Pas de zoom"), this);
@ -264,6 +265,7 @@ void QETDiagramEditor::actions() {
zoom_in -> setShortcut(QKeySequence::ZoomIn);
zoom_out -> setShortcut(QKeySequence::ZoomOut);
zoom_content -> setShortcut(QKeySequence(tr("Ctrl+8")));
zoom_fit -> setShortcut(QKeySequence(tr("Ctrl+9")));
zoom_reset -> setShortcut(QKeySequence(tr("Ctrl+0")));
@ -303,6 +305,7 @@ void QETDiagramEditor::actions() {
zoom_in -> setStatusTip(tr("Agrandit le sch\351ma", "status bar tip"));
zoom_out -> setStatusTip(tr("R\351tr\351cit le sch\351ma", "status bar tip"));
zoom_content -> setStatusTip(tr("Adapte le zoom de fa\347on \340 afficher tout le contenu ind\351pendamment du cadre"));
zoom_fit -> setStatusTip(tr("Adapte la taille du sch\351ma afin qu'il soit enti\350rement visible", "status bar tip"));
zoom_reset -> setStatusTip(tr("Restaure le zoom par d\351faut", "status bar tip"));
@ -353,6 +356,7 @@ void QETDiagramEditor::actions() {
connect(prj_clean, SIGNAL(triggered()), this, SLOT(cleanCurrentProject()) );
connect(zoom_in, SIGNAL(triggered()), this, SLOT(slot_zoomIn()) );
connect(zoom_out, SIGNAL(triggered()), this, SLOT(slot_zoomOut()) );
connect(zoom_content, SIGNAL(triggered()), this, SLOT(slot_zoomContent()) );
connect(zoom_fit, SIGNAL(triggered()), this, SLOT(slot_zoomFit()) );
connect(zoom_reset, SIGNAL(triggered()), this, SLOT(slot_zoomReset()) );
connect(print, SIGNAL(triggered()), this, SLOT(printDialog()) );
@ -482,6 +486,7 @@ void QETDiagramEditor::menus() {
menu_affichage -> addSeparator();
menu_affichage -> addAction(zoom_in);
menu_affichage -> addAction(zoom_out);
menu_affichage -> addAction(zoom_content);
menu_affichage -> addAction(zoom_fit);
menu_affichage -> addAction(zoom_reset);
@ -527,6 +532,7 @@ void QETDiagramEditor::toolbar() {
view_bar -> addSeparator();
view_bar -> addAction(zoom_in);
view_bar -> addAction(zoom_out);
view_bar -> addAction(zoom_content);
view_bar -> addAction(zoom_fit);
view_bar -> addAction(zoom_reset);
@ -968,6 +974,13 @@ void QETDiagramEditor::slot_zoomFit() {
if(currentDiagram()) currentDiagram() -> zoomFit();
}
/**
Call the "zoom content" action for the current diagram.
*/
void QETDiagramEditor::slot_zoomContent() {
if(currentDiagram()) currentDiagram() -> zoomContent();
}
/**
Effectue l'action "zoom par defaut" sur le schema en cours
*/
@ -1059,6 +1072,7 @@ void QETDiagramEditor::slot_updateActions() {
select_invert -> setEnabled(opened_diagram);
zoom_in -> setEnabled(opened_diagram);
zoom_out -> setEnabled(opened_diagram);
zoom_content -> setEnabled(opened_diagram);
zoom_fit -> setEnabled(opened_diagram);
zoom_reset -> setEnabled(opened_diagram);
infos_diagram -> setEnabled(opened_diagram);

View File

@ -99,6 +99,7 @@ class QETDiagramEditor : public QETMainWindow {
void slot_zoomIn();
void slot_zoomOut();
void slot_zoomFit();
void slot_zoomContent();
void slot_zoomReset();
void slot_selectAll();
void slot_selectNothing();
@ -196,7 +197,8 @@ class QETDiagramEditor : public QETMainWindow {
QAction *prj_clean; ///< Nettoie un projet
QAction *zoom_in; ///< Zoome avant
QAction *zoom_out; ///< Zoome arriere
QAction *zoom_fit; ///< Ajuste le zoom de facon a voir l'integralite des elements
QAction *zoom_fit; ///< Adjust zoom to fit the whole diagram, including potential elements outside its borders, in the view
QAction *zoom_content; ///< Adjust zoom to fit all elements in the view, regardless of diagram borders
QAction *zoom_reset; ///< Remet le zoom 1:1
QAction *tile_window; ///< Affiche les fenetre MDI en mosaique
QAction *cascade_window; ///< Affiche les fenetres MDI en cascade

View File

@ -146,6 +146,7 @@ namespace QET {
QIcon West;
QIcon WindowNew;
QIcon XmlTextFile;
QIcon ZoomDraw;
QIcon ZoomFitBest;
QIcon ZoomIn;
QIcon ZoomOriginal;
@ -372,8 +373,10 @@ void QET::Icons::initIcons() {
XmlTextFile .addFile(":/ico/16x16/text-xml.png");
XmlTextFile .addFile(":/ico/22x22/text-xml.png");
XmlTextFile .addFile(":/ico/32x32/text-xml.png");
ZoomFitBest .addFile(":/ico/16x16/zoom-draw.png");
ZoomFitBest .addFile(":/ico/22x22/zoom-draw.png");
ZoomDraw .addFile(":/ico/16x16/zoom-draw.png");
ZoomDraw .addFile(":/ico/22x22/zoom-draw.png");
ZoomFitBest .addFile(":/ico/16x16/zoom-fit-best.png");
ZoomFitBest .addFile(":/ico/22x22/zoom-fit-best.png");
ZoomIn .addFile(":/ico/16x16/zoom-in.png");
ZoomIn .addFile(":/ico/22x22/zoom-in.png");
ZoomOriginal .addFile(":/ico/16x16/zoom-original.png");

View File

@ -155,6 +155,7 @@ namespace QET {
extern QIcon West;
extern QIcon WindowNew;
extern QIcon XmlTextFile;
extern QIcon ZoomDraw;
extern QIcon ZoomFitBest;
extern QIcon ZoomIn;
extern QIcon ZoomOriginal;