void KeepassGroupView::createGroup(const QString& title, quint32 image, GroupViewItem* parent){
	CGroup NewGroup;
	NewGroup.Title = title;
	NewGroup.Image = image;
	
	IGroupHandle* group;
	if(parent){
		group=db->addGroup(&NewGroup,parent->GroupHandle);
		Items.append(new GroupViewItem(parent));
	}
	else{
		if(topLevelItemCount()){
			int i=1;
			if(topLevelItem(topLevelItemCount()-i)==SearchResultItem)
				i++;
			if(title!="Backup" && topLevelItem(topLevelItemCount()-i)->text(0)=="Backup")
				i++;
			Items.append(new GroupViewItem(this,topLevelItem(topLevelItemCount()-i)));
		}
		else
			Items.append(new GroupViewItem(this));
		
		group = db->addGroup(&NewGroup,NULL);
	}
	
	Items.back()->GroupHandle = group;
	Items.back()->setText(0, group->title());
	Items.back()->setIcon(0, db->icon(group->image()));
	emit fileModified();
}
Beispiel #2
0
void VSCDeviceTree::contextMenuEvent(QContextMenuEvent * event)
{
    QTreeWidgetItem *item = NULL;
#if 0
    QPoint point = QCursor::pos();
    point = mapFromGlobal(point);
    item = this->itemAt(point);
    //pActAddCamera->setEnabled (false);
    //pActEditCamera->setEnabled (false);
    //pActDeleteCamera->setEnabled (false);
#endif
    item = currentItem();
    pPopMenu->removeAction(pActAddCamera);
    pPopMenu->removeAction(pActEditCamera);
    pPopMenu->removeAction(pActDeleteCamera);
    pPopMenu->removeAction(pActRecord);
    pPopMenu->removeAction(pActStopRecord);
    pPopMenu->removeAction(pActDiskEdit);

    /* VMS */
    pPopMenu->removeAction(pActEditSite);
    pPopMenu->removeAction(pActAddSite);
    pPopMenu->removeAction(pActDelSite);
    pPopMenu->removeAction(pActRefreshSite);
    if(item != NULL)
    {
        VSCDeviceIPC *pIpc = dynamic_cast<VSCDeviceIPC * >(item);
        if (pIpc)
        {
            pPopMenu->addAction(pActEditCamera);
            pPopMenu->addAction(pActDeleteCamera);
            pPopMenu->addAction(pActRecord);
            pPopMenu->addAction(pActStopRecord);
        }
        VSCVmsZb *pVms = dynamic_cast<VSCVmsZb * >(item);
        if (pVms)
        {
            pPopMenu->addAction(pActRefreshSite);
            pPopMenu->addAction(pActEditSite);
	     pPopMenu->addAction(pActDelSite);
        }

        /* This is Top level Camera Item */
        if (item == topLevelItem(VSC_DEVICE_INDEX_IPC))
        {
            pPopMenu->addAction(pActAddCamera);
        }
        if (item == topLevelItem(VSC_DEVICE_INDEX_DSIK))
        {
            pPopMenu->addAction(pActDiskEdit);
        }
        if (item == topLevelItem(VSC_DEVICE_INDEX_SITE))
        {
            pPopMenu->addAction(pActAddSite);
        }
    }
    pPopMenu->exec(QCursor::pos());//菜单出现的位置为当前鼠标的位置
    event->accept();
}
void PupilArchiveListTreeWidget::refreshPupilArchiveList( int pupilId )
{

    QList<QTreeWidgetItem *> selectedItemList = this->selectedItems();
    QString selectedItemIdString;
    if(!selectedItemList.empty()) {
        selectedItemIdString = selectedItemList.first()->data(0,Qt::UserRole).toString();
    }

    clear();
    setRootIsDecorated(false);
//
    QSqlQuery pupilQuery("SELECT pupilid, forename, surname FROM pupilarchive ORDER BY surname ASC");
    if (pupilQuery.lastError().isValid()) qDebug() << "DB Error: 88 - " << pupilQuery.lastError();

    while (pupilQuery.next()) {
        QTreeWidgetItem *pupilItem = new QTreeWidgetItem(this);
        pupilItem->setFirstColumnSpanned ( true );
        pupilItem->setData(0, Qt::UserRole, pupilQuery.value(0).toString());
        pupilItem->setData(0, Qt::DisplayRole, pupilQuery.value(2).toString()+", "+pupilQuery.value(1).toString());
        pupilItem->setData(0, Qt::DecorationRole, QIcon(":/gfx/archive_extract.png"));
    }
//
    if(topLevelItemCount()) {
        // 	find Selection
        if(pupilId == -1) {
            int i;
            for (i=0; i<topLevelItemCount(); i++) {

                QTreeWidgetItem *item = topLevelItem(i);
                if(item->data(0, Qt::UserRole).toString() == selectedItemIdString) {
                    setCurrentItem(item);
                    break;
                }
            }
        } else {
            int i;
            for (i=0; i<topLevelItemCount(); i++) {

                QTreeWidgetItem *item = topLevelItem(i);
                if(item->data(0, Qt::UserRole).toInt() == pupilId) {
                    setCurrentItem(item);
                    break;
                }
            }
        }
        myW->textBrowser_pupilArchive->setEnabled(true);
        myW->pushButton_printCurrentPupilArchive->setEnabled(true);
        myW->pushButton_exportCurrentPupilArchiveToPDF->setEnabled(true);
    } else {
        myW->textBrowser_pupilArchive->clear();
        myW->textBrowser_pupilArchive->setDisabled(true);
        myW->pushButton_printCurrentPupilArchive->setDisabled(true);
        myW->pushButton_exportCurrentPupilArchiveToPDF->setDisabled(true);
    }
    //refresh menu
    myW->rightTabsChanged(2);
}
Beispiel #4
0
void WdgGatewayTree::itemSelectionChangedSlot() {

	if (guard)
		return;

	wg->Db().DeselectAll();
	registry->ClearSelection();

	if (mode == mwmTree) {

		for (int i = 0; i < topLevelItemCount(); ++i) {

			QTreeWidgetItem *serviceItem = topLevelItem(i);

			unsigned serviceId = serviceItem->data(0, Qt::UserRole + 2).toUInt();

			if (serviceItem->isSelected()) {
				if (serviceId % 100 == REPO_TB_IDX)
					registry->Select(serviceId);
				else
					wg->Db().InvertRowSelection(serviceId);
			}

			for (int j = 0; j < serviceItem->childCount(); ++j) {

				QTreeWidgetItem *endpointItem = serviceItem->child(j);

				unsigned endpointId = endpointItem->data(0, Qt::UserRole + 2).toUInt();

				if (endpointItem->isSelected()) {
					if (endpointId % 100 == REPO_TB_IDX)
						registry->SelectEndpoint(serviceId, endpointId);
					else
						wg->Db().InvertRowSelection(endpointId);
				}
			}
		}
	}
	else {

		for (int i = 0; i < topLevelItemCount(); ++i) {

			QTreeWidgetItem *endpointItem = topLevelItem(i);

			unsigned endpointId = endpointItem->data(0, Qt::UserRole + 2).toUInt();

			if (endpointItem->isSelected()) {
				if (endpointId % 100 == REPO_TB_IDX)
					registry->SelectEndpoint(endpointId);
				else
					wg->Db().InvertRowSelection(endpointId);
			}
		}
	}

	wg->RefreshViews();
}
Beispiel #5
0
void StackFramesTreeWidget::clearStackFrames()
{
  int i = 0;
  while(i < topLevelItemCount()) {
    qDeleteAll(topLevelItem(i)->takeChildren());
    delete topLevelItem(i);
    i = 0;   //Restart iteration
  }
}
Beispiel #6
0
void ScTreeWidget::handleMousePress(QTreeWidgetItem *item)
{
    if (item == 0)
        return;
    if (item->parent() == 0)
    {
        if (item->isDisabled())
        {
            setItemExpanded(item, false);
            return;
        }
        int wide = 0;
        int tops = topLevelItemCount();
        if (m_toolbox_mode)
        {
            for (int t = 0; t < tops; t++)
            {
                setItemExpanded(topLevelItem(t), false);
            }
            setCurrentItem(item);
            setItemExpanded(item, true);
            if (item->childCount() != 0)
            {
                QTreeWidgetItem *child = item->child(0);
                if (child != 0)
                    wide = itemWidget(child, 0)->minimumSizeHint().width()+5;
            }
            if (wide != 0)
                setColumnWidth(0, wide);
            else
                resizeColumnToContents(0);
        }
        else
        {
            setItemExpanded(item, !isItemExpanded(item));
            for (int t = 0; t < tops; t++)
            {
                QTreeWidgetItem *top = topLevelItem(t);
                if (isItemExpanded(top))
                {
                    if (top->childCount() != 0)
                    {
                        QTreeWidgetItem *child = top->child(0);
                        if (child != 0)
                            wide = qMax(wide, itemWidget(child, 0)->minimumSizeHint().width()+5);
                    }
                }
            }
        }
        if (wide != 0)
            setColumnWidth(0, wide);
        else
            resizeColumnToContents(0);
        emit currentChanged2(indexOfTopLevelItem(item));
    }
}
void qm_plistview::keyPressEvent(QKeyEvent *event)
{
    switch (event->key())
    {
        case Qt::Key_Return:
        {
            on_item_dclicked(currentItem());
            break;
        }

        case Qt::Key_Delete:
        {
            delete_it();
            break;
        }

        case Qt::Key_Space:
        {
            if (current_songPos != -1 && current_songPos < topLevelItemCount() )
                scrollToItem(topLevelItem(current_songPos));
            break;
        }

        case Qt::Key_Home:
        {
            if (topLevelItemCount() > 0)
                scrollToItem(topLevelItem(0));
            break;
        }

        case Qt::Key_End:
        {
            if (topLevelItemCount() > 0)
                scrollToItem(topLevelItem(topLevelItemCount() - 1));
            break;
        }

        case Qt::Key_Down:
        {
            if (currentItem()->get_pos < topLevelItemCount())
                setCurrentItem(itemBelow ( currentItem() ));
            break;
        }

        case Qt::Key_Up:
        {
            if (currentItem()->get_pos > 1)
                setCurrentItem(itemAbove ( currentItem() ));
            break;
        }

        default:
            QTreeWidget::keyPressEvent(event);
    }
}
Beispiel #8
0
void ScTreeWidget::setItemEnabled(int index, bool enable)
{
    if ((index < 0) || (index >= topLevelItemCount()))
        return;
    if (enable)
        topLevelItem(index)->setFlags(Qt::ItemIsEnabled);
    else
        topLevelItem(index)->setFlags(0);
    QTreeWidgetItem *child = topLevelItem(index)->child(0);
    if (child != NULL)
        itemWidget(child, 0)->setEnabled(enable);
}
void ItemBoxTreeWidget::addCategory(const Category &cat, int index)
{
//    if (cat.itemCount() == 0)
//        return;

    const bool isScratchPad = cat.type() == Category::Scratchpad;
    ItemBoxCategoryListView *categoryView = 0;
    QTreeWidgetItem *cat_item = 0;

    if (isScratchPad) {
        const int idx = ensureScratchpad();
        categoryView = categoryViewAt(idx);
        cat_item = topLevelItem(idx);
    } else {
        const int existingIndex = indexOfCategory(cat.id());
        if (existingIndex == -1) {
            cat_item = new QTreeWidgetItem();
            cat_item->setData(0, Qt::UserRole, QVariant(cat.id()));
            cat_item->setText(0, cat.name());
            setTopLevelRole(NORMAL_ITEM, cat_item);
            // insert before scratchpad
            const int scratchPadIndex = indexOfScratchpad();
            if (scratchPadIndex == -1) {
                if(index == -1) {
                    addTopLevelItem(cat_item);
                } else {
                    insertTopLevelItem(index, cat_item);
                }

            } else {
                insertTopLevelItem(scratchPadIndex, cat_item);
            }
            setItemExpanded(cat_item, true);
            categoryView = addCategoryView(cat_item, m_iconMode);
        } else {
            categoryView = categoryViewAt(existingIndex);
            cat_item = topLevelItem(existingIndex);
        }
    }
    // The same categories are read from the file $HOME, avoid duplicates
    const int widgetCount = cat.itemCount();
    for (int i = 0; i < widgetCount; ++i) {
        const Item w = cat.item(i);
        if (!categoryView->containsItem(w.name())) {
            categoryView->addItem(w, w.icon(), isScratchPad);
        }
    }
    adjustSubListSize(cat_item);

}
Beispiel #10
0
bool UserMenuTree::writeXml(const QString &filename)
{
	KILE_DEBUG() << "write xml file " << filename;

	QFile file(filename);
	if ( !file.open(QFile::WriteOnly | QFile::Text) ) {
		KMessageBox::error(this, i18n("File '%1' could not be opened to save the usermenu file.", filename));
		return false;
	}

	QXmlStreamWriter xmlWriter(&file);
	xmlWriter.setAutoFormatting(true);
	xmlWriter.setAutoFormattingIndent(2) ;

	xmlWriter.writeStartDocument();
	xmlWriter.writeStartElement("UserMenu");

	for (int i = 0; i < topLevelItemCount(); ++i) {
		writeXmlItem(&xmlWriter, dynamic_cast<UserMenuItem *>(topLevelItem(i)) );
	}
	xmlWriter.writeEndDocument();

	file.close();
	return true;
}
Beispiel #11
0
/*
  The user has triggered the action to remove a file from the project.
  Grab the file name and signal ProjectInfo to make the change.
*/
void FileBrowser::onRemoveRequest()
{
  QString filepath = currentItem()->text(FILENAME_COLUMN);
  QTreeWidgetItem *top = topLevelItem(0);
  delete top->takeChild(top->indexOfChild(currentItem()));
  emit removeFileRequest(filepath);
}
/* Updates the PrefsItemData loaded status to reflect currently
 * running modules */
