bmstu-mt-mla/mainwindow.h

88 lines
1.9 KiB
C++

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <ActiveQt>
#include <QMenuBar>
#include <qt_windows.h>
#include <QtMultimedia/QMediaPlayer>
#include <QtMultimedia/QMediaPlaylist>
#include <QtMultimediaWidgets/QVideoWidget>
#include <QDebug>
#include <QVBoxLayout>
#include <QHBoxLayout>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
/* begin common objects */
Ui::MainWindow *ui{nullptr};
QWidget *m_wideWidget{nullptr};
QVBoxLayout *m_qvBoxLayout{nullptr};
QMenuBar *mb{nullptr};
QMenu *m_menuFile{nullptr};
QAction *m_openAction{nullptr};
QAction *m_quitAction{nullptr};
QString m_filename;
void delay(int);
/* end common objects */
/* begin DOCX, XLSX, PPTX objects */
QAxWidget *axObj{nullptr};
void openPDF(QString&);
void openXLSX(QString&);
void openDOCX(QString&);
void openPPTX(QString&);
void closeFile();
QPushButton *m_btnPlay;
private slots:
void playPPTX();
/* end DOCX, XLSX, PPTX objects */
/* begin MPEG objects */
private:
void openMPEG(QString&);
void closeMPEG();
QVideoWidget *m_videoWidget{nullptr};
QMediaPlayer *m_player{nullptr};
QHBoxLayout *m_hBtnsLayout{nullptr};
QPushButton *m_play{nullptr};
QPushButton *m_stop{nullptr};
QPushButton *m_pause{nullptr};
QSlider *m_sliderVolume{nullptr};
QSlider *m_sliderVideo{nullptr};
QLabel m_labelVolume{"Volume:"};
QLabel m_labelScroll{"Scroll:"};
qint64 m_position{0};
int m_volume;
private slots:
void playVideo();
void stopVideo();
void pauseVideo();
void changeVolume(int);
void changePosition();
void updatePosition(qint64);
void updateDuration(qint64);
void updateState(int);
/* end MPEG objects */
private slots:
void slotOpenAction();
};
#endif // MAINWINDOW_H