PacketListModel::PacketListModel(QObject *parent, capture_file *cf) : QAbstractItemModel(parent), size_hint_enabled_(true), row_height_(-1), line_spacing_(0) { setCaptureFile(cf); connect(this, SIGNAL(itemHeightChanged(QModelIndex)), this, SLOT(emitItemHeightChanged(QModelIndex)), Qt::QueuedConnection); }
PacketListModel::PacketListModel(QObject *parent, capture_file *cf) : QAbstractItemModel(parent), uniform_row_heights_(true), row_height_(-1), line_spacing_(0), idle_dissection_row_(0) { setCaptureFile(cf); PacketListRecord::clearStringPool(); connect(this, SIGNAL(itemHeightChanged(QModelIndex)), this, SLOT(emitItemHeightChanged(QModelIndex)), Qt::QueuedConnection); idle_dissection_timer_ = new QElapsedTimer(); }
QVariant PacketListModel::data(const QModelIndex &index, int role) const { if (!index.isValid()) return QVariant(); PacketListRecord *record = static_cast<PacketListRecord*>(index.internalPointer()); if (!record) return QVariant(); const frame_data *fdata = record->frameData(); if (!fdata) return QVariant(); switch (role) { case Qt::FontRole: return mono_font_; case Qt::TextAlignmentRole: switch(recent_get_column_xalign(index.column())) { case COLUMN_XALIGN_RIGHT: return Qt::AlignRight; break; case COLUMN_XALIGN_CENTER: return Qt::AlignCenter; break; case COLUMN_XALIGN_LEFT: return Qt::AlignLeft; break; case COLUMN_XALIGN_DEFAULT: default: if (right_justify_column(index.column(), cap_file_)) { return Qt::AlignRight; } break; } return Qt::AlignLeft; case Qt::BackgroundRole: const color_t *color; if (fdata->flags.ignored) { color = &prefs.gui_ignored_bg; } else if (fdata->flags.marked) { color = &prefs.gui_marked_bg; } else if (fdata->color_filter && recent.packet_list_colorize) { const color_filter_t *color_filter = (const color_filter_t *) fdata->color_filter; color = &color_filter->bg_color; } else { return QVariant(); } return QColor(color->red >> 8, color->green >> 8, color->blue >> 8); case Qt::ForegroundRole: if (fdata->flags.ignored) { color = &prefs.gui_ignored_fg; } else if (fdata->flags.marked) { color = &prefs.gui_marked_fg; } else if (fdata->color_filter && recent.packet_list_colorize) { const color_filter_t *color_filter = (const color_filter_t *) fdata->color_filter; color = &color_filter->fg_color; } else { return QVariant(); } return QColor(color->red >> 8, color->green >> 8, color->blue >> 8); case Qt::DisplayRole: { int column = index.column(); QVariant column_string = record->columnString(cap_file_, column); // We don't know an item's sizeHint until we fetch its text here. // Assume each line count is 1. If the line count changes, emit // itemHeightChanged which triggers another redraw (including a // fetch of SizeHintRole and DisplayRole) in the next event loop. if (column == 0 && record->lineCountChanged()) emit itemHeightChanged(index); return column_string; } case Qt::SizeHintRole: { if (size_hint_enabled_) { // We assume that inter-line spacing is 0. QSize size = QSize(-1, row_height_ + ((record->lineCount() - 1) * line_spacing_)); return size; } else { // Used by PacketList::sizeHintForColumn return QVariant(); } } default: return QVariant(); } return QVariant(); }
void WWindowPrivate::init() { Q_Q(WWindow); icon = sk->icon(); visible = true; hoverItem = NULL; q->setAcceptHoverEvents(true); #ifdef QT_LATEST q->setFlag(QQuickItem::ItemAcceptsDrops); #endif //--------------------------------------------------------------------------------------------- // View #if defined(SK_WIN_NATIVE) view = new WView(q, NULL); #elif defined(Q_OS_WIN) view = new WView(q, NULL, Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint); #else view = new WView(q, NULL, Qt::FramelessWindowHint); #endif #ifdef QT_4 view->setWindowTitle(sk->name()); #else view->setTitle(sk->name()); #endif if (icon.isEmpty() == false) { #ifdef QT_4 view->setWindowIcon(QIcon(icon)); #else view->setIcon(QIcon(icon)); #endif } view->setVisible(true); //--------------------------------------------------------------------------------------------- // Signals QObject::connect(view, SIGNAL(messageReceived(const QString &)), q, SIGNAL(messageReceived(const QString &))); QObject::connect(view, SIGNAL(stateChanged(Qt::WindowState)), q, SIGNAL(stateChanged(Qt::WindowState))); QObject::connect(view, SIGNAL(fadeIn ()), q, SIGNAL(fadeIn ())); QObject::connect(view, SIGNAL(fadeOut()), q, SIGNAL(fadeOut())); QObject::connect(view, SIGNAL(dragEnded()), q, SIGNAL(dragEnded())); QObject::connect(view, SIGNAL(beforeClose()), q, SIGNAL(beforeClose())); //--------------------------------------------------------------------------------------------- QObject::connect(view, SIGNAL(itemWidthChanged ()), q, SIGNAL(itemWidthChanged ())); QObject::connect(view, SIGNAL(itemHeightChanged()), q, SIGNAL(itemHeightChanged())); QObject::connect(view, SIGNAL(xChanged()), q, SIGNAL(viewXChanged())); QObject::connect(view, SIGNAL(yChanged()), q, SIGNAL(viewYChanged())); QObject::connect(view, SIGNAL(widthChanged ()), q, SIGNAL(viewWidthChanged ())); QObject::connect(view, SIGNAL(heightChanged()), q, SIGNAL(viewHeightChanged())); QObject::connect(view, SIGNAL(centerXChanged()), q, SIGNAL(centerXChanged())); QObject::connect(view, SIGNAL(centerYChanged()), q, SIGNAL(centerYChanged())); QObject::connect(view, SIGNAL(originXChanged()), q, SIGNAL(originXChanged())); QObject::connect(view, SIGNAL(originYChanged()), q, SIGNAL(originYChanged())); QObject::connect(view, SIGNAL(ratioChanged()), q, SIGNAL(ratioChanged())); QObject::connect(view, SIGNAL(zoomChanged()), q, SIGNAL(zoomChanged())); QObject::connect(view, SIGNAL(minimumWidthChanged ()), q, SIGNAL(minimumWidthChanged ())); QObject::connect(view, SIGNAL(minimumHeightChanged()), q, SIGNAL(minimumHeightChanged())); QObject::connect(view, SIGNAL(maximumWidthChanged ()), q, SIGNAL(maximumWidthChanged ())); QObject::connect(view, SIGNAL(maximumHeightChanged()), q, SIGNAL(maximumHeightChanged())); QObject::connect(view, SIGNAL(geometryNormalChanged()), q, SIGNAL(geometryNormalChanged())); QObject::connect(view, SIGNAL(minimizedChanged ()), q, SIGNAL(minimizedChanged ())); QObject::connect(view, SIGNAL(maximizedChanged ()), q, SIGNAL(maximizedChanged ())); QObject::connect(view, SIGNAL(fullScreenChanged()), q, SIGNAL(fullScreenChanged())); QObject::connect(view, SIGNAL(lockedChanged ()), q, SIGNAL(lockedChanged ())); QObject::connect(view, SIGNAL(scalingChanged ()), q, SIGNAL(scalingChanged ())); QObject::connect(view, SIGNAL(activeChanged ()), q, SIGNAL(activeChanged ())); QObject::connect(view, SIGNAL(enteredChanged ()), q, SIGNAL(enteredChanged ())); QObject::connect(view, SIGNAL(draggingChanged()), q, SIGNAL(draggingChanged())); QObject::connect(view, SIGNAL(draggedChanged ()), q, SIGNAL(draggedChanged ())); QObject::connect(view, SIGNAL(resizingChanged()), q, SIGNAL(resizingChanged())); QObject::connect(view, SIGNAL(touchingChanged()), q, SIGNAL(touchingChanged())); QObject::connect(view, SIGNAL(mousePosChanged ()), q, SIGNAL(mousePosChanged ())); QObject::connect(view, SIGNAL(mouseCursorChanged()), q, SIGNAL(mouseCursorChanged())); #ifdef QT_4 QObject::connect(view, SIGNAL(openglChanged()), q, SIGNAL(openglChanged())); #endif QObject::connect(view, SIGNAL(antialiasChanged()), q, SIGNAL(antialiasChanged())); QObject::connect(view, SIGNAL(vsyncChanged ()), q, SIGNAL(vsyncChanged ())); QObject::connect(view, SIGNAL(hoverEnabledChanged()), q, SIGNAL(hoverEnabledChanged())); QObject::connect(view, SIGNAL(fadeEnabledChanged ()), q, SIGNAL(fadeEnabledChanged ())); QObject::connect(view, SIGNAL(fadeDurationChanged()), q, SIGNAL(fadeDurationChanged())); //--------------------------------------------------------------------------------------------- QObject::connect(view, SIGNAL(idleCheckChanged()), q, SIGNAL(idleCheckChanged())); QObject::connect(view, SIGNAL(idleChanged ()), q, SIGNAL(idleChanged ())); QObject::connect(view, SIGNAL(idleDelayChanged()), q, SIGNAL(idleDelayChanged())); //--------------------------------------------------------------------------------------------- QObject::connect(view, SIGNAL(mousePressed(WDeclarativeMouseEvent *)), q, SIGNAL(mousePressed(WDeclarativeMouseEvent *))); QObject::connect(view, SIGNAL(mouseReleased(WDeclarativeMouseEvent *)), q, SIGNAL(mouseReleased(WDeclarativeMouseEvent *))); QObject::connect(view, SIGNAL(mouseDoubleClicked(WDeclarativeMouseEvent *)), q, SIGNAL(mouseDoubleClicked(WDeclarativeMouseEvent *))); QObject::connect(view, SIGNAL(keyPressed(WDeclarativeKeyEvent *)), q, SIGNAL(keyPressed(WDeclarativeKeyEvent *))); QObject::connect(view, SIGNAL(keyReleased(WDeclarativeKeyEvent *)), q, SIGNAL(keyReleased(WDeclarativeKeyEvent *))); //--------------------------------------------------------------------------------------------- QObject::connect(view, SIGNAL(keyShiftPressedChanged()), q, SIGNAL(keyShiftPressedChanged())); QObject::connect(view, SIGNAL(keyControlPressedChanged()), q, SIGNAL(keyControlPressedChanged())); QObject::connect(view, SIGNAL(keyAltPressedChanged()), q, SIGNAL(keyAltPressedChanged())); //--------------------------------------------------------------------------------------------- QObject::connect(view, SIGNAL(availableGeometryChanged()), q, SIGNAL(availableGeometryChanged())); }