OSDN Git Service

Merge remote-tracking branch 'origin/master'
[memma/Source.git] / extrapushbutton.cpp
1 /**
2  * CommandoJikkyouSennyou - Commando Jikkyou Sennyou Client for twitter for Qt.
3  *
4  * Author: amayav (vamayav@yahoo.co.jp)
5  *
6  *
7  *  CommandoJikkyouSennyou is free software: you can redistribute it and/or modify
8  *  it under the terms of the GNU Lesser General Public License as published by
9  *  the Free Software Foundation, either version 3 of the License, or
10  *  (at your option) any later version.
11  *
12  *  CommandoJikkyouSennyou is distributed in the hope that it will be useful,
13  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  *  GNU Lesser General Public License for more details.
16  *
17  *  You should have received a copy of the GNU Lesser General Public License
18  *  along with CommandoJikkyouSennyou.  If not, see <http://www.gnu.org/licenses/>.
19  */
20 #include "extrapushbutton.h"
21 #include <QDebug>
22 #include <QEvent>
23
24 /*
25   public functions
26   */
27 ExtraPushButton::ExtraPushButton(QString shortCutKey, QString string, QWidget *parent)
28     :QPushButton(shortCutKey + ":" + string, parent),
29       _shortCutKey(shortCutKey),
30       _string(string)
31 {
32     if(string.size()>7)
33     {
34         setText(shortCutKey + ":" + string.left(7) + "...");
35     }
36     setMaximumSize(130,23);
37     setMinimumSize(130,23);
38 }
39
40 QString ExtraPushButton::getShortCutKey()
41 {
42     return _shortCutKey;
43 }
44
45 QString ExtraPushButton::getString()
46 {
47     return _string;
48 }
49
50 /*
51   public slots
52   */
53 void ExtraPushButton::click()
54 {
55     emit clicked(_string);
56 }
57
58 /*
59   private functions
60   */
61 void ExtraPushButton::enterEvent(QEvent *e)
62 {
63     switch(e->type())
64     {
65     case QEvent::Enter:
66     {
67         if(this->toolTip().size()==0)
68         {
69             qDebug("Tool Tip of Button Error");
70             return;
71         }
72         if(this->isEnabled()==false)
73         {
74             return;
75         }
76         emit showingToolTip(toolTip());
77         break;
78     }
79     default:
80         break;
81     }
82 }