/*************************************************************************** Slot executed when selection on meg_table has changed ***************************************************************************/ void messagewdg::item_selected(const QItemSelection &sl, const QItemSelection &ds) { const struct message *pmsg; int i; QFont f; QModelIndex index; QModelIndexList indexes = sl.indexes(); QTableWidgetItem *item; if (indexes.isEmpty()) { return; } index = indexes.at(0); i = index.row(); pmsg = meswin_get_message(i); if (i > -1 && pmsg != NULL) { if (QApplication::mouseButtons() == Qt::LeftButton || QApplication::mouseButtons() == Qt::RightButton) { meswin_set_visited_state(i, true); item = mesg_table->item(i, 0); f = item->font(); f.setItalic(true); item->setFont(f); } if (QApplication::mouseButtons() == Qt::LeftButton && pmsg->location_ok) { meswin_goto(i); } if (QApplication::mouseButtons() == Qt::RightButton && pmsg->city_ok) { meswin_popup_city(i); } } mesg_table->clearSelection(); }
/************************************************************************** Do the work of updating (populating) the message dialog. **************************************************************************/ void real_meswin_dialog_update(void) { int i, num; const struct message *pmsg; if (gui()->infotab == NULL) { return; } gui()->infotab->msgwdg->clr(); num = meswin_get_num_messages(); for (i = 0; i < num; i++) { pmsg = meswin_get_message(i); gui()->infotab->msgwdg->msg(pmsg); } gui()->infotab->msgwdg->msg_update(); }
/************************************************************************** Do the work of updating (populating) the message dialog. **************************************************************************/ void real_meswin_dialog_update(void) { int i, num; const struct message *pmsg; gui()->messages_window->clearContents(); gui()->messages_window->setRowCount(0); num = meswin_get_num_messages(); for (i = 0; i < num; i++) { QTableWidgetItem *item; item = new QTableWidgetItem(); pmsg = meswin_get_message(i); gui()->messages_window->insertRow(i); item->setText(QString::fromUtf8(pmsg->descr)); gui()->messages_window->setItem(i, 0, item); } gui()->messages_window->resizeColumnToContents(0); gui()->messages_window->resizeRowsToContents(); }