Correction de deux bugs dans la gestion des fenetres MDI

Amelioration du mode de visualisation
Activation des flags d'optimisation dans DiagramView - A tester sur le long terme


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@116 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet
2007-09-08 19:09:59 +00:00
parent 2d7e9fc6b5
commit b044ee009c
2 changed files with 9 additions and 3 deletions

View File

@@ -9,6 +9,8 @@
*/ */
void DiagramView::initialise() { void DiagramView::initialise() {
setInteractive(true); setInteractive(true);
setCacheMode(QGraphicsView::CacheBackground);
setOptimizationFlags(QGraphicsView::DontClipPainter|QGraphicsView::DontSavePainterState|QGraphicsView::DontAdjustForAntialiasing);
// active l'antialiasing // active l'antialiasing
setRenderHint(QPainter::Antialiasing, true); setRenderHint(QPainter::Antialiasing, true);
@@ -205,6 +207,7 @@ void DiagramView::dropEvent(QDropEvent *e) {
*/ */
void DiagramView::setVisualisationMode() { void DiagramView::setVisualisationMode() {
setDragMode(ScrollHandDrag); setDragMode(ScrollHandDrag);
setInteractive(false);
emit(modeChanged()); emit(modeChanged());
} }
@@ -213,7 +216,7 @@ void DiagramView::setVisualisationMode() {
*/ */
void DiagramView::setSelectionMode() { void DiagramView::setSelectionMode() {
setDragMode(RubberBandDrag); setDragMode(RubberBandDrag);
viewport() -> setCursor(Qt::ArrowCursor); setInteractive(true);
emit(modeChanged()); emit(modeChanged());
} }

View File

@@ -614,7 +614,10 @@ bool QETApp::fermer() {
DiagramView *sv = diagramEnCours(); DiagramView *sv = diagramEnCours();
if (!sv) return(false); if (!sv) return(false);
bool fermeture_diagram = sv -> close(); bool fermeture_diagram = sv -> close();
if (fermeture_diagram) delete sv; if (fermeture_diagram) {
delete sv;
slot_updateMenuFenetres();
}
return(fermeture_diagram); return(fermeture_diagram);
} }
@@ -815,7 +818,7 @@ void QETApp::addDiagramView(DiagramView *sv) {
*/ */
void QETApp::slot_updateMenuFenetres() { void QETApp::slot_updateMenuFenetres() {
// nettoyage du menu // nettoyage du menu
menu_fenetres -> clear(); foreach(QAction *a, menu_fenetres -> actions()) menu_fenetres -> removeAction(a);
// actions de fermeture // actions de fermeture
menu_fenetres -> addAction(fermer_fichier); menu_fenetres -> addAction(fermer_fichier);