]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
refs #332 - "File could not be created" warning appears after showing the image
authornds <nds@opencascade.com>
Wed, 29 Jan 2014 13:47:44 +0000 (13:47 +0000)
committernds <nds@opencascade.com>
Wed, 29 Jan 2014 13:47:44 +0000 (13:47 +0000)
src/HYDROGUI/HYDROGUI_Shape.cxx
src/HYDROGUI/resources/HYDROGUI_msg_en.ts

index 7739a90ed91925faf577af9c7c5c45b407847c7e..c5f3bbd2011b0da005c39e9fdce0966a7279837e 100644 (file)
@@ -250,26 +250,36 @@ void HYDROGUI_Shape::update( const bool theIsUpdateViewer,
       int aWidth = anImage.width();
       int aHeight = anImage.height();
 
+      QString anImageError = "";
+
       QTransform anInversion = QTransform::fromScale( -1, -1 );
       anImage = anImage.transformed( anInversion * aTrsf, Qt::SmoothTransformation );
 
-      // Workaround: Scale the texture image to the nearest width multiple 4 due to the CASCADE bug 23813
-      int aTrsfWidth = anImage.width();
-      int aDelta = aTrsfWidth % 4;
-      if ( aDelta > 0 )
+      if ( anImage.isNull() )
+        anImageError = QObject::tr( "IMAGE_TRANSFORMATION_CAN_NOT_BE_APPLYED" );
+      else
       {
-        aTrsfWidth += ( 4 - aDelta );
-      }
-      anImage = anImage.scaledToWidth( aTrsfWidth );
+        // Workaround: Scale the texture image to the nearest width multiple 4 due to the CASCADE bug 23813
+        int aTrsfWidth = anImage.width();
+        int aDelta = aTrsfWidth % 4;
+        if ( aDelta > 0 )
+        {
+          aTrsfWidth += ( 4 - aDelta );
+        }
+        anImage = anImage.scaledToWidth( aTrsfWidth );
+
+        // temporary optimization, to reduce the saved image size (and the texture quality)
+        QImage anImageToSave = anImage; //RKV:reduceTexture( anImage, 500 );
 
-      // temporary optimization, to reduce the saved image size (and the texture quality)
-      QImage anImageToSave = anImage; //RKV:reduceTexture( anImage, 500 );
+        bool isSaved = anImageToSave.save( aTextureFileName );
+        if ( !isSaved )
+          anImageError = QObject::tr( "FILE_CAN_NOT_BE_CREATED" ).arg( aTextureFileName );
+      }
 
-      bool isSaved = anImageToSave.save( aTextureFileName );
-      if ( !isSaved ) {
-        QString aTitle = QObject::tr( "FILE_ERROR" );
-        QString aMessage = QObject::tr( "FILE_CAN_NOT_BE_CREATED" ).arg( aTextureFileName );
-        SUIT_MessageBox::warning( 0, aTitle, aMessage );
+      if ( !anImageError.isEmpty() )
+      {
+        SUIT_MessageBox::warning( 0, QObject::tr( "SHAPE_IMAGE_ERROR" ),
+                                  QObject::tr( "IMAGE_CAN_NOT_BE_CREATED" ) + anImageError );
       }
 
       QPointF aPoint1( 0, 0 );            // 1: top left
index 0703adc5d02814ab8e376e675269a0130e80ab80..a179a88153ede7c43050c7fe12928b1dc7c886c9 100644 (file)
@@ -137,8 +137,16 @@ does not exist or you have not enough permissions to open it.</translation>
       <translation>Study could not be loaded</translation>
     </message>
     <message>
-      <source>FILE_ERROR</source>
-      <translation>File could not be created</translation>
+      <source>SHAPE_IMAGE_ERROR</source>
+      <translation>Image shape could not be created</translation>
+    </message>
+    <message>
+      <source>IMAGE_CAN_NOT_BE_CREATED</source>
+      <translation>It is not possible to create a presentation for OCC 3D view. </translation>
+    </message>
+    <message>
+      <source>IMAGE_TRANSFORMATION_CAN_NOT_BE_APPLYED</source>
+      <translation>The transformated image is out of range.</translation>
     </message>
     <message>
       <source>FILE_CAN_NOT_BE_CREATED</source>