Merge pull request #5122 from OPM/timer-improvements

Timer improvements
This commit is contained in:
Magne Sjaastad 2019-11-29 08:47:55 +01:00
parent 59114d9624
commit d68e764a8f
7 changed files with 25 additions and 50 deletions

View File

@ -19,6 +19,8 @@
#include "RicExportToSharingServerScheduler.h" #include "RicExportToSharingServerScheduler.h"
#include "RicHoloLensAutoExportToSharingServerFeature.h" #include "RicHoloLensAutoExportToSharingServerFeature.h"
#include "RicHoloLensSession.h"
#include "RicHoloLensSessionManager.h"
#include "cafCmdFeatureManager.h" #include "cafCmdFeatureManager.h"
#include "cafProgressState.h" #include "cafProgressState.h"
@ -41,7 +43,11 @@ RicExportToSharingServerScheduler* RicExportToSharingServerScheduler::instance()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicExportToSharingServerScheduler::scheduleUpdateSession() void RicExportToSharingServerScheduler::scheduleUpdateSession()
{ {
startTimer( 0 ); RicHoloLensSession* session = RicHoloLensSessionManager::instance()->session();
if ( session && session->isSessionValid() )
{
startTimer( 0 );
}
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -68,21 +68,6 @@ caf::PdmUiFormLayoutObjectEditor::~PdmUiFormLayoutObjectEditor()
CAF_ASSERT(m_fieldViews.size() == 0); CAF_ASSERT(m_fieldViews.size() == 0);
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void caf::PdmUiFormLayoutObjectEditor::slotScrollToSelectedItemsInFieldEditors() const
{
for (auto fieldView : m_fieldViews)
{
auto listEditor = dynamic_cast<PdmUiListEditor*>(fieldView.second);
if (listEditor)
{
listEditor->scrollToSelectedItem();
}
}
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -66,9 +66,6 @@ public:
PdmUiFormLayoutObjectEditor(); PdmUiFormLayoutObjectEditor();
~PdmUiFormLayoutObjectEditor() override; ~PdmUiFormLayoutObjectEditor() override;
public slots:
void slotScrollToSelectedItemsInFieldEditors() const;
protected: protected:
/// When overriding this function, use findOrCreateGroupBox() or findOrCreateFieldEditor() for detailed control /// When overriding this function, use findOrCreateGroupBox() or findOrCreateFieldEditor() for detailed control
/// Use recursivelyConfigureAndUpdateUiItemsInGridLayoutColumn() for automatic layout of group and field widgets /// Use recursivelyConfigureAndUpdateUiItemsInGridLayoutColumn() for automatic layout of group and field widgets

View File

@ -55,6 +55,7 @@
#include <QListView> #include <QListView>
#include <QListView> #include <QListView>
#include <QStringListModel> #include <QStringListModel>
#include <QTimer>
@ -150,21 +151,6 @@ PdmUiListEditor::~PdmUiListEditor()
{ {
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void PdmUiListEditor::scrollToSelectedItem() const
{
if (m_isScrollToItemAllowed)
{
QModelIndex mi = m_listView->currentIndex();
if (mi.isValid())
{
m_listView->scrollTo(mi);
}
}
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -294,7 +280,7 @@ void PdmUiListEditor::configureAndUpdateUi(const QString& uiConfigName)
m_listView->selectionModel()->blockSignals(false); m_listView->selectionModel()->blockSignals(false);
} }
//ensureCurrentItemIsVisible(); QTimer::singleShot(150, this, SLOT(slotScrollToSelectedItem()));
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -406,6 +392,21 @@ void PdmUiListEditor::slotListItemEdited(const QModelIndex&, const QModelIndex&)
trimAndSetValuesToField(uiList); trimAndSetValuesToField(uiList);
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void PdmUiListEditor::slotScrollToSelectedItem() const
{
if (m_isScrollToItemAllowed)
{
QModelIndex mi = m_listView->currentIndex();
if (mi.isValid())
{
m_listView->scrollTo(mi);
}
}
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -83,7 +83,6 @@ public:
PdmUiListEditor(); PdmUiListEditor();
~PdmUiListEditor() override; ~PdmUiListEditor() override;
void scrollToSelectedItem() const;
protected: protected:
QWidget* createEditorWidget(QWidget * parent) override; QWidget* createEditorWidget(QWidget * parent) override;
@ -95,6 +94,7 @@ protected:
protected slots: protected slots:
void slotSelectionChanged( const QItemSelection & selected, const QItemSelection & deselected ); void slotSelectionChanged( const QItemSelection & selected, const QItemSelection & deselected );
void slotListItemEdited(const QModelIndex&, const QModelIndex&); void slotListItemEdited(const QModelIndex&, const QModelIndex&);
void slotScrollToSelectedItem() const;
private: private:
QString contentAsString() const; QString contentAsString() const;

View File

@ -192,23 +192,10 @@ void PdmUiPropertyView::showProperties( PdmObjectHandle* object)
m_defaultObjectEditor->setPdmObject(object); m_defaultObjectEditor->setPdmObject(object);
QObject::connect(m_defaultObjectEditor, SIGNAL(uiUpdated()), this, SLOT(slotScheduleScrollToSelectedItemsInFieldEditors()));
m_defaultObjectEditor->updateUi(m_uiConfigName); m_defaultObjectEditor->updateUi(m_uiConfigName);
m_scrollArea->updateGeometry(); m_scrollArea->updateGeometry();
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void PdmUiPropertyView::slotScheduleScrollToSelectedItemsInFieldEditors()
{
if (m_defaultObjectEditor)
{
QTimer::singleShot(150, m_defaultObjectEditor, SLOT(slotScrollToSelectedItemsInFieldEditors()));
}
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -85,7 +85,6 @@ public:
public slots: public slots:
void showProperties(caf::PdmObjectHandle* object); // Signal/Slot system needs caf:: prefix in some cases void showProperties(caf::PdmObjectHandle* object); // Signal/Slot system needs caf:: prefix in some cases
void slotScheduleScrollToSelectedItemsInFieldEditors();
private: private:
PdmUiDefaultObjectEditor* m_defaultObjectEditor; PdmUiDefaultObjectEditor* m_defaultObjectEditor;