Use custom Wave files instead of Beep(), as the Beep() function doesn't work reliably on all platforms.
This commit is contained in:
parent
108c167767
commit
f60515ca50
@ -112,6 +112,8 @@ IDR_WAVE_ABORTED WAVE "res\\sounds\\aborted.wav"
|
|||||||
IDR_WAVE_WHAMMY WAVE "res\\sounds\\whammy.wav"
|
IDR_WAVE_WHAMMY WAVE "res\\sounds\\whammy.wav"
|
||||||
IDR_WAVE_WOOHOO WAVE "res\\sounds\\woohoo.wav"
|
IDR_WAVE_WOOHOO WAVE "res\\sounds\\woohoo.wav"
|
||||||
IDR_WAVE_SHUTDOWN WAVE "res\\sounds\\shutdown.wav"
|
IDR_WAVE_SHUTDOWN WAVE "res\\sounds\\shutdown.wav"
|
||||||
|
IDR_WAVE_BEEP WAVE "res\\sounds\\beep.wav"
|
||||||
|
IDR_WAVE_BEEP_LONG WAVE "res\\sounds\\beep2.wav"
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
|
BIN
res/sounds/beep.wav
Normal file
BIN
res/sounds/beep.wav
Normal file
Binary file not shown.
BIN
res/sounds/beep2.wav
Normal file
BIN
res/sounds/beep2.wav
Normal file
Binary file not shown.
@ -25,7 +25,7 @@
|
|||||||
#define VER_LAMEXP_MAJOR 4
|
#define VER_LAMEXP_MAJOR 4
|
||||||
#define VER_LAMEXP_MINOR_HI 0
|
#define VER_LAMEXP_MINOR_HI 0
|
||||||
#define VER_LAMEXP_MINOR_LO 1
|
#define VER_LAMEXP_MINOR_LO 1
|
||||||
#define VER_LAMEXP_BUILD 372
|
#define VER_LAMEXP_BUILD 373
|
||||||
#define VER_LAMEXP_SUFFIX Beta-9
|
#define VER_LAMEXP_SUFFIX Beta-9
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -402,8 +402,11 @@ void ProcessingDialog::doneEncoding(void)
|
|||||||
|
|
||||||
if(!m_userAborted && checkBox_shutdownComputer->isChecked())
|
if(!m_userAborted && checkBox_shutdownComputer->isChecked())
|
||||||
{
|
{
|
||||||
qWarning("Initiating shutdown sequence!");
|
if(shutdownComputer())
|
||||||
shutdownComputer();
|
{
|
||||||
|
m_shutdownFlag = true;
|
||||||
|
accept();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -711,12 +714,14 @@ void ProcessingDialog::systemTrayActivated(QSystemTrayIcon::ActivationReason rea
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProcessingDialog::shutdownComputer(void)
|
bool ProcessingDialog::shutdownComputer(void)
|
||||||
{
|
{
|
||||||
const int iTimeout = 30;
|
const int iTimeout = 30;
|
||||||
const Qt::WindowFlags flags = Qt::WindowStaysOnTopHint | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::MSWindowsFixedSizeDialogHint | Qt::WindowSystemMenuHint;
|
const Qt::WindowFlags flags = Qt::WindowStaysOnTopHint | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::MSWindowsFixedSizeDialogHint | Qt::WindowSystemMenuHint;
|
||||||
const QString text = QString("%1%2%1").arg(QString().fill(' ', 18), tr("Warning: Computer will shutdown in %1 seconds..."));
|
const QString text = QString("%1%2%1").arg(QString().fill(' ', 18), tr("Warning: Computer will shutdown in %1 seconds..."));
|
||||||
|
|
||||||
|
qWarning("Initiating shutdown sequence!");
|
||||||
|
|
||||||
QProgressDialog progressDialog(text.arg(iTimeout), tr("Cancel Shutdown"), 0, iTimeout + 1, this, flags);
|
QProgressDialog progressDialog(text.arg(iTimeout), tr("Cancel Shutdown"), 0, iTimeout + 1, this, flags);
|
||||||
progressDialog.setModal(true);
|
progressDialog.setModal(true);
|
||||||
progressDialog.setAutoClose(false);
|
progressDialog.setAutoClose(false);
|
||||||
@ -728,7 +733,9 @@ void ProcessingDialog::shutdownComputer(void)
|
|||||||
|
|
||||||
if(m_settings->soundsEnabled())
|
if(m_settings->soundsEnabled())
|
||||||
{
|
{
|
||||||
|
QApplication::setOverrideCursor(Qt::WaitCursor);
|
||||||
PlaySound(MAKEINTRESOURCE(IDR_WAVE_SHUTDOWN), GetModuleHandle(NULL), SND_RESOURCE | SND_SYNC);
|
PlaySound(MAKEINTRESOURCE(IDR_WAVE_SHUTDOWN), GetModuleHandle(NULL), SND_RESOURCE | SND_SYNC);
|
||||||
|
QApplication::restoreOverrideCursor();
|
||||||
}
|
}
|
||||||
|
|
||||||
QTimer timer;
|
QTimer timer;
|
||||||
@ -742,19 +749,18 @@ void ProcessingDialog::shutdownComputer(void)
|
|||||||
for(int i = 1; i <= iTimeout; i++)
|
for(int i = 1; i <= iTimeout; i++)
|
||||||
{
|
{
|
||||||
eventLoop.exec();
|
eventLoop.exec();
|
||||||
if(progressDialog.wasCanceled()) break;
|
if(progressDialog.wasCanceled())
|
||||||
|
{
|
||||||
|
progressDialog.close();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
progressDialog.setValue(i+1);
|
progressDialog.setValue(i+1);
|
||||||
progressDialog.setLabelText(text.arg(iTimeout-i));
|
progressDialog.setLabelText(text.arg(iTimeout-i));
|
||||||
if(iTimeout-i == 3) progressDialog.setCancelButtonText(QString());
|
if(iTimeout-i == 3) progressDialog.setCancelButtonText(QString());
|
||||||
QApplication::processEvents();
|
QApplication::processEvents();
|
||||||
Beep(4000, (i < iTimeout) ? 100 : 1000);
|
PlaySound(MAKEINTRESOURCE((i < iTimeout) ? IDR_WAVE_BEEP : IDR_WAVE_BEEP_LONG), GetModuleHandle(NULL), SND_RESOURCE | SND_SYNC);
|
||||||
}
|
|
||||||
|
|
||||||
if(!progressDialog.wasCanceled())
|
|
||||||
{
|
|
||||||
m_shutdownFlag = true;
|
|
||||||
accept();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
progressDialog.close();
|
progressDialog.close();
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,7 @@ private:
|
|||||||
void startNextJob(void);
|
void startNextJob(void);
|
||||||
AudioFileModel updateMetaInfo(const AudioFileModel &audioFile);
|
AudioFileModel updateMetaInfo(const AudioFileModel &audioFile);
|
||||||
void writePlayList(void);
|
void writePlayList(void);
|
||||||
void shutdownComputer(void);
|
bool shutdownComputer(void);
|
||||||
|
|
||||||
QList<AudioFileModel> m_pendingJobs;
|
QList<AudioFileModel> m_pendingJobs;
|
||||||
SettingsModel *m_settings;
|
SettingsModel *m_settings;
|
||||||
|
@ -162,7 +162,7 @@ int lamexp_main(int argc, char* argv[])
|
|||||||
//Shotdown computer
|
//Shotdown computer
|
||||||
if(bShutdown)
|
if(bShutdown)
|
||||||
{
|
{
|
||||||
if(!lamexp_shutdown_computer("LameXP planned computer shutdown!", 12))
|
if(!lamexp_shutdown_computer(QApplication::applicationFilePath(), 12))
|
||||||
{
|
{
|
||||||
QMessageBox messageBox(QMessageBox::Critical, "LameXP", "Sorry, LameXP was unable to shutdown your computer!", QMessageBox::NoButton, NULL, Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint | Qt::WindowStaysOnTopHint);
|
QMessageBox messageBox(QMessageBox::Critical, "LameXP", "Sorry, LameXP was unable to shutdown your computer!", QMessageBox::NoButton, NULL, Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint | Qt::WindowStaysOnTopHint);
|
||||||
}
|
}
|
||||||
|
@ -33,6 +33,8 @@
|
|||||||
#define IDR_WAVE_WHAMMY 670
|
#define IDR_WAVE_WHAMMY 670
|
||||||
#define IDR_WAVE_WOOHOO 671
|
#define IDR_WAVE_WOOHOO 671
|
||||||
#define IDR_WAVE_SHUTDOWN 672
|
#define IDR_WAVE_SHUTDOWN 672
|
||||||
|
#define IDR_WAVE_BEEP 673
|
||||||
|
#define IDR_WAVE_BEEP_LONG 674
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Next default values for new objects
|
* Next default values for new objects
|
||||||
|
Loading…
Reference in New Issue
Block a user