680
702
} else if (msgBox.clickedButton() == exitButton) {
709
QString buildWhatsThis(QString title, QString text) {
710
return QString("%1\n\n%2").arg(title.replace("&", ""), text);
686
713
/** initializes all QActions of the application */
687
714
void MixxxApp::initActions()
689
m_pFileLoadSongPlayer1 = new QAction(tr("Load Song (Player &1)..."), this);
716
QString loadTrackText = tr("Load track to Deck %1");
717
QString loadTrackStatusText = tr("Loads a track in deck %1");
718
QString openText = tr("Open");
720
QString player1LoadStatusText = loadTrackStatusText.arg(QString::number(1));
721
m_pFileLoadSongPlayer1 = new QAction(loadTrackText.arg(QString::number(1)), this);
690
722
m_pFileLoadSongPlayer1->setShortcut(tr("Ctrl+O"));
691
723
m_pFileLoadSongPlayer1->setShortcutContext(Qt::ApplicationShortcut);
724
m_pFileLoadSongPlayer1->setStatusTip(player1LoadStatusText);
725
m_pFileLoadSongPlayer1->setWhatsThis(
726
buildWhatsThis(openText, player1LoadStatusText));
727
connect(m_pFileLoadSongPlayer1, SIGNAL(triggered()),
728
this, SLOT(slotFileLoadSongPlayer1()));
693
m_pFileLoadSongPlayer2 = new QAction(tr("Load Song (Player &2)..."), this);
730
QString player2LoadStatusText = loadTrackStatusText.arg(QString::number(2));
731
m_pFileLoadSongPlayer2 = new QAction(loadTrackText.arg(QString::number(2)), this);
694
732
m_pFileLoadSongPlayer2->setShortcut(tr("Ctrl+Shift+O"));
695
733
m_pFileLoadSongPlayer2->setShortcutContext(Qt::ApplicationShortcut);
734
m_pFileLoadSongPlayer2->setStatusTip(player2LoadStatusText);
735
m_pFileLoadSongPlayer2->setWhatsThis(
736
buildWhatsThis(openText, player2LoadStatusText));
737
connect(m_pFileLoadSongPlayer2, SIGNAL(triggered()),
738
this, SLOT(slotFileLoadSongPlayer2()));
697
m_pFileQuit = new QAction(tr("&Exit"), this);
740
QString quitTitle = tr("&Exit");
741
QString quitText = tr("Quits Mixxx");
742
m_pFileQuit = new QAction(quitTitle, this);
698
743
m_pFileQuit->setShortcut(tr("Ctrl+Q"));
699
744
m_pFileQuit->setShortcutContext(Qt::ApplicationShortcut);
701
m_pLibraryRescan = new QAction(tr("&Rescan Library"), this);
703
m_pPlaylistsNew = new QAction(tr("Add &new playlist"), this);
745
m_pFileQuit->setStatusTip(quitText);
746
m_pFileQuit->setWhatsThis(buildWhatsThis(quitTitle, quitText));
747
connect(m_pFileQuit, SIGNAL(triggered()), this, SLOT(slotFileQuit()));
749
QString rescanTitle = tr("&Rescan Library");
750
QString rescanText = tr("Rescans library folders for changes to tracks.");
751
m_pLibraryRescan = new QAction(rescanTitle, this);
752
m_pLibraryRescan->setStatusTip(rescanText);
753
m_pLibraryRescan->setWhatsThis(buildWhatsThis(rescanTitle, rescanText));
754
m_pLibraryRescan->setCheckable(false);
755
connect(m_pLibraryRescan, SIGNAL(triggered()),
756
this, SLOT(slotScanLibrary()));
757
connect(m_pLibraryScanner, SIGNAL(scanFinished()),
758
this, SLOT(slotEnableRescanLibraryAction()));
760
QString createPlaylistTitle = tr("Add &new playlist");
761
QString createPlaylistText = tr("Create a new playlist");
762
m_pPlaylistsNew = new QAction(createPlaylistTitle, this);
704
763
m_pPlaylistsNew->setShortcut(tr("Ctrl+N"));
705
764
m_pPlaylistsNew->setShortcutContext(Qt::ApplicationShortcut);
765
m_pPlaylistsNew->setStatusTip(createPlaylistText);
766
m_pPlaylistsNew->setWhatsThis(buildWhatsThis(createPlaylistTitle, createPlaylistText));
767
connect(m_pPlaylistsNew, SIGNAL(triggered()),
768
m_pLibrary, SLOT(slotCreatePlaylist()));
707
m_pCratesNew = new QAction(tr("Add new &crate"), this);
770
QString createCrateTitle = tr("Add new &crate");
771
QString createCrateText = tr("Create a new crate");
772
m_pCratesNew = new QAction(createCrateTitle, this);
708
773
m_pCratesNew->setShortcut(tr("Ctrl+C"));
709
774
m_pCratesNew->setShortcutContext(Qt::ApplicationShortcut);
711
m_pPlaylistsImport = new QAction(tr("&Import playlist"), this);
712
m_pPlaylistsImport->setShortcut(tr("Ctrl+I"));
713
m_pPlaylistsImport->setShortcutContext(Qt::ApplicationShortcut);
715
m_pOptionsFullScreen = new QAction(tr("&Full Screen"), this);
775
m_pCratesNew->setStatusTip(createCrateText);
776
m_pCratesNew->setWhatsThis(buildWhatsThis(createCrateTitle, createCrateText));
777
connect(m_pCratesNew, SIGNAL(triggered()),
778
m_pLibrary, SLOT(slotCreateCrate()));
780
QString fullScreenTitle = tr("&Full Screen");
781
QString fullScreenText = tr("Display Mixxx using the full screen");
782
m_pOptionsFullScreen = new QAction(fullScreenTitle, this);
718
784
m_pOptionsFullScreen->setShortcut(tr("Ctrl+Shift+F"));
720
786
m_pOptionsFullScreen->setShortcut(tr("F11"));
723
788
m_pOptionsFullScreen->setShortcutContext(Qt::ApplicationShortcut);
724
789
// QShortcut * shortcut = new QShortcut(QKeySequence(tr("Esc")), this);
725
790
// connect(shortcut, SIGNAL(triggered()), this, SLOT(slotQuitFullScreen()));
727
m_pOptionsPreferences = new QAction(tr("&Preferences"), this);
791
m_pOptionsFullScreen->setCheckable(true);
792
m_pOptionsFullScreen->setChecked(false);
793
m_pOptionsFullScreen->setStatusTip(fullScreenText);
794
m_pOptionsFullScreen->setWhatsThis(buildWhatsThis(fullScreenTitle, fullScreenText));
795
connect(m_pOptionsFullScreen, SIGNAL(toggled(bool)),
796
this, SLOT(slotOptionsFullScreen(bool)));
798
QString keyboardShortcutTitle = tr("Enable &keyboard shortcuts");
799
QString keyboardShortcutText = tr("Toggles keyboard shortcuts on or off");
800
bool keyboardShortcutsEnabled = m_pConfig->getValueString(
801
ConfigKey("[Keyboard]", "Enabled")) == "1";
802
m_pOptionsKeyboard = new QAction(keyboardShortcutTitle, this);
803
m_pOptionsKeyboard->setShortcut(tr("Ctrl+`"));
804
m_pOptionsKeyboard->setShortcutContext(Qt::ApplicationShortcut);
805
m_pOptionsKeyboard->setCheckable(true);
806
m_pOptionsKeyboard->setChecked(keyboardShortcutsEnabled);
807
m_pOptionsKeyboard->setStatusTip(keyboardShortcutText);
808
m_pOptionsKeyboard->setWhatsThis(buildWhatsThis(keyboardShortcutTitle, keyboardShortcutText));
809
connect(m_pOptionsKeyboard, SIGNAL(toggled(bool)),
810
this, SLOT(slotOptionsKeyboard(bool)));
812
QString preferencesTitle = tr("&Preferences");
813
QString preferencesText = tr("Change Mixxx settings (e.g. playback, MIDI, controls)");
814
m_pOptionsPreferences = new QAction(preferencesTitle, this);
728
815
m_pOptionsPreferences->setShortcut(tr("Ctrl+P"));
729
816
m_pOptionsPreferences->setShortcutContext(Qt::ApplicationShortcut);
731
m_pHelpAboutApp = new QAction(tr("&About"), this);
732
m_pHelpSupport = new QAction(tr("&Community Support"), this);
733
m_pHelpManual = new QAction(tr("&User Manual"), this);
734
m_pHelpFeedback = new QAction(tr("Send Us &Feedback"), this);
735
m_pHelpTranslation = new QAction(tr("&Translate this application"), this);
817
m_pOptionsPreferences->setStatusTip(preferencesText);
818
m_pOptionsPreferences->setWhatsThis(buildWhatsThis(preferencesTitle, preferencesText));
819
connect(m_pOptionsPreferences, SIGNAL(triggered()),
820
this, SLOT(slotOptionsPreferences()));
822
QString aboutTitle = tr("&About");
823
QString aboutText = tr("About the application");
824
m_pHelpAboutApp = new QAction(aboutTitle, this);
825
m_pHelpAboutApp->setStatusTip(aboutText);
826
m_pHelpAboutApp->setWhatsThis(buildWhatsThis(aboutTitle, aboutText));
827
connect(m_pHelpAboutApp, SIGNAL(triggered()),
828
this, SLOT(slotHelpAbout()));
830
QString supportTitle = tr("&Community Support");
831
QString supportText = tr("Get help with Mixxx");
832
m_pHelpSupport = new QAction(supportTitle, this);
833
m_pHelpSupport->setStatusTip(supportText);
834
m_pHelpSupport->setWhatsThis(buildWhatsThis(supportTitle, supportText));
835
connect(m_pHelpSupport, SIGNAL(triggered()), this, SLOT(slotHelpSupport()));
837
QString manualTitle = tr("&User Manual");
838
QString manualText = tr("Read the Mixxx user manual.");
839
m_pHelpManual = new QAction(manualTitle, this);
840
m_pHelpManual->setStatusTip(manualText);
841
m_pHelpManual->setWhatsThis(buildWhatsThis(manualTitle, manualText));
842
connect(m_pHelpManual, SIGNAL(triggered()), this, SLOT(slotHelpManual()));
844
QString feedbackTitle = tr("Send Us &Feedback");
845
QString feedbackText = tr("Send feedback to the Mixxx team.");
846
m_pHelpFeedback = new QAction(feedbackTitle, this);
847
m_pHelpFeedback->setStatusTip(feedbackText);
848
m_pHelpFeedback->setWhatsThis(buildWhatsThis(feedbackTitle, feedbackText));
849
connect(m_pHelpFeedback, SIGNAL(triggered()), this, SLOT(slotHelpFeedback()));
851
QString translateTitle = tr("&Translate this application");
852
QString translateText = tr("Help translate this application into your language.");
853
m_pHelpTranslation = new QAction(translateTitle, this);
854
m_pHelpTranslation->setStatusTip(translateText);
855
m_pHelpTranslation->setWhatsThis(buildWhatsThis(translateTitle, translateText));
856
connect(m_pHelpTranslation, SIGNAL(triggered()), this, SLOT(slotHelpTranslation()));
737
858
#ifdef __VINYLCONTROL__
738
m_pOptionsVinylControl = new QAction(tr("Enable Vinyl Control &1"), this);
859
QString vinylControlText = tr("Use timecoded vinyls on external turntables to control Mixxx");
860
QString vinylControlTitle1 = tr("Enable Vinyl Control &1");
861
QString vinylControlTitle2 = tr("Enable Vinyl Control &2");
863
m_pOptionsVinylControl = new QAction(vinylControlTitle1, this);
739
864
m_pOptionsVinylControl->setShortcut(tr("Ctrl+Y"));
740
865
m_pOptionsVinylControl->setShortcutContext(Qt::ApplicationShortcut);
742
m_pOptionsVinylControl2 = new QAction(tr("Enable Vinyl Control &2"), this);
743
m_pOptionsVinylControl2->setShortcut(tr("Ctrl+U"));
744
m_pOptionsVinylControl2->setShortcutContext(Qt::ApplicationShortcut);
748
m_pOptionsShoutcast = new QAction(tr("Enable live &broadcasting"), this);
749
m_pOptionsShoutcast->setShortcut(tr("Ctrl+L"));
750
m_pOptionsShoutcast->setShortcutContext(Qt::ApplicationShortcut);
753
m_pOptionsRecord = new QAction(tr("&Record Mix"), this);
754
m_pOptionsRecord->setShortcut(tr("Ctrl+R"));
755
m_pOptionsRecord->setShortcutContext(Qt::ApplicationShortcut);
757
m_pFileLoadSongPlayer1->setStatusTip(tr("Opens a song in player 1"));
758
m_pFileLoadSongPlayer1->setWhatsThis(
759
tr("Open\n\nOpens a song in player 1"));
760
connect(m_pFileLoadSongPlayer1, SIGNAL(triggered()),
761
this, SLOT(slotFileLoadSongPlayer1()));
763
m_pFileLoadSongPlayer2->setStatusTip(tr("Opens a song in player 2"));
764
m_pFileLoadSongPlayer2->setWhatsThis(
765
tr("Open\n\nOpens a song in player 2"));
766
connect(m_pFileLoadSongPlayer2, SIGNAL(triggered()),
767
this, SLOT(slotFileLoadSongPlayer2()));
769
m_pFileQuit->setStatusTip(tr("Quits the application"));
770
m_pFileQuit->setWhatsThis(tr("Exit\n\nQuits the application"));
771
connect(m_pFileQuit, SIGNAL(triggered()), this, SLOT(slotFileQuit()));
773
m_pLibraryRescan->setStatusTip(tr("Rescans the song library"));
774
m_pLibraryRescan->setWhatsThis(
775
tr("Rescan library\n\nRescans the song library"));
776
m_pLibraryRescan->setCheckable(false);
777
connect(m_pLibraryRescan, SIGNAL(triggered()),
778
this, SLOT(slotScanLibrary()));
779
connect(m_pLibraryScanner, SIGNAL(scanFinished()),
780
this, SLOT(slotEnableRescanLibraryAction()));
782
m_pPlaylistsNew->setStatusTip(tr("Create a new playlist"));
783
m_pPlaylistsNew->setWhatsThis(tr("New playlist\n\nCreate a new playlist"));
784
connect(m_pPlaylistsNew, SIGNAL(triggered()),
785
m_pLibrary, SLOT(slotCreatePlaylist()));
787
m_pCratesNew->setStatusTip(tr("Create a new crate"));
788
m_pCratesNew->setWhatsThis(tr("New crate\n\nCreate a new crate."));
789
connect(m_pCratesNew, SIGNAL(triggered()),
790
m_pLibrary, SLOT(slotCreateCrate()));
792
m_pPlaylistsImport->setStatusTip(tr("Import playlist"));
793
m_pPlaylistsImport->setWhatsThis(tr("Import playlist"));
794
//connect(playlistsImport, SIGNAL(triggered()),
795
// m_pTrack, SLOT(slotImportPlaylist()));
796
//FIXME: Disabled due to library rework
798
#ifdef __VINYLCONTROL__
799
866
// Either check or uncheck the vinyl control menu item depending on what
800
867
// it was saved as.
801
868
m_pOptionsVinylControl->setCheckable(true);
802
869
m_pOptionsVinylControl->setChecked(false);
803
m_pOptionsVinylControl->setStatusTip(tr("Activate Vinyl Control"));
804
m_pOptionsVinylControl->setWhatsThis(
805
tr("Use timecoded vinyls on external turntables to control Mixxx"));
870
m_pOptionsVinylControl->setStatusTip(vinylControlText);
871
m_pOptionsVinylControl->setWhatsThis(buildWhatsThis(vinylControlTitle1, vinylControlText));
806
872
connect(m_pOptionsVinylControl, SIGNAL(toggled(bool)), this,
807
873
SLOT(slotCheckboxVinylControl(bool)));
809
ControlObjectThreadMain* enabled1 = new ControlObjectThreadMain(
874
ControlObjectThreadMain* enabled1 = new ControlObjectThreadMain(
810
875
ControlObject::getControl(ConfigKey("[Channel1]", "vinylcontrol_enabled")),this);
811
876
connect(enabled1, SIGNAL(valueChanged(double)), this,
812
877
SLOT(slotControlVinylControl(double)));
879
m_pOptionsVinylControl2 = new QAction(vinylControlTitle2, this);
880
m_pOptionsVinylControl2->setShortcut(tr("Ctrl+U"));
881
m_pOptionsVinylControl2->setShortcutContext(Qt::ApplicationShortcut);
814
882
m_pOptionsVinylControl2->setCheckable(true);
815
883
m_pOptionsVinylControl2->setChecked(false);
816
m_pOptionsVinylControl2->setStatusTip(tr("Activate Vinyl Control"));
817
m_pOptionsVinylControl2->setWhatsThis(
818
tr("Use timecoded vinyls on external turntables to control Mixxx"));
884
m_pOptionsVinylControl2->setStatusTip(vinylControlText);
885
m_pOptionsVinylControl2->setWhatsThis(buildWhatsThis(vinylControlTitle2, vinylControlText));
819
886
connect(m_pOptionsVinylControl2, SIGNAL(toggled(bool)), this,
820
887
SLOT(slotCheckboxVinylControl2(bool)));
828
895
#ifdef __SHOUTCAST__
896
QString shoutcastTitle = tr("Enable live &broadcasting");
897
QString shoutcastText = tr("Stream your mixes to a shoutcast or icecast server");
898
m_pOptionsShoutcast = new QAction(shoutcastTitle, this);
899
m_pOptionsShoutcast->setShortcut(tr("Ctrl+L"));
900
m_pOptionsShoutcast->setShortcutContext(Qt::ApplicationShortcut);
829
901
m_pOptionsShoutcast->setCheckable(true);
830
902
bool broadcastEnabled =
831
903
(m_pConfig->getValueString(ConfigKey("[Shoutcast]", "enabled"))
834
906
m_pOptionsShoutcast->setChecked(broadcastEnabled);
836
m_pOptionsShoutcast->setStatusTip(tr("Activate live broadcasting"));
837
m_pOptionsShoutcast->setWhatsThis(
838
tr("Stream your mixes to a shoutcast or icecast server"));
907
m_pOptionsShoutcast->setStatusTip(shoutcastText);
908
m_pOptionsShoutcast->setWhatsThis(buildWhatsThis(shoutcastTitle, shoutcastText));
840
909
connect(m_pOptionsShoutcast, SIGNAL(toggled(bool)),
841
910
this, SLOT(slotOptionsShoutcast(bool)));
913
QString recordTitle = tr("&Record Mix");
914
QString recordText = tr("Record your mix to a file");
915
m_pOptionsRecord = new QAction(recordTitle, this);
916
m_pOptionsRecord->setShortcut(tr("Ctrl+R"));
917
m_pOptionsRecord->setShortcutContext(Qt::ApplicationShortcut);
844
918
m_pOptionsRecord->setCheckable(true);
845
m_pOptionsRecord->setStatusTip(tr("Start Recording your Mix"));
846
m_pOptionsRecord->setWhatsThis(tr("Record your mix to a file"));
919
m_pOptionsRecord->setStatusTip(recordText);
920
m_pOptionsRecord->setWhatsThis(buildWhatsThis(recordTitle, recordText));
847
921
connect(m_pOptionsRecord, SIGNAL(toggled(bool)),
848
922
this, SLOT(slotOptionsRecord(bool)));
850
m_pOptionsFullScreen->setCheckable(true);
851
m_pOptionsFullScreen->setChecked(false);
852
m_pOptionsFullScreen->setStatusTip(tr("Full Screen"));
853
m_pOptionsFullScreen->setWhatsThis(
854
tr("Display Mixxx using the full screen"));
855
connect(m_pOptionsFullScreen, SIGNAL(toggled(bool)),
856
this, SLOT(slotOptionsFullScreen(bool)));
858
m_pOptionsPreferences->setStatusTip(tr("Preferences"));
859
m_pOptionsPreferences->setWhatsThis(
860
tr("Preferences\nPlayback and MIDI preferences"));
861
connect(m_pOptionsPreferences, SIGNAL(triggered()),
862
this, SLOT(slotOptionsPreferences()));
864
m_pHelpSupport->setStatusTip(tr("Support..."));
865
m_pHelpSupport->setWhatsThis(tr("Support\n\nGet help with Mixxx"));
866
connect(m_pHelpSupport, SIGNAL(triggered()), this, SLOT(slotHelpSupport()));
868
m_pHelpManual->setStatusTip(tr("Read the Mixxx user manual."));
869
m_pHelpManual->setWhatsThis(tr("Support\n\nRead the Mixxx user manual."));
870
connect(m_pHelpManual, SIGNAL(triggered()), this, SLOT(slotHelpManual()));
872
m_pHelpFeedback->setStatusTip(tr("Send feedback to the Mixxx team."));
873
m_pHelpFeedback->setWhatsThis(tr("Support\n\nSend feedback to the Mixxx team."));
874
connect(m_pHelpFeedback, SIGNAL(triggered()), this, SLOT(slotHelpFeedback()));
876
m_pHelpTranslation->setStatusTip(tr("Help translate this application into your language."));
877
m_pHelpTranslation->setWhatsThis(tr("Support\n\nHelp translate this application into your language."));
878
connect(m_pHelpTranslation, SIGNAL(triggered()), this, SLOT(slotHelpTranslation()));
880
m_pHelpAboutApp->setStatusTip(tr("About the application"));
881
m_pHelpAboutApp->setWhatsThis(tr("About\n\nAbout the application"));
882
connect(m_pHelpAboutApp, SIGNAL(triggered()), this, SLOT(slotHelpAbout()));
885
925
void MixxxApp::initMenuBar()
888
m_pFileMenu = new QMenu(tr("&File"), menuBar());
889
m_pOptionsMenu = new QMenu(tr("&Options"), menuBar());
890
m_pLibraryMenu = new QMenu(tr("&Library"),menuBar());
891
m_pViewMenu = new QMenu(tr("&View"), menuBar());
892
m_pHelpMenu = new QMenu(tr("&Help"), menuBar());
928
m_pFileMenu = new QMenu(tr("&File"), menuBar());
929
m_pOptionsMenu = new QMenu(tr("&Options"), menuBar());
930
m_pLibraryMenu = new QMenu(tr("&Library"),menuBar());
931
m_pViewMenu = new QMenu(tr("&View"), menuBar());
932
m_pHelpMenu = new QMenu(tr("&Help"), menuBar());
893
933
connect(m_pOptionsMenu, SIGNAL(aboutToShow()),
894
934
this, SLOT(slotOptionsMenuShow()));
895
935
// menuBar entry fileMenu
943
982
m_NativeMenuBarSupport = menuBar()->isNativeMenuBar();
946
void MixxxApp::slotlibraryMenuAboutToShow(){
949
bool MixxxApp::queryExit()
951
int exit=QMessageBox::information(this, tr("Quit..."),
952
tr("Do your really want to quit?"),
953
QMessageBox::Ok, QMessageBox::Cancel);
965
void MixxxApp::slotFileLoadSongPlayer1()
967
ControlObject* play =
968
ControlObject::getControl(ConfigKey("[Channel1]", "play"));
970
if (play->get() == 1.)
972
int ret = QMessageBox::warning(this, tr("Mixxx"),
973
tr("Player 1 is currently playing a song.\n"
974
"Are you sure you want to load a new song?"),
975
QMessageBox::Yes | QMessageBox::No,
978
if (ret != QMessageBox::Yes)
983
QFileDialog::getOpenFileName(
985
tr("Load Song into Player 1"),
986
m_pConfig->getValueString(ConfigKey("[Playlist]", "Directory")),
987
QString("Audio (%1)")
988
.arg(SoundSourceProxy::supportedFileExtensionsString()));
990
if (s != QString::null) {
991
m_pPlayerManager->slotLoadToDeck(s, 1);
995
void MixxxApp::slotFileLoadSongPlayer2()
997
ControlObject* play =
998
ControlObject::getControl(ConfigKey("[Channel2]", "play"));
1000
if (play->get() == 1.)
1002
int ret = QMessageBox::warning(this, tr("Mixxx"),
1003
tr("Player 2 is currently playing a song.\n"
1004
"Are you sure you want to load a new song?"),
1005
QMessageBox::Yes | QMessageBox::No,
1008
if (ret != QMessageBox::Yes)
1013
QFileDialog::getOpenFileName(
1015
tr("Load Song into Player 2"),
1016
m_pConfig->getValueString(ConfigKey("[Playlist]", "Directory")),
1017
QString("Audio (%1)")
1018
.arg(SoundSourceProxy::supportedFileExtensionsString()));
1020
if (s != QString::null) {
1021
m_pPlayerManager->slotLoadToDeck(s, 2);
985
void MixxxApp::slotFileLoadSongPlayer(int deck) {
986
QString group = m_pPlayerManager->groupForDeck(deck-1);
987
ControlObject* play =
988
ControlObject::getControl(ConfigKey(group, "play"));
990
QString loadTrackText = tr("Load track to Deck %1").arg(QString::number(deck));
991
QString deckWarningMessage = tr("Deck %1 is currently playing a track.")
992
.arg(QString::number(deck));
993
QString areYouSure = tr("Are you sure you want to load a new track?");
995
if (play->get() == 1.) {
996
int ret = QMessageBox::warning(this, tr("Mixxx"),
997
deckWarningMessage + "\n" + areYouSure,
998
QMessageBox::Yes | QMessageBox::No,
1001
if (ret != QMessageBox::Yes)
1006
QFileDialog::getOpenFileName(
1009
m_pConfig->getValueString(ConfigKey("[Playlist]", "Directory")),
1010
QString("Audio (%1)")
1011
.arg(SoundSourceProxy::supportedFileExtensionsString()));
1014
m_pPlayerManager->slotLoadToDeck(s, deck);
1018
void MixxxApp::slotFileLoadSongPlayer1() {
1019
slotFileLoadSongPlayer(1);
1022
void MixxxApp::slotFileLoadSongPlayer2() {
1023
slotFileLoadSongPlayer(1);
1025
1026
void MixxxApp::slotFileQuit()