aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/aomusicplayer.h12
-rw-r--r--include/courtroom.h4
-rw-r--r--include/scrolltext.h50
3 files changed, 61 insertions, 5 deletions
diff --git a/include/aomusicplayer.h b/include/aomusicplayer.h
index 8ed07710..8e0d239a 100644
--- a/include/aomusicplayer.h
+++ b/include/aomusicplayer.h
@@ -19,16 +19,19 @@ class AOMusicPlayer
public:
AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app);
virtual ~AOMusicPlayer();
-
- void play(QString p_song, int channel=0, bool crossfade=false);
- void stop(int channel=0);
- void set_volume(int p_value, int channel=0);
+ void set_volume(int p_value, int channel=-1);
void set_looping(bool toggle, int channel=0);
+ const int m_channelmax = 4;
+
//These have to be public for the stupid sync thing
// QWORD loop_start = 0;
// QWORD loop_end = 0;
+public slots:
+ void play(QString p_song, int channel=0, bool crossfade=false);
+ void stop(int channel=0);
+
private:
QWidget *m_parent;
AOApplication *ao_app;
@@ -36,7 +39,6 @@ private:
bool m_looping = false;
int m_volume = 0;
- const int m_channelmax = 4;
// Channel 0 = music
// Channel 1 = ambience
// Channel 2 = extra
diff --git a/include/courtroom.h b/include/courtroom.h
index d02c756d..465b8ce1 100644
--- a/include/courtroom.h
+++ b/include/courtroom.h
@@ -26,6 +26,7 @@
#include "datatypes.h"
#include "debug_functions.h"
#include "chatlogpiece.h"
+#include "scrolltext.h"
#include <QMainWindow>
#include <QLineEdit>
@@ -445,6 +446,9 @@ private:
QListWidget *ui_area_list;
QListWidget *ui_music_list;
+ ScrollText *ui_music_name;
+ AOMovie *ui_music_display;
+
AOButton *ui_pair_button;
QListWidget *ui_pair_list;
QSpinBox *ui_pair_offset_spinbox;
diff --git a/include/scrolltext.h b/include/scrolltext.h
new file mode 100644
index 00000000..cf791c03
--- /dev/null
+++ b/include/scrolltext.h
@@ -0,0 +1,50 @@
+#ifndef SCROLLTEXT_H
+#define SCROLLTEXT_H
+
+#include <QWidget>
+#include <QStaticText>
+#include <QTimer>
+#include <QPainter>
+#include <QDebug>
+
+
+class ScrollText : public QWidget
+{
+ Q_OBJECT
+ Q_PROPERTY(QString text READ text WRITE setText)
+ Q_PROPERTY(QString separator READ separator WRITE setSeparator)
+
+public:
+ explicit ScrollText(QWidget *parent = nullptr);
+
+public slots:
+ QString text() const;
+ void setText(QString text);
+
+ QString separator() const;
+ void setSeparator(QString separator);
+
+
+protected:
+ virtual void paintEvent(QPaintEvent *);
+ virtual void resizeEvent(QResizeEvent *);
+
+private:
+ void updateText();
+ QString _text;
+ QString _separator;
+ QStaticText staticText;
+ int singleTextWidth;
+ QSize wholeTextSize;
+ int leftMargin;
+ bool scrollEnabled;
+ int scrollPos;
+ QImage alphaChannel;
+ QImage buffer;
+ QTimer timer;
+
+private slots:
+ virtual void timer_timeout();
+};
+
+#endif // SCROLLTEXT_H