]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
0021687: EDF 2306 STUDY: Dimension of the preference window
authorvsr <vsr@opencascade.com>
Mon, 10 Sep 2012 06:14:35 +0000 (06:14 +0000)
committervsr <vsr@opencascade.com>
Mon, 10 Sep 2012 06:14:35 +0000 (06:14 +0000)
Make contents of preference dialog box scrollable

src/LightApp/LightApp_PreferencesDlg.cxx
src/Qtx/QtxPagePrefMgr.cxx
src/Qtx/QtxPagePrefMgr.h
src/SUIT/SUIT_PreferenceMgr.cxx

index f49b36d41da9c6ba47b77d08b55039b04577d67f..b627e9a5c583a2b92bcefbbfb402af153cc95fe2 100644 (file)
@@ -65,6 +65,8 @@ myPrefs( prefs ), mySaved ( false )
   QAbstractButton* impBtn = userButton( insertButton( tr( "IMPORT_BTN_TEXT" ) ) );
   if( impBtn )
     connect( impBtn, SIGNAL( clicked() ), this, SLOT( onImportPref() ) );
+
+  setMinimumSize( 800, 600 );
 }
 
 /*!
index 8ce69e23d949f06dd970531834fb2a1996e1c166..5db47925c9c18809f46e6bbb8db08dd410e8276e 100644 (file)
@@ -47,6 +47,7 @@
 #include <QDateTimeEdit>
 #include <QStackedWidget>
 #include <QSlider>
+#include <QScrollArea>
 
 #include <stdio.h>
 
@@ -1198,7 +1199,7 @@ void QtxPagePrefTabsItem::updateTabs()
   \param param resource file parameter associated with the preference item
 */
 QtxPagePrefFrameItem::QtxPagePrefFrameItem( const QString& title, QtxPreferenceItem* parent,
-                                            const QString& sect, const QString& param )
+                                            const QString& sect, const QString& param, const bool scrollable )
 : QtxPagePrefItem( title, parent, sect, param )
 {
   QWidget* main = new QWidget();
@@ -1207,7 +1208,15 @@ QtxPagePrefFrameItem::QtxPagePrefFrameItem( const QString& title, QtxPreferenceI
   base->setSpacing( 0 );
 
   base->addWidget( myBox = new QtxGridBox( 1, Qt::Horizontal, main, 5, 5 ) );
-  base->addItem( new QSpacerItem( 0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding ) );
+  base->addStretch();
+
+  if ( scrollable ) {
+    QScrollArea* scroll = new QScrollArea();
+    scroll->setWidget( main );
+    scroll->setWidgetResizable( true );
+    base->layout()->setSizeConstraint(QLayout::SetMinAndMaxSize);
+    main = scroll;
+  }
 
   setWidget( main );
 }
index 74cca6d3168a83ae720b856977093ac843739ffd..65549b42a294593ad05f1a55693999d6aa58f05f 100644 (file)
@@ -253,7 +253,7 @@ class QTX_EXPORT QtxPagePrefFrameItem : public QtxPagePrefItem
 {
 public:
   QtxPagePrefFrameItem( const QString&, QtxPreferenceItem* = 0,
-                        const QString& = QString(), const QString& = QString() );
+                        const QString& = QString(), const QString& = QString(), const bool = false );
   virtual ~QtxPagePrefFrameItem();
 
   virtual void     updateContents();
index d6286ac8bf4ad2bc416f969433c7d5101c585736..83ff1805adbef84f47003950e4568f3276568f0a 100644 (file)
@@ -96,7 +96,7 @@ int SUIT_PreferenceMgr::addItem( const QString& title, const int pId,
       item = new QtxPagePrefTabsItem( title, parent, sect, param );
       break;
     case 2:
-      item = new QtxPagePrefFrameItem( title, parent, sect, param );
+      item = new QtxPagePrefFrameItem( title, parent, sect, param, true );
       break;
     case 3:
       item = new QtxPagePrefGroupItem( title, parent, sect, param );