Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions src/common/Configuration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -999,3 +999,33 @@ int Configuration::getFunctionNameColWidth() const
{
return s.value("fcnNameColWidth", 400).toInt();
}

void Configuration::setOmnibarLimitEntries(bool value)
{
s.setValue("omnibarLimitEntries", value);
}

bool Configuration::getOmnibarLimitEntries() const
{
return s.value("omnibarLimitEntries", true).toBool();
}

void Configuration::setOmnibarEntriesCount(int count)
{
s.setValue("omnibarEntriesCount", count);
}

int Configuration::getOmnibarEntriesCount() const
{
return s.value("omnibarEntriesCount", 100).toInt();
}

void Configuration::setOmnibarEntriesIncrement(int count)
{
s.setValue("omnibarEntriesIncrement", count);
}

int Configuration::getOmnibarEntriesIncrement() const
{
return s.value("omnibarEntriesIncrement", 100).toInt();
}
23 changes: 23 additions & 0 deletions src/common/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,29 @@ class CUTTER_EXPORT Configuration : public QObject
void setFunctionNameColWidth(int width);
int getFunctionNameColWidth() const;

/**
* @brief Set whether to limit the number of entries when searching inside omnibar
*
* The limit is set through @ref setOmnibarEntriesCount
* @param value True to set limit, false otherwise
*/
void setOmnibarLimitEntries(bool value);
bool getOmnibarLimitEntries() const;

/**
* @brief Set the default number of entries shown when searching inside omnibar
* @param count Number of entries to be shown inside omnibar
*/
void setOmnibarEntriesCount(int count);
int getOmnibarEntriesCount() const;

/**
* @brief Number of entries to add to initial count when clicking on "Show More" inside omnibar
* @param count Number of entries to add
*/
void setOmnibarEntriesIncrement(int count);
int getOmnibarEntriesIncrement() const;

public slots:
void refreshFont();
signals:
Expand Down
5 changes: 0 additions & 5 deletions src/core/MainWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -762,11 +762,6 @@ void MainWindow::showProjectSaveError(RzProjectErr err)
tr("Failed to save project: %1").arg(QString::fromUtf8(s)));
}

void MainWindow::refreshOmniBar(const QStringList &flags)
{
omnibar->refresh(flags);
}

void MainWindow::setFilename(const QString &fn)
{
// Add file name to window title
Expand Down
1 change: 0 additions & 1 deletion src/core/MainWindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,6 @@ class CUTTER_EXPORT MainWindow : public QMainWindow
void readSettings();
void saveSettings();
void setFilename(const QString &fn);
void refreshOmniBar(const QStringList &flags);

void addWidget(CutterDockWidget *widget);
void addMemoryDockWidget(MemoryDockWidget *widget);
Expand Down
25 changes: 25 additions & 0 deletions src/dialogs/preferences/InterfaceOptionsWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ InterfaceOptionsWidget::InterfaceOptionsWidget(PreferencesDialog *dialog)
ui->setupUi(this);

setUpQuickFilter();
setUpOmnibar();
setUpFunctions();
}

Expand All @@ -31,6 +32,30 @@ void InterfaceOptionsWidget::setUpFunctions()
&Configuration::setFunctionNameColWidth);
}

void InterfaceOptionsWidget::setUpOmnibar()
{
const bool limitEntries = Config()->getOmnibarLimitEntries();
ui->omnibarCountCheckBox->setChecked(limitEntries);
ui->omnibarCountSpinBox->setValue(Config()->getOmnibarEntriesCount());

auto toggleWidgets = [this](bool enable) {
ui->omnibarCountSpinBox->setEnabled(enable);
ui->omnibarIncrementLabel->setEnabled(enable);
ui->omnibarIncrementSpinBox->setEnabled(enable);
};
toggleWidgets(limitEntries);
ui->omnibarIncrementSpinBox->setValue(Config()->getOmnibarEntriesIncrement());

connect(ui->omnibarCountCheckBox, &QCheckBox::toggled, this, [toggleWidgets](bool checked) {
Config()->setOmnibarLimitEntries(checked);
toggleWidgets(checked);
});
connect<void (QSpinBox::*)(int)>(ui->omnibarCountSpinBox, &QSpinBox::valueChanged, Config(),
&Configuration::setOmnibarEntriesCount);
connect<void (QSpinBox::*)(int)>(ui->omnibarIncrementSpinBox, &QSpinBox::valueChanged, Config(),
&Configuration::setOmnibarEntriesIncrement);
}

