diff --git a/src/Lib/Document/VivyDocument.cc b/src/Lib/Document/VivyDocument.cc
index be9bc9fbbf57c6cf2c35d33a9e315ca40fd429ba..2baee52bb193ae1559aea0c12460988f46eeaaba 100644
--- a/src/Lib/Document/VivyDocument.cc
+++ b/src/Lib/Document/VivyDocument.cc
@@ -86,19 +86,18 @@ VivyDocument::detectDocumentType(const QFileInfo &file, Capabilities *ableType)
     Vivy::Utils::DocumentType docType;
     bool rc = Vivy::Utils::detectDocumentType(file, &docType);
 
-    switch (docType) {
-    case Vivy::Utils::DocumentType::Video:
+    if (docType == Utils::DocumentType::Video)
         *ableType = Capabilities::VideoAble;
-        break;
-    case Vivy::Utils::DocumentType::Audio:
+
+    else if (docType == Utils::DocumentType::Audio)
         *ableType = Capabilities::AudioAble;
-        break;
-    case Vivy::Utils::DocumentType::ASS:
+
+    else if (docType == Utils::DocumentType::ASS)
         *ableType = Capabilities::AssAble;
-        break;
-    default:
+
+    // Invalid document type
+    else
         return false;
-    }
 
     return rc;
 }
diff --git a/src/UI/DocumentViews/TimingScene.cc b/src/UI/DocumentViews/TimingScene.cc
index 3c916fd0868d3364b69b0822c233357dd9667f94..e9db17e38c240717c21e814c98139e7585a80f16 100644
--- a/src/UI/DocumentViews/TimingScene.cc
+++ b/src/UI/DocumentViews/TimingScene.cc
@@ -32,36 +32,44 @@ TimingScene::TimingScene(QImage img_, quint64 soundLength_, QWidget *parent) noe
 void
 TimingScene::mousePressEvent(QGraphicsSceneMouseEvent *event) noexcept
 {
-    QPointF pos = event->scenePos();
-    fprintf(stderr, "%f,%f\n", pos.x(), pos.y());
+    QPointF pos        = event->scenePos();
+    QGraphicsItem *got = itemAt(pos, QTransform());
+    Ass::LinePtr p     = currentLine.lock();
 
-    QGraphicsItem *got;
-    if ((got = itemAt(pos, QTransform())) == nullptr || got == backgroundImg) {
-        if (auto p = currentLine.lock()) {
-            quint64 time = timeFromPos(pos.x());
-            switch (timingMode) {
-            case TimingMode::Line:
-                switch (event->button()) {
-                case Qt::LeftButton:
-                    p->setStart(time);
-                    break;
+    if (p && (got == nullptr || got == backgroundImg)) [[likely]] {
+        // Handle the different cases
+        if (timingMode == TimingMode::Line)
+            handleMousePressEventLine(event, p);
+        else if (timingMode == TimingMode::Syl)
+            handleMousePressEventSyl(event, p);
+        else if (timingMode == TimingMode::Char)
+            handleMousePressEventChar(event, p);
+    }
 
-                case Qt::RightButton:
-                    p->setEnd(time);
-                    break;
+    QGraphicsScene::mousePressEvent(event);
+}
 
-                default:
-                    break;
-                }
-                break;
+void
+TimingScene::handleMousePressEventLine(QGraphicsSceneMouseEvent *event, Ass::LinePtr p) noexcept
+{
+    QPointF pos  = event->scenePos();
+    quint64 time = timeFromPos(pos.x());
 
-            default:
-                break;
-            }
-        }
+    if (const auto &btn = event->button(); btn == Qt::LeftButton) {
+        p->setStart(time);
+    } else if (btn == Qt::RightButton) {
+        p->setEnd(time);
     }
+}
 
-    QGraphicsScene::mousePressEvent(event);
+void
+TimingScene::handleMousePressEventSyl(QGraphicsSceneMouseEvent *, Ass::LinePtr) noexcept
+{
+}
+
+void
+TimingScene::handleMousePressEventChar(QGraphicsSceneMouseEvent *, Ass::LinePtr) noexcept
+{
 }
 
 quint64
diff --git a/src/UI/DocumentViews/TimingScene.hh b/src/UI/DocumentViews/TimingScene.hh
index fba8958f33ab0587d326ccac30847254ef5d7255..02f20e90904772202d507760dbb6a119ab40ff00 100644
--- a/src/UI/DocumentViews/TimingScene.hh
+++ b/src/UI/DocumentViews/TimingScene.hh
@@ -18,7 +18,7 @@ class TimingScene final : public QGraphicsScene {
     Q_OBJECT
 
 public:
-    enum class TimingMode { Line = 0x0, Syl = 0x1, Char = 0x2 };
+    enum class TimingMode { Line = 0, Syl = (1 << 1), Char = (1 << 2) };
     Q_DECLARE_FLAGS(TimingModes, TimingMode)
 
 public:
@@ -27,7 +27,6 @@ public:
 
     explicit TimingScene(QWidget *parent = nullptr) noexcept;
     explicit TimingScene(QImage, quint64, QWidget * = nullptr) noexcept;
-    ~TimingScene() noexcept = default;
 
 private:
     QGraphicsPixmapItem *backgroundImg{ nullptr };
@@ -42,6 +41,9 @@ public:
 
 private:
     quint64 timeFromPos(qreal x);
+    void handleMousePressEventLine(QGraphicsSceneMouseEvent *, Ass::LinePtr) noexcept;
+    void handleMousePressEventSyl(QGraphicsSceneMouseEvent *, Ass::LinePtr) noexcept;
+    void handleMousePressEventChar(QGraphicsSceneMouseEvent *, Ass::LinePtr) noexcept;
 
 public slots:
 };