예제 #1
0
void DOMTreeView::slotMovedItems(QPtrList<QListViewItem> &items, QPtrList<QListViewItem> &/*afterFirst*/, QPtrList<QListViewItem> &afterNow)
{
  MultiCommand *cmd = new MultiCommand(i18n("Move Nodes"));
  _refreshed = false;

  QPtrList<QListViewItem>::Iterator it = items.begin();
  QPtrList<QListViewItem>::Iterator anit = afterNow.begin();
  for (; it != items.end(); ++it, ++anit) {
    DOMListViewItem *item = static_cast<DOMListViewItem *>(*it);
    DOMListViewItem *anitem = static_cast<DOMListViewItem *>(*anit);
    DOM::Node parent = static_cast<DOMListViewItem *>(item->parent())->node();
    Q_ASSERT(!parent.isNull());

// kdDebug(90180) << " afternow " << anitem << " node " << (anitem ? anitem->node().nodeName().string() : QString()) << "=" << (anitem ? anitem->node().nodeValue().string() : QString()) << endl;

    cmd->addCommand(new MoveNodeCommand(item->node(), parent,
      anitem ? anitem->node().nextSibling() : parent.firstChild())
    );
  }

  mainWindow()->executeAndAddCommand(cmd);

  // refresh *anyways*, otherwise consistency is disturbed
  if (!_refreshed) refresh();

  slotShowNode(current_node);
}
예제 #2
0
KURL::List MediaDirNotify::toMediaURL(const KURL &url)
{
    kdDebug(1219) << "MediaDirNotify::toMediaURL(" << url << ")" << endl;

    KURL::List result;

    const QPtrList<Medium> list = m_mediaList.list();

    QPtrList<Medium>::const_iterator it = list.begin();
    QPtrList<Medium>::const_iterator end = list.end();

    for (; it!=end; ++it)
    {
        const Medium *m = *it;
        KURL base = m->prettyBaseURL();

        if ( base.isParentOf(url) )
        {
            QString path = KURL::relativePath(base.path(),
                                              url.path());

            KURL new_url("media:/"+m->name()+"/"+path );
            new_url.cleanPath();

            result.append(new_url);
        }
    }

    kdDebug(1219) << result << endl;
    return result;
}
예제 #3
0
QStringList MediaManager::properties(const QString &name)
{
    const Medium *m = m_mediaList.findByName(name);

    if(!m)
    {
        KURL u(name);
        kdDebug() << "Media::prop " << name << " " << u.isValid() << endl;
        if(u.isValid())
        {
            if(u.protocol() == "system")
            {
                QString path = u.path();
                if(path.startsWith("/media/"))
                    path = path.mid(strlen("/media/"));
                m = m_mediaList.findByName(path);
                kdDebug() << "findByName " << path << m << endl;
            }
            else if(u.protocol() == "media")
            {
                m = m_mediaList.findByName(u.filename());
                kdDebug() << "findByName " << u.filename() << m << endl;
            }
            else if(u.protocol() == "file")
            {
                // look for the mount point
                QPtrList< Medium > list = m_mediaList.list();
                QPtrList< Medium >::const_iterator it = list.begin();
                QPtrList< Medium >::const_iterator end = list.end();
                QString path;

                for(; it != end; ++it)
                {
                    path = KStandardDirs::realFilePath(u.path());
                    kdDebug() << "comparing " << (*it)->mountPoint() << " " << path << " " << (*it)->deviceNode() << endl;
                    if((*it)->mountPoint() == path || (*it)->deviceNode() == path)
                    {
                        m = *it;
                        break;
                    }
                }
            }
        }
    }

    if(m)
        return m->properties();
    else
        return QStringList();
}
예제 #4
0
QStringList MediaManager::fullList()
{
    QPtrList< Medium > list = m_mediaList.list();

    QStringList result;

    QPtrList< Medium >::const_iterator it = list.begin();
    QPtrList< Medium >::const_iterator end = list.end();
    for(; it != end; ++it)
    {
        result += (*it)->properties();
        result += Medium::SEPARATOR;
    }

    return result;
}
예제 #5
0
QString MediaManager::nameForLabel(const QString &label)
{
    const QPtrList< Medium > media = m_mediaList.list();

    QPtrList< Medium >::const_iterator it = media.begin();
    QPtrList< Medium >::const_iterator end = media.end();
    for(; it != end; ++it)
    {
        const Medium *m = *it;

        if(m->prettyLabel() == label)
        {
            return m->name();
        }
    }

    return QString::null;
}