X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flayeritemwidget.cpp;h=f86017ba8e8a7a80dcb2630da782d9495784fb21;hb=a3e939d9028531324be8ba2ec54eddca31342c19;hp=273ebf1e4aa57d43b673072b953828bf52f2bdc0;hpb=a7a9909f617d5dbcebfc6d4baa7053dbe3961751;p=architektonas diff --git a/src/layeritemwidget.cpp b/src/layeritemwidget.cpp index 273ebf1..f86017b 100644 --- a/src/layeritemwidget.cpp +++ b/src/layeritemwidget.cpp @@ -14,11 +14,12 @@ #include "layeritemwidget.h" -LayerItemWidget::LayerItemWidget(QString s, bool invisible/*=false*/, bool locked/*=false*/): +LayerItemWidget::LayerItemWidget(QString s, bool i/*=false*/, bool l/*=false*/, QListWidgetItem * p/*=null*/): QWidget(), name(new QLabel(s)), - visibility(new QPushButton), - editibility(new QPushButton) + invisible(new QPushButton), + locked(new QPushButton), + parent(p) { QIcon visibleIcon(":/res/eye-open.png"); visibleIcon.addFile(":/res/eye-closed.png", QSize(16, 16), QIcon::Normal, QIcon::On); @@ -27,24 +28,29 @@ LayerItemWidget::LayerItemWidget(QString s, bool invisible/*=false*/, bool locke QSize buttonSize(20, 20); QHBoxLayout * mainLayout = new QHBoxLayout; - mainLayout->setContentsMargins(0, 0, 0, 0); // This is required, otherwise the layout engine puts too much space around this widget. :-/ - - visibility->setFlat(true); - visibility->setIcon(visibleIcon); - visibility->setCheckable(true); - visibility->setMaximumSize(buttonSize); - visibility->setChecked(invisible); - - editibility->setFlat(true); - editibility->setIcon(lockedIcon); - editibility->setCheckable(true); - editibility->setMaximumSize(buttonSize); - editibility->setChecked(locked); - - mainLayout->addWidget(visibility); - mainLayout->addWidget(editibility); + // This is required, otherwise the layout engine puts too much space around + // this widget. :-/ + mainLayout->setContentsMargins(0, 0, 0, 0); + + invisible->setFlat(true); + invisible->setIcon(visibleIcon); + invisible->setCheckable(true); + invisible->setMaximumSize(buttonSize); + invisible->setChecked(i); + + locked->setFlat(true); + locked->setIcon(lockedIcon); + locked->setCheckable(true); + locked->setMaximumSize(buttonSize); + locked->setChecked(l); + + mainLayout->addWidget(invisible); + mainLayout->addWidget(locked); mainLayout->addWidget(name); setLayout(mainLayout); + + connect(invisible, SIGNAL(clicked(bool)), this, SLOT(HandleHideToggle(bool))); + connect(locked, SIGNAL(clicked(bool)), this, SLOT(HandleLockToggle(bool))); } @@ -52,3 +58,17 @@ LayerItemWidget::~LayerItemWidget() { } + +void LayerItemWidget::HandleHideToggle(bool state) +{ +// printf("Eye is: %s\n", !state ? "OPEN" : "closed"); + emit HideToggled(parent, state); +} + + +void LayerItemWidget::HandleLockToggle(bool state) +{ +// printf("Lock is: %s\n", !state ? "OPEN" : "closed"); + emit LockToggled(parent, state); +} +