mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#6968 Import Dialog : Replace realization-N with realization-*
This commit is contained in:
@@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
#include <QAbstractItemView>
|
#include <QAbstractItemView>
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
|
#include <QCheckBox>
|
||||||
#include <QClipboard>
|
#include <QClipboard>
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
#include <QDialogButtonBox>
|
#include <QDialogButtonBox>
|
||||||
@@ -37,6 +38,7 @@
|
|||||||
#include <QListWidget>
|
#include <QListWidget>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
#include <QSettings>
|
||||||
#include <QTextEdit>
|
#include <QTextEdit>
|
||||||
#include <QTime>
|
#include <QTime>
|
||||||
#include <QToolBar>
|
#include <QToolBar>
|
||||||
@@ -74,11 +76,11 @@ RicRecursiveFileSearchDialogResult RicRecursiveFileSearchDialog::runRecursiveSea
|
|||||||
RiaFilePathTools::appendSeparatorIfNo( pathFilterText );
|
RiaFilePathTools::appendSeparatorIfNo( pathFilterText );
|
||||||
pathFilterText += pathFilter;
|
pathFilterText += pathFilter;
|
||||||
|
|
||||||
const QString completeRegistryKey = QString( "RicRecursiveFileSearchDialog %1" ).arg( caption ).replace( " ", "_" );
|
const QString searchHistoryStringsRegistryKey =
|
||||||
const int maxItemsInRegistry = 10;
|
QString( "RicRecursiveFileSearchDialog %1" ).arg( caption ).replace( " ", "_" );
|
||||||
|
const int maxItemsInRegistry = 10;
|
||||||
{
|
{
|
||||||
RiaStringListSerializer stringListSerializer( completeRegistryKey );
|
RiaStringListSerializer stringListSerializer( searchHistoryStringsRegistryKey );
|
||||||
QStringList files = stringListSerializer.textStrings();
|
QStringList files = stringListSerializer.textStrings();
|
||||||
|
|
||||||
int numRecentFiles = std::min( files.size(), maxItemsInRegistry );
|
int numRecentFiles = std::min( files.size(), maxItemsInRegistry );
|
||||||
@@ -88,6 +90,12 @@ RicRecursiveFileSearchDialogResult RicRecursiveFileSearchDialog::runRecursiveSea
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSettings settings;
|
||||||
|
const QString useRealizationStarRegistryKey = "RecursiveFileSearchDialog_use_realization";
|
||||||
|
|
||||||
|
bool isChecked = settings.value( useRealizationStarRegistryKey, true ).toBool();
|
||||||
|
dialog.m_useRealizationStarCheckBox->setChecked( isChecked );
|
||||||
|
|
||||||
dialog.m_pathFilterField->addItem( QDir::toNativeSeparators( pathFilterText ) );
|
dialog.m_pathFilterField->addItem( QDir::toNativeSeparators( pathFilterText ) );
|
||||||
dialog.m_pathFilterField->setCurrentText( QDir::toNativeSeparators( pathFilterText ) );
|
dialog.m_pathFilterField->setCurrentText( QDir::toNativeSeparators( pathFilterText ) );
|
||||||
|
|
||||||
@@ -104,8 +112,10 @@ RicRecursiveFileSearchDialogResult RicRecursiveFileSearchDialog::runRecursiveSea
|
|||||||
|
|
||||||
if ( dialog.result() == QDialog::Accepted )
|
if ( dialog.result() == QDialog::Accepted )
|
||||||
{
|
{
|
||||||
RiaStringListSerializer stringListSerializer( completeRegistryKey );
|
RiaStringListSerializer stringListSerializer( searchHistoryStringsRegistryKey );
|
||||||
stringListSerializer.addString( dialog.m_pathFilterField->currentText(), maxItemsInRegistry );
|
stringListSerializer.addString( dialog.m_pathFilterField->currentText(), maxItemsInRegistry );
|
||||||
|
|
||||||
|
settings.setValue( useRealizationStarRegistryKey, dialog.m_useRealizationStarCheckBox->isChecked() );
|
||||||
}
|
}
|
||||||
|
|
||||||
return RicRecursiveFileSearchDialogResult( dialog.result() == QDialog::Accepted,
|
return RicRecursiveFileSearchDialogResult( dialog.result() == QDialog::Accepted,
|
||||||
@@ -122,7 +132,11 @@ RicRecursiveFileSearchDialog::RicRecursiveFileSearchDialog( QWidget* parent )
|
|||||||
: QDialog( parent, RiuTools::defaultDialogFlags() )
|
: QDialog( parent, RiuTools::defaultDialogFlags() )
|
||||||
{
|
{
|
||||||
// Create widgets
|
// Create widgets
|
||||||
m_browseButton = new QPushButton();
|
m_browseButton = new QPushButton();
|
||||||
|
|
||||||
|
m_useRealizationStarCheckBox = new QCheckBox( "Use 'realization-*' in filter" );
|
||||||
|
connect( m_useRealizationStarCheckBox, SIGNAL( clicked() ), this, SLOT( slotUseRealizationStarClicked() ) );
|
||||||
|
|
||||||
m_pathFilterLabel = new QLabel();
|
m_pathFilterLabel = new QLabel();
|
||||||
m_pathFilterField = new QComboBox();
|
m_pathFilterField = new QComboBox();
|
||||||
m_fileFilterLabel = new QLabel();
|
m_fileFilterLabel = new QLabel();
|
||||||
@@ -194,9 +208,10 @@ RicRecursiveFileSearchDialog::RicRecursiveFileSearchDialog( QWidget* parent )
|
|||||||
inputGridLayout->addWidget( m_browseButton, 0, 3 );
|
inputGridLayout->addWidget( m_browseButton, 0, 3 );
|
||||||
inputGridLayout->addWidget( m_fileFilterLabel, 1, 0 );
|
inputGridLayout->addWidget( m_fileFilterLabel, 1, 0 );
|
||||||
inputGridLayout->addWidget( m_fileFilterField, 1, 1, 1, 2 );
|
inputGridLayout->addWidget( m_fileFilterField, 1, 1, 1, 2 );
|
||||||
inputGridLayout->addWidget( m_effectiveFilterLabel, 2, 0 );
|
inputGridLayout->addWidget( m_useRealizationStarCheckBox, 2, 1 );
|
||||||
inputGridLayout->addWidget( m_effectiveFilterContentLabel, 2, 1 );
|
inputGridLayout->addWidget( m_effectiveFilterLabel, 3, 0 );
|
||||||
inputGridLayout->addWidget( m_findOrCancelButton, 2, 2, 1, 2 );
|
inputGridLayout->addWidget( m_effectiveFilterContentLabel, 3, 1 );
|
||||||
|
inputGridLayout->addWidget( m_findOrCancelButton, 3, 2, 1, 2 );
|
||||||
|
|
||||||
inputGroup->setLayout( inputGridLayout );
|
inputGroup->setLayout( inputGridLayout );
|
||||||
|
|
||||||
@@ -260,6 +275,12 @@ QString RicRecursiveFileSearchDialog::cleanTextFromPathFilterField() const
|
|||||||
pathFilterText = RiaFilePathTools::toInternalSeparator( pathFilterText );
|
pathFilterText = RiaFilePathTools::toInternalSeparator( pathFilterText );
|
||||||
pathFilterText = RiaFilePathTools::removeDuplicatePathSeparators( pathFilterText );
|
pathFilterText = RiaFilePathTools::removeDuplicatePathSeparators( pathFilterText );
|
||||||
pathFilterText.replace( QString( "**" ), QString( "*" ) );
|
pathFilterText.replace( QString( "**" ), QString( "*" ) );
|
||||||
|
|
||||||
|
if ( m_useRealizationStarCheckBox->isChecked() )
|
||||||
|
{
|
||||||
|
pathFilterText = replaceWithRealizationStar( pathFilterText );
|
||||||
|
}
|
||||||
|
|
||||||
return pathFilterText;
|
return pathFilterText;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -524,6 +545,20 @@ QStringList RicRecursiveFileSearchDialog::createFileNameFilterList()
|
|||||||
return nameFilter;
|
return nameFilter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
QString RicRecursiveFileSearchDialog::replaceWithRealizationStar( const QString& text )
|
||||||
|
{
|
||||||
|
const QString pattern = "realization-\\d+";
|
||||||
|
QRegExp regexp( pattern, Qt::CaseInsensitive );
|
||||||
|
|
||||||
|
QString textWithStar = text;
|
||||||
|
textWithStar.replace( regexp, "realization-*" );
|
||||||
|
|
||||||
|
return textWithStar;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -757,6 +792,14 @@ void RicRecursiveFileSearchDialog::slotBrowseButtonClicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RicRecursiveFileSearchDialog::slotUseRealizationStarClicked()
|
||||||
|
{
|
||||||
|
updateEffectiveFilter();
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
/// Internal functions
|
/// Internal functions
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ class QMainWindow;
|
|||||||
class QListWidget;
|
class QListWidget;
|
||||||
class QGroupBox;
|
class QGroupBox;
|
||||||
class QComboBox;
|
class QComboBox;
|
||||||
|
class QCheckBox;
|
||||||
|
|
||||||
class RicRecursiveFileSearchDialogResult;
|
class RicRecursiveFileSearchDialogResult;
|
||||||
|
|
||||||
@@ -80,16 +81,18 @@ private:
|
|||||||
|
|
||||||
// File search methods
|
// File search methods
|
||||||
|
|
||||||
QStringList findMatchingFiles();
|
QStringList findMatchingFiles();
|
||||||
void buildDirectoryListRecursiveSimple( const QString& currentDir,
|
void buildDirectoryListRecursiveSimple( const QString& currentDir,
|
||||||
const QString& currentPathFilter,
|
const QString& currentPathFilter,
|
||||||
QStringList* accumulatedDirs );
|
QStringList* accumulatedDirs );
|
||||||
QStringList findFilesInDirs( const QStringList& dirs );
|
QStringList findFilesInDirs( const QStringList& dirs );
|
||||||
QStringList createFileNameFilterList();
|
QStringList createFileNameFilterList();
|
||||||
|
static QString replaceWithRealizationStar( const QString& text );
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void slotFilterChanged( const QString& text );
|
void slotFilterChanged( const QString& text );
|
||||||
void slotBrowseButtonClicked();
|
void slotBrowseButtonClicked();
|
||||||
|
void slotUseRealizationStarClicked();
|
||||||
void slotFindOrCancelButtonClicked();
|
void slotFindOrCancelButtonClicked();
|
||||||
|
|
||||||
void slotFileListCustomMenuRequested( const QPoint& point );
|
void slotFileListCustomMenuRequested( const QPoint& point );
|
||||||
@@ -105,6 +108,7 @@ private:
|
|||||||
QLabel* m_pathFilterLabel;
|
QLabel* m_pathFilterLabel;
|
||||||
QComboBox* m_pathFilterField;
|
QComboBox* m_pathFilterField;
|
||||||
QPushButton* m_browseButton;
|
QPushButton* m_browseButton;
|
||||||
|
QCheckBox* m_useRealizationStarCheckBox;
|
||||||
|
|
||||||
QLabel* m_fileFilterLabel;
|
QLabel* m_fileFilterLabel;
|
||||||
QLineEdit* m_fileFilterField;
|
QLineEdit* m_fileFilterField;
|
||||||
|
|||||||
Reference in New Issue
Block a user