• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

kmail

  • sources
  • kde-4.14
  • kdepim
  • kmail
  • widgets
statusbarlabeltoggledstate.cpp
Go to the documentation of this file.
1 /*
2  Copyright (c) 2014-2015 Montel Laurent <montel@kde.org>
3 
4  This program is free software; you can redistribute it and/or modify it
5  under the terms of the GNU General Public License, version 2, as
6  published by the Free Software Foundation.
7 
8  This program is distributed in the hope that it will be useful, but
9  WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  General Public License for more details.
12 
13  You should have received a copy of the GNU General Public License along
14  with this program; if not, write to the Free Software Foundation, Inc.,
15  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 */
17 
18 #include "statusbarlabeltoggledstate.h"
19 #include <KLocalizedString>
20 #include <QDebug>
21 
22 StatusBarLabelToggledState::StatusBarLabelToggledState(QWidget *parent)
23  : QLabel(parent),
24  mToggleMode(false)
25 {
26 }
27 
28 StatusBarLabelToggledState::~StatusBarLabelToggledState()
29 {
30 
31 }
32 
33 void StatusBarLabelToggledState::setStateString(const QString &toggled, const QString &untoggled)
34 {
35  if (toggled.isEmpty() || untoggled.isEmpty()) {
36  qWarning() <<" State string is empty. Need to fix it";
37  }
38  mToggled = toggled;
39  mUnToggled = untoggled;
40  updateLabel();
41 }
42 
43 void StatusBarLabelToggledState::setToggleMode(bool state)
44 {
45  if (mToggleMode != state) {
46  mToggleMode = state;
47  Q_EMIT toggleModeChanged(mToggleMode);
48  updateLabel();
49  }
50 }
51 
52 bool StatusBarLabelToggledState::toggleMode() const
53 {
54  return mToggleMode;
55 }
56 
57 void StatusBarLabelToggledState::updateLabel()
58 {
59  if (mToggleMode) {
60  setText(mToggled);
61  } else {
62  setText(mUnToggled);
63  }
64 }
65 
66 void StatusBarLabelToggledState::mousePressEvent(QMouseEvent *ev)
67 {
68  Q_UNUSED(ev);
69  setToggleMode(!mToggleMode);
70 }
QWidget
StatusBarLabelToggledState::toggleMode
bool toggleMode() const
Definition: statusbarlabeltoggledstate.cpp:52
StatusBarLabelToggledState::toggleModeChanged
void toggleModeChanged(bool state)
statusbarlabeltoggledstate.h
StatusBarLabelToggledState::StatusBarLabelToggledState
StatusBarLabelToggledState(QWidget *parent=0)
Definition: statusbarlabeltoggledstate.cpp:22
QMouseEvent
StatusBarLabelToggledState::mousePressEvent
void mousePressEvent(QMouseEvent *ev)
Definition: statusbarlabeltoggledstate.cpp:66
QString::isEmpty
bool isEmpty() const
StatusBarLabelToggledState::setToggleMode
void setToggleMode(bool state)
Definition: statusbarlabeltoggledstate.cpp:43
StatusBarLabelToggledState::~StatusBarLabelToggledState
~StatusBarLabelToggledState()
Definition: statusbarlabeltoggledstate.cpp:28
QLabel::setText
void setText(const QString &)
QString
StatusBarLabelToggledState::setStateString
void setStateString(const QString &toggled, const QString &untoggled)
Definition: statusbarlabeltoggledstate.cpp:33
QLabel
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:34:33 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kmail

Skip menu "kmail"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer
  • pimprint

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal