Skip to content

Commit

Permalink
DlgTrackInfo/UpDown: Change focus when pressing Up/Down on WBasicLine…
Browse files Browse the repository at this point in the history
…Edit
  • Loading branch information
cr7pt0gr4ph7 committed Jun 22, 2024
1 parent 395697b commit 4085793
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 10 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1251,6 +1251,7 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL
src/widget/paintable.cpp
src/widget/wanalysislibrarytableview.cpp
src/widget/wbasewidget.cpp
src/widget/wbasiclineedit.cpp
src/widget/wbasicpushbutton.cpp
src/widget/wbattery.cpp
src/widget/wbeatspinbox.cpp
Expand Down
25 changes: 15 additions & 10 deletions src/library/dlgtrackinfo.ui
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="txtTrackName">
<widget class="WBasicLineEdit" name="txtTrackName">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
Expand Down Expand Up @@ -131,7 +131,7 @@
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="txtArtist">
<widget class="WBasicLineEdit" name="txtArtist">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
Expand Down Expand Up @@ -163,7 +163,7 @@
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="txtAlbum">
<widget class="WBasicLineEdit" name="txtAlbum">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
Expand Down Expand Up @@ -195,7 +195,7 @@
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="txtAlbumArtist">
<widget class="WBasicLineEdit" name="txtAlbumArtist">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
Expand Down Expand Up @@ -237,7 +237,7 @@
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="txtComposer">
<widget class="WBasicLineEdit" name="txtComposer">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
Expand All @@ -263,7 +263,7 @@
</widget>
</item>
<item row="4" column="3">
<widget class="QLineEdit" name="txtYear">
<widget class="WBasicLineEdit" name="txtYear">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
Expand All @@ -283,7 +283,7 @@
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="txtGenre">
<widget class="WBasicLineEdit" name="txtGenre">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
Expand All @@ -309,7 +309,7 @@
</widget>
</item>
<item row="5" column="3">
<widget class="QLineEdit" name="txtKey">
<widget class="WBasicLineEdit" name="txtKey">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
Expand All @@ -335,7 +335,7 @@
</widget>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="txtGrouping">
<widget class="WBasicLineEdit" name="txtGrouping">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
Expand All @@ -361,7 +361,7 @@
</widget>
</item>
<item row="6" column="3">
<widget class="QLineEdit" name="txtTrackNumber">
<widget class="WBasicLineEdit" name="txtTrackNumber">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
Expand Down Expand Up @@ -1080,6 +1080,11 @@ Often results in higher quality beatgrids, but will not do well on tracks that h
</widget>
<layoutdefault spacing="6" margin="11"/>
<customwidgets>
<customwidget>
<class>WBasicLineEdit</class>
<extends>QLineEdit</extends>
<header>widget/wbasiclineedit.h</header>
</customwidget>
<customwidget>
<class>WBasicPushButton</class>
<extends>QPushButton</extends>
Expand Down
33 changes: 33 additions & 0 deletions src/widget/wbasiclineedit.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#include "widget/wbasiclineedit.h"

#include <QKeyEvent>

#include "moc_wbasiclineedit.cpp"

WBasicLineEdit::WBasicLineEdit(QWidget* parent)
: QLineEdit(parent) {
}

WBasicLineEdit::WBasicLineEdit(const QString& text, QWidget* parent)
: QLineEdit(text, parent) {
}

void WBasicLineEdit::keyPressEvent(QKeyEvent* event) {
bool noModifiersPressed = !(event->modifiers() &
(Qt::ControlModifier | Qt::AltModifier |
Qt::ShiftModifier | Qt::MetaModifier));

if (event->key() == Qt::Key_Up && noModifiersPressed) {
if (focusPreviousChild()) {
event->accept();
return;
}
} else if (event->key() == Qt::Key_Down && noModifiersPressed) {
if (focusNextChild()) {
event->accept();
return;
}
}

QLineEdit::keyPressEvent(event);
}
15 changes: 15 additions & 0 deletions src/widget/wbasiclineedit.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#pragma once

#include <QLineEdit>

/// Subclass of QLineEdit that allows the Up and Down arrow keys
/// to be used like the Tab/Backtab keys.
class WBasicLineEdit : public QLineEdit {
Q_OBJECT
public:
explicit WBasicLineEdit(QWidget* parent = nullptr);
explicit WBasicLineEdit(const QString& text, QWidget* parent = nullptr);

protected:
void keyPressEvent(QKeyEvent* event) override;
};

0 comments on commit 4085793

Please sign in to comment.