]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Modifications for DIAGRAM issues:
authorouv <oleg.uvarov@opencascade.com>
Thu, 25 Apr 2019 16:09:32 +0000 (19:09 +0300)
committerouv <oleg.uvarov@opencascade.com>
Thu, 25 Apr 2019 16:09:32 +0000 (19:09 +0300)
1) 0004250: External 642: Add a search function to DIAGRAM
2) 0004461: Diagram is not activated after "Split Vertically" operation

src/Qtx/QtxSearchTool.cxx
src/Qtx/QtxSearchTool.h
src/Qtx/QtxWorkstack.cxx
src/Qtx/QtxWorkstack.h

index 88e2bae13737ecef7ab76bd643da318a5af2e490..5656a695a4a58bc754bd8e4fdd4c130b36713e8d 100644 (file)
@@ -470,6 +470,24 @@ void QtxSearchTool::setShortcuts( const QList<QKeySequence>& accels )
   initShortcuts( accels );
 }
 
+/*!
+  \brief Set context of shortcuts.
+  \param context context of shortcuts
+  \sa shortcuts()
+*/
+void QtxSearchTool::setShortcutContext( const Qt::ShortcutContext context )
+{
+  ShortcutList::Iterator it;
+  for ( it = myShortcuts.begin(); it != myShortcuts.end(); ++it )
+  {
+    if ( !(*it).isNull() )
+    {
+      QShortcut* sc = (*it);
+      sc->setContext( context );
+    }
+  }
+}
+
 /*!
   \brief Add custom widget.
   \param w custom widget to be added
index f91d00ff055a32095b4472f7bb5a3b37c40af8af..674eaca67673ea397140e9c77dc1b7c43a8806cc 100644 (file)
@@ -99,6 +99,8 @@ public:
   void                setShortcuts( const QKeySequence& );
   void                setShortcuts( const QList<QKeySequence>& );
 
+  void                setShortcutContext( const Qt::ShortcutContext );
+
   int                 addCustomWidget( QWidget*, int = -1 );
   QWidget*            customWidget( int ) const;
   int                 customWidgetId( QWidget* ) const;
index 02314d67fa0d9d3a9dded594b3823adf5045afb3..ef00b48862ef130a829b17469a1a8301e5426e67 100644 (file)
@@ -1605,9 +1605,14 @@ QWidget* QtxWorkstack::activeWindow() const
 /*!
   \brief Set active widget
   \param wid widget to activate
+  \param activateArea flag used to activate the widget's area if necessary
 */
-void QtxWorkstack::setActiveWindow( QWidget* wid )
+void QtxWorkstack::setActiveWindow( QWidget* wid, const bool activateArea )
 {
+  if( activateArea )
+    if( QtxWorkstackArea* area = wgArea( wid ) )
+      setActiveArea( area );
+
   if( activeArea() )
     activeArea()->setActiveWidget( wid );
 }
index b18bb4dcb1d987b0818fa43325e1e58a7f7b1801..a703dd467d981cc4f39b20a4301840c8483d6bf7 100644 (file)
@@ -81,7 +81,7 @@ public:
   QWidgetList         splitWindowList() const;
 
   QWidget*            activeWindow() const;
-  void                setActiveWindow( QWidget* );
+  void                setActiveWindow( QWidget*, const bool activateArea = false );
 
   int                 accel( const int ) const;
   void                setAccel( const int, const int );