void BulletsModule::setupPanel(QListWidget * lw, QString const & panelname,
int const font, string const folder)
{
- connect(lw, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
- this, SLOT(bulletSelected(QListWidgetItem *, QListWidgetItem*)));
+ connect(lw, SIGNAL(itemClicked(QListWidgetItem *)),
+ this, SLOT(bulletSelected(QListWidgetItem *)));
// add panelname to combox
bulletpaneCO->addItem(panelname);
QPixmap pixmap = getPixmap("images/" + toqstr(folder) + "/", toqstr(iconname), "svgz");
QIcon icon(pixmap);
icon.addPixmap(getSelectedPixmap(pixmap, icon_size), QIcon::Selected);
- QListWidgetItem * lwi = new QListWidgetItem(icon, QString());
+ QListWidgetItem * lwi = new QListWidgetItem(icon, QString(), 0, i);
lwi->setToolTip(toqstr(Bullet::bulletEntry(font, i)));
lwi->setSizeHint(icon_size);
lw->addItem(lwi);
}
-void BulletsModule::bulletSelected(QListWidgetItem * item, QListWidgetItem *)
+void BulletsModule::bulletSelected(QListWidgetItem * item)
{
+ int const level = levelLW->currentRow();
+
+ // no change
+ if (bullets_[level].getFont() == bulletpaneCO->currentIndex()
+ && bullets_[level].getCharacter() == item->type())
+ return;
+
// unselect previous item
selectItem(current_font_, current_char_, false);
- int const level = levelLW->currentRow();
bullets_[level].setCharacter(item->type());
bullets_[level].setFont(bulletpaneCO->currentIndex());
current_font_ = bulletpaneCO->currentIndex();