SVN commit 1013934 by adiaferia: update the space info patch and actually commit it - soliddevice engine issue fixed CCMAIL:plasma-devel@kde.org
M +2 -1 CMakeLists.txt M +11 -0 devicenotifier.cpp A devicespaceinfodelegate.cpp [License: LGPL (v2+)] A devicespaceinfodelegate.h [License: LGPL (v2)] M +4 -1 notifierdialog.cpp M +3 -2 notifierdialog.h M +3 -1 notifierview.cpp --- trunk/KDE/kdebase/workspace/plasma/applets/devicenotifier/CMakeLists.txt #1013933:1013934 @@ -3,7 +3,8 @@ set(devicenotifier_SRCS devicenotifier.cpp notifierdialog.cpp - notifierview.cpp) + notifierview.cpp + devicespaceinfodelegate.cpp) kde4_add_plugin(plasma_applet_devicenotifier ${devicenotifier_SRCS}) target_link_libraries(plasma_applet_devicenotifier ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS} ${KDE4_SOLID_LIBS}) --- trunk/KDE/kdebase/workspace/plasma/applets/devicenotifier/devicenotifier.cpp #1013933:1013934 @@ -146,6 +146,7 @@ return; } + kDebug() << data.keys(); //data from hotplug engine //kDebug() << data["udi"] << data["predicateFiles"].toStringList() << data["Device Types"].toStringList(); QStringList predicateFiles = data["predicateFiles"].toStringList(); @@ -180,6 +181,10 @@ //data from soliddevice engine } else if (data["Device Types"].toStringList().contains("Storage Access")) { + QList<QVariant> freeSpaceData; + freeSpaceData << QVariant(0) << QVariant(0); + m_dialog->setDeviceData(source, QVariant(freeSpaceData), NotifierDialog::DeviceFreeSpaceRole); + //kDebug() << "DeviceNotifier::solidDeviceEngine updated" << source; if (data["Accessible"].toBool() == true) { m_dialog->setUnMount(true,source); @@ -188,6 +193,12 @@ QStringList overlays; overlays << "emblem-mounted"; m_dialog->setDeviceData(source, KIcon(m_dialog->getDeviceData(source,NotifierDialog::IconNameRole).toString(), NULL, overlays), Qt::DecorationRole); + + if (data["Free Space"].isValid()) { + QList<QVariant> freeSpaceData; + freeSpaceData << data["Size"] << data["Free Space"]; + m_dialog->setDeviceData(source, QVariant(freeSpaceData), NotifierDialog::DeviceFreeSpaceRole); + } } else if (data["Device Types"].toStringList().contains("OpticalDisc")) { //Unmounted optical drive m_dialog->setDeviceData(source, KIcon("media-eject"), Qt::DecorationRole); --- trunk/KDE/kdebase/workspace/plasma/applets/devicenotifier/notifierdialog.cpp #1013933:1013934 @@ -51,6 +51,7 @@ //own #include "notifierview.h" #include "devicenotifier.h" +#include "devicespaceinfodelegate.h" using namespace Notifier; using namespace Plasma; @@ -273,7 +274,9 @@ m_notifierView->setMinimumSize(150,300); m_notifierView->setFocusPolicy(Qt::NoFocus); - Plasma::Delegate *delegate = new Delegate(this); + + DeviceSpaceInfoDelegate *delegate = new DeviceSpaceInfoDelegate(this); + //Plasma::Delegate *delegate = new Delegate(this); //map the roles of m_hotplugModel into the standard Plasma::Delegate roles delegate->setRoleMapping(Plasma::Delegate::SubTitleRole, ActionRole); delegate->setRoleMapping(Plasma::Delegate::ColumnTypeRole, ScopeRole); --- trunk/KDE/kdebase/workspace/plasma/applets/devicenotifier/notifierdialog.h #1013933:1013934 @@ -69,9 +69,10 @@ ActionRole = Qt::UserRole + 3, IconNameRole = Qt::UserRole + 4, ScopeRole = Qt::UserRole + 5, - SubTitleMandatoryRole = Qt::UserRole + 6 + SubTitleMandatoryRole = Qt::UserRole + 6, + DeviceFreeSpaceRole = Qt::UserRole + 7 }; - + /** * Constructor of the dialog * @param notifier the notifier attached to this dialog --- trunk/KDE/kdebase/workspace/plasma/applets/devicenotifier/notifierview.cpp #1013933:1013934 @@ -18,6 +18,8 @@ */ #include "notifierview.h" +#include "devicespaceinfodelegate.h" +#include "notifierdialog.h" // Qt @@ -280,7 +282,7 @@ if (index == currentIndex()) { option.state |= QStyle::State_HasFocus; } - + QList<QVariant> freeSpaceData = index.data(NotifierDialog::DeviceFreeSpaceRole).toList(); itemDelegate(index)->paint(&painter,option,index); } _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel