Example #1
0
void UserAgentDlg::deletePressed()
{
    QListViewItem *item;
    QListViewItem *nextItem = 0;

    item = dlg->lvDomainPolicyList->firstChild();

    while(item != 0L)
    {
        if(dlg->lvDomainPolicyList->isSelected(item))
        {
            nextItem = item->itemBelow();
            if(!nextItem)
                nextItem = item->itemAbove();

            delete item;
            item = nextItem;
        }
        else
        {
            item = item->itemBelow();
        }
    }

    if(nextItem)
        dlg->lvDomainPolicyList->setSelected(nextItem, true);

    updateButtons();
    configChanged();
}
Example #2
0
void ChaserEditor::slotLowerClicked()
{
  QListViewItem* currentItem = m_functionList->currentItem();

  if (currentItem != NULL)
    {
      QString deviceString = currentItem->text(1);
      QString functionString = currentItem->text(2);

      QListViewItem* below = NULL;
      if (currentItem->itemBelow() != NULL)
	{
	  below = currentItem->itemBelow();
	}

      if (below != NULL)
	{
	  m_functionList->takeItem(currentItem);
	  delete currentItem;
	  QListViewItem* newItem;
	  newItem = new QListViewItem(m_functionList, below, "", deviceString, functionString);
	  m_functionList->setSelected(newItem, true);
	}
    }
  updateOrderNumbers();
}
void ZLQtSelectionDialogListView::keyPressEvent(QKeyEvent *event) {
	QListViewItem *item = currentItem();
	switch(event->key()) {
		case Key_Enter:
		case Key_Return:
			if (item != 0)
				emit returnPressed(item);
			return;
		case Key_Down:
			item = item->itemBelow();
			if (item == 0) {
				item = firstChild();
			}
			break;
		case Key_Up:
			item = item->itemAbove();
			if (item == 0) {
				item = firstChild();
				while (item->nextSibling() != 0) {
					item = item->nextSibling();
				}
				while (item->itemBelow() != 0) {
					item = item->itemBelow();
				}
			}		
			break;
		default:
			QListView::keyPressEvent(event);
	}

	if (item != 0) {
		setCurrentItem(item);
		ensureItemVisible(item);
	}
}
Example #4
0
void LayoutConfig::moveDown()
{
    QListViewItem *sel = widget->listLayoutsDst->selectedItem();
    if(sel == 0 || sel->itemBelow() == 0)
        return;

    sel->moveItem(sel->itemBelow());
}
Example #5
0
/* config-slot: "down" button clicked */
void TopLevel::downButtonClicked() {
	QListViewItem* item = listbox->currentItem();

	if (item && item->itemBelow())
		item->moveItem(item->itemBelow());

	enable_controls();
}
Example #6
0
bool PropertyEditor::handleKeyPress(QKeyEvent* ev) {
    const int k = ev->key();
    const Qt::ButtonState s = ev->state();

    //selection moving
    QListViewItem *item = 0;

    if ((s == NoButton && k == Key_Up) || k == Key_BackTab) {
        //find prev visible
        item = selectedItem() ? selectedItem()->itemAbove() : 0;
        while (item && (!item->isSelectable() || !item->isVisible()))
            item = item->itemAbove();

        if (!item)
            return true;
    } else if (s == NoButton && (k == Key_Down || k == Key_Tab)) {
        //find next visible
        item = selectedItem() ? selectedItem()->itemBelow() : 0;
        while (item && (!item->isSelectable() || !item->isVisible()))
            item = item->itemBelow();

        if (!item)
            return true;
    } else if (s == NoButton && k == Key_Home) {
        if (m_currentEditor && m_currentEditor->hasFocus())
            return false;

        //find 1st visible
        item = firstChild();
        while (item && (!item->isSelectable() || !item->isVisible()))
            item = item->itemBelow();
    } else if (s == NoButton && k == Key_End) {
        if (m_currentEditor && m_currentEditor->hasFocus())
            return false;

        //find last visible
        item = selectedItem();
        QListViewItem *lastVisible = item;
        while (item) { // && (!item->isSelectable() || !item->isVisible()))
            item = item->itemBelow();
            if (item && item->isSelectable() && item->isVisible())
                lastVisible = item;
        }

        item = lastVisible;
    }

    if (item) {
        ev->accept();
        ensureItemVisible(item);
        setSelected(item, true);
        return true;
    }

    return false;
}
Example #7
0
void PhraseBookBox::removePhrase()
{
    QListViewItem *item = lv->currentItem();
    QListViewItem *next = item->itemBelow() != 0 ? item->itemBelow()
			  : item->itemAbove();
    delete item;
    if ( next != 0 )
	selectItem( next );
    enableDisable();
}
Example #8
0
/** Button Down */
void KControlAddEdit::slotMoveDownAnswer()
{
    QListViewItem *item = _listAnswers->currentItem();

    if (item)
        item->moveItem(item->itemBelow());

    _buttonUp->setEnabled(item->itemAbove()!=0);
    _buttonDown->setEnabled(item->itemBelow()!=0);
}
void BookmarksSettingsPage::moveBookmark(int direction)
{
    // this implementation currently only allows moving of bookmarks
    // one step up or down
    assert((direction >= -1) && (direction <= +1));

    // swap bookmarks in listview
    QListViewItem* selectedItem = m_listView->selectedItem();
    assert(selectedItem != 0);
    QListViewItem* item = (direction < 0) ? selectedItem->itemAbove() :
                          selectedItem->itemBelow();
    assert(item != 0);

    QPixmap pixmap;
    if (item->pixmap(0) != 0) {
        pixmap = *(item->pixmap(0));
    }
    QString name(item->text(NameIdx));
    QString url(item->text(URLIdx));
    QString icon(item->text(IconIdx));

    if (selectedItem->pixmap(0) != 0) {
        item->setPixmap(PixmapIdx, *(selectedItem->pixmap(0)));
    }
    item->setText(NameIdx, selectedItem->text(NameIdx));
    item->setText(URLIdx, selectedItem->text(URLIdx));
    item->setText(IconIdx, selectedItem->text(IconIdx));

    selectedItem->setPixmap(PixmapIdx, pixmap);
    selectedItem->setText(NameIdx, name);
    selectedItem->setText(URLIdx, url);
    selectedItem->setText(IconIdx, icon);

    m_listView->setSelected(item, true);
}
Example #10
0
static bool listViewHasSelection( QListView *lv )
{
    for ( QListViewItem *i = lv->firstChild(); i; i = i->itemBelow() )
        if ( i->isSelected() )
            return true;
    return false;
}
void DlgDirectories::updateUpDown()
{
    QListViewItem *item = lv_entries->selectedItem();

    pb_up->setEnabled( item && item->itemAbove() );
    pb_down->setEnabled( item && item->itemBelow() );
}
Example #12
0
void FolderListView::startDrag()
{
QListViewItem *item = currentItem();
if (!item)
	return;

if (item == firstChild() && item->listView()->rootIsDecorated())
	return;//it's the project folder so we don't want the user to move it

QPoint orig = viewportToContents( viewport()->mapFromGlobal( QCursor::pos() ) );

QPixmap pix;
if (item->rtti() == FolderListItem::ListItemType)
	pix = QPixmap( folder_closed_xpm );
else
	pix = *item->pixmap (0);

QIconDrag *drag = new QIconDrag(viewport());
drag->setPixmap(pix, QPoint(pix.width()/2, pix.height()/2 ) );

QPtrList<QListViewItem> lst;
for (item = firstChild(); item; item = item->itemBelow())
	{
	if (item->isSelected())
		lst.append(item);
	}

emit dragItems(lst);
drag->drag();
}
void QTodoLists::contentsWheelEvent(QWheelEvent* event)
{
	if(!firstChild())
		return;

	QListViewItem* item = selectedItem();
	if(event->delta() < 0)
	{
		if(!item)
			item = lastItem();

		item = item->itemBelow();
		if(!item)
			item = firstChild();
	}
	else
	{
		if(!item)
			item = firstChild();

		item = item->itemAbove();
		if(!item)
			item = lastItem();
	}
	setSelected(item,true);
}
Example #14
0
/*! Now to implement the closest match function */
void TVListView::findItem(int keyId, TVVariant value)
{
    QListViewItem *i;
    TVListViewItem *best_so_far = NULL;
    /* start at the beginning... go through till find the closest elem */
    i = listViewDisplay->firstChild();
    while (i) {
        /* search stuff */
        if(best_so_far) {
            if (DataElem::closer(
                    ((TVListViewItem *)i)->getDataElem(),
                    best_so_far->getDataElem(), value, keyId))
                best_so_far = (TVListViewItem *)i;
        } else {
            if (DataElem::closer(
                    ((TVListViewItem *)i)->getDataElem(),
                    NULL, value, keyId))
                best_so_far = (TVListViewItem *)i;
        }

        i = i->itemBelow();
    }
    if (best_so_far) {
        /* set best_so_far to current element */
        delete it;
        it = new QListViewItemIterator(best_so_far);
    }
}
Example #15
0
void DirectoryView::setDir( const QString &s )
{
  QListViewItemIterator it( this );
  ++it;
  for ( ; it.current(); ++it ) {
    it.current()->setOpen( false );
  }

  QStringList lst( QStringList::split( "/", s ) );
  QListViewItem *item = firstChild();
  QStringList::Iterator it2 = lst.begin();
  for ( ; it2 != lst.end(); ++it2 ) {
    while ( item ) {
      if ( item->text( 0 ) == *it2 ) {
        item->setOpen( true );
        break;
      }
      item = item->itemBelow();
    }
  }

  if ( item ){
    setSelected( item, true );
    setCurrentItem( item );
  }
}
Example #16
0
void KCustomMenuEditor::refreshButton()
{
    QListViewItem *item = m_listView->currentItem();
    d->pbRemove->setEnabled( item );
    d->pbMoveUp->setEnabled( item && item->itemAbove() );
    d->pbMoveDown->setEnabled( item && item->itemBelow() );
}
Example #17
0
void RDListView::mouseButtonClickedData(int button,QListViewItem *item,
					const QPoint &pt,int col)
{
  QListViewItem *l;
  bool contiguous;

  if((selectionMode()!=QListView::Extended)||(item==NULL)||(button!=1)) {
    return;
  }

  //
  // Get Selected Range
  //
  l=item;
  contiguous=true;
  while((l=l->itemAbove())!=NULL) {
    if(!l->isSelected()) {
      contiguous=false;
    }
    if(!contiguous) {
      setSelected(l,false);
    }
  }
  l=item;
  contiguous=true;
  while((l=l->itemBelow())!=NULL) {
    if(!l->isSelected()) {
      contiguous=false;
    }
    if(!contiguous) {
      setSelected(l,false);
    }
  }
}
Example #18
0
ResourceItem *ResourceView::findItemByIdentifier( const QString& id )
{
  QListViewItem *item;
  ResourceItem *i = 0;
  for( item = mListView->firstChild(); item; item = item->itemBelow() ) {
    i = static_cast<ResourceItem *>( item );
    if ( i->resourceIdentifier() == id )
       return i;
  }
  return 0;
}
void kiptablesgenerator::slotDownService()
{
  QListView* ports = (QListView*) namedWidgets["iPorts"];
  QListViewItem *sel = ports->selectedItem(), *ibelow = 0;
  
  if (sel)
    ibelow=sel->itemBelow(); // Only check itemAbove() if it exists...

  if (sel  && ibelow)
    sel->moveItem(ibelow); //Move the Item
}
Example #20
0
void LayoutConfig::remove()
{
    QListViewItem *sel = widget->listLayoutsDst->selectedItem();
    QListViewItem *newSel = 0;

    if(sel == 0)
        return;

    if(sel->itemBelow())
        newSel = sel->itemBelow();
    else if(sel->itemAbove())
        newSel = sel->itemAbove();

    delete sel;
    if(newSel)
        widget->listLayoutsSrc->setSelected(newSel, true);
    layoutSelChanged(newSel);

    updateStickyLimit();
    changed();
}
void DlgDirectories::downEntry()
{
    QListViewItem *item = lv_entries->selectedItem();

    if ( !item )
        return;

    item->moveItem( item->itemBelow() );

    updateUpDown();
    emit configChanged();
}
void BookmarksSettingsPage::slotRemoveButtonClicked()
{
    QListViewItem* selectedItem = m_listView->selectedItem();
    assert(selectedItem != 0);
    QListViewItem* nextItem = selectedItem->itemBelow();
    if (nextItem == 0) {
        nextItem = selectedItem->itemAbove();
    }

    m_listView->takeItem(selectedItem);
    if (nextItem != 0) {
        m_listView->setSelected(nextItem, true);
    }
}
Example #23
0
void
ModelEdit::remove(const BusinessObject& object)
{
    // Remove from current
    _curr.objects.remove(object);

    // Remove from list
    QListViewItem* lvi = _objects->firstChild();
    while (lvi != NULL) {
	if (lvi->text(0) == object.name) {
	    delete lvi;
	    break;
	}
	lvi = lvi->itemBelow();
    }
}
Example #24
0
void SequenceEditor::slotLower()
{
  QListViewItem* item = m_list->currentItem();
  if (!item)
    {
      return;
    }

  QListViewItem* itemBelow = item->itemBelow();
  if (itemBelow)
    {
      item->moveItem(itemBelow);
    }

  m_list->ensureItemVisible(item);
}
Example #25
0
void KSocksConfig::save()
{
  KConfigGroup config(kapp->config(), "Socks");
  config.writeEntry("SOCKS_enable",base-> _c_enableSocks->isChecked(), true, true);
  config.writeEntry("SOCKS_method", base->bg->id(base->bg->selected()), true, true);
  config.writePathEntry("SOCKS_lib", base->_c_customPath->url(), true, true);
  QListViewItem *thisitem = base->_c_libs->firstChild();

  QStringList libs;
  while (thisitem) {
    libs << thisitem->text(0);
    thisitem = thisitem->itemBelow();
  }
  config.writePathEntry("SOCKS_lib_path", libs, ',', true, true);

  kapp->config()->sync();

  emit changed(false);
}
void BookmarksSettingsPage::applySettings()
{
    // delete all bookmarks
    KBookmarkManager* manager = DolphinSettings::instance().bookmarkManager();
    KBookmarkGroup root = manager->root();
    KBookmark bookmark = root.first();
    while (!bookmark.isNull()) {
        root.deleteBookmark(bookmark);
        bookmark = root.first();
    }

    // add all items as bookmarks
    QListViewItem* item = m_listView->firstChild();
    while (item != 0) {
        root.addBookmark(manager,
                         item->text(NameIdx),
                         KURL(item->text(URLIdx)),
                         item->text(IconIdx)); // hidden column
        item = item->itemBelow();
    }

    manager->emitChanged(root);
}
Example #27
0
void ConfigPage::removeMonitors( QStringList monitors )
{
    for ( QStringList::ConstIterator it = monitors.begin();
          it != monitors.end(); ++it )
        m_monitors.remove( *it );

    QListViewItem *item = m_page->monitors->firstChild();
    while ( item ) {
        QListViewItem *nextItem = item->itemBelow();

        for ( QStringList::Iterator it = monitors.begin();
              it != monitors.end(); ++it )
            if ( item->text( 0 ) == *it ) {

                monitors.remove( it );

                delete item;

                break;
            }

        item = nextItem;
    }
}
void RefactoringAssistant::movableDropEvent (QListViewItem* parentItem, QListViewItem* afterme)
{
    //when dropping on a class, we have to put the item in the appropriate folder!
    UMLObject *movingObject;
    UMLClassifier *newClassifier;
    QListViewItem *movingItem;

    for( movingItem = firstChild(); movingItem != 0; movingItem = movingItem->itemBelow() )
    {
        if( movingItem->isSelected() )
            break;
    }
    if( !movingItem || (movingItem == afterme) || !(movingObject = findUMLObject(movingItem)) )
    {
        kWarning()<<"Moving item not found or dropping after itself or item not found in uml obj map. aborting. (drop had already been accepted)"<<endl;
        return;
    }
    Uml::Object_Type t = movingObject->getBaseType();
    newClassifier = dynamic_cast<UMLClassifier*>( findUMLObject( parentItem ) );
    if(!newClassifier)
    {
        if ((parentItem->text(1) == "operations" && t == Uml::ot_Operation)
                || (parentItem->text(1) == "attributes" && t == Uml::ot_Attribute))
        {
            newClassifier = dynamic_cast<UMLClassifier*>( findUMLObject( parentItem->parent() ) );
        }
        if(!newClassifier)
        {
            kWarning()<<"New parent of object is not a Classifier - Drop had already been accepted - check!"<<endl;
            return;
        }
    }
    if (t == Uml::ot_Operation)
    {kDebug()<<"moving operation"<<endl;
        UMLOperation *op = static_cast<UMLOperation*>(movingObject);
        if(newClassifier->checkOperationSignature(op->getName(), op->getParmList()))
        {
            QString msg = QString(i18n("An operation with that signature already exists in %1.\n")).arg(newClassifier->getName())
                          +
                          QString(i18n("Choose a different name or parameter list." ));
            KMessageBox::error(this, msg, i18n("Operation Name Invalid"), false);
            return;
        }
        UMLClassifier *oldClassifier = dynamic_cast<UMLClassifier*>(op->parent());
        if(oldClassifier)
            oldClassifier->removeOperation( op );
        newClassifier->addOperation( op );
    }
    else if (t == Uml::ot_Attribute)
    {kDebug()<<"moving attribute - not implemented"<<endl;
        //              UMLAttribute *att = static_cast<UMLAttribute*>(movingObject);
        //              if(!newClassifier->checkAttributeSignature(att))
        //              {
        //                      QString msg = QString(i18n("An attribute with that signature already exists in %1.\n")).arg(newClassifier->getName())
        //                              +
        //                            QString(i18n("Choose a different name or parameter list." ));
        //                      KMessageBox::error(this, msg, i18n("Operation Name Invalid"), false);
        //                      return;
        //              }
        //              oldClassifier->removeAttribute( att );
        //              newClassifier->addAttribute( att );
    }
    //emit moved(moving, afterFirst, afterme);
    emit moved();
}
Example #29
0
/**
 * @param o The object
 * @param e The event
 *
 * Here we filter some events for the Playlist Search LineEdit and the Playlist. @n
 * this makes life easier since we have more useful functions available from this class
 */