void InterfaceOptionsWidget::setUpQuickFilter()
{
ui->quickFilterCheckBox->setChecked(Config()->getShowQuickFilter());
Expand Down
1 change: 1 addition & 0 deletions src/dialogs/preferences/InterfaceOptionsWidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ class InterfaceOptionsWidget : public QDialog
std::unique_ptr<Ui::InterfaceOptionsWidget> ui;

void setUpFunctions();
void setUpOmnibar();
void setUpQuickFilter();
};

Expand Down
77 changes: 73 additions & 4 deletions src/dialogs/preferences/InterfaceOptionsWidget.ui
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>633</width>
<height>361</height>
<width>678</width>
<height>417</height>
</rect>
</property>
<property name="windowTitle">
Expand Down Expand Up @@ -39,8 +39,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>633</width>
<height>361</height>
<width>678</width>
<height>417</height>
</rect>
</property>
<layout class="QVBoxLayout" name="scrollLayout">
Expand Down Expand Up @@ -89,6 +89,75 @@
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="omnibarGroupBox">
<property name="title">
<string>Omnibar</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="topMargin">
<number>24</number>
</property>
<item>
<layout class="QHBoxLayout" name="itemCountLayout">
<item>
<widget class="QCheckBox" name="omnibarCountCheckBox">
<property name="toolTip">
<string>Only show the number of entries equal to set value when searching inside omnibar. If unchecked all entries will be shown</string>
</property>
<property name="text">
<string>Limit entries by default to</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="omnibarCountSpinBox">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="singleStep">
<number>10</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="itemCountIncrementLayout">
<property name="leftMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="omnibarIncrementLabel">
<property name="toolTip">
<string>Number of entries to add when clicking &quot;Show More&quot; inside omnibar</string>
</property>
<property name="text">
<string>On &quot;Show More&quot; increment entries by</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="omnibarIncrementSpinBox">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="singleStep">
<number>10</number>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="quickFilterGroupBox">
<property name="title">
Expand Down
8 changes: 8 additions & 0 deletions src/shortcuts/DefaultShortcuts.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,14 @@ const QHash<QString, Shortcut> &getDefaultShortcuts()
{ { QKeySequence(Qt::Key_Escape) },
QT_TRANSLATE_NOOP("Omnibar", "Clear Omnibar"),
"Omnibar" } },
{ "Omnibar.showMore",
{ { QKeySequence(Qt::ControlModifier | Qt::Key_Return) },
QT_TRANSLATE_NOOP("Omnibar", "Show More Completions"),
"Omnibar" } },
{ "Omnibar.showAll",
{ { QKeySequence(Qt::ControlModifier | Qt::ShiftModifier | Qt::Key_Return) },
QT_TRANSLATE_NOOP("Omnibar", "Show All Completions"),
"Omnibar" } },

// Graph Overview
{ "Overview.zoomIn",
Expand Down
6 changes: 0 additions & 6 deletions src/widgets/FlagsWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -266,12 +266,6 @@ void FlagsWidget::refreshFlags()

// set the initial item count
ui->filterLineEdit->setItemCount(flags_proxy_model->rowCount());

// TODO: this is not a very good place for the following:
QStringList flagNames;
for (const FlagDescription &i : flags_model->flags)
flagNames.append(i.name);
main->refreshOmniBar(flagNames);
}

void FlagsWidget::setScrollMode()
Expand Down
Loading
Loading