void PrefsTree::updateLoadedStatus( QTreeWidgetItem *item = NULL,
                                    QSet<QString> *loaded = NULL )
{
    bool b_release = false;

    if( loaded == NULL )
    {
        vlc_object_t *p_root = VLC_OBJECT( p_intf->p_libvlc );
        loaded = new QSet<QString>();
        populateLoadedSet( loaded, p_root );
        b_release = true;
    }

    if ( item == NULL )
    {
        for( int i = 0 ; i < topLevelItemCount(); i++ )
            updateLoadedStatus( topLevelItem( i ), loaded );
    }
    else
    {
        PrefsItemData *data = item->data( 0, Qt::UserRole )
                .value<PrefsItemData *>();
        data->b_loaded = loaded->contains( QString( data->psz_shortcut ) );

        for( int i = 0; i < item->childCount(); i++ )
            updateLoadedStatus( item->child( i ), loaded );
    }

    if ( b_release )
        delete loaded;
}
Beispiel #13
0
void ProposalTreeWidget::renumber()
{
	int nitems = topLevelItemCount();
	for(int r=0; r<nitems; ++r){	QTreeWidgetItem * item = topLevelItem(r);
		item->setText(ColumnId, QString::number(r+1) );
	}
}
Beispiel #14
0
QTreeWidgetItem *QgsSettingsTree::childAt( QTreeWidgetItem *parent, int index )
{
  if ( parent )
    return parent->child( index );
  else
    return topLevelItem( index );
}
Beispiel #15
0
QTreeWidgetItem* TreeWidget::lastItem() const
{
    QTreeWidgetItem* item = topLevelItem(topLevelItemCount() - 1);
    if (item->childCount() > 0)
        item = item->child(item->childCount() - 1);
    return item;
}
void ItemBoxTreeWidget::filter(const QString &f)
{
    const bool empty = f.isEmpty();
    QRegExp re = empty ? QRegExp() : QRegExp(f, Qt::CaseInsensitive, QRegExp::FixedString);
    const int numTopLevels = topLevelItemCount();
    bool changed = false;
    for (int i = 0; i < numTopLevels; i++) {
        QTreeWidgetItem *tl = topLevelItem(i);
        ItemBoxCategoryListView *categoryView = categoryViewAt(i);
        // Anything changed? -> Enable the category
        const int oldCount = categoryView->count(ItemBoxCategoryListView::FilteredAccess);
        categoryView->filter(re);
        const int newCount = categoryView->count(ItemBoxCategoryListView::FilteredAccess);
        if (oldCount != newCount) {
            changed = true;
            const bool categoryEnabled = newCount > 0 || empty;
            if (categoryEnabled) {
                categoryView->adjustSize();
                adjustSubListSize(tl);
            }
            setRowHidden (i, QModelIndex(), !categoryEnabled);
        }
    }
    if (changed) {
        updateGeometries();
    }
}
Beispiel #17
0
void QvvTreeWidget::findNext( QString str, int full_match )
{
    QTreeWidgetItem *lwi = currentItem();

    int i;
    int start;

    int x = topLevelItemCount();

    i = indexOfTopLevelItem( lwi );
    start = i;

    if( x <= 1 or i < 0 ) return; // not found or empty list

    while(4)
    {
        i++;
        if( i >= x ) i = 0;
        if( i == start ) break;
        lwi = topLevelItem( i );
        if(   full_match && lwi->text( 1 ).toUpper() == str.toUpper() ) break;
        if( ! full_match && lwi->text( 1 ).toUpper().indexOf( str.toUpper() ) == 0 ) break;
        lwi = NULL;
    }
    if( lwi )
    {
        setCurrentItem( lwi );
        scrollToItem( lwi );
    }
}
Beispiel #18
0
void ViewListTreeWidget::save( QDomElement &element ) const
{
    int cnt = topLevelItemCount();
    if ( cnt == 0 ) {
        return;
    }
    QDomElement cs = element.ownerDocument().createElement( "categories" );
    element.appendChild( cs );
    for ( int i = 0; i < cnt; ++i ) {
        ViewListItem *itm = static_cast<ViewListItem*>( topLevelItem( i ) );
        if ( itm->type() != ViewListItem::ItemType_Category ) {
            continue;
        }
        QDomElement c = cs.ownerDocument().createElement( "category" );
        cs.appendChild( c );
        emit const_cast<ViewListTreeWidget*>( this )->updateViewInfo( itm );
        itm->save( c );
        for ( int j = 0; j < itm->childCount(); ++j ) {
            ViewListItem *vi = static_cast<ViewListItem*>( itm->child( j ) );
            if ( vi->type() != ViewListItem::ItemType_SubView ) {
                continue;
            }
            QDomElement el = c.ownerDocument().createElement( "view" );
            c.appendChild( el );
            emit const_cast<ViewListTreeWidget*>( this )->updateViewInfo( vi );
            vi->save( el );
            QDomElement elm = el.ownerDocument().createElement( "settings" );
            el.appendChild( elm );
            static_cast<ViewBase*>( vi->view() )->saveContext( elm );
        }
    }
}
void ZConfBrowserWidget::addService(QString service)
{
    QTreeWidgetItem *parent = 0;
    for (int i = 0; i < topLevelItemCount(); i++) {
        QTreeWidgetItem *item = topLevelItem(i);
        if (service == item->text(0)) {
            parent = item;
            break;
        }
    }
    ZConfServiceEntry serviceEntry = d_ptr->browser->serviceEntry(service);
    if (!serviceEntry.isValid())
        return;         // No service entry with that name found.
    if (!parent) {
        parent = new QTreeWidgetItem(this);
        parent->setText(0, service);
        parent->setText(1, serviceEntry.domain);
        parent->setText(2, serviceEntry.host);
        parent->setText(5, QString::number(serviceEntry.port));
    }

    QTreeWidgetItem *entry = new QTreeWidgetItem(parent);
    entry->setText(0, service);
    entry->setText(1, serviceEntry.domain);
    entry->setText(3, serviceEntry.protocolName());
    entry->setText(4, serviceEntry.ip);
    entry->setText(5, QString::number(serviceEntry.port));
}
void ItemBoxTreeWidget::removeItem(const QString &cat_id, const QString &item_id)
{

    qDebug() << "--ItemBoxTreeWidget::removeObjectItem()";

    int cat_Idx = indexOfCategory(cat_id);
    if (cat_Idx >= topLevelItemCount() || cat_Idx < 0) {
        return ;
    }

    // unfiltered access
    const ItemBoxCategoryListView::AccessMode am = ItemBoxCategoryListView::UnfilteredAccess;

    ItemBoxCategoryListView *categoryview = categoryViewAt(cat_Idx);
    int item_idx = categoryview->indexOfItem(item_id);
    //TreeWidget::ObjectItem objItem = old_categoryView->objectItemAt(am, item_idx);
    //if(objItem.isNull()){return;}

    if (item_idx >= categoryview->count(am)) {
        return;
    }
    categoryview->removeRow(am, item_idx);
    categoryview->updateGeometry();
    adjustSubListSize(topLevelItem(cat_Idx));

    updateGeometries();
    //viewport()->update();

}
void ItemBoxTreeWidget::addItem(int cat_idx, const Item &item)
{
    qDebug() << "--ItemBoxTreeWidget::addItem(...) cat_idx:" << cat_idx << " item.id():" << item.id();

    if (cat_idx >= topLevelItemCount() || cat_idx < 0) {
        qCritical() << "ERROR! Invalid category index!";
        return;
    }

    QTreeWidgetItem *cat_item = topLevelItem(cat_idx);
    ItemBoxCategoryListView *categoryView = categoryViewAt(cat_idx);

    const bool scratch = topLevelRole(cat_item) == SCRATCHPAD_ITEM;
    //const bool scratch = topLevelRole(cat_item) == NORMAL_ITEM;

    // The same categories are read from the file $HOME, avoid duplicates
    if (!categoryView->containsItem(item.id())) {
        categoryView->addItem(item, item.icon(), scratch);
        categoryView->updateGeometry();
    } else {
        qWarning() << "ERROR! Item " << item.id() << " already exists!";
    }

    adjustSubListSize(cat_item);

    updateGeometries();

}
ItemBoxCategoryListView *ItemBoxTreeWidget::categoryView(const QString &cat_id) const
{

    ItemBoxCategoryListView *rc = 0;
    if(cat_id.isEmpty()) {
        qCritical() << "Empty cat_name!";
        return rc;
    }

    int topItemCount = topLevelItemCount();
    for (int i = 0;  i < topItemCount; i++) {
        QTreeWidgetItem *cat_item = topLevelItem(i);
        //if(cat_item && cat_item->text(0) == cat_id){
        if(cat_item && cat_item->data(0, Qt::UserRole).toString() == cat_id) {
            if(QTreeWidgetItem *embedItem = cat_item->child(0)) {
                rc = qobject_cast<ItemBoxCategoryListView *>(itemWidget(embedItem, 0));
                //qDebug()<<"----ItemBoxTreeWidget::categoryView(...)~~cat_item->text(0):"<<cat_item->text(0);
                break;
            }

        }
    }

    Q_ASSERT(rc);

    return rc;

}
Beispiel #23
0
void VDirectoryTree::updateItemDirectChildren(QTreeWidgetItem *p_item)
{
    QPointer<VDirectory> parentDir;
    if (p_item) {
        parentDir = getVDirectory(p_item);
    } else {
        parentDir = m_notebook->getRootDir();
    }

    const QVector<VDirectory *> &dirs = parentDir->getSubDirs();

    QHash<VDirectory *, QTreeWidgetItem *> itemDirMap;
    int nrChild = p_item ? p_item->childCount() : topLevelItemCount();
    for (int i = 0; i < nrChild; ++i) {
        QTreeWidgetItem *item = p_item ? p_item->child(i) : topLevelItem(i);
        itemDirMap.insert(getVDirectory(item), item);
    }

    for (int i = 0; i < dirs.size(); ++i) {
        VDirectory *dir = dirs[i];
        QTreeWidgetItem *item = itemDirMap.value(dir, NULL);
        if (item) {
            if (p_item) {
                p_item->removeChild(item);
                p_item->insertChild(i, item);
            } else {
                int topIdx = indexOfTopLevelItem(item);
                takeTopLevelItem(topIdx);
                insertTopLevelItem(i, item);
            }

            itemDirMap.remove(dir);
        } else {
            // Insert a new item
            if (p_item) {
                item = new QTreeWidgetItem(p_item);
            } else {
                item = new QTreeWidgetItem(this);
            }

            fillTreeItem(item, dir);
            buildSubTree(item, 1);
        }

        expandSubTree(item);
    }

    // Delete items without corresponding VDirectory
    for (auto iter = itemDirMap.begin(); iter != itemDirMap.end(); ++iter) {
        QTreeWidgetItem *item = iter.value();
        if (p_item) {
            p_item->removeChild(item);
        } else {
            int topIdx = indexOfTopLevelItem(item);
            takeTopLevelItem(topIdx);
        }

        delete item;
    }
}
Beispiel #24
0
void SummaryTree::setContest(Contest *contest)
{
    if (curContest) {
        QList<Task*> taskList = curContest->getTaskList();
        for (int i = 0; i <  taskList.size(); i ++)
            disconnect(taskList[i], SIGNAL(problemTitleChanged(QString)),
                       this, SLOT(titleChanged(QString)));
    }
    curContest = contest;
    if (! curContest) return;
    setEnabled(false);
    clear();
    QList<Task*> taskList = curContest->getTaskList();
    for (int i = 0; i < taskList.size(); i ++) {
        connect(taskList[i], SIGNAL(problemTitleChanged(QString)),
                this, SLOT(titleChanged(QString)));
        QTreeWidgetItem *newTaskItem = new QTreeWidgetItem(this);
        newTaskItem->setText(0, taskList[i]->getProblemTile());
        newTaskItem->setFlags(Qt::ItemIsEditable | Qt::ItemIsSelectable | Qt::ItemIsEnabled);
        for (int j = 0; j < taskList[i]->getTestCaseList().size(); j ++) {
            QTreeWidgetItem *newTestCaseItem = new QTreeWidgetItem(newTaskItem);
            newTestCaseItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
            newTestCaseItem->setText(0, tr("Test Case #%1").arg(newTaskItem->childCount()));
        }
    }
    if (taskList.size() > 0) setCurrentItem(topLevelItem(0));
    setEnabled(true);
    emit currentItemChanged(0, 0);
}
Beispiel #25
0
void MetadataListView::setCurrentItemByKey(const QString& itemKey)
{
    if (itemKey.isNull())
    {
        return;
    }

    int i                 = 0;
    QTreeWidgetItem* item = 0;

    do
    {
        item = topLevelItem(i);

        if (item && (item->flags() & Qt::ItemIsSelectable))
        {
            MetadataListViewItem* lvItem = dynamic_cast<MetadataListViewItem*>(item);

            if (lvItem)
            {
                if (lvItem->getKey() == itemKey)
                {
                    setCurrentItem(item);
                    scrollToItem(item);
                    m_selectedItemKey = itemKey;
                    return;
                }
            }
        }

        ++i;
    }
    while (item);
}
void ItemBoxTreeWidget::slotScratchPadItemDeleted()
{
    const int scratch_idx = indexOfScratchpad();
    QTreeWidgetItem *scratch_item = topLevelItem(scratch_idx);
    adjustSubListSize(scratch_item);
//    save();
}
Beispiel #27
0
void TrackerList::setRowColor(int row, QColor color) {
  unsigned int nbColumns = columnCount();
  QTreeWidgetItem *item = topLevelItem(row);
  for (unsigned int i=0; i<nbColumns; ++i) {
    item->setData(i, Qt::ForegroundRole, color);
  }
}
Beispiel #28
0
void IfcTreeWidget::slotObjectsSelected( boost::unordered_map<int, shared_ptr<IfcPPEntity> >& map )
{
	if( m_block_selection_signals )
	{
		return;
	}

	if( map.size() < 1 )
	{
		return;
	}

	// take the first object from map and highlight it
	shared_ptr<IfcPPEntity> object = (*(map.begin())).second;
	int selected_id = object->m_id;

	for( int i=0; i<topLevelItemCount(); ++i )
	{
		QTreeWidgetItem* toplevel_item = topLevelItem( i );
		QTreeWidgetItem* selected_item = ViewerUtil::findItemByIfcId( toplevel_item, selected_id );
		if( selected_item != 0 )
		{
			blockSignals(true);
			m_block_selection_signals = true;
			setCurrentItem( selected_item, 1, QItemSelectionModel::SelectCurrent );
			blockSignals(false);
			m_block_selection_signals = false;
			break;
		}
	}
}
void KeepassGroupView::showSearchResults(){
	if(topLevelItem(topLevelItemCount()-1)!=SearchResultItem){
		addTopLevelItem(SearchResultItem);
	}
	setCurrentItem(SearchResultItem);
	emit searchResultsSelected();
}
Beispiel #30
0
void TreeWidget::moveToNextItem()
{
    QTreeWidgetItem* item = nextItem(currentItem());
    if (!item)
        item = topLevelItem(0);
    setCurrentItem(item);
}