bmstu-mt-mla/mainwindow.h

88 lines
1.9 KiB
C
Raw Permalink Normal View History

2022-12-05 23:53:37 +03:00
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <ActiveQt>
#include <QMenuBar>
2022-12-07 16:55:19 +03:00
#include <qt_windows.h>
#include <QtMultimedia/QMediaPlayer>
#include <QtMultimedia/QMediaPlaylist>
#include <QtMultimediaWidgets/QVideoWidget>
#include <QDebug>
#include <QVBoxLayout>
#include <QHBoxLayout>
2022-12-05 23:53:37 +03:00
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
2022-12-07 16:55:19 +03:00
/* 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 */
2022-12-05 23:53:37 +03:00
2022-12-07 16:55:19 +03:00
/* begin DOCX, XLSX, PPTX objects */
2022-12-05 23:53:37 +03:00
QAxWidget *axObj{nullptr};
void openPDF(QString&);
void openXLSX(QString&);
void openDOCX(QString&);
2022-12-07 16:55:19 +03:00
void openPPTX(QString&);
2022-12-05 23:53:37 +03:00
void closeFile();
2022-12-07 16:55:19 +03:00
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 */
2022-12-05 23:53:37 +03:00
private slots:
void slotOpenAction();
};
#endif // MAINWINDOW_H