Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
Prev Previous commit
Next Next commit
Make options translatable
  • Loading branch information
DomClark committed Dec 21, 2023
commit 64c69823b7706b77be8ed885cc6a23933a9b0b3b
4 changes: 2 additions & 2 deletions include/SetupDialog.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ private slots:
void toggleMMPZ(bool enabled);
void toggleDisableBackup(bool enabled);
void toggleOpenLastProject(bool enabled);
void setLoopMarkerMode(int mode);
void loopMarkerModeChanged();
void setLanguage(int lang);

// Performance settings widget.
Expand Down Expand Up @@ -149,7 +149,7 @@ private slots:
bool m_disableBackup;
bool m_openLastProject;
QString m_loopMarkerMode;
QStringList m_loopMarkerModes;
QComboBox* m_loopMarkerComboBox;
QString m_lang;
QStringList m_languages;

Expand Down
12 changes: 5 additions & 7 deletions src/gui/editors/TimeLineWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ void TimeLineWidget::paintEvent( QPaintEvent * )
p.drawRect( innerRectangle );

// Draw loop handles if necessary
const auto handleMode = ConfigManager::inst()->value("app", "loopmarkermode") == "Handles";
const auto handleMode = ConfigManager::inst()->value("app", "loopmarkermode") == "handles";
const auto hw = std::min(m_loopHandleWidth, loopRectWidth / 2 - 1);
const auto leftHandle = QRectF(loopStart - .5, loopRectMargin - .5, hw, loopRectHeight);
const auto rightHandle = QRectF(loopEndR - hw - .5, loopRectMargin - .5, hw, loopRectHeight);
Expand Down Expand Up @@ -275,7 +275,7 @@ auto TimeLineWidget::getLoopAction(QMouseEvent* event) -> TimeLineWidget::Action
const auto xPos = event->x();
const auto button = event->button();

if (mode == "Handles")
if (mode == "handles")
{
// Loop start and end pos, or closest edge of screen if loop extends off it
const auto leftMost = std::max(markerX(m_timeline->loopBegin()), m_xOffset);
Expand All @@ -289,19 +289,17 @@ auto TimeLineWidget::getLoopAction(QMouseEvent* event) -> TimeLineWidget::Action
else if (deltaRight <= m_loopHandleWidth) { return Action::MoveLoopEnd; }
else { return Action::MoveLoop; }
}
else if (mode == "Grab closest")
else if (mode == "closest")
{
const TimePos loopMid = (m_timeline->loopBegin() + m_timeline->loopEnd()) / 2;
return getClickedTime(xPos) < loopMid ? Action::MoveLoopBegin : Action::MoveLoopEnd;
}
else if (mode == "Dual-button")
else // Default to dual-button mode
{
if (button == Qt::LeftButton) { return Action::MoveLoopBegin; }
else if (button == Qt::RightButton) { return Action::MoveLoopEnd; }
return Action::NoAction;
}

// Fallback
return Action::NoAction;
}

auto TimeLineWidget::actionCursor(Action action) const -> QCursor
Expand Down
33 changes: 12 additions & 21 deletions src/gui/modals/SetupDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -256,30 +256,21 @@ SetupDialog::SetupDialog(ConfigTab tab_to_open) :
addCheckBox(tr("Show warning when deleting a mixer channel that is in use"), guiGroupBox, guiGroupLayout,
m_mixerChannelDeletionWarning, SLOT(toggleMixerChannelDeletionWarning(bool)), false);

const auto changeLoop = new QComboBox(guiGroupBox);
m_loopMarkerComboBox = new QComboBox{guiGroupBox};

m_loopMarkerModes.append(QString("Grab closest"));
m_loopMarkerModes.append(QString("Handles"));
m_loopMarkerModes.append(QString("Dual-button"));
m_loopMarkerComboBox->addItem(tr("Dual-button"), "dual");
m_loopMarkerComboBox->addItem(tr("Grab closest"), "closest");
m_loopMarkerComboBox->addItem(tr("Handles"), "handles");

for (QString mode : m_loopMarkerModes)
{
changeLoop->addItem(mode);
}

for (int i = 0; i < changeLoop->count(); ++i)
{
if (m_loopMarkerMode == m_loopMarkerModes.at(i))
{
changeLoop->setCurrentIndex(i);
break;
}
if (const auto index = m_loopMarkerComboBox->findData(m_loopMarkerMode); index != -1) {
m_loopMarkerComboBox->setCurrentIndex(index);
}

connect(changeLoop, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
this, &SetupDialog::setLoopMarkerMode);
connect(m_loopMarkerComboBox, qOverload<int>(&QComboBox::currentIndexChanged),
this, &SetupDialog::loopMarkerModeChanged);

guiGroupLayout->addWidget(changeLoop);
guiGroupLayout->addWidget(new QLabel{tr("Loop marker edit mode"), guiGroupBox});
guiGroupLayout->addWidget(m_loopMarkerComboBox);

generalControlsLayout->addWidget(guiGroupBox);

Expand Down Expand Up @@ -1088,9 +1079,9 @@ void SetupDialog::toggleOpenLastProject(bool enabled)
}


void SetupDialog::setLoopMarkerMode(int mode)
void SetupDialog::loopMarkerModeChanged()
{
m_loopMarkerMode = m_loopMarkerModes[mode];
m_loopMarkerMode = m_loopMarkerComboBox->currentData().toString();
}


Expand Down