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);
if (bullets_[level].getFont() < 0) {
customCB->setCheckState(Qt::Checked);
customLE->setText(toqstr(bullets_[level].getText()));
+ bulletsizeCO->setEnabled(false);
+ sizeL->setEnabled(false);
} else {
customCB->setCheckState(Qt::Unchecked);
customLE->clear();
selectItem(current_font_, current_char_, true);
bulletpaneCO->setCurrentIndex(current_font_);
bulletpaneSW->setCurrentIndex(current_font_);
+ bulletsizeCO->setEnabled(true);
+ sizeL->setEnabled(true);
}
bulletsizeCO->setCurrentIndex(bullets_[level].getSize() + 1);
}
}
-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();
void BulletsModule::on_customCB_clicked(bool custom)
{
+ bulletsizeCO->setEnabled(!custom);
+ sizeL->setEnabled(!custom);
+
if (!custom) {
if (current_font_ < 0)
current_font_ = bulletpaneCO->currentIndex();
return;
QListWidget * lw = static_cast<QListWidget *>(bulletpaneSW->widget(font));
- lw->item(character)->setSelected(select);
+ if (lw->item(character))
+ lw->item(character)->setSelected(select);
}