Skip to content

Commit

Permalink
Allow incremental quickfind mode for regex
Browse files Browse the repository at this point in the history
Historically incremental quickfind mode was allowed in glogg only
for 'fixed strings' search type. Quickfind in glogg is performed in
UI thread, and regex search is to heavy for incremental mode. In klogg
quickfind works in background thread, so restrictions can be lifted.

see #312
  • Loading branch information
variar committed May 19, 2021
1 parent f2b1b99 commit ba05836
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 25 deletions.
1 change: 0 additions & 1 deletion src/ui/include/optionsdialog.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ class OptionsDialog : public QDialog, public Ui::OptionsDialog {
void setupTabs();
void setupFontList();
void setupRegexp();
void setupIncremental();
void setupPolling();
void setupSearchResultsCache();
void setupLogging();
Expand Down
32 changes: 8 additions & 24 deletions src/ui/src/optionsdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,12 @@ OptionsDialog::OptionsDialog( QWidget* parent )
setupStyles();

// Validators
QValidator* polling_interval_validator_
QValidator* pollingIntervalValidator
= new QIntValidator( POLL_INTERVAL_MIN, POLL_INTERVAL_MAX, this );
pollIntervalLineEdit->setValidator( polling_interval_validator_ );
pollIntervalLineEdit->setValidator( pollingIntervalValidator );

connect( buttonBox, &QDialogButtonBox::clicked, this, &OptionsDialog::onButtonBoxClicked );
connect( fontFamilyBox, &QComboBox::currentTextChanged, this, &OptionsDialog::updateFontSize );
connect( incrementalCheckBox, &QCheckBox::toggled,
[ this ]( auto ) { this->setupIncremental(); } );
connect( pollingCheckBox, &QCheckBox::toggled, [ this ]( auto ) { this->setupPolling(); } );
connect( searchResultsCacheCheckBox, &QCheckBox::toggled,
[ this ]( auto ) { this->setupSearchResultsCache(); } );
Expand All @@ -76,7 +74,6 @@ OptionsDialog::OptionsDialog( QWidget* parent )

updateDialogFromConfig();

setupIncremental();
setupPolling();
setupSearchResultsCache();
setupLogging();
Expand Down Expand Up @@ -137,19 +134,6 @@ void OptionsDialog::setupStyles()
styleComboBox->addItems( availableStyles() );
}

// Enable/disable the QuickFind options depending on the state
// of the "incremental" checkbox.
void OptionsDialog::setupIncremental()
{
if ( incrementalCheckBox->isChecked() ) {
quickFindSearchBox->setCurrentIndex( getRegexpTypeIndex( SearchRegexpType::FixedString ) );
quickFindSearchBox->setEnabled( false );
}
else {
quickFindSearchBox->setEnabled( true );
}
}

void OptionsDialog::setupPolling()
{
pollIntervalLineEdit->setEnabled( pollingCheckBox->isChecked() );
Expand Down Expand Up @@ -348,13 +332,13 @@ void OptionsDialog::updateConfigFromDialog()

config.setNativeFileWatchEnabled( nativeFileWatchCheckBox->isChecked() );
config.setPollingEnabled( pollingCheckBox->isChecked() );
auto poll_interval = pollIntervalLineEdit->text().toInt();
if ( poll_interval < POLL_INTERVAL_MIN )
poll_interval = POLL_INTERVAL_MIN;
else if ( poll_interval > POLL_INTERVAL_MAX )
poll_interval = POLL_INTERVAL_MAX;
auto pollInterval = pollIntervalLineEdit->text().toInt();
if ( pollInterval < POLL_INTERVAL_MIN )
pollInterval = POLL_INTERVAL_MIN;
else if ( pollInterval > POLL_INTERVAL_MAX )
pollInterval = POLL_INTERVAL_MAX;

config.setPollIntervalMs( poll_interval );
config.setPollIntervalMs( pollInterval );
config.setFastModificationDetection( fastModificationDetectionCheckBox->isChecked() );

config.setLoadLastSession( loadLastSessionCheckBox->isChecked() );
Expand Down

0 comments on commit ba05836

Please sign in to comment.