NOISSUE meow meow prototype

This commit is contained in:
Petr Mrázek 2020-02-08 15:01:53 +01:00
parent 08f85f1a93
commit e2378c79ff
4 changed files with 28 additions and 4 deletions

View File

@ -88,6 +88,7 @@ find_package(Qt5Concurrent REQUIRED)
find_package(Qt5Network REQUIRED) find_package(Qt5Network REQUIRED)
find_package(Qt5Test REQUIRED) find_package(Qt5Test REQUIRED)
find_package(Qt5Xml REQUIRED) find_package(Qt5Xml REQUIRED)
find_package(Qt5Multimedia REQUIRED)
# The Qt5 cmake files don't provide its install paths, so ask qmake. # The Qt5 cmake files don't provide its install paths, so ask qmake.
include(QMakeQuery) include(QMakeQuery)

View File

@ -297,7 +297,7 @@ qt5_add_resources(MULTIMC_RESOURCES ${MULTIMC_QRCS})
# Add executable # Add executable
add_executable(MultiMC MACOSX_BUNDLE WIN32 ${MULTIMC_SOURCES} ${MULTIMC_UI} ${MULTIMC_RESOURCES} ${MULTIMC_RCS}) add_executable(MultiMC MACOSX_BUNDLE WIN32 ${MULTIMC_SOURCES} ${MULTIMC_UI} ${MULTIMC_RESOURCES} ${MULTIMC_RCS})
target_link_libraries(MultiMC MultiMC_gui ${QUAZIP_LIBRARIES} hoedown MultiMC_rainbow LocalPeer ganalytics) target_link_libraries(MultiMC MultiMC_gui ${QUAZIP_LIBRARIES} hoedown MultiMC_rainbow LocalPeer ganalytics Qt5::Multimedia)
if(DEFINED MultiMC_APP_BINARY_NAME) if(DEFINED MultiMC_APP_BINARY_NAME)
set_target_properties(MultiMC PROPERTIES OUTPUT_NAME "${MultiMC_APP_BINARY_NAME}") set_target_properties(MultiMC PROPERTIES OUTPUT_NAME "${MultiMC_APP_BINARY_NAME}")
endif() endif()

View File

@ -1285,7 +1285,7 @@ void MainWindow::downloadUpdates(GoUpdate::Status status)
void MainWindow::onCatToggled(bool state) void MainWindow::onCatToggled(bool state)
{ {
setCatBackground(state); setCatBackground(state, false);
MMC->settings()->set("TheCat", state); MMC->settings()->set("TheCat", state);
} }
@ -1299,8 +1299,9 @@ T non_stupid_abs(T in)
} }
} }
void MainWindow::setCatBackground(bool enabled) void MainWindow::setCatBackground(bool enabled, bool initial)
{ {
static int currentMeow = 0;
if (enabled) if (enabled)
{ {
QDateTime now = QDateTime::currentDateTime(); QDateTime now = QDateTime::currentDateTime();
@ -1317,9 +1318,28 @@ GroupView
background-repeat: none; background-repeat: none;
background-color:palette(base); background-color:palette(base);
})").arg(cat)); })").arg(cat));
if(!initial) {
const char * sounds[] = {
"/home/peterix/meows/Fiona52fixed.wav",
"/home/peterix/meows/Fiona72.wav",
"/home/peterix/meows/Fiona76.wav",
"/home/peterix/meows/Fiona81.wav",
"/home/peterix/meows/Fiona85.wav"
};
qDebug() << "PLAY MEOW" << currentMeow;
meow.setSource(QUrl::fromLocalFile(sounds[currentMeow]));
meow.setLoopCount(1);
meow.play();
int newMeow = qrand() % 4;
if(newMeow == currentMeow) {
newMeow++;
}
currentMeow = newMeow;
}
} }
else else
{ {
meow.stop();
view->setStyleSheet(QString()); view->setStyleSheet(QString());
} }
} }

View File

@ -20,6 +20,7 @@
#include <QMainWindow> #include <QMainWindow>
#include <QProcess> #include <QProcess>
#include <QTimer> #include <QTimer>
#include <QtMultimedia/QSoundEffect>
#include "BaseInstance.h" #include "BaseInstance.h"
#include "minecraft/auth/MojangAccount.h" #include "minecraft/auth/MojangAccount.h"
@ -189,7 +190,7 @@ private slots:
private: private:
void addInstance(QString url = QString()); void addInstance(QString url = QString());
void activateInstance(InstancePtr instance); void activateInstance(InstancePtr instance);
void setCatBackground(bool enabled); void setCatBackground(bool enabled, bool initial = true);
void updateInstanceToolIcon(QString new_icon); void updateInstanceToolIcon(QString new_icon);
void setSelectedInstanceById(const QString &id); void setSelectedInstanceById(const QString &id);
@ -200,6 +201,8 @@ private:
private: private:
std::unique_ptr<Ui> ui; std::unique_ptr<Ui> ui;
QSoundEffect meow;
// these are managed by Qt's memory management model! // these are managed by Qt's memory management model!
GroupView *view = nullptr; GroupView *view = nullptr;
InstanceProxyModel *proxymodel = nullptr; InstanceProxyModel *proxymodel = nullptr;