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 <QAction>
|
||||
#include <QCheckBox>
|
||||
#include <QClipboard>
|
||||
#include <QComboBox>
|
||||
#include <QDialogButtonBox>
|
||||
@@ -37,6 +38,7 @@
|
||||
#include <QListWidget>
|
||||
#include <QMenu>
|
||||
#include <QPushButton>
|
||||
#include <QSettings>
|
||||
#include <QTextEdit>
|
||||
#include <QTime>
|
||||
#include <QToolBar>
|
||||
@@ -74,11 +76,11 @@ RicRecursiveFileSearchDialogResult RicRecursiveFileSearchDialog::runRecursiveSea
|
||||
RiaFilePathTools::appendSeparatorIfNo( pathFilterText );
|
||||
pathFilterText += pathFilter;
|
||||
|
||||
const QString completeRegistryKey = QString( "RicRecursiveFileSearchDialog %1" ).arg( caption ).replace( " ", "_" );
|
||||
const int maxItemsInRegistry = 10;
|
||||
|
||||
const QString searchHistoryStringsRegistryKey =
|
||||
QString( "RicRecursiveFileSearchDialog %1" ).arg( caption ).replace( " ", "_" );
|
||||
const int maxItemsInRegistry = 10;
|
||||
{
|
||||
RiaStringListSerializer stringListSerializer( completeRegistryKey );
|
||||
RiaStringListSerializer stringListSerializer( searchHistoryStringsRegistryKey );
|
||||
QStringList files = stringListSerializer.textStrings();
|
||||
|
||||
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->setCurrentText( QDir::toNativeSeparators( pathFilterText ) );
|
||||
|
||||
@@ -104,8 +112,10 @@ RicRecursiveFileSearchDialogResult RicRecursiveFileSearchDialog::runRecursiveSea
|
||||
|
||||
if ( dialog.result() == QDialog::Accepted )
|
||||
{
|
||||
RiaStringListSerializer stringListSerializer( completeRegistryKey );
|
||||
RiaStringListSerializer stringListSerializer( searchHistoryStringsRegistryKey );
|
||||
stringListSerializer.addString( dialog.m_pathFilterField->currentText(), maxItemsInRegistry );
|
||||
|
||||
settings.setValue( useRealizationStarRegistryKey, dialog.m_useRealizationStarCheckBox->isChecked() );
|
||||
}
|
||||
|
||||
return RicRecursiveFileSearchDialogResult( dialog.result() == QDialog::Accepted,
|
||||
@@ -122,7 +132,11 @@ RicRecursiveFileSearchDialog::RicRecursiveFileSearchDialog( QWidget* parent )
|
||||
: QDialog( parent, RiuTools::defaultDialogFlags() )
|
||||
{
|
||||
// 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_pathFilterField = new QComboBox();
|
||||
m_fileFilterLabel = new QLabel();
|
||||
@@ -194,9 +208,10 @@ RicRecursiveFileSearchDialog::RicRecursiveFileSearchDialog( QWidget* parent )
|
||||
inputGridLayout->addWidget( m_browseButton, 0, 3 );
|
||||
inputGridLayout->addWidget( m_fileFilterLabel, 1, 0 );
|
||||
inputGridLayout->addWidget( m_fileFilterField, 1, 1, 1, 2 );
|
||||
inputGridLayout->addWidget( m_effectiveFilterLabel, 2, 0 );
|
||||
inputGridLayout->addWidget( m_effectiveFilterContentLabel, 2, 1 );
|
||||
inputGridLayout->addWidget( m_findOrCancelButton, 2, 2, 1, 2 );
|
||||
inputGridLayout->addWidget( m_useRealizationStarCheckBox, 2, 1 );
|
||||
inputGridLayout->addWidget( m_effectiveFilterLabel, 3, 0 );
|
||||
inputGridLayout->addWidget( m_effectiveFilterContentLabel, 3, 1 );
|
||||
inputGridLayout->addWidget( m_findOrCancelButton, 3, 2, 1, 2 );
|
||||
|
||||
inputGroup->setLayout( inputGridLayout );
|
||||
|
||||
@@ -260,6 +275,12 @@ QString RicRecursiveFileSearchDialog::cleanTextFromPathFilterField() const
|
||||
pathFilterText = RiaFilePathTools::toInternalSeparator( pathFilterText );
|
||||
pathFilterText = RiaFilePathTools::removeDuplicatePathSeparators( pathFilterText );
|
||||
pathFilterText.replace( QString( "**" ), QString( "*" ) );
|
||||
|
||||
if ( m_useRealizationStarCheckBox->isChecked() )
|
||||
{
|
||||
pathFilterText = replaceWithRealizationStar( pathFilterText );
|
||||
}
|
||||
|
||||
return pathFilterText;
|
||||
}
|
||||
|
||||
@@ -524,6 +545,20 @@ QStringList RicRecursiveFileSearchDialog::createFileNameFilterList()
|
||||
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
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -33,6 +33,7 @@ class QMainWindow;
|
||||
class QListWidget;
|
||||
class QGroupBox;
|
||||
class QComboBox;
|
||||
class QCheckBox;
|
||||
|
||||
class RicRecursiveFileSearchDialogResult;
|
||||
|
||||
@@ -80,16 +81,18 @@ private:
|
||||
|
||||
// File search methods
|
||||
|
||||
QStringList findMatchingFiles();
|
||||
void buildDirectoryListRecursiveSimple( const QString& currentDir,
|
||||
const QString& currentPathFilter,
|
||||
QStringList* accumulatedDirs );
|
||||
QStringList findFilesInDirs( const QStringList& dirs );
|
||||
QStringList createFileNameFilterList();
|
||||
QStringList findMatchingFiles();
|
||||
void buildDirectoryListRecursiveSimple( const QString& currentDir,
|
||||
const QString& currentPathFilter,
|
||||
QStringList* accumulatedDirs );
|
||||
QStringList findFilesInDirs( const QStringList& dirs );
|
||||
QStringList createFileNameFilterList();
|
||||
static QString replaceWithRealizationStar( const QString& text );
|
||||
|
||||
private slots:
|
||||
void slotFilterChanged( const QString& text );
|
||||
void slotBrowseButtonClicked();
|
||||
void slotUseRealizationStarClicked();
|
||||
void slotFindOrCancelButtonClicked();
|
||||
|
||||
void slotFileListCustomMenuRequested( const QPoint& point );
|
||||
@@ -105,6 +108,7 @@ private:
|
||||
QLabel* m_pathFilterLabel;
|
||||
QComboBox* m_pathFilterField;
|
||||
QPushButton* m_browseButton;
|
||||
QCheckBox* m_useRealizationStarCheckBox;
|
||||
|
||||
QLabel* m_fileFilterLabel;
|
||||
QLineEdit* m_fileFilterField;
|
||||
|
||||
Reference in New Issue
Block a user