#include "XGUI_Command.h"
-#include <QPushButton>
+#include <QToolButton>
XGUI_Command::XGUI_Command(const QString& theId, QObject * parent, bool isCheckable)
- : QWidgetAction(parent), myId(theId), myCheckable(isCheckable)
+ : QWidgetAction(parent), myCheckable(isCheckable)
{
+ setData(theId);
}
XGUI_Command::XGUI_Command(const QString& theId, const QIcon& icon, const QString& text,
QObject* parent, bool isCheckable)
- : QWidgetAction(parent), myId(theId), myCheckable(isCheckable)
+ : QWidgetAction(parent), myCheckable(isCheckable)
{
setIcon(icon);
setText(text);
+ setData(theId);
}
XGUI_Command::~XGUI_Command()
QWidget* XGUI_Command::createWidget(QWidget* theParent)
{
if (theParent->inherits("XGUI_MenuGroupPanel")) {
- QPushButton* aButton = new QPushButton(theParent);
+ QToolButton* aButton = new QToolButton(theParent);
aButton->setIcon(icon());
aButton->setText(text());
- aButton->setStyleSheet("text-align: left");
+ aButton->setStyleSheet("QToolButton::menu-indicator { image: none; }");
+ aButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
+ aButton->setAutoRaise(true);
+ aButton->setArrowType(Qt::NoArrow);
+ aButton->setCheckable(myCheckable);
+ aButton->setMinimumSize(MIN_BUTTON_WIDTH, MIN_BUTTON_HEIGHT);
+ aButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
QKeySequence aKeys = shortcut();
QString aToolTip = toolTip();
if (!aKeys.isEmpty())
aButton->addAction(this);
connect(aButton, SIGNAL(clicked()), this, SLOT(trigger()));
connect(this, SIGNAL(toggled(bool)), aButton, SLOT(setChecked(bool)));
- aButton->setFlat(true);
- aButton->setCheckable(myCheckable);
+ connect(this, SIGNAL(toggled(bool)), aButton, SLOT(setChecked(bool)));
this->setCheckable(myCheckable);
- aButton->setMinimumSize(MIN_BUTTON_WIDTH, MIN_BUTTON_HEIGHT);
return aButton;
}
return QWidgetAction::createWidget(theParent);
}
-bool XGUI_Command::enabled() const
-{
- return isEnabled();
-}
-
-void XGUI_Command::enable()
-{
- setEnabled(true);
-}
-
-void XGUI_Command::disable()
-{
- setEnabled(false);
-}
-
void XGUI_Command::connectTo(const QObject* theResiver, const char* theSlot)
{
- connect(this, SIGNAL(triggered()), theResiver, theSlot);
+ connect(this, SIGNAL(triggered(bool)), theResiver, theSlot);
}
-const QStringList& XGUI_Command::unblockableCommands() const
+const QStringList& XGUI_Command::nestedCommands() const
{
- return myUnblockableCommands;
+ return myNestedCommands;
}
-void XGUI_Command::setUnblockableCommands(const QStringList& myUnblockableCommands)
+void XGUI_Command::setNestedCommands(const QStringList& myUnblockableCommands)
{
- this->myUnblockableCommands = myUnblockableCommands;
+ this->myNestedCommands = myUnblockableCommands;
}