88 lines
1.9 KiB
C++
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
|