Exemplo n.º 1
0
KFilePlacesItem::KFilePlacesItem(KBookmarkManager *manager,
                                 const QString &address,
                                 const QString &udi)
    : m_manager(manager), m_folderIsEmpty(true), m_isCdrom(false),
      m_isAccessible(false), m_device(udi)
{
    setBookmark(m_manager->findByAddress(address));

    if (udi.isEmpty() && m_bookmark.metaDataItem(QStringLiteral("ID")).isEmpty()) {
        m_bookmark.setMetaDataItem(QStringLiteral("ID"), generateNewId());
    } else if (udi.isEmpty()) {
        if (isTrash(m_bookmark)) {
            KConfig cfg(QLatin1String("trashrc"), KConfig::SimpleConfig);
            const KConfigGroup group = cfg.group("Status");
            m_folderIsEmpty = group.readEntry("Empty", true);
        }
    } else if (!udi.isEmpty() && m_device.isValid()) {
        m_access = m_device.as<Solid::StorageAccess>();
        m_volume = m_device.as<Solid::StorageVolume>();
        m_disc = m_device.as<Solid::OpticalDisc>();
        m_mtp = m_device.as<Solid::PortableMediaPlayer>();
        if (m_access) {
            connect(m_access, SIGNAL(accessibilityChanged(bool,QString)),
                    this, SLOT(onAccessibilityChanged(bool)));
            onAccessibilityChanged(m_access->isAccessible());
        }
        m_iconPath = m_device.icon();
        m_emblems = m_device.emblems();
    }
Exemplo n.º 2
0
void BookmarkToolBar::createBookmarkBar(void)
{
    mInit = XPR_TRUE;

    BookmarkMgr::instance().regAsyncIcon(*this, WM_BOOKMARK_ASYNC_ICON);

    setBookmark();
}
Exemplo n.º 3
0
void BookmarkToolBar::updateBookmarkButton(void)
{
    CToolBarCtrl &sToolBarCtrl = GetToolBarCtrl();

    xpr_sint_t i;
    xpr_sint_t sCount;

    sCount = sToolBarCtrl.GetButtonCount();
    for (i = sCount - 1; i >= 0; --i)
        sToolBarCtrl.DeleteButton(i);

    if (mImgList.m_hImageList != XPR_NULL)
        mImgList.DeleteImageList();

    mImgList.Create(16, 16, ILC_COLOR32 | ILC_MASK, -1, -1);
    GetToolBarCtrl().SetImageList(&mImgList);

    setBookmark();
}