Main Page   Alphabetical List   Compound List   File List   Compound Members   File Members  

controlpanel.h

Go to the documentation of this file.
00001 #ifndef __CONTROLPANEL__
00002 #define __CONTROLPANEL__
00003 
00004 #include <qpushbutton.h>
00005 #include <qwidget.h>
00006 #include <qlayout.h>
00007 #include <qlcdnumber.h>
00008 #include <qtimer.h>
00009 #include <qlabel.h>
00010 #include <qslider.h>
00011 #include <qframe.h>
00012 #include <qdir.h>
00013 #include <qpopupmenu.h>
00014 #include <vector>
00015 
00016 #include "mpdcom.h"
00017 #include "playlistwindow.h"
00018 #include "configdialog.h"
00019 #include "waskin.h"
00020 #include "gbutton.h"
00021 #include "gtextview.h"
00022 #include "gslider.h"
00023 
00029 class ControlPanel : public QWidget
00030 {
00031 Q_OBJECT
00032 private:
00033   class Display : public QLCDNumber
00034   {
00035   public:
00036     inline                      Display(QWidget *parent) : QLCDNumber(parent), reverseCounter(false) { }
00037 
00038   protected:
00039     virtual void                mousePressEvent(QMouseEvent *);
00040 
00041   public:
00042     bool                        reverseCounter;
00043   };
00044 
00045 public:
00046                                 ControlPanel( QWidget *parent=0, const char *name=0, WFlags f=0 );
00047 
00048   void                          setSkin(WASkin *);
00049   void                          playListClosed(void);
00050 
00051 protected slots:
00052   void                          slotUpdateDisplay(void);                        
00053   void                          slotReceiveUpdate(const MpdCom::Status &);      
00054   void                          slotLockVolume(void);                           
00055   void                          slotReverseVolume(int);                         
00056   void                          slotReleaseVolume(void);                        
00057   void                          slotLockBalance(void);                          
00058   void                          slotReverseBalance(int);                        
00059   void                          slotReleaseBalance(void);                       
00060   void                          slotLockSeek(void);                             
00061   void                          slotSetSeek(int);                               
00062   void                          slotReleaseSeek(void);                          
00063   void                          slotShowPlaylist(bool);                         
00064   void                          slotShowSettings(void);                         
00065   void                          slotError(const QString &);                     
00066   void                          slotAbout(void);                                
00067   void                          slotOpenSkin(void);                             
00068   void                          slotRebuildSkinMenu(void);                      
00069   void                          slotEjectPressed(bool);                         
00070 
00071 protected:
00072   virtual void                  closeEvent(QCloseEvent *);                      
00073   virtual void                  paintEvent(QPaintEvent *);
00074   virtual void                  mouseMoveEvent(QMouseEvent *);
00075   virtual void                  mousePressEvent(QMouseEvent *);
00076   virtual void                  mouseReleaseEvent(QMouseEvent *);
00077   virtual void                  keyPressEvent(QKeyEvent *);
00078 
00079 private:
00080   WASkin                        defaultSkin;
00081   GButton                       btPrev, btPlay, btPause, btStop, btNext, btEject;
00082   GButton                       btEq, btPl, btShuffle, btRepeat;
00083   GTextView                     txTitle, txKbps, txKHz;
00084   GSlider                       slVolume, slBalance;
00085   GSlider                       slPosition;
00086   GButton                       btMin, btMax, btClose;
00087 
00088   QTimer                        timer, dirTimer;
00089   QDir                          dir;
00090   QPopupMenu                    mainMenu;
00091   QPopupMenu                    skinMenu;
00092   std::vector<WASkin *>         skins;
00093   bool                          countMode;
00094   bool                          volumeEdit;
00095   bool                          balanceEdit;
00096   bool                          seekEdit;
00097   bool                          mouseDown;
00098   int                           actualX, actualY, lastX, lastY, lastGlobalX, lastGlobalY;
00099   int                           elapsed;
00100   MpdCom::Status                status;
00101   MpdCom                        mpdCom;
00102   MpdCom                        playlistMpdCom;
00103   PlaylistWindow                plw;
00104   ConfigDialog                  configDialog;
00105   WASkin                      * skin;
00106 };
00107 
00108 #endif

Generated on Thu Mar 11 21:57:51 2004 for Music Playing Daemon client by doxygen1.2.15