From 24a07702f2d363a40b29ace23dec9d02bd88b7d8 Mon Sep 17 00:00:00 2001 From: thunder2 Date: Sun, 7 Jun 2015 17:35:58 +0000 Subject: [PATCH] Some more optimizations of SoundManager git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8392 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- retroshare-gui/src/gui/SoundManager.cpp | 11 +++++---- retroshare-gui/src/gui/SoundManager.h | 23 ++++++++++--------- retroshare-gui/src/gui/chat/ChatDialog.cpp | 2 +- retroshare-gui/src/gui/notifyqt.cpp | 8 +++---- retroshare-gui/src/gui/settings/SoundPage.cpp | 16 ++++++------- .../src/gui/statusbar/SoundStatus.cpp | 2 +- retroshare-gui/src/main.cpp | 2 +- 7 files changed, 33 insertions(+), 31 deletions(-) diff --git a/retroshare-gui/src/gui/SoundManager.cpp b/retroshare-gui/src/gui/SoundManager.cpp index de6bf9117..b99dab86f 100644 --- a/retroshare-gui/src/gui/SoundManager.cpp +++ b/retroshare-gui/src/gui/SoundManager.cpp @@ -70,8 +70,9 @@ SoundManager::SoundManager() : QObject() void SoundManager::soundEvents(SoundEvents &events) { - QDir baseDir = QDir(qApp->applicationDirPath()); - baseDir.cd("sounds"); + QDir baseDir = QDir(qApp->applicationDirPath() + "/sounds"); + + events.mDefaultPath = baseDir.absolutePath(); /* add standard events */ events.addEvent(tr("Friend"), tr("Go Online"), SOUND_USER_ONLINE, QFileInfo(baseDir, "online1.wav").absoluteFilePath()); @@ -132,13 +133,13 @@ void SoundManager::initDefault() } } -void SoundManager::setMute(bool mute) +void SoundManager::setMute(bool m) { Settings->beginGroup(GROUP_MAIN); - Settings->setValue("mute", mute); + Settings->setValue("mute", m); Settings->endGroup(); - emit SoundManager::mute(mute); + emit mute(m); } bool SoundManager::isMute() diff --git a/retroshare-gui/src/gui/SoundManager.h b/retroshare-gui/src/gui/SoundManager.h index b94ac5c1a..ca6d26d65 100644 --- a/retroshare-gui/src/gui/SoundManager.h +++ b/retroshare-gui/src/gui/SoundManager.h @@ -50,6 +50,7 @@ public: void addEvent(const QString &groupName, const QString &eventName, const QString &event, const QString &defaultFilename); public: + QString mDefaultPath; QMap mEventInfos; }; @@ -58,7 +59,7 @@ class SoundManager : public QObject Q_OBJECT public slots: - void setMute(bool mute); + void setMute(bool m); signals: void mute(bool isMute); @@ -66,23 +67,23 @@ signals: public: static void create(); - void initDefault(); - QString defaultFilename(const QString &event, bool check); + static void initDefault(); + static QString defaultFilename(const QString &event, bool check); static QString convertFilename(const QString &filename); static QString realFilename(const QString &filename); - void soundEvents(SoundEvents &events); + static void soundEvents(SoundEvents &events); - bool isMute(); + static bool isMute(); - void play(const QString &event); - void playFile(const QString &filename); + static void play(const QString &event); + static void playFile(const QString &filename); - bool eventEnabled(const QString &event); - void setEventEnabled(const QString &event, bool enabled); + static bool eventEnabled(const QString &event); + static void setEventEnabled(const QString &event, bool enabled); - QString eventFilename(const QString &event); - void setEventFilename(const QString &event, const QString &filename); + static QString eventFilename(const QString &event); + static void setEventFilename(const QString &event, const QString &filename); private: SoundManager(); diff --git a/retroshare-gui/src/gui/chat/ChatDialog.cpp b/retroshare-gui/src/gui/chat/ChatDialog.cpp index 2a87944ab..d57bf3363 100644 --- a/retroshare-gui/src/gui/chat/ChatDialog.cpp +++ b/retroshare-gui/src/gui/chat/ChatDialog.cpp @@ -170,7 +170,7 @@ void ChatDialog::init(ChatId id, const QString &title) if(msg.incoming && (msg.chat_id.isPeerId() || msg.chat_id.isGxsId())) // play sound when recv a message - soundManager->play(SOUND_NEW_CHAT_MESSAGE); + SoundManager::play(SOUND_NEW_CHAT_MESSAGE); ChatDialog *cd = getChat(msg.chat_id, Settings->getChatFlags()); if(cd) diff --git a/retroshare-gui/src/gui/notifyqt.cpp b/retroshare-gui/src/gui/notifyqt.cpp index 40ce63545..b24dd469f 100644 --- a/retroshare-gui/src/gui/notifyqt.cpp +++ b/retroshare-gui/src/gui/notifyqt.cpp @@ -790,7 +790,7 @@ void NotifyQt::UpdateGUI() switch(type) { case RS_POPUP_ENCRYPTED_MSG: - soundManager->play(SOUND_MESSAGE_ARRIVED); + SoundManager::play(SOUND_MESSAGE_ARRIVED); if ((popupflags & RS_POPUP_MSG) && !_disableAllToaster) { @@ -798,7 +798,7 @@ void NotifyQt::UpdateGUI() } break; case RS_POPUP_MSG: - soundManager->play(SOUND_MESSAGE_ARRIVED); + SoundManager::play(SOUND_MESSAGE_ARRIVED); if ((popupflags & RS_POPUP_MSG) && !_disableAllToaster) { @@ -806,7 +806,7 @@ void NotifyQt::UpdateGUI() } break; case RS_POPUP_CONNECT: - soundManager->play(SOUND_USER_ONLINE); + SoundManager::play(SOUND_USER_ONLINE); if ((popupflags & RS_POPUP_CONNECT) && !_disableAllToaster) { @@ -814,7 +814,7 @@ void NotifyQt::UpdateGUI() } break; case RS_POPUP_DOWNLOAD: - soundManager->play(SOUND_DOWNLOAD_COMPLETE); + SoundManager::play(SOUND_DOWNLOAD_COMPLETE); if ((popupflags & RS_POPUP_DOWNLOAD) && !_disableAllToaster) { diff --git a/retroshare-gui/src/gui/settings/SoundPage.cpp b/retroshare-gui/src/gui/settings/SoundPage.cpp index 6f50a6745..082eb026b 100644 --- a/retroshare-gui/src/gui/settings/SoundPage.cpp +++ b/retroshare-gui/src/gui/settings/SoundPage.cpp @@ -95,9 +95,9 @@ QTreeWidgetItem *SoundPage::addItem(QTreeWidgetItem *groupItem, const QString &n QTreeWidgetItem *item = new QTreeWidgetItem(TYPE_ITEM); item->setData(COLUMN_DATA, ROLE_EVENT, event); item->setFlags(item->flags() | Qt::ItemIsUserCheckable); - item->setCheckState(COLUMN_NAME, soundManager->eventEnabled(event) ? Qt::Checked : Qt::Unchecked); + item->setCheckState(COLUMN_NAME, SoundManager::eventEnabled(event) ? Qt::Checked : Qt::Unchecked); item->setText(COLUMN_NAME, name); - item->setText(COLUMN_FILENAME, soundManager->eventFilename(event)); + item->setText(COLUMN_FILENAME, SoundManager::eventFilename(event)); groupItem->addChild(item); return item; @@ -113,8 +113,8 @@ bool SoundPage::save(QString &/*errmsg*/) if (item->type() == TYPE_ITEM) { const QString event = item->data(COLUMN_DATA, ROLE_EVENT).toString(); - soundManager->setEventEnabled(event, item->checkState(COLUMN_NAME) == Qt::Checked); - soundManager->setEventFilename(event, item->text(COLUMN_FILENAME)); + SoundManager::setEventEnabled(event, item->checkState(COLUMN_NAME) == Qt::Checked); + SoundManager::setEventFilename(event, item->text(COLUMN_FILENAME)); } } @@ -128,7 +128,7 @@ void SoundPage::load() /* add sound events */ SoundEvents events; - soundManager->soundEvents(events); + SoundManager::soundEvents(events); QString event; foreach (event, events.mEventInfos.keys()) { @@ -165,7 +165,7 @@ void SoundPage::eventChanged(QTreeWidgetItem *current, QTreeWidgetItem */*previo ui.eventName->setText(eventName); QString event = current->data(COLUMN_DATA, ROLE_EVENT).toString(); - ui.defaultButton->setDisabled(soundManager->defaultFilename(event, true).isEmpty()); + ui.defaultButton->setDisabled(SoundManager::defaultFilename(event, true).isEmpty()); } void SoundPage::filenameChanged(QString filename) @@ -186,7 +186,7 @@ void SoundPage::defaultButtonClicked() } QString event = item->data(COLUMN_DATA, ROLE_EVENT).toString(); - ui.filenameEdit->setText(soundManager->defaultFilename(event, true)); + ui.filenameEdit->setText(SoundManager::defaultFilename(event, true)); } void SoundPage::browseButtonClicked() @@ -206,5 +206,5 @@ void SoundPage::playButtonClicked() } QString filename = item->text(COLUMN_FILENAME); - soundManager->playFile(filename); + SoundManager::playFile(filename); } diff --git a/retroshare-gui/src/gui/statusbar/SoundStatus.cpp b/retroshare-gui/src/gui/statusbar/SoundStatus.cpp index f0c5fd7f7..e6a06299f 100644 --- a/retroshare-gui/src/gui/statusbar/SoundStatus.cpp +++ b/retroshare-gui/src/gui/statusbar/SoundStatus.cpp @@ -44,7 +44,7 @@ SoundStatus::SoundStatus(QWidget *parent) setLayout(hbox); - bool isMute = soundManager->isMute(); + bool isMute = SoundManager::isMute(); imageButton->setChecked(isMute); connect(soundManager, SIGNAL(mute(bool)), this, SLOT(mute(bool))); diff --git a/retroshare-gui/src/main.cpp b/retroshare-gui/src/main.cpp index 5e5a8f2f5..66b6a10ba 100644 --- a/retroshare-gui/src/main.cpp +++ b/retroshare-gui/src/main.cpp @@ -335,7 +335,7 @@ int main(int argc, char *argv[]) Settings->setValue(QString::fromUtf8("FirstRun"), false); - soundManager->initDefault(); + SoundManager::initDefault(); #ifdef __APPLE__ /* For OSX, we set the default to "cleanlooks", as the AQUA style hides some input boxes