summaryrefslogtreecommitdiffstats
path: root/src/app/mainWindow.h
blob: 63d8468f1b79a1a0414b8ab320884f3e3662cd46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// (c) 2004 Max Howell ([email protected])
// See COPYING file for licensing information

#ifndef CODEINEMAINWINDOW_H
#define CODEINEMAINWINDOW_H

#include "codeine.h"
#include <kmainwindow.h>

class KURL;
class QLabel;
class QPopupMenu;
class QSlider;


namespace Codeine
{
   class MainWindow : public KMainWindow
   {
   Q_OBJECT

      MainWindow();
     ~MainWindow();

      friend int ::main( int, char** );

      enum { SubtitleChannelsMenuItemId = 2000, AudioChannelsMenuItemId, AspectRatioMenuItemId };

   public slots:
      void play();
      void playMedia( bool show_welcome_dialog = false );

      void configure();
      void streamInformation();
      void captureFrame();

   private slots:
      void engineMessage( const QString& );
      void engineStateChanged( Engine::State );
      void init();
      void showTime( int = -1 );
      void setChannels( const QStringList& );
      void aboutToShowMenu();
      void fullScreenToggled( bool );

   private:
      void setupActions();

      bool load( const KURL& );
      bool open( const KURL& );

      QPopupMenu *menu( const char *name );

      virtual void timerEvent( QTimerEvent* );
      virtual void dragEnterEvent( QDragEnterEvent* );
      virtual void dropEvent( QDropEvent* );
      virtual void keyPressEvent( QKeyEvent* );

      virtual void saveProperties( KConfig* );
      virtual void readProperties( KConfig* );

      virtual bool queryExit();

      QSlider *m_positionSlider;
      QLabel  *m_timeLabel;
      QLabel  *m_titleLabel;
      QWidget *m_analyzer;

      //undefined
      MainWindow( const MainWindow& );
      MainWindow &operator=( const MainWindow& );
   };
}

#endif