HAL
action.cpp
Go to the documentation of this file.
1 #include "gui/action/action.h"
2 
3 namespace hal
4 {
5  Action::Action(QObject* parent) : QAction(parent), mTooltipModified(false)
6  {
7 
8  }
9 
10  Action::Action(const QString& text, QObject* parent) : QAction(parent), mTooltipModified(false)
11  {
12  setText(text);
13  }
14 
15  Action::Action(const QIcon& icon, const QString& text, QObject* parent) : QAction(parent), mTooltipModified(false)
16  {
17  setText(text);
18  setIcon(icon);
19  }
20 
21  void Action::setText(const QString& text)
22  {
24  updateTooltip(shortcut());
25  }
26 
28  {
30  updateTooltip(seq);
31  }
32 
33  void Action::setToolTip(const QString& tooltip)
34  {
35  // calling this method will disable automatic tooltips
36  mTooltipModified = true;
37  QAction::setToolTip(tooltip);
38  }
39 
40  void Action::updateTooltip(const QKeySequence& sequence)
41  {
42  if (mTooltipModified)
43  return;
44 
45  // automatically add the keyboard shortcut to the tooltip
46  if (!sequence.isEmpty())
47  {
48  QAction::setToolTip(text() + " '" + sequence.toString(QKeySequence::NativeText) + "'");
49  }
50  else
51  {
53  }
54  }
55 }
void setShortcut(const QKeySequence &shortcut)
Definition: action.cpp:27
Action(QObject *parent=nullptr)
Definition: action.cpp:5
void setText(const QString &text)
Definition: action.cpp:21
void setToolTip(const QString &tooltip)
Definition: action.cpp:33
void setIcon(const QIcon &icon)
void setToolTip(const QString &tip)
bool isEmpty() const const
QString toString(QKeySequence::SequenceFormat format) const const