#include "KviQString.h"
#include "KviKvsEventManager.h"
#include "KviTalVBox.h"
+#include "KviTalHBox.h"
#include <QMessageBox>
#include <QSplitter>
box->setSpacing(0);
box->setMargin(0);
- m_pNameEditor = new QLineEdit(box);
+ KviTalHBox * hbox = new KviTalHBox(box);
+ hbox->setContentsMargins(10, 0, 10, 0);
+
+ m_pIsEnabled = new QCheckBox(hbox);
+ m_pIsEnabled->setText(__tr2qs_ctx("E&nabled", "editor"));
+ m_pIsEnabled->setEnabled(false);
+ connect(m_pIsEnabled, SIGNAL(clicked(bool)), this, SLOT(toggleCurrentHandlerEnabled()));
+
+ m_pNameEditor = new QLineEdit(hbox);
+ m_pNameEditor->setText(__tr2qs_ctx("No item selected", "editor"));
m_pNameEditor->setToolTip(__tr2qs_ctx("Edit the event handler name.", "editor"));
+ m_pNameEditor->setEnabled(false);
m_pEditor = KviScriptEditor::createInstance(box);
m_pEditor->setFocus();
QString szEventName = szHandler.split("::")[0];
QString szHandlerName = szHandler.split("::")[1];
qDebug("Handler %s of event %s : disabled", szHandlerName.toUtf8().data(), szEventName.toUtf8().data());
+
+ QTreeWidgetItem * pSelectedItem = nullptr;
+ QList <QTreeWidgetItem *> itemList = m_pTreeWidget->selectedItems();
+ if (!itemList.isEmpty())
+ {
+ pSelectedItem = itemList.first();
+ }
+
for(int i = 0; i < m_pTreeWidget->topLevelItemCount(); i++)
{
EventEditorEventTreeWidgetItem * pItem = (EventEditorEventTreeWidgetItem *)m_pTreeWidget->topLevelItem(i);
if(KviQString::equalCI(szHandlerName, ((EventEditorHandlerTreeWidgetItem *)pItem->child(j))->name()))
{
((EventEditorHandlerTreeWidgetItem *)pItem->child(j))->setEnabled(false);
+ if (pItem->child(j) == pSelectedItem)
+ m_pIsEnabled->setChecked(false);
return;
}
}
parent->setIcon(0, QIcon(*(g_pIconManager->getSmallIcon(KviIconManager::EventNoHandlers))));
}
+ m_pIsEnabled->setEnabled(false);
m_pEditor->setEnabled(false);
m_pNameEditor->setEnabled(false);
}
KVI_ASSERT(m_bOneTimeSetupDone);
if(m_pLastEditedItem)
{
+ m_pIsEnabled->setChecked(!(m_pLastEditedItem->m_bEnabled));
m_pLastEditedItem->setEnabled(!(m_pLastEditedItem->m_bEnabled));
m_pTreeWidget->repaint(m_pTreeWidget->visualItemRect(m_pLastEditedItem));
currentItemChanged(m_pLastEditedItem, nullptr);
if(it->parent())
{
m_pLastEditedItem = (EventEditorHandlerTreeWidgetItem *)it;
+ m_pIsEnabled->setEnabled(true);
+ m_pIsEnabled->setChecked(m_pLastEditedItem->isEnabled());
m_pNameEditor->setEnabled(true);
m_pNameEditor->setText(m_pLastEditedItem->name());
m_pEditor->setEnabled(true);
else
{
m_pLastEditedItem = nullptr;
+ m_pIsEnabled->setEnabled(false);
+ m_pIsEnabled->setChecked(false);
m_pNameEditor->setEnabled(false);
- m_pNameEditor->setText("");
+ m_pNameEditor->setText(__tr2qs_ctx("No item selected", "editor"));
m_pEditor->setEnabled(false);
QString parms = ((EventEditorEventTreeWidgetItem *)it)->m_szParams;
if(parms.isEmpty())
#include <QLineEdit>
#include <QTreeWidget>
#include <QMenu>
+#include <QCheckBox>
class KviScriptEditor;
void setName(const QString & szName);
QString name() const { return m_szName; };
void setEnabled(const bool bEnabled);
+ bool isEnabled() { return m_bEnabled; };
};
class EventEditorTreeWidget : public QTreeWidget
KviScriptEditor * m_pEditor;
EventEditorTreeWidget * m_pTreeWidget;
QLineEdit * m_pNameEditor;
+ QCheckBox * m_pIsEnabled;
QMenu * m_pContextPopup;
EventEditorHandlerTreeWidgetItem * m_pLastEditedItem;
bool m_bOneTimeSetupDone;
protected slots:
void currentItemChanged(QTreeWidgetItem * it, QTreeWidgetItem *);
void itemPressed(QTreeWidgetItem * it, const QPoint & pnt);
+ void setCurrentHandlerEnabled();
void toggleCurrentHandlerEnabled();
void removeCurrentHandler();
void addHandlerForCurrentEvent();