diff --git a/data/themes/default/discard.png b/data/themes/default/discard.png new file mode 100644 index 000000000..6dec18588 Binary files /dev/null and b/data/themes/default/discard.png differ diff --git a/data/themes/default/ignore.png b/data/themes/default/ignore.png new file mode 100644 index 000000000..9e0e3f876 Binary files /dev/null and b/data/themes/default/ignore.png differ diff --git a/data/themes/default/recover.png b/data/themes/default/recover.png new file mode 100755 index 000000000..42d8be333 Binary files /dev/null and b/data/themes/default/recover.png differ diff --git a/src/core/main.cpp b/src/core/main.cpp index 8b4f7b888..b04d19f51 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -718,10 +718,6 @@ int main( int argc, char * * argv ) " %6" " %7" " " - " " - " %8" - " %9" - " " "" "" ).arg( MainWindow::tr( "There is a recovery file present. " @@ -738,35 +734,49 @@ int main( int argc, char * * argv ) "present recover file from being overwritten." ), MainWindow::tr( "Discard" ), MainWindow::tr( "Launch a default session and delete " - "the restored files. This is not reversible." ), - MainWindow::tr( "Quit" ), - MainWindow::tr( "Shut down LMMS with no further action." ) + "the restored files. This is not reversible." ) ) ); mb.setIcon( QMessageBox::Warning ); mb.setWindowIcon( embed::getIconPixmap( "icon" ) ); + mb.setWindowFlags( Qt::WindowCloseButtonHint ); - mb.setStandardButtons( QMessageBox::Ok | - QMessageBox::Discard ); - - mb.setButtonText( QMessageBox::Ok, - MainWindow::tr( "Recover" ) ); - - QAbstractButton * recover; - QAbstractButton * discard; + QPushButton * recover; + QPushButton * discard; QPushButton * ignore; QPushButton * exit; + + #if QT_VERSION >= 0x050000 + // setting all buttons to the same roles allows us + // to have a custom layout + discard = mb.addButton( MainWindow::tr( "Discard" ), + QMessageBox::AcceptRole ); + ignore = mb.addButton( MainWindow::tr( "Ignore" ), + QMessageBox::AcceptRole ); + recover = mb.addButton( MainWindow::tr( "Recover" ), + QMessageBox::AcceptRole ); - recover = mb.QMessageBox::button( QMessageBox::Ok ); - discard = mb.QMessageBox::button( QMessageBox::Discard ); - ignore = mb.addButton( MainWindow::tr( "Ignore" ), - QMessageBox::NoRole ); - ignore->setIcon( embed::getIconPixmap( "no_entry" ) ); - exit = mb.addButton( MainWindow::tr( "Exit" ), - QMessageBox::RejectRole ); - exit->setIcon( embed::getIconPixmap( "exit" ) ); + # else + // in qt4 the button order is reversed + recover = mb.addButton( MainWindow::tr( "Recover" ), + QMessageBox::AcceptRole ); + ignore = mb.addButton( MainWindow::tr( "Ignore" ), + QMessageBox::AcceptRole ); + discard = mb.addButton( MainWindow::tr( "Discard" ), + QMessageBox::AcceptRole ); - mb.setDefaultButton( QMessageBox::Ok ); + #endif + + // have a hidden exit button + exit = mb.addButton( "", QMessageBox::RejectRole); + exit->setVisible(false); + + // set icons + recover->setIcon( embed::getIconPixmap( "recover" ) ); + discard->setIcon( embed::getIconPixmap( "discard" ) ); + ignore->setIcon( embed::getIconPixmap( "ignore" ) ); + + mb.setDefaultButton( recover ); mb.setEscapeButton( exit ); mb.exec(); @@ -774,7 +784,7 @@ int main( int argc, char * * argv ) { gui->mainWindow()->sessionCleanup(); } - else if( mb.clickedButton() == recover ) // ::Recover + else if( mb.clickedButton() == recover ) // Recover { fileToLoad = recoveryFile; gui->mainWindow()->setSession( MainWindow::SessionState::Recover );