static GObject * status_icon_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { GObject * obj; GObjectClass * parent_class; StatusIcon * self; const gchar* _tmp0_ = NULL; gchar* _tmp1_; const gchar* _tmp2_ = NULL; gchar* _tmp3_; DejaDupOperation* _tmp4_; DejaDupOperation* _tmp5_; parent_class = G_OBJECT_CLASS (status_icon_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = STATUS_ICON (obj); _tmp0_ = _ ("_Resume Later"); _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->later_label); self->later_label = _tmp1_; _tmp2_ = _ ("_Skip Backup"); _tmp3_ = g_strdup (_tmp2_); _g_free0 (self->skip_label); self->skip_label = _tmp3_; _tmp4_ = self->priv->_op; g_signal_connect_object (_tmp4_, "action-desc-changed", (GCallback) _status_icon_set_action_desc_deja_dup_operation_action_desc_changed, self, 0); _tmp5_ = self->priv->_op; g_signal_connect_object (_tmp5_, "progress", (GCallback) _status_icon_note_progress_deja_dup_operation_progress, self, 0); return obj; }
static void status_icon_finalize (GObject* obj) { StatusIcon * self; self = STATUS_ICON (obj); _g_object_unref0 (self->priv->_window); _g_object_unref0 (self->priv->_op); _g_free0 (self->action); _g_free0 (self->later_label); _g_free0 (self->skip_label); _g_object_unref0 (self->note); G_OBJECT_CLASS (status_icon_parent_class)->finalize (obj); }
/* Update the contents for the message pointed to by 'msg', if it's in the model, otherwise ignore the request. Currently the contents are the status (icon) and the priority. Other changes such as in the subject or the date could be visually reflected by this function if the UI permitted those changes. */ void mail_item_model::update_msg(const mail_msg* msg) { DBG_PRINTF(4, "update_msg of " MAIL_ID_FMT_STRING, msg->get_id()); QStandardItem* item=item_from_id(msg->get_id()); if (!item) return; QModelIndex index=item->index(); QStandardItem* isubject = itemFromIndex(index); bool bold=isubject->font().bold(); DBG_PRINTF(5, "mail_id=" MAIL_ID_FMT_STRING ", status=%d, bold=%d", msg->get_id(), msg->status(), bold); if ((msg->status()!=0 && bold) || (msg->status()==0 && !bold)) { // reverse bold attribute QFont f=isubject->font(); f.setBold(!bold); isubject->setFont(f); itemFromIndex(index.sibling(index.row(), column_sender))->setFont(f); itemFromIndex(index.sibling(index.row(), column_date))->setFont(f); itemFromIndex(index.sibling(index.row(), column_pri))->setFont(f); itemFromIndex(index.sibling(index.row(), column_recipient))->setFont(f); } // status icon QIcon* icon = icon_status(msg->status()); QStandardItem* istatus = itemFromIndex(index.sibling(index.row(), column_status)); if (istatus) { if (icon) istatus->setIcon(*icon); else istatus->setIcon(QIcon()); } // priority QStandardItem* ipri = itemFromIndex(index.sibling(index.row(), column_pri)); if (ipri) { if (msg->priority()!=0) ipri->setText(QString("%1").arg(msg->priority())); else ipri->setText(""); } // note QStandardItem* inote = itemFromIndex(index.sibling(index.row(), column_note)); if (inote) { inote->setData(msg->has_note()); if (msg->has_note()) inote->setIcon(STATUS_ICON(FT_ICON16_EDIT_NOTE)); else inote->setIcon(QIcon()); } }
static void _vala_status_icon_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { StatusIcon * self; self = STATUS_ICON (object); switch (property_id) { case STATUS_ICON_WINDOW: status_icon_set_window (self, g_value_get_object (value)); break; case STATUS_ICON_OP: status_icon_set_op (self, g_value_get_object (value)); break; case STATUS_ICON_AUTOMATIC: status_icon_set_automatic (self, g_value_get_boolean (value)); break; case STATUS_ICON_SHOW_AUTOMATIC_PROGRESS: status_icon_set_show_automatic_progress (self, g_value_get_boolean (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } }
void mail_item_model::create_row(mail_msg* msg, QList<QStandardItem*>& items) { bool bold = ((msg->status() & mail_msg::statusRead)==0); QStandardItem* isubject = new QStandardItem(msg->Subject()); if (bold) { QFont f=isubject->font(); f.setBold(true); isubject->setFont(f); } // store mail_msg* into the data of the first item (mail's subject at column 0) QVariant v; v.setValue(msg); isubject->setData(v, mail_item_model::mail_msg_role); QStandardItem* ifrom = new QStandardItem(); if (m_display_sender_mode!="name" || msg->sender_name().isEmpty()) ifrom->setText(msg->From()); else ifrom->setText(msg->sender_name()); if (bold) { QFont f=ifrom->font(); f.setBold(true); ifrom->setFont(f); } items.append(isubject); items.append(ifrom); QIcon* icon = icon_status(msg->status()); if (icon) items.append(new QStandardItem(*icon,"")); // status else items.append(new QStandardItem()); // empty (shouldn't happen) // priority (number) QStandardItem* ipri = new QStandardItem(); if (msg->priority()!=0) ipri->setText(QString("%1").arg(msg->priority())); if (bold) { QFont f=ipri->font(); f.setBold(true); ipri->setFont(f); } items.append(ipri); // Attachment flag_item* a_item; if (msg->has_attachments()) { a_item = new flag_item(STATUS_ICON(FT_ICON16_ATTACH)); a_item->setData(QVariant(true)); } else { a_item = new flag_item(); a_item->setData(QVariant(false)); } items.append(a_item); // Note flag_item* n_item; if (msg->has_note()) { n_item = new flag_item(STATUS_ICON(FT_ICON16_EDIT_NOTE)); n_item->setData(QVariant(true)); } else { n_item = new flag_item(); n_item->setData(QVariant(false)); } items.append(n_item); // Date date_item* idate = new date_item(msg->msg_date(), m_date_format); if (bold) { QFont f=idate->font(); f.setBold(true); idate->setFont(f); } items.append(idate); QStandardItem* irecipient = new QStandardItem(); QList<QString> emails; QList<QString> names; QString recipients; mail_address::ExtractAddresses(msg->recipients(), emails, names); QList<QString>::const_iterator iter1 = emails.begin(); QList<QString>::const_iterator iter2 = names.begin(); for (; iter1!=emails.end() && iter2!=names.end(); ++iter1,++iter2) { if (!recipients.isEmpty()) recipients.append(", "); if (iter2->isEmpty()) recipients.append(*iter1); else recipients.append(*iter2); } irecipient->setText(recipients); if (bold) { QFont f=irecipient->font(); f.setBold(true); irecipient->setFont(f); } items.append(irecipient); }