コード例 #1
0
void MenuDiskItem::update()
{
    if (mDevice.isValid())
    {
        const QIcon icon = XdgIcon::fromTheme(mDevice.icon(), QStringLiteral("drive-removable-media"));

        mDiskButton->setIcon(icon);
        mDiskButton->setText(mDevice.description());

        setMountStatus(mDevice.as<Solid::StorageAccess>()->isAccessible() || !opticalParent().udi().isEmpty());
    }
}
コード例 #2
0
void MenuDiskItem::updateMountStatus()
{
    //Note: don't use the QStringLiteral here as it is causing a SEGFAULT in static finalization time
    //(the string is released upon our *.so removal, but the reference is still in held in libqtxdg...)
    static const QIcon icon = XdgIcon::fromTheme(mDevice.icon(), QLatin1String("drive-removable-media"));

    if (mDevice.isValid())
    {
        mDiskButton->setIcon(icon);
        mDiskButton->setText(mDevice.description());

        setMountStatus(mDevice.as<Solid::StorageAccess>()->isAccessible() || !opticalParent().udi().isEmpty());
    }
    else
        emit invalid(mDevice.udi());
}
コード例 #3
0
void MenuDiskItem::unmounted(Solid::ErrorType error, QVariant resultData, const QString &udi)
{
    if (mEjectButtonClicked)
    {
        mEjectButtonClicked = false;
        if (Solid::NoError == error)
        {
            Solid::Device opt_parent = opticalParent();
            if (!opt_parent.udi().isEmpty())
                opt_parent.as<Solid::OpticalDrive>()->eject();
        } else
        {
            LxQt::Notification::notify(tr("Removable media/devices manager")
                    , tr("Unmounting of <strong><nobr>\"%1\"</nobr></strong> failed: %2").arg(mDevice.description()).arg(resultData.toString()), mDevice.icon());
            qWarning() << "MenuDiskItem::unmounted" << udi << resultData.toString();
        }
    }
    update();
}