mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-23 18:32:50 +00:00
plasma: parent the internal devicenotifier widget to the scroll area, reduce the minimum size
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
63d9a63011
commit
0466b3421e
1 changed files with 10 additions and 9 deletions
|
@ -53,7 +53,7 @@ class DeviceNotifierWidget : public QGraphicsWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
DeviceNotifierWidget(DeviceNotifier* devicenotifier);
|
DeviceNotifierWidget(DeviceNotifier* devicenotifier, QGraphicsWidget *parent);
|
||||||
~DeviceNotifierWidget();
|
~DeviceNotifierWidget();
|
||||||
|
|
||||||
bool onlyremovable;
|
bool onlyremovable;
|
||||||
|
@ -76,8 +76,8 @@ private:
|
||||||
QList<Solid::Device> m_soliddevices;
|
QList<Solid::Device> m_soliddevices;
|
||||||
};
|
};
|
||||||
|
|
||||||
DeviceNotifierWidget::DeviceNotifierWidget(DeviceNotifier* devicenotifier)
|
DeviceNotifierWidget::DeviceNotifierWidget(DeviceNotifier* devicenotifier, QGraphicsWidget *parent)
|
||||||
: QGraphicsWidget(devicenotifier),
|
: QGraphicsWidget(parent),
|
||||||
onlyremovable(true),
|
onlyremovable(true),
|
||||||
m_devicenotifier(devicenotifier),
|
m_devicenotifier(devicenotifier),
|
||||||
m_layout(nullptr),
|
m_layout(nullptr),
|
||||||
|
@ -159,6 +159,7 @@ void DeviceNotifierWidget::slotUpdateLayout()
|
||||||
const Solid::StorageAccess *solidstorageaccess = soliddevice.as<Solid::StorageAccess>();
|
const Solid::StorageAccess *solidstorageaccess = soliddevice.as<Solid::StorageAccess>();
|
||||||
const Solid::OpticalDrive *solidopticaldrive = soliddevice.as<Solid::OpticalDrive>();
|
const Solid::OpticalDrive *solidopticaldrive = soliddevice.as<Solid::OpticalDrive>();
|
||||||
Plasma::Frame* frame = new Plasma::Frame(this);
|
Plasma::Frame* frame = new Plasma::Frame(this);
|
||||||
|
frame->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
||||||
frame->setProperty("_k_udi", soliddevice.udi());
|
frame->setProperty("_k_udi", soliddevice.udi());
|
||||||
QGraphicsGridLayout* framelayout = new QGraphicsGridLayout(frame);
|
QGraphicsGridLayout* framelayout = new QGraphicsGridLayout(frame);
|
||||||
|
|
||||||
|
@ -167,7 +168,7 @@ void DeviceNotifierWidget::slotUpdateLayout()
|
||||||
iconwidget->setIcon(KIcon(soliddevice.icon(), KIconLoader::global(), soliddevice.emblems()));
|
iconwidget->setIcon(KIcon(soliddevice.icon(), KIconLoader::global(), soliddevice.emblems()));
|
||||||
iconwidget->setText(soliddevice.description());
|
iconwidget->setText(soliddevice.description());
|
||||||
iconwidget->setToolTip(i18n("Click to access this device from other applications."));
|
iconwidget->setToolTip(i18n("Click to access this device from other applications."));
|
||||||
iconwidget->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum));
|
iconwidget->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Minimum);
|
||||||
iconwidget->setProperty("_k_udi", soliddevice.udi());
|
iconwidget->setProperty("_k_udi", soliddevice.udi());
|
||||||
connect(
|
connect(
|
||||||
iconwidget, SIGNAL(activated()),
|
iconwidget, SIGNAL(activated()),
|
||||||
|
@ -182,7 +183,7 @@ void DeviceNotifierWidget::slotUpdateLayout()
|
||||||
removewidget->setToolTip(
|
removewidget->setToolTip(
|
||||||
solidopticaldrive ? i18n("Click to eject this disc.") : i18n("Click to safely remove this device.")
|
solidopticaldrive ? i18n("Click to eject this disc.") : i18n("Click to safely remove this device.")
|
||||||
);
|
);
|
||||||
removewidget->setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum));
|
removewidget->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
||||||
if (solidopticaldrive) {
|
if (solidopticaldrive) {
|
||||||
removewidget->setVisible(true);
|
removewidget->setVisible(true);
|
||||||
} else {
|
} else {
|
||||||
|
@ -198,7 +199,7 @@ void DeviceNotifierWidget::slotUpdateLayout()
|
||||||
|
|
||||||
Plasma::Meter* meter = new Plasma::Meter(frame);
|
Plasma::Meter* meter = new Plasma::Meter(frame);
|
||||||
meter->setMeterType(Plasma::Meter::BarMeterHorizontal);
|
meter->setMeterType(Plasma::Meter::BarMeterHorizontal);
|
||||||
meter->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum));
|
meter->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Minimum);
|
||||||
framelayout->addItem(meter, 1, 0, 1, 2);
|
framelayout->addItem(meter, 1, 0, 1, 2);
|
||||||
frame->setProperty("_k_meter", QVariant::fromValue(meter));
|
frame->setProperty("_k_meter", QVariant::fromValue(meter));
|
||||||
|
|
||||||
|
@ -216,7 +217,7 @@ void DeviceNotifierWidget::slotUpdateLayout()
|
||||||
|
|
||||||
// the minimum space for 2 items, more or less
|
// the minimum space for 2 items, more or less
|
||||||
QSizeF minimumsize = m_frames.first()->minimumSize();
|
QSizeF minimumsize = m_frames.first()->minimumSize();
|
||||||
minimumsize.setWidth(minimumsize.width() * 1.5);
|
minimumsize.setWidth(minimumsize.width() * 1.2);
|
||||||
minimumsize.setHeight(minimumsize.height() * 2);
|
minimumsize.setHeight(minimumsize.height() * 2);
|
||||||
m_devicenotifier->setMinimumSize(minimumsize);
|
m_devicenotifier->setMinimumSize(minimumsize);
|
||||||
|
|
||||||
|
@ -324,9 +325,9 @@ DeviceNotifier::DeviceNotifier(QObject *parent, const QVariantList &args)
|
||||||
setPreferredSize(290, 340);
|
setPreferredSize(290, 340);
|
||||||
|
|
||||||
m_plasmascrollwidget = new Plasma::ScrollWidget(this);
|
m_plasmascrollwidget = new Plasma::ScrollWidget(this);
|
||||||
m_plasmascrollwidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
m_plasmascrollwidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
|
||||||
m_plasmascrollwidget->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
|
m_plasmascrollwidget->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
|
||||||
m_devicenotifierwidget = new DeviceNotifierWidget(this);
|
m_devicenotifierwidget = new DeviceNotifierWidget(this, m_plasmascrollwidget);
|
||||||
m_plasmascrollwidget->setWidget(m_devicenotifierwidget);
|
m_plasmascrollwidget->setWidget(m_devicenotifierwidget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue