source: smplayer/trunk/src/skingui/qpropertysetter.h@ 142

Last change on this file since 142 was 142, checked in by Silvan Scherrer, 12 years ago

SMPlayer: update trunk to 0.8.5

File size: 4.6 KB
Line 
1/* smplayer, GUI front-end for mplayer.
2 Copyright (C) 2006-2013 Ricardo Villalba <rvm@users.sourceforge.net>
3 umplayer, Copyright (C) 2010 Ori Rejwan
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18*/
19
20#ifndef QPROPERTYSETTER_H
21#define QPROPERTYSETTER_H
22
23#include "myaction.h"
24#include <QWidget>
25#include <QPixmap>
26#include <QMessageBox>
27#include "playcontrol.h"
28#include "myicon.h"
29#include "mediapanel.h"
30
31
32
33class IconSetter : public QWidget
34{
35Q_OBJECT
36Q_PROPERTY(QPixmap toolbar READ toolbarIcon WRITE setToolbarIcon)
37
38Q_PROPERTY(QPixmap backward READ backwardIcon WRITE setBackwardIcon)
39Q_PROPERTY(QPixmap previous READ previousIcon WRITE setPreviousIcon)
40Q_PROPERTY(QPixmap playPause READ playPauseIcon WRITE setPlayPauseIcon)
41Q_PROPERTY(QPixmap stop READ stopIcon WRITE setStopIcon )
42Q_PROPERTY(QPixmap record READ recordIcon WRITE setRecordIcon )
43Q_PROPERTY(QPixmap next READ nextIcon WRITE setNextIcon)
44Q_PROPERTY(QPixmap forward READ forwardIcon WRITE setForwardIcon)
45
46Q_PROPERTY(QPixmap shuffle READ shuffleIcon WRITE setShuffleIcon )
47Q_PROPERTY(QPixmap repeat READ repeatIcon WRITE setRepeatIcon )
48
49Q_PROPERTY(QPixmap logoBg READ logoBgIcon WRITE setLogoBgIcon )
50Q_PROPERTY(QPixmap logoSplash READ logoSplashIcon WRITE setLogoSplashIcon )
51Q_PROPERTY(QPixmap logo READ logoIcon WRITE setLogoIcon )
52
53public:
54
55 static IconSetter* instance();
56 static void removeInstance();
57 ~IconSetter() {}
58 PlayControl* playControl;
59 MediaPanel* mediaPanel;
60
61 void setToolbarIcon(QPixmap icon) { setActionIcon(icon); }
62 QPixmap toolbarIcon() { return QPixmap();}
63
64
65 void setBackwardIcon(QPixmap icon) { buttonIcon(1, icon); }
66 QPixmap backwardIcon() { return playControl->backwardButton->myIcon().pixmap(MyIcon::Normal, MyIcon::Off); }
67
68 void setPreviousIcon(QPixmap icon) { buttonIcon(2, icon); }
69 QPixmap previousIcon() { return playControl->previousButton->myIcon().pixmap(MyIcon::Normal, MyIcon::Off); }
70
71 void setPlayPauseIcon(QPixmap icon) { buttonIcon(3, icon); }
72 QPixmap playPauseIcon() { return playControl->playPauseButton->myIcon().pixmap(MyIcon::Normal, MyIcon::Off); }
73
74 void setStopIcon(QPixmap icon) { buttonIcon(4, icon); }
75 QPixmap stopIcon() { return playControl->stopButton->myIcon().pixmap(MyIcon::Normal, MyIcon::Off); }
76
77 void setRecordIcon( QPixmap icon) { buttonIcon(5, icon); }
78 QPixmap recordIcon() { return playControl->recordButton->myIcon().pixmap(MyIcon::Normal, MyIcon::Off); }
79
80 void setNextIcon( QPixmap icon) { buttonIcon(6, icon); }
81 QPixmap nextIcon() { return playControl->nextButton->myIcon().pixmap(MyIcon::Normal, MyIcon::Off); }
82
83 void setForwardIcon( QPixmap icon) { buttonIcon(7, icon); }
84 QPixmap forwardIcon() { return playControl->forwardButton->myIcon().pixmap(MyIcon::Normal, MyIcon::Off); }
85
86 void setShuffleIcon( QPixmap icon) { mediaPanelButtonIcon(1, icon); }
87 QPixmap shuffleIcon() { return mediaPanel->shuffleButton->myIcon().pixmap(MyIcon::Normal, MyIcon::Off); }
88
89 void setRepeatIcon( QPixmap icon) { mediaPanelButtonIcon(2, icon); }
90 QPixmap repeatIcon() { return mediaPanel->repeatButton->myIcon().pixmap(MyIcon::Normal, MyIcon::Off); }
91
92 QPixmap logoBgIcon() { return logoBgPix; }
93 QPixmap logoSplashIcon() { return logoSplashPix; }
94 QPixmap logoIcon() { return logoPix; }
95
96 void setLogoBgIcon(QPixmap icon) { logoBgPix = icon; }
97 void setLogoSplashIcon(QPixmap icon) { logoSplashPix = icon; }
98 void setLogoIcon(QPixmap icon) { logoPix = icon; }
99
100 void setToolbarActions(QList<QAction *>actions) { toolbar_actions = actions; }
101 QList<QAction *> toolbarActions() { return toolbar_actions; }
102
103
104private:
105 IconSetter(QWidget *parent = 0);
106
107 static IconSetter* m_instance;
108 void setActionIcon(QPixmap pix );
109 void buttonIcon(int n, QPixmap pix );
110 void mediaPanelButtonIcon( int n, QPixmap pix);
111
112 QPixmap logoPix;
113 QPixmap logoSplashPix;
114 QPixmap logoBgPix;
115 QList<QAction *> toolbar_actions;
116};
117
118#endif // QPROPERTYSETTER_H
Note: See TracBrowser for help on using the repository browser.