diff options
author | Alessio Treglia <alessio@debian.org> | 2013-02-10 10:18:21 +0000 |
---|---|---|
committer | Alessio Treglia <alessio@debian.org> | 2013-02-10 10:18:21 +0000 |
commit | 038de1a143b9775f37d4848f52c59af7cee66e36 (patch) | |
tree | 8d10a35c194be220b6cb2d1b2982546dbcef9480 /src/skingui/myicon.cpp | |
parent | 69d32924ffbfe2bb05d881a23af13b6070b9a9bd (diff) |
Imported Upstream version 0.8.3
Diffstat (limited to 'src/skingui/myicon.cpp')
-rw-r--r-- | src/skingui/myicon.cpp | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/src/skingui/myicon.cpp b/src/skingui/myicon.cpp new file mode 100644 index 0000000..3376568 --- /dev/null +++ b/src/skingui/myicon.cpp @@ -0,0 +1,81 @@ +/* smplayer, GUI front-end for mplayer. + Copyright (C) 2006-2012 Ricardo Villalba <rvm@users.sourceforge.net> + umplayer, Copyright (C) 2010 Ori Rejwan + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + + +#include "myicon.h" + +MyIcon::MyIcon() +{ +} + + +void MyIcon::setPixmap(QPixmap pix, Mode mode, State state ) +{ + switch(mode) + { + case Normal: + if(state == Off) normalPixOff = pix; + else normalPixOn = pix; break; + case MouseOver: + if(state == Off) mouseOverPixOff = pix; + else mouseOverPixOn = pix; break; + case MouseDown: + if(state == Off) mouseDownPixOff = pix; + else mouseDownPixOn = pix; break; + case Disabled: + if(state == Off) disabledPixOff = pix; + else disabledPixOn = pix;break; + } +} + +QSize MyIcon::size(Mode mode, State state) +{ + return pixmap(mode, state).size(); +} + +QPixmap MyIcon::pixmap(Mode mode, State state) const +{ + QPixmap p = actualPixmap(mode, state); + if(p.isNull()) + { + if(state == Off) return normalPixOff; + else return normalPixOn; + } + else return p; +} + +QPixmap MyIcon::actualPixmap(Mode mode, State state ) const +{ + switch(mode) + { + case Normal: + if(state == Off) return normalPixOff; + else return normalPixOn; + case MouseOver: + if(state == Off) return mouseOverPixOff; + else return mouseOverPixOn; + case MouseDown: + if(state == Off) return mouseDownPixOff; + else return mouseDownPixOn; + case Disabled: + if(state == Off) return disabledPixOff; + else return disabledPixOn; + } + return QPixmap(); +} |