]> git.sesse.net Git - nageru/blobdiff - mainwindow.cpp
Fix some crashes.
[nageru] / mainwindow.cpp
index 84231b743a0734cf91c143a9f99a16c11b45f157..0b32e3d49840ff0c4f5a7f73f336e57bfc1f8be5 100644 (file)
@@ -92,6 +92,8 @@ void MainWindow::queue_clicked()
 
 void MainWindow::preview_clicked()
 {
+       if (cliplist_clips->empty()) return;
+
        QItemSelectionModel *selected = ui->clip_list->selectionModel();
        if (!selected->hasSelection()) {
                preview_player->play_clip(*cliplist_clips->back(), 0);
@@ -108,6 +110,8 @@ void MainWindow::preview_clicked()
 
 void MainWindow::play_clicked()
 {
+       if (playlist_clips->empty()) return;
+
        QItemSelectionModel *selected = ui->playlist->selectionModel();
        int row;
        if (!selected->hasSelection()) {
@@ -133,3 +137,17 @@ void MainWindow::live_player_clip_done()
                playlist_clips->set_currently_playing(-1);
        }
 }
+
+void MainWindow::resizeEvent(QResizeEvent *event)
+{
+       QMainWindow::resizeEvent(event);
+
+       // Ask for a relayout, but only after the event loop is done doing relayout
+       // on everything else.
+       QMetaObject::invokeMethod(this, "relayout", Qt::QueuedConnection);
+}
+
+void MainWindow::relayout()
+{
+       ui->live_display->setMinimumHeight(ui->live_display->width() * 9 / 16);
+}