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

KritaWidgets

  • sources
  • kfour-appscomplete
  • krita
  • libs
  • widgets
KoToolBoxButton.cpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2015 Friedrich W. H. Kossebau <[email protected]>
3  *
4  * SPDX-License-Identifier: LGPL-2.0-or-later
5  */
6 
7 #include "KoToolBoxButton_p.h"
8 
9 #include <KoToolManager.h>
10 #include <QIcon>
11 #include <QPalette>
12 #include <QApplication>
13 #include <klocalizedstring.h>
14 #include <QKeySequence>
15 #include <KoIcon.h>
16 
17 KoToolBoxButton::KoToolBoxButton(KoToolAction *toolAction, QWidget *parent)
18  : QToolButton(parent)
19  , m_toolAction(toolAction)
20 {
21  setObjectName(m_toolAction->id());
22  // ensure same L&F
23  setCheckable(true);
24  setAutoRaise(true);
25  setIcon(kisIcon(m_toolAction->iconName()));
26 
27  setDataFromToolAction();
28 
29  connect(this, SIGNAL(clicked(bool)), m_toolAction, SLOT(trigger()));
30  connect(m_toolAction, SIGNAL(changed()), SLOT(setDataFromToolAction()));
31 }
32 
33 void KoToolBoxButton::setHighlightColor()
34 {
35  QPalette p = qApp->palette();
36  if (isChecked()) {
37  QPalette palette_highlight(p);
38  QColor c = p.color(QPalette::Highlight);
39  palette_highlight.setColor(QPalette::Button, c);
40  setPalette(palette_highlight);
41  }
42  else {
43  setPalette(p);
44  }
45 }
46 
47 void KoToolBoxButton::setDataFromToolAction()
48 {
49  const QString plainToolTip = m_toolAction->toolTip();
50  const QKeySequence shortcut = m_toolAction->shortcut();
51  const QString toolTip =
52  shortcut.isEmpty() ?
53  plainToolTip :
54  i18nc("@info:tooltip %2 is shortcut", "%1 (%2)", plainToolTip,
55  shortcut.toString(QKeySequence::NativeText));
56 
57  setToolTip(toolTip);
58 }
QPalette::color
const QColor & color(ColorGroup group, ColorRole role) const
QColor
QAbstractButton::setCheckable
void setCheckable(bool)
QAbstractButton::shortcut
QKeySequence shortcut() const
QWidget::setPalette
void setPalette(const QPalette &)
QAbstractButton::clicked
void clicked(bool checked)
QWidget
QKeySequence
QAbstractButton::isChecked
bool isChecked() const
QObject::connect
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
QToolButton::setAutoRaise
void setAutoRaise(bool enable)
QString
QToolButton
QKeySequence::toString
QString toString(SequenceFormat format) const
QPalette::setColor
void setColor(ColorGroup group, ColorRole role, const QColor &color)
KoToolBoxButton::KoToolBoxButton
KoToolBoxButton(KoToolAction *toolAction, QWidget *parent)
Definition: KoToolBoxButton.cpp:17
QAbstractButton::setIcon
void setIcon(const QIcon &icon)
QWidget::toolTip
QString toolTip() const
QObject::setObjectName
void setObjectName(const QString &name)
QPalette
KoToolBoxButton_p.h
KoToolBoxButton::setHighlightColor
void setHighlightColor()
Definition: KoToolBoxButton.cpp:33
QKeySequence::isEmpty
bool isEmpty() const
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Tue Jan 19 2021 23:44:00 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KritaWidgets

Skip menu "KritaWidgets"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

krita API Reference

Skip menu "krita API Reference"
  • libs
  •   KritaBasicFlakes
  •   brush
  •   KritaUndo2
  •   KritaFlake
  •   image
  •   KritaPlugin
  •   Krita
  •   KritaPigment
  •   KritaResources
  •   KritaStore
  •   ui
  •   KritaWidgets
  •   KritaWidgetUtils
  • plugins
  •   Assitants
  •   Extensions
  •   Filters
  •   Generators
  •   Formats
  •           src
  •   PaintOps
  •     libpaintop

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