From b68e15a811359f8c7ab6f239cd5e8bf36e854f0e Mon Sep 17 00:00:00 2001 From: Ian Jauslin Date: Sun, 7 Jun 2015 15:28:16 +0000 Subject: Initial commit --- src/mainwindow.h | 126 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 src/mainwindow.h (limited to 'src/mainwindow.h') diff --git a/src/mainwindow.h b/src/mainwindow.h new file mode 100644 index 0000000..4e4aa77 --- /dev/null +++ b/src/mainwindow.h @@ -0,0 +1,126 @@ +/* +Copyright 2015 Ian Jauslin + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include "pdfWindow.h" +#include "config.h" +#include +#include +#include +#include +#include +#include + +namespace Ui { + class MainWindow; + class SecondaryWindow; +} + +class SecondaryWindow; +class TimeIndicator; + +class MainWindow : public pdfWindow +{ + Q_OBJECT + + public: + // index of main screen + int nrMainScreen; + // index of secondary screen + int nrSecScreen; + // timer counter + int pres_time_step; + SecondaryWindow* secondaryWindow; + // slidelist + QVector slidelist; + + // constructor + explicit MainWindow(QWidget *parent = 0); + + void setConfig(Config* config); + + //enable secondary screen + void secondaryScreen(); + void exchangeScreens(); + void moveToScreen(QWidget* widget,int screen,QDesktopWidget* desktop); + + void nextPage(); + void previousPage(); + void gotoPage(int page); + void nextSlide(); + void previousSlide(); + + void showhideTimeBar(); + void startstopTimer(); + void resetTimer(); + + // destructor + ~MainWindow(); + + private: + // global comnfiguration object + Config* conf; + // presentation timer + QBasicTimer pres_timer; + // Main layout + QVBoxLayout* layout; + TimeIndicator* timebar; + Ui::MainWindow *ui; + + void loadUi(); + void readSlidelist(char* path); + void keyPressEvent(QKeyEvent* event); + // to get arrow keys + bool eventFilter(QObject *obj, QEvent *event); + + //called by pres_timer + void timerEvent(QTimerEvent *event); + + // check whether a string is an integer + bool check_int(const char* string); +}; + + +class SecondaryWindow : public pdfWindow +{ + Q_OBJECT + + public: + // constructor + explicit SecondaryWindow(QWidget* parent = 0); + // destructor + ~SecondaryWindow(); + + private: + Ui::SecondaryWindow *ui; + void loadUi(); +}; + +// time progress bar +class TimeIndicator : public QProgressBar +{ + Q_OBJECT + public: + // constructor + explicit TimeIndicator(QWidget* parent = 0); + // destructore + ~TimeIndicator(); + void setTime(int time,int maxtime); +}; + +#endif // MAINWINDOW_H -- cgit v1.2.3-54-g00ecf