aboutsummaryrefslogtreecommitdiff
path: root/src/ui/playstatus.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/playstatus.h')
0 files changed, 0 insertions, 0 deletions
02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> 2017-10-07 17:56:23 +0000 changed contact information' href='/qmmp/commit/src/plugins/Ui/skinned/togglebutton.cpp?h=main&id=41c8a60a2ebe4696a17704b81ddf06f3c7b88023'>41c8a60a2
2d622fd9b
ee386da33


2d622fd9b












a8bf072ec
2d622fd9b



1a24a6126
2d622fd9b







11b7655bb
ecc137abe
38c7065ba
2d622fd9b














38c7065ba
2d622fd9b

1e7a7fdfd


38c7065ba
1e7a7fdfd


38c7065ba
2d622fd9b








013ee07b5
1a24a6126
2d622fd9b







1a24a6126

38c7065ba
1a24a6126


38c7065ba
1a24a6126





013ee07b5
1a24a6126




11b7655bb
1a24a6126




2d622fd9b
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
                                                                            
                                                                            
                                                                            
                                                                            


                                                                            












                                                                            
                                                                            



                                                                             
                      







                                                                                        
                
                           
                        














                                                                           
                       

 


                          
                      


                       
                                         








                                                   
                     
                   







                                                     

                        
                           


                            
                           





                                                     
                          




                                                                 
                           




                                                      
 
/***************************************************************************
 *   Copyright (C) 2007-2008 by Ilya Kotov                                 *
 *   forkotov02@ya.ru                                                      *
 *                                                                         *
 *   Based on Promoe, an XMMS2 Client                                      *
 *   Copyright (C) 2005-2006 by XMMS2 Team                                 *
 *                                                                         *
 *   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.,                                       *
 *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
 ***************************************************************************/

#include "skin.h"
#include "togglebutton.h"
#include <QMouseEvent>

ToggleButton::ToggleButton ( QWidget *parent,uint on_n,uint on_p,uint off_n,uint off_p )
      : PixmapWidget ( parent )
{
   m_on_n = on_n;
   m_on_p = on_p;
   m_off_n = off_n;
   m_off_p = off_p;
   m_on = false;
   skin = Skin::instance();
   setChecked ( false );
   connect ( skin, SIGNAL ( skinChanged() ), this, SLOT ( updateSkin() ) );
}


ToggleButton::~ToggleButton()
{}

bool ToggleButton::isChecked()
{
   return m_on;
}

void ToggleButton::updateSkin()
{
   //setPixmap ( skin->getButton ( name_normal ) );
   setChecked ( m_on );
}

void ToggleButton::click()
{
    m_on = !m_on;
    setChecked (m_on);
    emit clicked(m_on);
}

void ToggleButton::setChecked ( bool on )
{
   m_on = on;
   if ( on )
      setPixmap ( skin->getButton ( m_on_n ) );
   else
      setPixmap ( skin->getButton ( m_off_n ) );
}
void ToggleButton::mousePressEvent ( QMouseEvent* )
{
   m_cursorin = true;
   m_old_on = m_on;
   if ( m_on )
      setPixmap ( skin->getButton ( m_off_p ) );
   else
      setPixmap ( skin->getButton ( m_on_p ) );
}

void ToggleButton::mouseReleaseEvent ( QMouseEvent* )
{
   if ( m_cursorin ) {
       m_on = !m_old_on;
       setChecked ( m_on );
       emit clicked( m_on );
   } else {
       m_on = m_old_on;
       setChecked ( m_on );
   }
}