bool PlaylistWindow::eventFilter( QObject *o, QEvent *e )
{


    Playlist* const pl = Playlist::instance();
    typedef QListViewItemIterator It;

    switch( e->type() )
    {
    case 6/*QEvent::KeyPress*/:

        //there are a few keypresses that we intercept

        #define e static_cast<QKeyEvent*>(e)

        if( e->key() == Key_F2 )
        {
            // currentItem is ALWAYS visible.
            QListViewItem *item = pl->currentItem();

            // intercept F2 for inline tag renaming
            // NOTE: tab will move to the next tag
            // NOTE: if item is still null don't select first item in playlist, user wouldn't want that. It's silly.
            // TODO: berkus has solved the "inability to cancel" issue with KListView, but it's not in kdelibs yet..

            // item may still be null, but this is safe
            // NOTE: column 0 cannot be edited currently, hence we pick column 1
            pl->rename( item, 1 ); //TODO what if this column is hidden?

            return true;
        }

        if( e->state() & ControlButton )
        {
            int n = -1;
            switch( e->key() )
            {
                case Key_0: n = 0; break;
                case Key_1: n = 1; break;
                case Key_2: n = 2; break;
                case Key_3: n = 3; break;
                case Key_4: n = 4; break;
                case Key_5: n = 5; break;
            }
            if( n == 0 )
            {
                m_browsers->closeCurrentBrowser();
                return true;
            }
            else if( n > 0 && n <= m_browsers->visibleCount() )
            {
                m_browsers->showHideVisibleBrowser( n - 1 );
                return true;
            }
        }

        if( o == m_lineEdit ) //the search lineedit
        {
            QListViewItem *item;
            switch( e->key() )
            {
            case Key_Up:
            case Key_Down:
            case Key_PageDown:
            case Key_PageUp:
                pl->setFocus();
                QApplication::sendEvent( pl, e );
                return true;

            case Key_Return:
            case Key_Enter:
                item = *It( pl, It::Visible );
                m_lineEdit->clear();
                pl->m_filtertimer->stop(); //HACK HACK HACK
                if( e->state() & ControlButton )
                {
                    PLItemList in, out;
                    if( e->state() & ShiftButton )
                        for( It it( pl, It::Visible ); PlaylistItem *x = static_cast<PlaylistItem*>( *it ); ++it )
                        {
                            pl->queue( x, true );
                            ( pl->m_nextTracks.contains( x ) ? in : out ).append( x );
                        }
                    else
                    {
                        It it( pl, It::Visible );
                        pl->activate( *it );
                        ++it;
                        for( int i = 0; PlaylistItem *x = static_cast<PlaylistItem*>( *it ); ++i, ++it )
                        {
                            in.append( x );
                            pl->m_nextTracks.insert( i, x );
                        }
                    }
                    if( !in.isEmpty() || !out.isEmpty() )
                        emit pl->queueChanged( in, out );
                    pl->setFilter( "" );
                    pl->ensureItemCentered( ( e->state() & ShiftButton ) ? item : pl->currentTrack() );
                }
                else
                {
                    pl->setFilter( "" );
                    if( ( e->state() & ShiftButton ) && item )
                    {
                        pl->queue( item );
                        pl->ensureItemCentered( item );
                    }
                    else
                    {
                        pl->activate( item );
                        pl->showCurrentTrack();
                    }
                }
                return true;

            case Key_Escape:
                m_lineEdit->clear();
                return true;

            default:
                return false;
            }
        }

        //following are for Playlist::instance() only
        //we don't handle these in the playlist because often we manipulate the lineEdit too

        if( o == pl )
        {
            if( pl->currentItem() && ( e->key() == Key_Up && pl->currentItem()->itemAbove() == 0 ) )
            {
                QListViewItem *lastitem = *It( pl, It::Visible );
                while( lastitem && lastitem->itemBelow() )
                    lastitem = lastitem->itemBelow();
                pl->currentItem()->setSelected( false );
                pl->setCurrentItem( lastitem );
                lastitem->setSelected( true );
                pl->ensureItemVisible( lastitem );
                return true;
            }
            if( pl->currentItem() && ( e->key() == Key_Down && pl->currentItem()->itemBelow() == 0 ) )
            {
                pl->currentItem()->setSelected( false );
                pl->setCurrentItem( *It( pl, It::Visible ) );
                (*It( pl, It::Visible ))->setSelected( true );
                pl->ensureItemVisible( *It( pl, It::Visible ) );
                return true;
            }
            if( e->key() == Key_Delete )
            {
                pl->removeSelectedItems();
                return true;
            }
            if( ( e->key() >= Key_0 && e->key() <= Key_Z ) || e->key() == Key_Backspace || e->key() == Key_Escape )
            {
                m_lineEdit->setFocus();
                QApplication::sendEvent( m_lineEdit, e );
                return true;
            }
        }
        #undef e
        break;

    default:
        break;
    }

    return QWidget::eventFilter( o, e );
}
Example #30
0
void SequenceEditor::slotOKClicked()
{
  //
  // Values
  //
  m_sequence->m_steps.setAutoDelete(true);
  m_sequence->m_steps.clear();
  m_sequence->m_steps.setAutoDelete(false);
  
  for (QListViewItem* item = m_list->firstChild(); item != NULL;
       item = item->itemBelow())
    {
      SceneValue* value = new SceneValue[m_channels];
      for (t_channel i = 0; i < m_channels; i++)
	{
	  value[i].value = item->text(i).toInt();

	  if (item->text(i) != QString("---"))
	    {
	      value[i].type = Scene::Set;
	    }
	  else
	    {
	      value[i].type = Scene::NoSet;
	    }
	}

      m_sequence->m_steps.append(value);
    }

  //
  // Name
  //
  m_sequence->setName(m_name->text());

  //
  // Run Order
  //
  if (m_runOrderGroup->selected() == m_singleShot)
    {
      m_sequence->setRunOrder(Sequence::SingleShot);
    }
  else if (m_runOrderGroup->selected() == m_pingPong)
    {
      m_sequence->setRunOrder(Sequence::PingPong);
    }
  else
    {
      m_sequence->setRunOrder(Sequence::Loop);
    }

  //
  // Direction
  //
  if (m_directionGroup->selected() == m_backward)
    {
      m_sequence->setDirection(Sequence::Backward);
    }
  else
    {
      m_sequence->setDirection(Sequence::Forward);
    }

  accept();
}